/******* Do not edit this file *******
Woody Code Snippets CSS and JS
Saved: May 21 2026 | 13:43:41 */
/* ============================================================
   VOLLMEDICA — Global Design System
   All variables, reset, reusable components.
   ============================================================ */

:root {
  /* ============================================================
     PALETTE
     ============================================================ */
  --bg:              #FFFFFF;
  --bg-2:            #F5F5F2;
  --bg-dark:         #1F2D24;
  --ink:             #1A1F1B;
  --ink-2:           #3A4438;
  --muted:           #7B8579;
  --line:            #E4E1D8;
  --line-soft:       #EFEDE6;
  --green:           #5A8556;
  --green-deep:      #2F5C30;
  --green-hover:     #3a6b36;
  --sage:            #5A8556;    /* footer accent, distinct from --green */
  --gold:            #A48749;
  --cream:           #E8E1CB;
  --cream-muted:     rgba(232,225,203,0.7);
  --cream-light:     #F5EFD9;
  --cream-pale:      #FBF8F0;
  --label-gold:      #C9B57C;
  --accent-light:    #C9E5C4;
  --pastel-sage:     #EDF1E5;
  --facebook:        #1877f2;
  --youtube:         #ff0000;

  /* Overlays */
  --overlay-white-10:    rgba(255,255,255,0.1);
  --overlay-white-20:    rgba(255,255,255,0.2);
  --overlay-white-40:    rgba(255,255,255,0.4);
  --overlay-white-60:    rgba(255,255,255,0.6);
  --overlay-white-80:    rgba(255,255,255,0.8);
  --overlay-black-30:    rgba(0,0,0,0.3);
  --overlay-dark-02:     rgba(31,45,36,0.02);
  --overlay-dark-06:     rgba(0,0,0,0.06);
  --overlay-dark-12:     rgba(31,45,36,0.12);
  --overlay-dark-15:     rgba(31,45,36,0.15);
  --overlay-dark-full:   rgba(31,45,36,1);
  --overlay-ink-08:      rgba(26,31,27,0.08);
  --overlay-ink-35:      rgba(26,31,27,0.35);
  --overlay-sage-20:     rgba(47,92,48,0.2);
  --overlay-sage-50:     rgba(47,92,48,0.5);
  --overlay-cream-15:    rgba(245,239,217,0.15);
  --overlay-cream-40:    rgba(232,225,203,0.4);
  --overlay-olive-85:    rgba(58,68,56,0.85);

  /* Footer */
  --bg-card:            #FFFFFF;
  --line-on-dark:       rgba(255,255,255,0.08);
  --line-on-dark-soft:  rgba(255,255,255,0.06);
  --muted-on-dark:      rgba(255,255,255,0.55);

  /* Hero / dark-theme semantic tokens */
  --hero-text:         #FFFFFF;
  --hero-text-dim:     var(--overlay-white-80);
  --hero-text-subtle:  var(--overlay-white-60);
  --hero-line:         var(--overlay-white-60);
  --hero-glass-bg:           var(--overlay-white-10);
  --hero-glass-border:       var(--overlay-white-20);
  --hero-glass-bg-hover:     var(--overlay-white-20);
  --hero-glass-border-hover: var(--overlay-white-40);

  /* ============================================================
     TYPOGRAPHY — Font sizes (semantic, smallest to largest)
     ============================================================ */
  --text-3xs:       10px;   /* tiny mono: scroll cue, role, GDPR */
  --text-2xs:       11px;   /* mono labels: welcome, eyebrow, principle num, service idx */
  --text-xs:        12px;   /* small labels: practitioner, review date, footer meta, btn-sm */
  --text-sm:        14px;   /* captions: stat label, review author, buttons */
  --text-base:      16px;   /* compact body: principles p, team p, contact val */
  --text-body:      17px;   /* default body, about p, events intro */
  --text-lead:      18px;   /* lead paragraph, section intro */
  --text-quote:     19px;   /* review quotes (serif) */
  --text-heading-sm: 22px;  /* small headings: service h5 mobile */
  --text-pullquote: 24px;   /* pullquote */
  --text-heading-md: 26px;  /* card headings: principle h4, service h5 */
  --text-heading-lg: 28px;  /* section headings: about h3, team h5, section h2 mobile */
  --text-display:   32px;   /* display: reviews big number */
  --text-stat:      56px;   /* stat numbers (44px on mobile) */

  /* Clamp-based responsive titles */
  --text-title-hero:     clamp(38px, 6.8vw, 100px);
  --text-title-hero-sub: clamp(22px, 3.4vw, 50px);
  --text-title-section:  clamp(34px, 3.6vw, 50px);
  --text-title-events:   clamp(36px, 4.2vw, 58px);
  --text-title-contact:  clamp(36px, 4vw, 56px);
  --text-copyrights:     clamp(13px, 1.2vw, 16px);

  /* Font families */
  --serif:  'EB Garamond', Georgia, serif;
  --sans:   'Manrope', system-ui, sans-serif;
  --mono:   'JetBrains Mono', ui-monospace, monospace;

  /* Font weights */
  --weight-normal:   400;
  --weight-medium:   500;
  --weight-semibold: 600;

  /* Line heights (6-step scale) */
  --leading-none:    1;      /* stat numbers, buttons, icons */
  --leading-tight:   1.08;   /* hero titles, section h2 */
  --leading-snug:    1.2;    /* headings, compact text */
  --leading-normal:  1.5;    /* body, quotes, lead */
  --leading-relaxed: 1.65;   /* default body, footer text */
  --leading-loose:   1.75;   /* spacious: about p, footer copy */

  /* Letter spacing (6-step scale) */
  --tracking-tight:   -0.02em;  /* serif titles */
  --tracking-normal:  -0.01em;  /* section headings */
  --tracking-wide:    0.06em;   /* buttons, subtle widen */
  --tracking-wider:   0.1em;    /* uppercase labels, buttons */
  --tracking-widest:  0.16em;   /* mono labels */
  --tracking-ultra:   0.22em;   /* mono eyebrow, welcome */

  /* ============================================================
     LAYOUT & SPACING
     ============================================================ */
  --container-max:         1177px;
  --container-pad:         40px;
  --container-pad-mobile:  24px;
  --section-pad-y:         100px;
  --section-pad-y-mobile:  64px;

  /* Spacing scale */
  --space-0:     0;
  --space-px:    1px;
  --space-2xs:   2px;
  --space-xs:    4px;
  --space-sm:    6px;
  --space-md:    8px;
  --space-lg:    10px;
  --space-xl:    12px;
  --space-2xl:   14px;
  --space-3xl:   16px;
  --space-4xl:   18px;
  --space-5xl:   20px;
  --space-6xl:   22px;
  --space-7xl:   24px;
  --space-8xl:   28px;
  --space-9xl:   32px;
  --space-10xl:  36px;
  --space-11xl:  40px;
  --space-12xl:  44px;
  --space-13xl:  48px;
  --space-14xl:  50px;
  --space-15xl:  56px;
  --space-16xl:  60px;
  --space-18xl:  80px;
  --space-19xl:  100px;
  --space-20xl:  120px;
  --space-neg-md: -10px;
  --space-neg-lg: -40px;

  /* ============================================================
     SHAPES
     ============================================================ */
  --radius-pill:  100px;
  --radius-sm:    4px;
  --radius-none:  0;
  --radius-full:  50%;

  /* ============================================================
     BORDERS
     ============================================================ */
  --border-transparent:   1px solid transparent;
  --border-default:       1px solid var(--line);
  --border-soft:          1px solid var(--line-soft);
  --border-hero:          1px solid var(--hero-line);
  --border-hero-glass:    1px solid var(--hero-glass-border);
  --border-sage-light:    1px solid var(--overlay-sage-20);
  --border-ink-light:     1px solid var(--overlay-ink-08);
  --border-cream-light:   1px solid var(--overlay-cream-15);
  --border-dotted-cream:  1px dotted var(--overlay-cream-40);
  --border-none:          none;
  --border-w-medium:      2px;

  /* ============================================================
     SHADOWS
     ============================================================ */
  --shadow-sm:      0 2px 8px  var(--overlay-dark-06);
  --shadow-md:      0 4px 16px var(--overlay-dark-12);
  --shadow-hero:    0 2px 24px var(--overlay-black-30);
  --shadow-caption: 0 1px 2px  var(--overlay-black-30);
  --shadow-none:    none;

  /* ============================================================
     EFFECTS
     ============================================================ */
  --blur-md: blur(8px);
  --outline-none: none;

  /* ============================================================
     TRANSITIONS & ANIMATION
     ============================================================ */
  --transition-fast:   all .2s;
  --transition-medium: all .25s;
  --duration-bob:      1.618s;
  --duration-heartbeat:1.0s;
  --duration-fade:     0.382s;
  --duration-hide:     2.618s;
  --delay-heartbeat:   1.382s;
  --delay-fade:        0.382s;
  --ease-phi:          cubic-bezier(0.618, 0, 0.382, 1);

  /* ============================================================
     Z-INDEX
     ============================================================ */
  --z-base:      0;
  --z-content:   2;
  --z-preloader: 9999;

  /* ============================================================
     SIZES
     ============================================================ */
  --size-avatar:        36px;
  --size-avatar-mobile: 32px;
  --size-line-short:    28px;
  --size-line-long:     28px;
  --size-photo:         240px;
  --size-photo-narrow:  200px;
  --size-photo-mobile:  280px;
  --size-logo-wrap:     min(25vw, 250px);
  --size-hero-content:  760px;
  --size-measure-xs:    220px;
  --size-measure-sm:    500px;
  --size-measure-md:    620px;
  --size-measure-lg:    660px;
  --size-measure-xl:    780px;
  --size-service-min:        260px;
  --size-service-min-mobile: 200px;

  /* ============================================================
     HERO
     ============================================================ */
  --hero-min-height:        92vh;
  --hero-min-height-mobile: 88vh;
  --hero-min-height-alt:    100dvh;

  /* ============================================================
     ASPECT RATIOS
     ============================================================ */
  --aspect-portrait:  3/4;
  --aspect-landscape: 16/9;
  --aspect-square:    1/1;

  /* Transforms */
  --translate-hover-sm: translateY(-1px);
  --translate-hover-md: translateY(-2px);
  --translate-center-x: translateX(-50%);
  --translate-bob:      translateX(-50%) translateY(10px);

  /* Viewport */
  --viewport-full:  100vh;
  --viewport-width: 100vw;
}

/* ============================================================
   RESET
   ============================================================ */
* { box-sizing: border-box; }
html, body { margin: var(--space-0); padding: var(--space-0); overflow-x: hidden; }
html { height: 100%; }
body { min-height: 100%; }
body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--ink);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; display: block; }
a { color: inherit; }
a.moretag { color: var(--green) !important; }

/* ============================================================
   REUSABLE COMPONENTS
   ============================================================ */

/* Eyebrow label */
.eyebrow {
  display: inline-flex; align-items: center; gap: var(--space-lg);
  font-size: var(--text-2xs);
  letter-spacing: var(--tracking-ultra);
  text-transform: uppercase;
  color: var(--green-deep);
  font-weight: var(--weight-semibold);
}

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: var(--space-lg);
  padding: var(--space-2xl) var(--space-8xl);
  border-radius: var(--radius-pill);
  font-size: var(--text-sm);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  font-weight: var(--weight-semibold);
  text-decoration: none;
  border: var(--border-transparent);
  cursor: pointer;
  transition: var(--transition-fast);
  font-family: var(--sans);
}
.btn-primary {
  background: var(--green);
  color: var(--hero-text);
}
.btn-primary:hover { background: var(--green-deep); }
.btn-ghost {
  background: transparent;
  color: var(--hero-text);
  border-color: var(--hero-line);
}
.btn-ghost:hover {
  background: var(--hero-text);
  color: var(--ink);
  border-color: var(--hero-text);
}
.btn-sm {
  padding: var(--space-lg) var(--space-5xl);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wider);
}

/* Google review button (reusable variant) */
.reviews-meta a.btn-google,
.reviews-meta a.btn-google:focus {
  background: var(--hero-text) !important;
  color: var(--ink) !important;
  border: var(--border-default) !important;
  box-shadow: var(--shadow-sm) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: var(--space-lg) !important;
  padding: var(--space-2xl) var(--space-8xl) !important;
  border-radius: var(--radius-pill) !important;
  font-size: var(--text-sm) !important;
  letter-spacing: var(--tracking-wider) !important;
  text-transform: uppercase !important;
  font-weight: var(--weight-semibold) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: var(--transition-fast) !important;
  font-family: var(--sans) !important;
  line-height: var(--leading-none) !important;
  vertical-align: middle !important;
  outline: var(--outline-none) !important;
}
.reviews-meta a.btn-google:hover {
  background: var(--hero-text) !important;
  border-color: var(--overlay-ink-35) !important;
  box-shadow: var(--shadow-md) !important;
  transform: var(--translate-hover-sm) !important;
  color: var(--ink) !important;
  text-decoration: none !important;
}
.reviews-meta a.btn-google svg {
  display: block !important;
  flex: none !important;
  margin: var(--space-0) !important;
  padding: var(--space-0) !important;
}

/* Section chrome */
section { scroll-margin-top: var(--space-18xl); }
.section-head {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: var(--section-pad-y) var(--container-pad) var(--container-pad);
}
.section-head.center { text-align: center; }
.section-head .eyebrow { margin-bottom: var(--space-4xl); }
.section-head h2 {
  font-family: var(--serif);
  font-weight: var(--weight-medium);
  font-size: var(--text-title-section);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-normal);
  margin: 0 0 var(--space-4xl);
  color: var(--ink);
  text-wrap: balance;
}
.section-head h2 em {
  font-style: normal;
  color: var(--green);
}
.section-head .intro {
  font-size: var(--text-lead);
  color: var(--ink-2);
  max-width: var(--size-measure-lg);
  line-height: var(--leading-relaxed);
}
.section-head.center .intro { margin: 0 auto; }

/* ============================================================
   PRELOADER
   ============================================================ */
.preloader {
  position: fixed;
  inset: 0;
  z-index: var(--z-preloader);
  background: var(--bg);
  display: grid;
  place-items: center;
  animation: preloader-hide var(--duration-hide) var(--ease-phi) forwards;
}
.preloader-logo-wrap {
  width: var(--size-logo-wrap);
  animation: preloader-heartbeat var(--duration-heartbeat) var(--ease-phi) var(--delay-heartbeat) forwards;
}
.preloader-logo-img {
  width: 100%;
  height: auto;
  display: block;
  opacity: 0;
  animation: preloader-fade var(--duration-fade) var(--ease-phi) var(--delay-fade) forwards;
}
@keyframes preloader-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes preloader-heartbeat {
  0%   { transform: scale(1); }
  20%  { transform: scale(1.06); }
  40%  { transform: scale(1); }
  55%  { transform: scale(1.04); }
  70%  { transform: scale(1); }
  85%  { transform: scale(1.02); }
  100% { transform: scale(1); }
}
@keyframes preloader-hide {
  0%, 88% { opacity: 1; visibility: visible; }
  100%    { opacity: 0; visibility: hidden; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
  .preloader,
  .preloader-logo-wrap,
  .preloader-logo-img {
    animation: none;
  }
  .preloader { opacity: 0; visibility: hidden; pointer-events: none; }
  .preloader-logo-img { opacity: 1; }
}

/* ============================================================
   CONTACT FORM (reusable across pages)
   ============================================================ */
.contact-form {
  background: var(--overlay-white-80);
  border: var(--border-ink-light);
  padding: var(--space-9xl);
  border-radius: var(--radius-sm);
  backdrop-filter: var(--blur-md);
  -webkit-backdrop-filter: var(--blur-md);
}
.contact-form .row { margin-bottom: var(--space-3xl); }
.contact-form label {
  font-family: var(--mono);
  font-size: var(--text-3xs);
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--green-deep);
  display: block;
  margin-bottom: var(--space-sm);
}
.contact-form input, .contact-form textarea {
  width: 100%;
  background: transparent;
  border: var(--border-none);
  border-bottom: var(--border-sage-light);
  color: var(--ink);
  font-family: var(--sans);
  font-size: var(--text-base);
  padding: var(--space-lg) 0;
  outline: var(--outline-none);
  resize: none;
}
.contact-form input:focus, .contact-form textarea:focus {
  border-color: var(--overlay-sage-50);
}
.contact-form button {
  margin-top: var(--space-md);
  background: var(--green);
  color: var(--cream-pale);
  border: var(--border-none);
  padding: var(--space-2xl) var(--space-7xl);
  border-radius: var(--radius-pill);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  font-weight: var(--weight-semibold);
  cursor: pointer;
  font-family: var(--sans);
}

/* WPForms overrides */
.contact-form .wpforms-container { margin: 0 !important; padding: 0 !important; }
.contact-form .wpforms-field { margin-bottom: var(--space-3xl) !important; padding: 0 !important; }

.contact-form .wpforms-field-label.wpforms-label-hide {
  display: block !important;
  clip: auto !important;
  height: auto !important;
  width: auto !important;
  overflow: visible !important;
  position: static !important;
}
.contact-form .wpforms-field-label {
  font-family: var(--mono) !important;
  font-size: var(--text-3xs) !important;
  letter-spacing: var(--tracking-widest) !important;
  text-transform: uppercase !important;
  color: var(--green-deep) !important;
  display: block !important;
  margin-bottom: var(--space-sm) !important;
  font-weight: var(--weight-medium) !important;
}
.contact-form .wpforms-field input[type="text"],
.contact-form .wpforms-field input[type="email"],
.contact-form .wpforms-field input[type="tel"],
.contact-form .wpforms-field textarea {
  width: 100% !important;
  background: transparent !important;
  border: var(--border-none) !important;
  border-bottom: var(--border-sage-light) !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  font-size: var(--text-base) !important;
  padding: var(--space-lg) 0 !important;
  outline: var(--outline-none) !important;
  resize: none !important;
  border-radius: var(--radius-none) !important;
  box-shadow: var(--shadow-none) !important;
}
.contact-form .wpforms-field input::placeholder,
.contact-form .wpforms-field textarea::placeholder {
  color: var(--overlay-ink-35) !important;
  opacity: 1 !important;
}
.contact-form .wpforms-field input:focus,
.contact-form .wpforms-field textarea:focus {
  border-color: var(--overlay-sage-50) !important;
}
.contact-form .wpforms-field textarea {
  min-height: var(--space-20xl) !important;
  border-bottom: var(--border-sage-light) !important;
}
.contact-form .wpforms-field-textarea textarea {
  border-bottom: var(--border-sage-light) !important;
}

/* GDPR checkbox */
.contact-form .wpforms-field-gdpr-checkbox {
  margin-top: var(--space-xl) !important;
}
.contact-form .wpforms-field-gdpr-checkbox .wpforms-field-label {
  display: none !important;
}
.contact-form .wpforms-field-gdpr-checkbox .wpforms-field-description {
  color: var(--overlay-olive-85) !important;
  font-family: var(--sans) !important;
  font-size: var(--text-3xs) !important;
  line-height: var(--leading-normal) !important;
}
.contact-form .wpforms-field-gdpr-checkbox .wpforms-field-description a {
  color: var(--green-deep) !important;
  text-decoration: underline !important;
}
.contact-form .wpforms-field-gdpr-checkbox input[type="checkbox"] {
  accent-color: var(--green) !important;
  width: var(--space-2xl) !important;
  height: var(--space-2xl) !important;
  margin-right: var(--space-md) !important;
  vertical-align: middle !important;
}
.contact-form .wpforms-field-gdpr-checkbox .wpforms-field-label-inline {
  color: var(--overlay-olive-85) !important;
  font-family: var(--sans) !important;
  font-size: var(--text-xs) !important;
  line-height: var(--leading-normal) !important;
  font-weight: var(--weight-normal) !important;
}
.contact-form .wpforms-field-gdpr-checkbox .wpforms-field-label-inline a {
  color: var(--green-deep) !important;
  text-decoration: underline !important;
}

/* Submit */
.contact-form .wpforms-submit,
.contact-form .wpforms-submit:focus {
  margin-top: var(--space-md) !important;
  background: var(--green) !important;
  color: var(--cream-pale) !important;
  border: var(--border-none) !important;
  padding: var(--space-2xl) var(--space-7xl) !important;
  border-radius: var(--radius-pill) !important;
  font-size: var(--text-xs) !important;
  letter-spacing: var(--tracking-wider) !important;
  text-transform: uppercase !important;
  font-weight: var(--weight-semibold) !important;
  cursor: pointer !important;
  font-family: var(--sans) !important;
  box-shadow: var(--shadow-none) !important;
  text-decoration: none !important;
  outline: var(--outline-none) !important;
}
.contact-form .wpforms-submit:hover {
  background: var(--green-hover) !important;
  box-shadow: var(--shadow-none) !important;
  text-decoration: none !important;
}
.contact-form .wpforms-required-label { color: var(--green) !important; }

/* Single-column layout */
.contact-form .wpforms-field-row {
  display: block !important;
}
.contact-form .wpforms-field-row .wpforms-one-half,
.contact-form .wpforms-field-row .wpforms-one-half.wpforms-first {
  width: 100% !important;
  margin: 0 0 var(--space-3xl) 0 !important;
  float: none !important;
  padding: var(--space-0) !important;
}
.contact-form .wpforms-field-row .wpforms-one-half:last-child {
  margin-bottom: var(--space-0) !important;
}

/* hCaptcha */
.contact-form .wpforms-field-hcaptcha,
.contact-form .h-captcha {
  margin: var(--space-3xl) 0 !important;
}
.contact-form .h-captcha iframe {
  filter: none !important;
  opacity: 0.9;
}

@media (max-width: 640px) {
  .contact-form {
    margin-left: calc(var(--space-8xl) * -1);
    margin-right: calc(var(--space-8xl) * -1);
    width: calc(100% + 2 * var(--space-8xl));
    padding: var(--space-14xl) var(--space-8xl) var(--space-6xl);
    border-radius: var(--radius-none);
    background: var(--bg);
  }
}

/* ============================================================
   REVIEWS: MASONRY GRID (reusable)
   ============================================================ */
.cr-wrap {
  width: 100%;
  max-width: 100%;
  padding-bottom: var(--space-16xl);
  font-family: inherit;
  overflow: visible;
}

.cr-grid {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-7xl);
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  padding-bottom: var(--space-5xl);
}

.cr-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-7xl);
  flex: 1;
  min-width: 0;
}

/* Card */
.cr-card {
  display: grid;
  grid-template-columns: 48px 1fr;
  grid-template-areas:
    "avatar author"
    "avatar date"
    "rating rating"
    "content content"
    "readmore readmore";
  gap: var(--space-xs) var(--space-3xl);
  align-content: start;
  background: var(--bg);
  padding: var(--space-8xl);
  border-radius: var(--radius-sm);
  border: var(--border-soft);
  margin-bottom: 0;
  position: relative;
  animation: cr-card-enter 0.45s ease both;
  animation-delay: calc(var(--i, 0) * 65ms);
}

@keyframes cr-card-enter {
  from { opacity: 0; transform: translateY(var(--space-3xl)) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.cr-card:has(.cr-read-more) { padding-bottom: var(--space-md); min-height: 348px; }
.cr-card:has(.cr-content.is-truncated) { height: 348px; }

/* Avatar */
.cr-avatar {
  grid-area: avatar;
  width: 48px; height: 48px;
  border-radius: var(--radius-full);
  overflow: hidden;
}
.cr-avatar img { width: 100%; height: 100%; object-fit: cover; }

.cr-avatar-fallback {
  width: 100%; height: 100%;
  background: var(--pastel-sage);
  color: var(--ink);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  font-family: var(--sans);
  letter-spacing: var(--tracking-wide);
}

/* Author & date */
.cr-author {
  grid-area: author;
  font-weight: var(--weight-semibold);
  font-size: var(--text-sm);
  color: var(--ink);
  align-self: end;
}

.cr-date {
  grid-area: date;
  font-size: var(--text-xs);
  color: var(--muted);
  font-family: var(--mono);
  align-self: start;
}

/* Stars */
.cr-rating {
  grid-area: rating;
  margin-top: var(--space-md);
  margin-bottom: var(--space-md);
  display: flex;
  gap: var(--space-2xs);
}

.cr-star {
  width: 18px; height: 18px;
  fill: var(--line-soft);
}
.cr-star.active { fill: rgb(245, 179, 1); }

/* Content */
.cr-content-wrapper { grid-area: content; display: contents; }

.cr-content {
  grid-area: content;
  font-family: var(--serif);
  font-size: var(--text-quote);
  line-height: var(--leading-normal);
  color: var(--ink);
  overflow: hidden;
  position: relative;
  max-height: 2000px;
  transition: max-height 0.45s ease-in-out;
}

.cr-content.is-truncated {
  max-height: 180px;
  transition: max-height 0.35s ease-in-out;
}

.cr-content:not(.is-truncated) + .cr-read-more { margin-top: var(--space-xl); }

.cr-content.is-truncated::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 38px;
  background: linear-gradient(transparent, var(--bg));
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.cr-content:not(.is-truncated)::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 38px;
  background: linear-gradient(transparent, var(--bg));
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

/* Read more */
.cr-read-more {
  grid-area: readmore;
  display: inline-block;
  justify-self: start;
  font-size: var(--text-2xs);
  font-weight: var(--weight-semibold);
  color: var(--green) !important;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  margin-top: auto;
  outline: var(--outline-none) !important;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  box-shadow: var(--shadow-none) !important;
  transition: var(--transition-medium) !important;
}

.cr-read-more:focus,
.cr-read-more:active {
  outline: var(--outline-none) !important;
  box-shadow: var(--shadow-none) !important;
  color: var(--green) !important;
  background: transparent !important;
}

.cr-read-more:hover {
  color: var(--green-deep) !important;
  background: transparent !important;
  transform: scale(1.05) !important;
  letter-spacing: 0.3px;
}

/* Pagination */
.cr-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-0);
  margin: 0;
  width: 100%;
}

.cr-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  cursor: pointer;
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  padding: 0;
  border: var(--border-default);
  text-decoration: none;
  line-height: var(--leading-none);
  box-shadow: var(--shadow-none) !important;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}

.cr-page-btn.num-btn {
  width: var(--size-avatar); height: var(--size-avatar);
  border-radius: var(--radius-full);
  min-width: var(--size-avatar);
  border: var(--border-none) !important;
  border-color: var(--green);
  color: var(--green);
}

.cr-page-btn.nav-text {
  border: var(--border-none) !important;
  background: transparent;
  color: var(--green);
  padding: 0 var(--space-xl);
  height: var(--size-avatar);
  min-width: auto;
}

.cr-page-btn:hover:not(:disabled) { color: var(--green); }

.cr-page-btn.nav-text:hover:not(:disabled) {
  color: var(--green-deep) !important;
  background: transparent !important;
  opacity: 0.65;
}

.cr-page-btn.num-btn {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cr-page-btn.num-btn:hover:not(:disabled) {
  border-color: var(--green) !important;
  color: var(--green) !important;
  background-color: transparent;
  border: var(--border-default) !important;
}

.cr-page-btn.num-btn.active {
  background-color: var(--green);
  border-color: var(--green);
  color: var(--hero-text);
}

.cr-page-btn:disabled { display: none; cursor: not-allowed; }

.cr-page-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size-avatar); height: var(--size-avatar);
  color: var(--ink);
  opacity: 0.45;
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  user-select: none;
  pointer-events: none;
}

@media (max-width: 480px) {
  .cr-page-btn.nav-text { display: none; }
}

/* ============================================================
   CONTACT PAGE LAYOUT
   ============================================================ */
.contact-page-header {
  text-align: center;
  padding: var(--space-10xl) var(--container-pad);
}
.contact-page-header img {
  margin: 0 auto var(--space-7xl);
  max-width: 280px;
  height: auto;
}
.contact-page-header h1 {
  font-family: var(--serif);
  font-weight: var(--weight-medium);
  font-size: var(--text-heading-lg);
  color: var(--ink);
  margin: 0 0 var(--space-xs);
}
.contact-page-header p {
  font-size: var(--text-body);
  color: var(--ink-2);
  margin: 0;
}

.contact-page-body {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-pad) var(--space-16xl);
}

.contact-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5xl);
  margin-bottom: var(--space-9xl);
}

.contact-card {
  background: var(--bg);
  border: var(--border-soft);
  border-radius: var(--radius-sm);
  padding: var(--space-7xl);
}
.contact-card h3 {
  font-family: var(--serif);
  font-weight: var(--weight-medium);
  font-size: var(--text-heading-md);
  color: var(--ink);
  margin: 0 0 var(--space-4xl);
}
.contact-card p {
  font-size: var(--text-base);
  line-height: var(--leading-loose);
  color: var(--ink-2);
  margin: 0 0 var(--space-xs);
}
.contact-card a {
  color: var(--green);
  text-decoration: none;
}
.contact-card a:hover { color: var(--green-deep); }

.contact-map {
  margin-bottom: var(--space-4xl);
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: var(--border-soft);
}
.contact-map iframe {
  display: block;
  width: 100%;
  height: 480px;
  border: none;
}

.contact-map-note {
  font-family: var(--serif);
  font-style: italic;
  font-size: var(--text-base);
  line-height: var(--leading-loose);
  color: var(--muted);
  margin: 0 0 var(--space-9xl);
}

.contact-dojazd {
  font-size: var(--text-base);
  color: var(--ink-2);
  margin: 0 0 var(--space-3xl);
}

.contact-social {
  text-align: center;
  margin-bottom: var(--space-9xl);
}
.contact-social h2 {
  font-family: var(--serif);
  font-weight: var(--weight-medium);
  font-size: var(--text-heading-lg);
  color: var(--green);
  margin: 0 0 var(--space-7xl);
  padding-top: var(--space-10xl);
}
.contact-social .footer-social-row {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xl);
  flex-wrap: wrap;
  justify-content: center;
}
.contact-social .footer-share-facebook,
.contact-social .footer-share-youtube {
  padding: var(--space-xl) var(--space-8xl);
  font-size: var(--text-sm);
  color: var(--hero-text);
  transition: opacity .2s;
}
.contact-social .footer-share-facebook:hover,
.contact-social .footer-share-youtube:hover,
.contact-social .footer-share-facebook:focus,
.contact-social .footer-share-youtube:focus,
.contact-social .footer-share-facebook:active,
.contact-social .footer-share-youtube:active {
  opacity: 0.85;
  color: var(--hero-text);
}

.contact-page-footer {
  text-align: center;
  padding: var(--space-0);
}
.contact-page-footer h2 {
  font-family: var(--serif);
  font-weight: var(--weight-medium);
  font-size: var(--text-heading-lg);
  color: var(--green);
  margin: 0 0 var(--space-xl);
}
.contact-page-footer h5 {
  font-family: var(--sans);
  font-weight: var(--weight-normal);
  font-size: var(--text-base);
  color: var(--ink-2);
  margin: 0;
}

@media (max-width: 980px) {
  .contact-cards { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .contact-page-body { padding: 0 var(--space-8xl) var(--space-16xl); }
  .contact-cards { gap: var(--space-4xl); margin-bottom: var(--space-9xl); }
  .contact-card { padding: var(--space-6xl); }
  .contact-map {
    margin-left: calc(var(--space-8xl) * -1);
    margin-right: calc(var(--space-8xl) * -1);
    width: calc(100% + 2 * var(--space-8xl));
    border-radius: var(--radius-none);
    border-left: none;
    border-right: none;
  }
  .contact-map-note { margin-bottom: var(--space-9xl); }
  .contact-social { margin-bottom: var(--space-9xl); }
  .contact-page-footer { padding: var(--space-0); }
}

/* ============================================================
   FOOTER
   ============================================================ */
footer.footer-black,
footer.footer-big {
  background: var(--bg-dark) !important;
  padding-top: 0 !important;
}

/* Container */
footer.footer-big .container.footer-wide,
footer.footer-black .container.footer-wide {
  width: min(1177px, 100%) !important;
  padding-left: var(--container-pad) !important;
  padding-right: var(--container-pad) !important;
}
@media (max-width: 600px) {
  footer.footer-big .container.footer-wide,
  footer.footer-black .container.footer-wide {
    padding-left: var(--container-pad-mobile) !important;
    padding-right: var(--container-pad-mobile) !important;
  }
}

/* Top accent line */
.footer-top-accent {
  margin: 0 -15px var(--space-10xl);
  height: var(--space-px);
  background: var(--line-on-dark-soft);
}

/* Nav columns */
.footer-nav-col { text-align: left !important; }
footer.footer-big .footer-nav-col h5,
footer.footer-black .footer-nav-col h5 {
  font-family: var(--sans);
  font-size: var(--text-2xs);
  font-weight: 700;
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--label-gold) !important;
  margin-bottom: var(--space-2xl);
  text-align: left !important;
}

.footer-nav-col ul { list-style: none; padding: 0; margin: 0; }
.footer-nav-col ul li { margin-bottom: 7px; text-align: left !important; }
.footer-nav-col ul li a {
  font-family: var(--sans);
  font-size: var(--text-sm);
  font-weight: var(--weight-normal);
  color: var(--cream) !important;
  text-decoration: none !important;
  transition: color .18s;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.footer-nav-col ul li a:hover { color: var(--sage) !important; }

/* Contact items */
.footer-contact-item {
  display: flex; align-items: flex-start;
  gap: var(--space-lg);
  margin-bottom: var(--space-2xl);
}
.footer-contact-item svg { color: var(--sage); flex-shrink: 0; margin-top: var(--space-2xs); }
.footer-contact-item .fc-text {
  font-family: var(--sans);
  font-size: var(--text-sm);
  font-weight: var(--weight-normal);
  color: var(--cream) !important;
  line-height: var(--leading-relaxed);
}
.footer-contact-item .fc-text a {
  color: var(--cream) !important;
  text-decoration: none;
  display: block;
  transition: color .18s;
}
.footer-contact-item .fc-text a:hover { color: var(--sage) !important; }

/* CTA button */
.btn-footer-cta {
  display: inline-block;
  margin-top: var(--space-md);
  background: var(--sage);
  color: var(--hero-text) !important;
  font-family: var(--sans);
  font-size: var(--text-2xs);
  font-weight: 700;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  text-decoration: none !important;
  padding: var(--space-lg) var(--space-5xl);
  border-radius: var(--radius-pill);
  transition: background .2s;
}
.btn-footer-cta:hover { background: var(--green-deep); color: var(--hero-text) !important; }

/* Bottom bar */
.footer-bottom-bar {
  border-top: var(--space-px) solid var(--line-on-dark);
  padding-top: var(--space-7xl);
  margin-top: var(--space-8xl);
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-xl);
}
.footer-bottom-bar .footer-copy {
  font-family: var(--sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-normal);
  color: var(--cream-muted) !important;
  line-height: var(--leading-loose);
}
.footer-bottom-bar .footer-copy strong { color: inherit !important; font-weight: var(--weight-semibold); }
.footer-bottom-bar .footer-counter {
  font-family: var(--sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-normal);
  color: var(--cream-muted) !important;
}
.footer-bottom-bar .footer-counter strong { color: var(--sage); font-weight: var(--weight-medium); }
.footer-bottom-bar .footer-legal { display: flex; gap: var(--space-4xl); flex-wrap: wrap; }
.footer-bottom-bar .footer-legal a {
  font-family: var(--sans);
  font-size: var(--text-2xs);
  font-weight: var(--weight-normal);
  color: var(--cream-muted) !important;
  text-decoration: none;
  letter-spacing: var(--tracking-wide);
  transition: color .18s;
}
.footer-bottom-bar .footer-legal a:hover { color: var(--sage); }

/* Social buttons */
.footer-share-buttons { padding-bottom: var(--space-lg); }
.footer-social-row {
  display: inline-flex; align-items: center;
  gap: var(--space-md);
  flex-wrap: nowrap;
  margin-bottom: var(--space-2xl);
}
.footer-share-facebook,
.footer-share-youtube {
  display: flex; align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-xl);
  color: white;
  text-decoration: none;
  border-radius: var(--radius-sm);
  font-family: var(--sans);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  white-space: nowrap;
}
.footer-share-facebook { background-color: var(--facebook); }
.footer-share-youtube  { background-color: var(--youtube); }

/* Brand */
.footer-brand-logo { max-height: 52px; width: auto; margin-bottom: var(--space-xl); display: block; }
.footer-brand-subtitle {
  font-family: var(--sans);
  font-size: var(--text-xs);
  font-weight: var(--weight-normal);
  color: var(--label-gold) !important;
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-2xl);
  text-align: left !important;
}
.footer-brand-subtitle strong { font-weight: var(--weight-semibold); }
.footer-brand-desc {
  font-family: var(--sans);
  font-size: var(--text-sm);
  font-weight: var(--weight-normal);
  color: var(--cream-muted);
  line-height: var(--leading-loose);
  margin-bottom: var(--space-5xl);
  max-width: 280px;
  text-align: left !important;
}
.footer-brand-inner .footer-brand-subtitle,
.footer-brand-inner .footer-brand-desc { color: var(--cream-muted) !important; }

/* Misc */
.counter      { color: white; margin: 0; }
.side_counter { color: black; }
.counter-wrapper { position: relative; left: -15px !important; }
.privacy      { clear: both; margin-top: 5px; }
.copyright    { float: right; }
.hestia-bottom-footer-content { margin: auto; }

/* Tablet 769–1024 */
@media (min-width: 769px) and (max-width: 1024px) {
  .footer-main-row { display: flex; flex-wrap: wrap; margin: 0 calc(var(--space-xl) * -1); }
  .footer-col-brand {
    flex: 0 0 100%; max-width: 100%;
    padding: 0 var(--space-xl) var(--space-7xl);
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: var(--space-7xl);
    border-bottom: var(--space-px) solid var(--line-on-dark-soft);
    margin-bottom: var(--space-8xl);
  }
  .footer-col-brand .footer-brand-inner { flex: 1 1 auto; }
  .footer-col-brand .footer-brand-inner .footer-brand-desc { max-width: 360px; margin-bottom: 0; }
  .footer-col-brand .footer-social-row { flex-direction: column; align-items: flex-end; gap: var(--space-md); flex-shrink: 0; margin-bottom: 0; }
  .footer-col-brand .footer-share-facebook,
  .footer-col-brand .footer-share-youtube { width: 130px; justify-content: center; }
  .footer-col-oferta, .footer-col-info, .footer-col-contact { flex: 0 0 33%; max-width: 33%; padding: 0 var(--space-xl); }
  .footer-bottom-bar { flex-direction: column; align-items: center; text-align: center; gap: var(--space-3xl); }
  .footer-bottom-bar .footer-copy { text-align: center; width: 100%; }
  .footer-bottom-bar .footer-legal { justify-content: center; width: 100%; }
  .btn-footer-cta { display: inline-block; width: auto; text-align: left; }
}

/* Mobile ≤600 */
@media (max-width: 600px) {
  .footer-nav-col          { margin-bottom: var(--space-5xl) !important; }
  .footer-col-brand        { flex-direction: column; align-items: flex-start; }
  .footer-brand-desc       { max-width: 100%; }
  .footer-social-row       { margin-top: var(--space-lg); margin-bottom: var(--space-5xl); }
  .footer-bottom-bar       { flex-direction: column; align-items: center; text-align: center; gap: var(--space-xl); }
  .footer-bottom-bar .footer-legal { justify-content: center; width: 100%; }
  .btn-footer-cta          { display: inline-block; text-align: center; width: auto; max-width: 100%; }
}

/* ============================================================
   COPYRIGHTS
   ============================================================ */
.copyrights {
  background: var(--bg-dark);
  padding: var(--space-16xl) var(--container-pad);
  text-align: center !important;
}
.copyrights p {
  font-family: var(--serif);
  font-style: italic;
  font-weight: var(--weight-normal);
  font-size: var(--text-copyrights);
  color: var(--overlay-white-60);
  max-width: var(--size-measure-xl);
  margin: 0 auto !important;
  line-height: var(--leading-relaxed);
  text-align: center !important;
}

@media (max-width: 640px) {
  .copyrights { padding: var(--space-10xl) var(--container-pad); }
}

/* ============================================================
   SCROLL-TRIGGERED ANIMATIONS
   ============================================================ */
.anim-fade-up,
.anim-fade-in,
.anim-scale-in,
.anim-fade-left {
  opacity: 0;
  transition: opacity 618ms var(--ease-phi), transform 618ms var(--ease-phi);
}

.anim-fade-up   { transform: translateY(18px); }
.anim-fade-left { transform: translateX(-7px); }
.anim-scale-in  { transform: scale(0.96); }
.anim-fade-in   { transform: none; }

.anim-fade-up.revealed,
.anim-fade-in.revealed,
.anim-scale-in.revealed,
.anim-fade-left.revealed {
  opacity: 1;
  transform: translate(0) scale(1);
}

.anim-fade-up.revealed,
.anim-fade-in.revealed,
.anim-scale-in.revealed,
.anim-fade-left.revealed {
  transition-delay: var(--anim-delay, 0ms);
}

@media (prefers-reduced-motion: reduce) {
  .anim-fade-up,
  .anim-fade-in,
  .anim-scale-in,
  .anim-fade-left {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ============================================================
   ABOUT PAGE (O nas)
   ============================================================ */

.spacer-20 { height: 20px; }
.spacer-40 { height: 40px; }
.pt-100 { padding-top: 100px; }

.main-title {
  font-size: var(--text-heading-lg);
  font-weight: var(--weight-normal);
  margin: 0 0 var(--space-11xl) !important;
}

.text-gradient-gold {
  background: linear-gradient(135deg, #a67c00 0%, #bf953f 50%, #8a6400 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: var(--weight-medium);
}

/* Founder section */
.founder-card-wrapper {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: var(--space-13xl) var(--container-pad);
  text-align: center;
}

.about-full-size-section {
  background-color: var(--cream-pale);
  padding-top: var(--section-pad-y);
  padding-bottom: var(--section-pad-y);
}

.about-max-section-size {
  max-width: var(--container-max);
  padding: 0 var(--container-pad);
  margin: 0 auto;
}

.founder-section p { font-size: var(--text-body); }

.founder-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-9xl);
  align-items: start;
}

.founder-column {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.photo-item a { display: block; cursor: zoom-in; text-decoration: none; }
.photo-item img {
  width: 180px; height: 180px;
  border-radius: var(--radius-full);
  object-fit: cover;
  border: var(--border-w-medium) solid #bf953f;
  margin-bottom: var(--space-5xl);
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

.founder-column h3 {
  font-size: var(--text-body);
  margin-bottom: var(--space-md);
  font-weight: var(--weight-normal);
}

.sub-gold {
  color: #b38728;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: var(--text-xs);
  font-weight: var(--weight-normal);
  margin-bottom: var(--space-5xl) !important;
}

.description-text p {
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-5xl);
  color: var(--ink-2);
  text-align: center;
}

/* Gabinet — gallery & map */
.gabinet-intro {
  font-size: var(--text-body);
  padding-bottom: var(--space-5xl);
}

.mv-lite-wrap {
  border-radius: var(--radius-sm);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.polecane-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 25px;
  align-items: stretch;
  margin-bottom: var(--space-11xl);
}

/* Gallery with full-width first image */
.gallery-featured > :first-child {
  grid-column: 1 / -1;
}
.polecane-gallery div { display: flex; }
.polecane-gallery a { display: block; width: 100%; }
.polecane-gallery img {
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: var(--radius-sm);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  display: block;
}

.cabinet-info-details { text-align: left; }
.cabinet-info-details h4 {
  color: #b38728;
  font-size: var(--text-base);
  margin-bottom: var(--space-lg);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.cabinet-info-details p {
  margin-bottom: var(--space-5xl);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

.cabinet-map-container {
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  margin-bottom: 0;
}
.cabinet-map-container iframe {
  display: block;
  width: 100%; height: 500px;
  border: 0;
}

/* Values section */
.values-excerpt-section {
  padding: var(--space-18xl) var(--container-pad-mobile);
  background-color: var(--bg);
  text-align: center;
}

.values-grid {
  max-width: 900px;
  margin: 0 auto;
  text-align: left;
}
.values-grid p {
  font-size: var(--text-body);
  margin-bottom: 25px;
  line-height: var(--leading-normal);
  padding-bottom: 0;
}
.values-grid strong {
  color: #b38728;
  display: block;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.read-more-link {
  display: inline-block;
  margin-top: var(--space-5xl);
  color: #b38728;
  text-decoration: none;
  font-weight: var(--weight-medium);
  border-bottom: var(--space-px) solid #b38728;
  transition: all 0.3s ease;
}
.read-more-link:hover {
  color: #bf953f;
  border-color: #bf953f;
  transform: var(--translate-hover-md);
}

/* Trust section */
.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-10xl);
  max-width: var(--container-max);
  margin: 0 auto;
}
.trust-item {
  background: var(--bg);
  padding: var(--space-10xl);
  border-radius: var(--radius-sm);
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  text-align: center;
  border-top: 3px solid #b38728;
  transition: all 0.4s ease;
  cursor: pointer;
}
.trust-item:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(186, 151, 75, 0.15);
  border-color: #b38728;
}
.trust-item h4 {
  margin: 0;
  font-size: var(--text-heading-lg) !important;
  color: var(--ink);
  white-space: nowrap;
}
.trust-image { max-width: 100%; height: auto; }

/* CTA section */
.final-cta-section {
  padding: var(--section-pad-y) var(--container-pad-mobile);
  background-color: var(--bg);
  color: var(--ink);
  text-align: center;
}
.final-cta-section h2 {
  color: var(--ink);
  margin-bottom: var(--space-10xl);
  font-size: var(--text-heading-lg);
}

.cta-buttons-wrapper {
  display: flex;
  justify-content: center;
  gap: var(--space-5xl);
  flex-wrap: wrap;
  margin-top: var(--space-11xl);
}

.btn-gold, .btn-outline-dark {
  padding: var(--space-xl) var(--space-10xl);
  border-radius: var(--radius-sm);
  text-decoration: none;
  font-weight: var(--weight-medium);
  font-size: var(--text-body);
  transition: all 0.3s ease;
}

.btn-gold {
  background: linear-gradient(to right, #bf953f, #b38728);
  color: var(--hero-text);
}
.btn-gold:hover {
  transform: var(--translate-hover-md);
  box-shadow: 0 10px 20px rgba(179, 135, 40, 0.3);
  color: white;
}

.btn-outline-dark {
  border: var(--border-w-medium) solid var(--ink);
  color: var(--ink);
  background: transparent;
}
.btn-outline-dark:hover {
  transform: var(--translate-hover-md);
  background: var(--ink);
  color: var(--hero-text);
}

.final-greetings { font-size: var(--text-body); }

/* Info cards section */
.about-info-section {
  padding: var(--space-18xl) var(--container-pad);
  max-width: var(--container-max);
  margin: 0 auto;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-10xl);
  margin-top: var(--space-14xl);
}

.info-card {
  background: var(--bg);
  padding: var(--space-11xl) var(--space-10xl);
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border: var(--space-px) solid rgba(186, 151, 75, 0.1);
  display: flex; flex-direction: column;
  transition: all 0.4s ease;
  height: 100%;
  position: relative;
  cursor: pointer;
}
.info-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(186, 151, 75, 0.15);
  border-color: #b38728;
}

.info-card-title {
  font-size: var(--text-base);
  font-weight: var(--weight-medium);
  margin-bottom: var(--space-5xl);
  color: var(--ink);
  position: relative;
  padding-bottom: var(--space-xl);
}
.info-card-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: var(--space-11xl);
  height: var(--space-2xs);
  background: linear-gradient(90deg, #a67c00, #bf953f);
  transition: width 0.3s ease;
}
.info-card:hover .info-card-title::after { width: 100%; }

.info-card p {
  font-size: var(--text-base);
  line-height: var(--leading-loose);
  color: var(--muted);
  margin-bottom: 25px;
  flex-grow: 1;
}

.info-card-link {
  display: inline-block;
  color: #b38728;
  text-decoration: none;
  font-weight: var(--weight-semibold);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.3s ease;
}
.info-card-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.info-card-link::after {
  content: ' →';
  transition: transform 0.3s ease;
  display: inline-block;
}
.info-card:hover .info-card-link { color: var(--ink); }
.info-card:hover .info-card-link::after { transform: translateX(5px); }

/* =========================================
   ABOUT PAGE — RWD
   ========================================= */

@media (max-width: 1100px) {
  .trust-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-5xl); }
}

@media (max-width: 1024px) {
  .founder-card-wrapper { padding: var(--space-9xl) var(--container-pad-mobile); }
  .about-full-size-section { padding-top: 70px; padding-bottom: 70px; }
  .final-cta-section { padding: var(--space-18xl) var(--container-pad-mobile); }
  .cabinet-map-container iframe { height: 400px; }
}

@media (max-width: 992px) {
  .cabinet-contact-wrapper { grid-template-columns: 1fr; }
  .cabinet-info-details { text-align: center; }
  .cabinet-map-container iframe { height: 350px; }
  .glt-movie-container { width: 94% !important; }
  .polecane-gallery { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 18px; margin-bottom: var(--space-11xl); }
  .trust-item h4 { font-size: var(--text-heading-md) !important; }
  .values-excerpt-section { padding: var(--space-16xl) var(--container-pad-mobile); }
  .about-info-section { padding: var(--space-16xl) var(--container-pad-mobile); }
  .pt-100 { padding-top: 70px; }
}

@media (max-width: 768px) {
  .founder-grid { grid-template-columns: 1fr; gap: var(--space-14xl); }
  .main-title { font-size: var(--text-heading-md); }
  .values-grid { text-align: center; }
  .final-cta-section h2 { font-size: var(--text-body); }
  .info-grid { grid-template-columns: 1fr; gap: var(--space-5xl); }
  .about-info-section { padding: var(--space-14xl) var(--container-pad-mobile); }
  .spacer-40 { height: 25px; }
  .pt-100 { padding-top: var(--space-16xl); }
  .polecane-gallery { grid-template-columns: 1fr; gap: var(--space-xl); margin-bottom: 25px; }
  .cabinet-map-container iframe { height: 300px; margin-bottom: 0; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item { padding: var(--space-3xl) var(--space-xl); }
  .trust-item h4 { font-size: var(--text-heading-md) !important; }
  .trust-item p, .trust-item span { font-size: var(--text-heading-md); }
  .final-cta-section { padding: var(--space-16xl) var(--container-pad-mobile); }
  .cta-buttons-wrapper { flex-direction: column; align-items: center; gap: var(--space-3xl); }
  .btn-gold, .btn-outline-dark { width: 100%; max-width: 320px; text-align: center; padding: var(--space-2xl) 25px; font-size: var(--text-base); }
  .about-full-size-section { padding-top: var(--space-14xl); padding-bottom: var(--space-14xl); }
  .values-excerpt-section { padding: var(--space-14xl) var(--space-xl); }
  .values-grid strong { font-weight: normal; }
  .info-card { padding: var(--space-10xl) var(--space-5xl); }
}

@media (max-width: 576px) {
  .founder-card-wrapper { padding: var(--space-10xl) var(--space-xl); }
  .main-title { font-size: var(--text-body); }
  .about-max-section-size { padding: 0 var(--space-xl); }
  .about-full-size-section { padding-top: var(--space-11xl); padding-bottom: var(--space-11xl); }
  .pt-100 { padding-top: var(--space-14xl); }
  .spacer-40 { height: var(--space-5xl); }
  .spacer-20 { height: var(--space-lg); }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item { padding: var(--space-2xl) var(--space-lg); }
  .trust-item h4 { font-size: var(--text-heading-md) !important; }
  .trust-item p, .trust-item span { font-size: var(--text-sm); }
  .final-cta-section { padding: var(--space-14xl) var(--space-xl); }
  .final-cta-section h2 { font-size: var(--text-heading-sm); }
  .btn-gold, .btn-outline-dark { max-width: 100%; font-size: var(--text-base); padding: var(--text-xs) var(--space-5xl); }
  .cabinet-map-container iframe { height: 260px; border-radius: var(--space-md); margin-bottom: 0; }
  .cabinet-info-details h4 { font-size: var(--text-sm); }
  .cabinet-info-details p { font-size: var(--text-sm); }
  .values-excerpt-section { padding: var(--space-11xl) var(--space-xl); }
  .values-grid p { margin-bottom: var(--space-5xl); }
  .info-card { padding: 25px var(--space-4xl); }
  .info-card-title { font-size: var(--text-sm); }
  .polecane-gallery { gap: var(--space-xl); margin-bottom: var(--space-5xl); }
  .polecane-gallery img { border-radius: var(--space-md); }
}

@media (max-width: 400px) {
  .founder-card-wrapper { padding: var(--space-5xl) var(--space-xl); }
  .main-title { font-size: var(--text-base); }
  .photo-item img { width: 130px; height: 130px; }
  .about-full-size-section { padding-top: var(--space-10xl); padding-bottom: var(--space-10xl); }
  .final-cta-section { padding: var(--space-11xl) var(--space-xl); }
  .cabinet-map-container iframe { height: 220px; border-radius: var(--space-md); margin-bottom: 0; }
  .values-excerpt-section { padding: var(--space-10xl) var(--space-xl); }
  .info-card { padding: var(--space-5xl) var(--space-3xl); }
  .info-card-title { font-size: var(--text-base); }
  .trust-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-3xl); }
  .trust-item { padding: var(--space-2xl) var(--space-md); }
  .trust-item h4 { font-size: var(--text-base) !important; }
}

/* ============================================================
   PAGE HEADER
   ============================================================ */
.header-filter:before {
    background: none !important;
}

.vollmedica-page-header {
  min-height: 360px;
}

.vollmedica-page-header .header-filter {
  background-size: cover;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  will-change: transform;
  transform-origin: center center;
}

.vollmedica-page-header .header-filter::before {
  background: none !important;
}

.vollmedica-page-header .container {
  position: relative;
  z-index: 2;
}

@supports (-webkit-touch-callout: none) {
  .vollmedica-page-header .header-filter {
    background-attachment: scroll !important;
  }
}
 