/* =========================================
   barberkosmetik — Männerkosmetik (DACH)
   Design System: Premium Minimalism
   Fonts: Playfair Display (display) + Source Sans 3 (body) + Roboto Slab (h3/h4 editorial)
   Inspired by: roca.com, vitra.com, duravit.com
   2026-05-07: bg #F2EDE6 → #E8E3DC (warmer cool-grey per client direction);
               body Inter → Source Sans 3; h3/h4 → Roboto Slab.
   ========================================= */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --primary:#373a3e;
  --primary-dark:#2c2f33;
  --primary-light:#E8E3DC;
  --accent:#C9A96E;
  --accent-dark:#484848;
  --accent-light:rgba(201,169,110,.08);
  --accent-border:#C9A96E;
  --dark:#373a3e;
  --charcoal:#484848;
  --body:#555555;
  --muted:#888888;
  --light-muted:#AAAAAA;
  --border:#E8E8E8;
  --bg:#E8E3DC;
  --white:#FFFFFF;
  --success:#16a34a;
  --error:#dc2626;
  --orange-cta:#C9A96E;
  --font:'Source Sans 3','Source Sans Pro',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --font-display:'Playfair Display',serif;
  --font-slab:'Roboto Slab',Georgia,'Times New Roman',serif;
  --radius:2px;--radius-lg:4px;
  --shadow:0 2px 12px rgba(0,0,0,.06);
  --shadow-lg:0 16px 48px rgba(0,0,0,.1);
  --container:1240px;
  --section-pad:120px;
}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--body);background:var(--white);line-height:1.65;font-size:1.125rem;-webkit-font-smoothing:antialiased;letter-spacing:-.01em}
/* All headings — unified style across the site (per design directive 2026-05-06):
   - Playfair Display font (var(--font-display))
   - Uppercase
   - h2..h6 weight 400 (h1 keeps its own weight + thin/bold spans for hero effect)
   `!important` is intentional here because individual templates have ~30 specific
   font-weight rules with values 300/500/600/700 — overriding each one-by-one would
   leave the file fragile. This single global rule wins everywhere. */
h1,h2,h3,h4,h5,h6{text-transform:uppercase;font-family:var(--font-display)}
h2,h3,h4,h5,h6{font-weight:400!important}
/* h1 weight 400 globally — same elegance as h2-h6. Hero h1 on homepage keeps
   its own design (300 + .hero-line-bold span 700) via more-specific selector. */
h1{font-weight:400}
/* Typography 2026-05-07: h3 + h4 use Roboto Slab for editorial mid-level weight.
   Slab-serif gives a structured contrast against Playfair display headings (h1, h2)
   without breaking the unified uppercase look. h5/h6 stay Playfair (rarely used).
   This rule appears AFTER the h1-h6 family rule so it takes precedence. */
h3,h4{font-family:var(--font-slab);letter-spacing:.04em}
/* Service-page heroes (Návrh interiéru / Komplexné rekonštrukcie / Výstavba domov) —
   slightly heavier weight 500 per design directive 2026-05-06.
   Double-class selector (.page-hero.page-hero--service) gives specificity 0,2,1
   so this beats the .page-hero h1 rule (0,1,1) defined later in this file. */
.page-hero.page-hero--service h1{font-weight:500}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;font-family:inherit}
.container{max-width:var(--container);margin:0 auto;padding:0 32px}

/* ====== REVEAL ANIMATIONS ====== */
/* Progressive enhancement: only hide elements after JS confirms it's ready */
.js-reveal .reveal{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.25,.1,.25,1),transform .8s cubic-bezier(.25,.1,.25,1)}
.js-reveal .reveal.revealed,.reveal.revealed{opacity:1;transform:translateY(0)}
.js-reveal .reveal--delay-1{transition-delay:.15s}
.js-reveal .reveal--delay-2{transition-delay:.3s}
.js-reveal .reveal--delay-3{transition-delay:.45s}
.js-reveal .reveal--delay-4{transition-delay:.6s}

/* ====== HEADER ====== */
.site-header{position:sticky;top:0;z-index:2000;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .4s,box-shadow .4s}
.site-header.shrink{border-bottom-color:var(--border);box-shadow:0 1px 24px rgba(0,0,0,.04)}
.header-inner{display:flex;align-items:center;gap:32px;height:80px;max-width:var(--container);margin:0 auto;padding:0 32px}
/* Header + footer logo — unified styling (Playfair Display, weight 400,
   uppercase, same letter-spacing). Slightly bigger size per design directive. */
/* Logo — image-based wordmark (2400×637 webp, dark on transparent).
   Header: native colour. Footer (dark bg): inverted to white via filter. */
.logo{display:inline-flex;align-items:center;flex-shrink:0;font-family:var(--font-display);font-size:1.85rem;font-weight:400;color:var(--dark);white-space:nowrap;letter-spacing:.18em;text-transform:uppercase;line-height:1;text-decoration:none}
.logo img{height:50px;width:auto;display:block;max-width:100%}
.logo span{color:var(--dark)}
.footer-logo{display:inline-flex;align-items:center;color:#fff;font-family:var(--font-display);font-size:1.85rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;line-height:1;text-decoration:none}
/* Logo image has opaque white BG (not transparent), so a simple invert doesn't
   produce white-on-dark — it makes a black square with white text that still
   covers the footer bg. The invert(1) + mix-blend-mode:lighten combination:
   1) flips colors → white text on black bg (in pixel buffer)
   2) blends with the dark footer bg by picking max(source, dest) per pixel:
      • white text (1.0) vs footer (0.22) → 1.0 stays white
      • black bg (0.0) vs footer (0.22) → 0.22 = footer bg color (invisible) */
.footer-logo img{height:60px;width:auto;display:block;max-width:100%;filter:invert(1) brightness(1.05) contrast(1.05);mix-blend-mode:lighten}
.main-nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.main-nav > a,.main-nav > .nav-dropdown > .nav-trigger{padding:12px 20px;font-size:1rem;font-weight:400;color:var(--charcoal);border-radius:0;transition:color .3s;white-space:nowrap;cursor:pointer;background:none;border:none;display:inline-flex;align-items:center;gap:5px;font-family:var(--font);letter-spacing:.01em}
.main-nav > a:hover,.main-nav > a.active,.nav-dropdown:hover > .nav-trigger{color:var(--accent)}
.nav-dropdown{position:relative}
.nav-arrow{font-size:.55rem;transition:transform .2s;color:var(--muted)}
.nav-dropdown:hover .nav-arrow{transform:rotate(180deg)}

/* Mega-menu */
.mega-menu{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--white);border-radius:var(--radius-lg);box-shadow:0 20px 60px rgba(0,0,0,.12);padding:28px 32px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;min-width:560px;z-index:3000;border:1px solid var(--border)}
.mega-menu--wide{min-width:720px}
/* Compact 2-column variant — narrower mega menu for E-shop dropdown with only 5 items */
.mega-menu--compact{min-width:460px;max-width:520px}
.nav-dropdown:hover > .mega-menu,.nav-dropdown.mega-open > .mega-menu{opacity:1;visibility:visible}
.mega-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mega-cols--2{grid-template-columns:1fr 1fr}
.mega-cols--1{grid-template-columns:1fr}
.mega-menu--narrow{min-width:320px}
.mega-cols--1 + .mega-footer{text-align:left}
.mega-col-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.mega-col a{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:.9rem;color:var(--charcoal);border-radius:var(--radius);transition:background .15s,color .15s;font-weight:400}
.mega-col a:hover{background:var(--accent-light);color:var(--accent)}
.mega-col a .mega-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border-radius:var(--radius);font-size:.9rem;flex-shrink:0}
.mega-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);text-align:center}
.mega-footer a{font-size:.9rem;font-weight:600;color:var(--accent-dark);transition:color .15s}
.mega-footer a:hover{color:var(--primary)}

/* Header right */
.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
@media(max-width:1279px){.header-right{gap:8px}}
.header-icon{position:relative;background:none;border:none;padding:8px;display:flex;align-items:center;color:var(--muted);border-radius:var(--radius);transition:color .2s}
.header-icon:hover{color:var(--accent-dark)}
.header-cart{position:relative}
.cart-badge{position:absolute;top:0;right:0;background:var(--orange-cta);color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none}
.btn.btn-header{background:transparent;color:var(--charcoal);padding:11px 28px;border-radius:var(--radius);font-size:.85rem;font-weight:500;transition:all .3s;white-space:nowrap;border:1.5px solid var(--primary);letter-spacing:.12em;text-transform:uppercase}
.btn.btn-header:hover{background:var(--primary);color:var(--white)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;margin-left:4px;-webkit-tap-highlight-color:transparent}
.burger span{display:block;width:22px;height:2px;background:var(--primary);border-radius:2px;transition:transform .25s,opacity .2s}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ====== HERO ====== */
.hero{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.05)}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.15) 0%,rgba(0,0,0,.45) 100%)}
.hero-inner{position:relative;z-index:1;max-width:min(1400px,95vw);margin:0 auto;padding:0 32px}
.hero-badge{display:inline-block;color:var(--accent);font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;margin-bottom:28px;border:1px solid rgba(201,169,110,.4);padding:8px 24px;border-radius:2px}
/* Hero h1: single line on desktop. font-size scales with viewport so text fits.
   Combined with .hero-inner max-width: min(1400px, 95vw), 25-char Slovak text
   has room without overflowing. On viewports ≤768px the @media block stacks
   the two spans (display:block) and removes nowrap. */
.hero-text h1{font-family:var(--font-display);font-size:clamp(2.2rem,5.2vw,4.4rem);font-weight:300;color:var(--white);line-height:1.05;margin-bottom:28px;white-space:nowrap;text-align:center}
/* Hero h1 — both lines inline on desktop (one row), stacked on mobile.
   `inline` makes them flow side-by-side; margin-right keeps a small gap
   since the markup has no whitespace between the two spans. */
.hero-line-thin{display:inline;font-weight:400;opacity:.9;margin-right:.35em}
.hero-line-bold{display:inline;font-weight:400;letter-spacing:.02em}
@media(max-width:768px){
  .hero-line-thin,.hero-line-bold{display:block}
  .hero-line-thin{margin-right:0}
}
.hero-text h1 em{font-style:italic}
.hero-sub{color:rgba(255,255,255,.7);font-size:1.05rem;margin-bottom:48px;line-height:1.7;max-width:560px;margin-left:auto;margin-right:auto;font-weight:300;letter-spacing:.02em}
.hero-ctas{display:flex;justify-content:center;align-items:center;gap:20px}
.btn-hero{display:inline-block;padding:16px 48px;border:1.5px solid rgba(255,255,255,.8);border-radius:var(--radius);font-size:.82rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;transition:all .4s;color:var(--white);background:transparent;text-align:center}
.btn-hero:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-hero--ghost{border-color:rgba(255,255,255,.35);color:rgba(255,255,255,.75)}
.btn-hero--ghost:hover{border-color:rgba(255,255,255,.7);color:#fff}
.hero-scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:1;color:rgba(255,255,255,.4);animation:heroFloat 2s ease-in-out infinite}
@keyframes heroFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.hstat{text-align:center;padding:16px}
.hstat-val{font-size:1.8rem;font-weight:700;color:var(--white);display:block;font-family:var(--font-display)}
.hstat-label{font-size:.78rem;color:rgba(255,255,255,.6);margin-top:4px;letter-spacing:.04em}

/* Hero image (if used in two-column layout) */
.hero-image{position:relative;border-radius:var(--radius-lg);overflow:hidden}
.hero-image img{width:100%;height:400px;object-fit:cover}
.hero-image-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px 24px;background:linear-gradient(transparent,rgba(36,41,45,.85))}
.hero-image-overlay p{color:rgba(255,255,255,.9);font-size:.85rem}

/* ====== TRUST BAR ====== */
.trust-bar{background:var(--primary);padding:20px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.trust-items{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:10px}
.ti-icon{font-size:1.2rem;color:var(--accent)}
.trust-item strong{display:block;font-size:.875rem;font-weight:600;color:rgba(255,255,255,.9)}
.trust-item small{color:rgba(255,255,255,.5);font-size:.75rem}

/* ====== SECTIONS ====== */
.section-head{text-align:center;margin-bottom:72px}
.section-head.light h2,.section-head.light p{color:white}
.section-label{display:inline-block;color:var(--accent);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;margin-bottom:14px}
.section-eyebrow{display:block;color:var(--accent);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.25em;margin-bottom:16px}
.section-head h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:500;color:var(--dark);margin-bottom:16px;line-height:1.15}
.section-head p{color:var(--muted);font-size:1.05rem;max-width:640px;margin:0 auto;line-height:1.7;font-weight:300}
.section-cta{text-align:center;margin-top:64px}
.btn-outline-dark{display:inline-block;padding:16px 48px;border:1.5px solid var(--primary);border-radius:var(--radius);font-size:.82rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--primary);transition:all .3s}
.btn-outline-dark:hover{background:var(--primary);color:var(--white)}

/* ====== SERVICES ====== */
.services{padding:var(--section-pad) 0;background:var(--white)}
/* Services header — split layout */
.svc-header{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:72px}
.svc-header-left{flex:1;max-width:560px}
.svc-header-left h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--dark);line-height:1.15;margin:0}
.svc-header-right{flex:0 1 380px}
.svc-header-right p{color:var(--muted);font-size:.95rem;line-height:1.7;margin-bottom:16px}
.svc-all-link{font-size:.82rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;transition:color .3s}
.svc-all-link:hover{color:var(--dark)}
/* Service cards — horizontal layout with image + text */
.svc-cards{display:flex;flex-direction:column;gap:2px;padding:0 32px;max-width:1400px;margin:0 auto}
.svc-card{display:grid;grid-template-columns:1.1fr 1fr;min-height:380px;background:var(--bg);overflow:hidden;text-decoration:none;color:inherit;transition:background .3s}
.svc-card:nth-child(even){direction:rtl}
.svc-card:nth-child(even)>*{direction:ltr}
.svc-card:hover{background:var(--white)}
.svc-card-img{position:relative;overflow:hidden}
.svc-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.svc-card:hover .svc-card-img img{transform:scale(1.04)}
.svc-card-body{display:flex;flex-direction:column;justify-content:center;padding:48px 56px}
.svc-card-num{font-family:var(--font-display);font-size:3rem;font-weight:300;color:var(--accent);line-height:1;margin-bottom:16px;opacity:.5}
.svc-card-body h3{font-family:var(--font-display);font-size:clamp(1.4rem,2.5vw,1.8rem);font-weight:500;color:var(--dark);margin-bottom:14px;line-height:1.2}
.svc-card-body p{color:var(--body);font-size:.95rem;line-height:1.75;margin-bottom:20px}
.svc-card-link{font-size:.78rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;transition:color .3s;display:inline-flex;align-items:center;gap:6px}
.svc-card:hover .svc-card-link{color:var(--dark)}
/* Legacy fallback for other pages using old markup */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.service-card{position:relative;overflow:hidden;min-height:400px;display:flex;align-items:flex-end;padding:32px;transition:transform .2s}
.service-card-bg{position:absolute;inset:0;z-index:0}
.service-card-bg img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.service-card:hover .service-card-bg img{transform:scale(1.05)}
.service-card-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.7))}
.service-card-content{position:relative;z-index:1;color:var(--white)}
.service-card h3{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--white);margin-bottom:8px}
.service-card p{color:rgba(255,255,255,.8);font-size:.9rem;line-height:1.6;margin-bottom:14px}
.sc-link{color:var(--white);font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:2px;transition:border-color .2s}
.sc-link:hover{border-color:#fff}
/* Fallback service cards without background images */
.service-card--simple{background:var(--white);border:1px solid var(--border);min-height:auto;padding:28px;align-items:flex-start}
.service-card--simple .service-card-content{color:var(--body)}
.service-card--simple h3{color:var(--dark)}
.service-card--simple p{color:var(--muted)}
.service-card--simple .sc-link{color:var(--accent-dark);border-color:var(--accent-dark)}

/* ====== PRODUCTS GRID — Masonry ====== */
.products-section{padding:var(--section-pad) 0;background:var(--bg)}
/* ====== PRODUCT CATEGORIES SLIDER ======
   Unified horizontal slider on ALL viewports (was masonry columns:3 on desktop).
   Cards: 4 visible at desktop, 3 at tablet, 1.4 at mobile. Circular loop via JS. */
/* Full-bleed: slider breaks out of `.container` to span 100vw. The negative
   margin trick (`50% - 50vw`) keeps the slider centered without wrapping
   structure changes. Mobile keeps the existing inset (override below). */
.masonry-wrap{position:relative;padding:0 56px;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
/* IMPORTANT: do NOT set `column-gap` here — it overrides the flex `gap` shorthand.
   No `scroll-snap-type` — it interferes with programmatic smooth-scroll across
   distance (browser snaps mid-flight to nearest snap-point, breaking the loop
   wrap-around when "next" jumps from end back to start). JS handles snapping
   via explicit scrollTo() calls. */
.masonry-grid{display:flex;gap:28px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 0 16px;scrollbar-width:none;columns:auto;scroll-behavior:smooth}
.masonry-grid::-webkit-scrollbar{display:none}
/* Desktop: 5 cards visible per viewport (full-bleed wrapper above).
   Formula: 20% per card minus shared portion of the 28px gap (4 gaps / 5 cards = 22.4px).
   No scroll-snap-align — JS handles snapping via explicit scrollTo() calls.
   visibleCount() in products.php auto-detects 5 cards from cardWidth+gap math. */
.masonry-card{flex:0 0 calc(20% - 22.4px);position:relative;overflow:hidden;border-radius:var(--radius-lg);display:block;aspect-ratio:3/4;margin-bottom:0;break-inside:auto}
.masonry-card--tall{aspect-ratio:3/4}    /* equal aspect for slider (was 3/5) */
.masonry-arrow{display:flex;position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.96);color:#222;align-items:center;justify-content:center;cursor:pointer;z-index:5;box-shadow:0 4px 14px rgba(0,0,0,.18);padding:0;transition:transform .2s,box-shadow .2s}
.masonry-arrow:hover{transform:translateY(-50%) scale(1.06);box-shadow:0 6px 20px rgba(0,0,0,.24)}
.masonry-arrow.masonry-prev{left:8px}
.masonry-arrow.masonry-next{right:8px}
.masonry-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
.masonry-dot{width:7px;height:7px;border-radius:50%;border:0;background:var(--border);padding:0;cursor:pointer;transition:background .2s,transform .2s}
.masonry-dot.is-active{background:var(--primary);transform:scale(1.3)}
.masonry-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.masonry-card:hover img{transform:scale(1.06)}
.masonry-card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;z-index:1;background:linear-gradient(transparent 40%,rgba(0,0,0,.6));transition:background .4s}
.masonry-card:hover .masonry-card-overlay{background:linear-gradient(transparent 20%,rgba(0,0,0,.7))}
.masonry-card-label{color:var(--white);font-family:var(--font-display);font-size:1.4rem;font-weight:500;letter-spacing:.01em;margin-bottom:4px}
.masonry-card-cta{color:rgba(255,255,255,.7);font-size:.78rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.masonry-card:hover .masonry-card-cta{opacity:1;transform:translateY(0)}

/* Legacy product-card for other pages */
.products-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.product-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:3/4;display:flex;align-items:flex-end}
.product-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.product-card:hover img{transform:scale(1.05)}
.product-card::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.65))}
.product-card-label{position:relative;z-index:1;padding:16px;color:var(--white);font-size:.95rem;font-weight:600;width:100%}

/* ====== FOUNDER / OUR STORY ====== */
.founder-section{padding:var(--section-pad) 0;background:var(--white);overflow:hidden}
.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}

/* --- Image column --- */
.founder-visual{position:relative;padding:24px}
.founder-img-wrap{position:relative;overflow:hidden;border-radius:var(--radius-lg)}
.founder-img-wrap img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.founder-section:hover .founder-img-wrap img{transform:scale(1.03)}
/* Gold accent frame — offset corner */
.founder-img-accent{position:absolute;bottom:-16px;right:-16px;width:60%;height:60%;border:2px solid var(--accent);border-radius:var(--radius-lg);z-index:-1;transition:transform .5s ease}
.founder-section:hover .founder-img-accent{transform:translate(-4px,-4px)}
/* Experience badge */
.founder-experience{position:absolute;bottom:32px;left:-20px;background:rgba(248,245,240,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--dark);padding:24px 30px;border-radius:var(--radius-lg);text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.08);border:1px solid rgba(201,169,110,.18);z-index:2}
.exp-number{display:block;font-family:var(--font-display);font-size:2.8rem;font-weight:600;line-height:1;color:var(--accent);margin-bottom:4px}
.exp-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-weight:500}

/* --- Text column --- */
.founder-text .brand-label{font-family:var(--font);font-size:.72rem;color:var(--accent);letter-spacing:.25em;margin-bottom:12px;text-transform:uppercase;font-weight:600;display:block}
.founder-text h2{font-family:var(--font-display);font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:400;color:var(--dark);margin-bottom:32px;line-height:1.12}
/* Pull-quote highlight */
.founder-pullquote{font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.4rem);font-style:italic;font-weight:400;color:var(--dark);line-height:1.55;margin:0 0 32px;padding-left:24px;border-left:3px solid var(--accent);letter-spacing:.01em}
.founder-quote{color:var(--body);font-size:1rem;line-height:1.85;margin-bottom:32px}
.founder-quote p{margin-bottom:16px}
.founder-quote p:last-child{margin-bottom:0}
/* Signature block */
.founder-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid var(--border)}
.founder-sig-block{display:flex;flex-direction:column}
.founder-sig-img{height:36px;width:auto;margin-bottom:8px;opacity:.8}
.founder-sig{font-weight:600;color:var(--charcoal);font-size:.92rem;font-style:normal;letter-spacing:.03em;margin:0}
.founder-role{font-size:.78rem;color:var(--muted);margin-top:2px;letter-spacing:.04em}
.founder-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 36px;border:1.5px solid var(--primary);border-radius:var(--radius);font-size:.8rem;font-weight:500;color:var(--primary);letter-spacing:.15em;text-transform:uppercase;transition:all .3s;white-space:nowrap;flex-shrink:0}
.founder-cta:hover{background:var(--primary);color:var(--white)}

/* ====== WHY US ====== */
.why-us{padding:var(--section-pad) 0;background:var(--white)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.why-text h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;color:var(--dark);margin-bottom:16px;line-height:1.25}
.why-text > p{color:var(--body);font-size:1rem;line-height:1.7;margin-bottom:24px}
.why-features{display:flex;flex-direction:column;gap:16px}
.why-feature{display:flex;align-items:flex-start;gap:14px}
.wf-icon{width:40px;height:40px;background:var(--accent-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;color:var(--accent-dark)}
.wf-text strong{display:block;font-size:.95rem;font-weight:600;color:var(--charcoal);margin-bottom:2px}
.wf-text span{font-size:.85rem;color:var(--muted);line-height:1.5}
.why-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.why-images img{width:100%;height:240px;object-fit:cover;border-radius:var(--radius-lg)}
.why-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}
.why-stat{background:var(--bg);border-radius:var(--radius-lg);padding:24px;text-align:center}
.ws-val{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--primary)}
.ws-label{font-size:.82rem;color:var(--muted);margin-top:4px}

/* ====== RELIABLE PARTNER ====== */
.partner-section{padding:calc(var(--section-pad) * 1.15) 0;background:var(--white);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.partner-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.partner-col-left{position:relative}
.partner-col-right{position:relative}
.partner-col-right::before{content:"";position:absolute;left:-40px;top:10%;bottom:10%;width:1px;background:var(--accent);opacity:.5}
.partner-label{color:var(--accent);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.25em;margin-bottom:18px}
.partner-inner h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:500;color:var(--dark);margin:0;line-height:1.15}
.partner-inner p{color:var(--body);font-size:1.05rem;line-height:1.75;margin-bottom:18px;font-weight:300}
.partner-inner p:last-child{margin-bottom:0}
@media (max-width:900px){.partner-inner{grid-template-columns:1fr;gap:40px} .partner-col-right::before{display:none}}

/* ====== SERVICE PAGE CARDS ====== */
.service-page-card{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s}
.service-page-card:hover{border-color:var(--accent)}
.spc-img{height:260px;overflow:hidden}
.spc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.service-page-card:hover .spc-img img{transform:scale(1.04)}
.spc-body{padding:24px}
.spc-body h2{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--dark);margin-bottom:10px}
.spc-body p{color:var(--muted);font-size:.9rem;line-height:1.6;margin-bottom:16px}
.spc-link{display:inline-block;font-size:.85rem;font-weight:500;color:var(--primary);letter-spacing:.04em;border-bottom:1px solid var(--border);padding-bottom:2px;transition:border-color .2s}
.spc-link:hover{border-color:var(--primary)}

/* ====== PORTFOLIO GRID ====== */
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

/* ====== ABOUT — VISION SECTION ====== */
.vision-section{padding:0;background:var(--bg)}
.vision-grid{display:grid;grid-template-columns:1fr 1fr;min-height:700px}
.vision-img{position:relative;overflow:hidden}
.vision-img img{width:100%;height:100%;object-fit:cover;display:block}
.vision-content{padding:64px 56px;display:flex;flex-direction:column;justify-content:center}
.vision-title{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--dark);margin-bottom:20px}
.vision-text{color:var(--body);font-size:1rem;line-height:1.8;margin-bottom:24px}
.vision-quote{font-style:italic;color:var(--body);font-size:.95rem;line-height:1.7;border-left:2px solid var(--accent);padding-left:20px;margin-bottom:28px}
.vision-quote span{display:block;margin-top:10px;font-style:normal;font-weight:600;color:var(--dark);font-size:.85rem}
.vision-stats{display:flex;gap:40px;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--border)}
.vision-stats div{text-align:center}
.vision-stats strong{display:block;font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--primary)}
.vision-stats span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:4px}
.vision-subtitle{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--dark);margin-bottom:16px}
.vision-list{color:var(--body);font-size:.95rem;line-height:1.8;padding-left:20px}
.vision-list li{margin-bottom:4px;list-style:disc}

/* ====== ABOUT — VALUES ====== */
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.value-card{text-align:center;padding:36px 20px}
.value-icon{width:64px;height:64px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;color:var(--primary);border:1px solid var(--border);border-radius:50%}
.value-card h3{font-size:.95rem;font-weight:600;color:var(--dark);margin-bottom:8px}
.value-card p{color:var(--muted);font-size:.88rem;line-height:1.6}

/* ====== BTN GHOST (hero) ====== */
.btn-ghost{display:inline-block;padding:12px 28px;border:1.5px solid rgba(255,255,255,.6);border-radius:var(--radius);color:var(--white);font-size:.9rem;font-weight:500;letter-spacing:.04em;transition:all .2s}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* ====== HOW IT WORKS ====== */
.how-it-works{padding:var(--section-pad) 0;background:var(--bg)}
.steps-grid{display:flex;align-items:flex-start;gap:0;justify-content:center}
.step{flex:1;max-width:240px;text-align:center;padding:0 20px}
.step-arrow{color:var(--accent);font-size:1.5rem;padding-top:28px;flex-shrink:0}
.step-num{width:52px;height:52px;border:2px solid var(--primary);color:var(--primary);border-radius:50%;font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:transparent}
.step h3{font-size:1rem;font-weight:600;color:var(--dark);margin-bottom:8px}
.step p{color:var(--muted);font-size:.875rem;line-height:1.6}

/* ====== REVIEWS ====== */
/* ====== ABOUT — STORY BLOCK ====== */
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-story-img{position:relative;padding:20px}
.about-img-wrap{position:relative;overflow:hidden;border-radius:var(--radius-lg)}
.about-img-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.about-story-img:hover .about-img-wrap img{transform:scale(1.03)}
.about-img-accent{position:absolute;bottom:-14px;left:-14px;width:55%;height:55%;border:2px solid var(--accent);border-radius:var(--radius-lg);z-index:-1}
.about-story-text h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--dark);margin-bottom:28px;line-height:1.12}
.about-pullquote{font-family:var(--font-display);font-size:clamp(1.1rem,1.8vw,1.3rem);font-style:italic;font-weight:400;color:var(--dark);line-height:1.55;margin:0 0 28px;padding-left:22px;border-left:3px solid var(--accent)}
.about-body{color:var(--body);font-size:1rem;line-height:1.85}
.about-body p{margin-bottom:16px}

/* ====== REVIEWS — SLIDER ====== */
.reviews-section{background:var(--white)}
.reviews-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px}
.reviews-header h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--dark);line-height:1.15;margin:0}
.reviews-nav{display:flex;gap:8px}
.rev-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--border);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;color:var(--dark)}
.rev-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}
.reviews-slider{overflow:hidden;position:relative}
.reviews-track{display:flex;gap:24px;transition:transform .5s cubic-bezier(.25,.1,.25,1)}
.review-slide{flex:0 0 calc(33.333% - 16px);min-width:0}
.review-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;transition:border-color .3s,box-shadow .3s;height:100%;display:flex;flex-direction:column}
.review-card:hover{border-color:var(--accent);box-shadow:0 8px 32px rgba(0,0,0,.06)}
.rc-stars{color:var(--accent);font-size:.85rem;margin-bottom:14px;letter-spacing:3px}
.rc-text{color:var(--body);font-size:.95rem;line-height:1.75;margin-bottom:auto;padding-bottom:20px;font-style:italic}
.rc-author{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--border)}
.rc-avatar{width:42px;height:42px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--accent);font-size:.9rem;flex-shrink:0}
.rc-name{display:block;font-size:.88rem;font-weight:600;color:var(--dark)}
.rc-role{display:block;font-size:.76rem;color:var(--muted);margin-top:2px}
.reviews-dots{display:flex;justify-content:center;gap:8px;margin-top:32px}
.reviews-dots .dot{width:8px;height:8px;border-radius:50%;background:var(--border);cursor:pointer;transition:all .3s}
.reviews-dots .dot.active{background:var(--accent);width:24px;border-radius:4px}

/* ====== REALIZACIE — MASONRY ====== */
.realiz-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:12px}
.realiz-card{position:relative;overflow:hidden;border-radius:var(--radius-lg);grid-row:span 1;cursor:pointer}
.realiz-card--tall{grid-row:span 2}
.realiz-card-img{position:absolute;inset:0}
.realiz-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.realiz-card:hover .realiz-card-img img{transform:scale(1.05)}
.realiz-card-overlay{position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.7));display:flex;flex-direction:column;justify-content:flex-end;padding:24px;z-index:1;transition:background .3s}
.realiz-card:hover .realiz-card-overlay{background:linear-gradient(transparent 20%,rgba(0,0,0,.75))}
.realiz-card-overlay h3{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--white);margin-bottom:4px}
.realiz-card-overlay p{font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.5}

/* ====== REALIZACIE — SHOWCASE (2-col horizontal) ====== */
.realiz-showcase{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.realiz-showcase-card{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--white);transition:border-color .3s,box-shadow .4s,transform .4s}
/* Reset native button styles when card is rendered as <button> for modal trigger */
button.realiz-showcase-card{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%;padding:0}
button.realiz-showcase-card:focus-visible{outline:2px solid var(--primary,#c9a96e);outline-offset:3px}
.realiz-showcase-card:hover{border-color:var(--accent);box-shadow:0 12px 40px rgba(0,0,0,.08);transform:translateY(-3px)}
.realiz-showcase-img{overflow:hidden;min-height:260px}
.realiz-showcase-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.realiz-showcase-card:hover .realiz-showcase-img img{transform:scale(1.05)}
.realiz-showcase-body{padding:36px 32px;display:flex;flex-direction:column;justify-content:center}
.realiz-showcase-num{font-family:var(--font-display);font-size:2.4rem;font-weight:700;color:var(--accent);opacity:.25;line-height:1;margin-bottom:12px}
.realiz-showcase-body h3{font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--dark);margin-bottom:8px;line-height:1.3}
.realiz-showcase-body p{color:var(--muted);font-size:.92rem;line-height:1.65;margin-bottom:16px}
.realiz-showcase-link{font-size:.8rem;font-weight:500;color:var(--primary);letter-spacing:.06em;text-transform:uppercase;transition:color .2s,gap .3s;display:inline-flex;align-items:center;gap:6px}
.realiz-showcase-card:hover .realiz-showcase-link{color:var(--accent);gap:10px}

/* Legacy reviews grid (keep for other pages) */
.reviews{padding:var(--section-pad) 0;background:var(--white)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

/* ====== FAQ — editorial 2-col accordion ====== */
.faq-section{padding:var(--section-pad) 0;background:var(--white)}
.faq-head{text-align:center;max-width:680px;margin:0 auto 56px}
.faq-head .section-label{color:var(--accent);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;margin-bottom:14px}
.faq-heading{font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,2.4rem);font-weight:400;color:var(--dark);line-height:1.18;margin:0;letter-spacing:.01em}
.faq-heading::after{content:"";display:block;width:42px;height:1px;background:var(--accent);margin:22px auto 0;opacity:.85}
.faq-desc{margin:18px auto 0;color:var(--body);font-size:1.02rem;line-height:1.7;max-width:560px}
.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:64px;row-gap:0;max-width:1140px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border);transition:border-color .25s ease}
.faq-item:hover{border-bottom-color:var(--accent)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 4px;font-family:inherit;font-size:1.02rem;font-weight:500;color:var(--dark);background:transparent;border:0;text-align:left;cursor:pointer;letter-spacing:.005em;transition:color .25s ease,background-color .25s ease}
.faq-q-text{flex:1 1 auto;min-width:0;line-height:1.45}
.faq-q:hover,.faq-q:focus-visible{color:var(--accent);background:var(--accent-light)}
.faq-q:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:2px}
.faq-q[aria-expanded="true"]{color:var(--accent);font-weight:600}
.faq-chevron{flex-shrink:0;color:var(--muted);transition:transform .3s cubic-bezier(.4,0,.2,1),color .25s ease}
.faq-q:hover .faq-chevron,.faq-q[aria-expanded="true"] .faq-chevron{color:var(--accent)}
.faq-q[aria-expanded="true"] .faq-chevron{transform:rotate(90deg)}
.faq-a{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .25s ease}
.faq-item.open .faq-a{max-height:800px;opacity:1}
.faq-item.open > .faq-q{color:var(--accent);font-weight:600}
.faq-item.open > .faq-q svg{transform:rotate(180deg);transition:transform .25s ease}
.faq-a[hidden]{display:none}
.faq-a-inner{padding:2px 4px 26px;color:var(--body);font-size:.98rem;line-height:1.78;font-weight:300}
.faq-a-inner p{margin:0 0 12px}
.faq-a-inner p:last-child{margin-bottom:0}
@media (max-width:768px){.faq-grid{grid-template-columns:1fr;column-gap:0}}

/* ====== CTA / CONTACT FORM SECTION ====== */
.cta-section{padding:var(--section-pad) 0;background:var(--bg)}
.cta-grid{display:grid;grid-template-columns:1fr 480px;gap:72px;align-items:start;max-width:1080px;margin:0 auto}
.cta-text h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);font-weight:500;color:var(--dark);margin-bottom:18px;line-height:1.15}
.cta-text p{color:var(--body);font-size:1.05rem;line-height:1.7;margin-bottom:28px;font-weight:300}
.cta-trust{display:flex;flex-wrap:wrap;gap:12px}
.cta-trust span{color:var(--muted);font-size:.85rem;display:flex;align-items:center;gap:8px}

/* Forms — Clean underline style */
.hero-form-wrap,.cta-form-wrap{position:relative}
.hero-form-card,.cta-form-card{background:var(--white);border-radius:var(--radius-lg);padding:40px;box-shadow:0 8px 40px rgba(0,0,0,.06);border:1px solid var(--border)}
.form-header{margin-bottom:28px}
.form-header h2{font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--dark);margin-bottom:6px}
.form-header h2 span{color:var(--accent)}
.form-header p{color:var(--muted);font-size:.9rem}
.lead-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{margin-bottom:20px}
.form-field label{display:none}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:14px 0;border:none;border-bottom:1.5px solid var(--border);border-radius:0;font-family:var(--font);font-size:1rem;color:var(--dark);background:transparent;transition:border-color .3s;-webkit-appearance:none;outline:none}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-bottom-color:var(--accent)}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--light-muted);font-weight:300}
.form-field textarea{resize:vertical;min-height:100px;border:none;border-bottom:1.5px solid var(--border);border-radius:0}
.form-field select{cursor:pointer}
/* Custom select */
.custom-select{position:relative}
.cs-trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1.5px solid var(--border);cursor:pointer;transition:border-color .2s;outline:none}
.cs-trigger:focus,.custom-select.open .cs-trigger{border-bottom-color:var(--accent)}
.cs-label{font-family:var(--font);font-size:.95rem;color:var(--dark)}
.cs-label[data-placeholder]:not(.has-value){color:var(--light-muted)}
.cs-arrow{color:var(--muted);transition:transform .25s;flex-shrink:0}
.custom-select.open .cs-arrow{transform:rotate(180deg)}
.cs-options{position:absolute;top:calc(100% + 4px);left:-16px;right:-16px;z-index:100;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,.1);list-style:none;padding:6px 0;max-height:280px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .2s}
.custom-select.open .cs-options{opacity:1;visibility:visible;transform:translateY(0)}
.cs-options li{padding:11px 20px;font-family:var(--font);font-size:.9rem;color:var(--body);cursor:pointer;transition:all .15s;letter-spacing:.01em}
.cs-options li:hover{background:var(--accent-light);color:var(--dark)}
.cs-options li.selected{color:var(--primary);font-weight:600;background:var(--accent-light)}
.btn-submit{display:block;width:100%;padding:17px;background:var(--primary);color:var(--white);border:none;border-radius:var(--radius);font-size:.82rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;transition:all .3s;text-align:center}
.btn-submit:hover{background:var(--primary-dark);box-shadow:0 4px 20px rgba(0,0,0,.15)}
.btn-submit.small{padding:10px 20px;font-size:.875rem;width:auto;text-transform:none;letter-spacing:normal}
.form-note{text-align:center;color:var(--muted);font-size:.75rem;margin-top:10px}
.alert-error{background:#fef2f2;color:var(--error);border:1px solid #fecaca;padding:10px 14px;border-radius:var(--radius);font-size:.9rem;margin-bottom:14px}
.form-success{background:var(--accent-light);border-radius:var(--radius-lg);padding:40px 32px;text-align:center;border:1px solid var(--accent-border)}
.success-icon{font-size:2.5rem;margin-bottom:12px;color:var(--success)}
.form-success h3{font-family:var(--font-display);font-size:1.4rem;color:var(--primary);margin-bottom:8px}

/* ====== BLOG PREVIEW ====== */
.blog-preview{padding:var(--section-pad) 0;background:var(--white)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}
.blog-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s;display:flex;flex-direction:column}
.blog-card:hover{box-shadow:var(--shadow)}
.bc-img{height:200px;overflow:hidden;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:3rem;flex-shrink:0}
.bc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.blog-card:hover .bc-img img{transform:scale(1.03)}
.bc-img.placeholder{background:var(--accent-light)}
.bc-body{padding:20px;display:flex;flex-direction:column;flex:1}
.bc-cat{display:inline-block;color:var(--accent-dark);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.bc-body h3{font-size:1rem;font-weight:600;color:var(--dark);line-height:1.4;margin-bottom:8px;flex:1}
.bc-body h3 a:hover{color:var(--accent-dark)}
.bc-excerpt{color:var(--muted);font-size:.875rem;line-height:1.6;margin-bottom:12px}
.bc-meta{display:flex;gap:12px;font-size:.75rem;color:var(--muted);margin-top:auto;padding-top:10px;border-top:1px solid var(--border)}
.btn.btn-outline-gold{display:inline-block;padding:12px 32px;border:1.5px solid var(--primary);border-radius:var(--radius);font-weight:500;color:var(--primary);font-size:.9rem;transition:all .2s;letter-spacing:.04em}
.btn.btn-outline-gold:hover{background:var(--primary);color:var(--white)}

/* ====== NEWSLETTER ====== */
/* ====== FOOTER NEWSLETTER BAR ====== */
.footer-newsletter{background:var(--primary-dark);padding:56px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.fn-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.fn-text h3{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--white);margin-bottom:4px}
.fn-text p{color:rgba(255,255,255,.5);font-size:.9rem}
.fn-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center;flex:1;max-width:520px}
.fn-form input{flex:1;min-width:140px;padding:11px 0;border:none;border-bottom:1.5px solid rgba(255,255,255,.2);border-radius:0;font-family:var(--font);font-size:.9rem;background:transparent;color:white;outline:none;transition:border-color .2s}
.fn-form input:focus{border-bottom-color:var(--accent)}
.fn-form input::placeholder{color:rgba(255,255,255,.35)}
.fn-form button{background:transparent;border:1.5px solid rgba(255,255,255,.5);color:white;border-radius:var(--radius);padding:11px 24px;font-family:var(--font);font-size:.85rem;font-weight:500;letter-spacing:.04em;cursor:pointer;white-space:nowrap;transition:all .2s}
.fn-form button:hover{background:rgba(255,255,255,.08);border-color:#fff}

/* ====== FOOTER ====== */
.site-footer{background:var(--primary);color:rgba(255,255,255,.6);padding:72px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr 1.2fr;gap:32px;margin-bottom:48px}
.footer-tagline{color:var(--accent);font-size:.8rem;letter-spacing:.08em;margin-bottom:20px;font-weight:400}
.footer-brand ul{margin-bottom:16px}
.footer-social{display:flex;gap:12px;margin-top:16px}
.footer-social a{width:36px;height:36px;background:rgba(255,255,255,.06);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:all .2s;border:1px solid rgba(255,255,255,.08)}
.footer-social a:hover{background:rgba(202,180,156,.15);color:var(--accent);border-color:rgba(202,180,156,.3)}
.footer-contact{display:flex;flex-direction:column;gap:10px;font-size:.9rem}
.footer-contact li{display:flex;align-items:flex-start;gap:10px}
.footer-contact li svg{flex-shrink:0;margin-top:3px;color:var(--accent)}
.footer-contact a{color:var(--accent);font-weight:500}
.site-footer h4{color:var(--white);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:16px}
.site-footer h4.footer-logo{font-family:var(--font-display);font-size:1.85rem;letter-spacing:.18em;font-weight:400;margin-bottom:6px}
.site-footer ul{display:flex;flex-direction:column;gap:10px}
.site-footer ul a{font-size:.9rem;color:rgba(255,255,255,.55);transition:color .2s}
.site-footer ul a:hover{color:var(--accent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:rgba(255,255,255,.35);flex-wrap:wrap;gap:8px}
.footer-bottom a{color:rgba(255,255,255,.4)}
.footer-bottom a:hover{color:var(--accent)}

/* ====== PAGINATION ====== */
.pagination{margin:40px 0 0}
.pagination ul{display:flex;gap:6px;flex-wrap:wrap}
.pagination ul li a,.pagination ul li span{display:flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--body);background:white;transition:all .15s}
.pagination ul li a:hover{border-color:var(--accent);color:var(--accent-dark)}
.pagination ul li span.current{background:var(--primary);color:white;border-color:var(--primary)}
.pagination ul li span.dots{border:none;background:none}

/* ====== BLOG PAGE ====== */
.blog-page .site-header{position:sticky}
.blog-hero{background:var(--primary);padding:48px 0 40px;color:white}
.blog-hero .breadcrumb{font-size:.82rem;color:rgba(255,255,255,.5);margin-bottom:14px}
.blog-hero .breadcrumb a{color:var(--accent)}
.blog-hero .breadcrumb span{margin:0 6px;color:rgba(255,255,255,.25)}
.blog-hero h1{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;margin-bottom:8px}
.blog-hero p{color:rgba(255,255,255,.6);font-size:1rem}
.blog-cats-bar{background:var(--primary-dark);border-bottom:1px solid rgba(255,255,255,.06);padding:12px 20px}
.blog-cats-bar .container{display:flex;gap:8px;flex-wrap:wrap;max-width:var(--container);margin:0 auto}
.cat-pill{padding:6px 14px;border-radius:20px;font-size:.78rem;font-weight:500;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);transition:all .15s}
.cat-pill:hover,.cat-pill.active{border-color:var(--accent);color:var(--accent)}
.blog-page-layout{display:grid;grid-template-columns:1fr 300px;gap:40px;padding-top:40px;padding-bottom:60px;align-items:start}
.blog-list{display:flex;flex-direction:column;gap:0}
.blog-list-item{display:grid;grid-template-columns:280px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--border);align-items:start}
.blog-list-item:first-child{padding-top:0}
.bli-img{height:180px;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:2.5rem;flex-shrink:0}
.bli-img img{width:100%;height:100%;object-fit:cover}
.bli-img.placeholder{background:var(--accent-light)}
.bli-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px;font-size:.78rem;color:var(--muted)}
.bli-body h2{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--dark);margin-bottom:8px;line-height:1.35}
.bli-body h2 a:hover{color:var(--accent-dark)}
.bli-body p{color:var(--muted);font-size:.9rem;line-height:1.6;margin-bottom:12px}
.read-more-btn{color:var(--accent-dark);font-size:.875rem;font-weight:500;border-bottom:1px solid var(--accent-dark);padding-bottom:1px}
.read-more-btn:hover{color:var(--primary)}

/* Sidebar */
.blog-sidebar{display:flex;flex-direction:column;gap:20px}
.sidebar-widget{background:white;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}
.widget-title{font-size:.72rem;font-weight:700;color:var(--dark);margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--primary);display:inline-block;text-transform:uppercase;letter-spacing:.08em}
.sidebar-cats{display:flex;flex-direction:column;gap:4px}
.sidebar-cats a{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:.9rem;color:var(--body);border-bottom:1px solid var(--border)}
.sidebar-cats a:hover{color:var(--accent-dark)}
.sidebar-cats .count{background:var(--bg);padding:1px 8px;border-radius:10px;font-size:.72rem;color:var(--muted)}
.sidebar-recent{display:flex;flex-direction:column;gap:6px}
.sidebar-recent a{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.85rem;color:var(--body)}
.sidebar-recent a span{line-height:1.35;color:var(--dark);font-weight:500}
.sidebar-recent a small{color:var(--muted);font-size:.75rem}
.sidebar-recent a:hover span{color:var(--accent-dark)}
.newsletter-widget p{font-size:.85rem;color:var(--muted);margin-bottom:10px}
.sw-input{width:100%;padding:9px 0;border:none;border-bottom:1.5px solid var(--border);border-radius:0;font-size:.9rem;margin-bottom:6px;font-family:var(--font);background:transparent}
.sw-input:focus{outline:none;border-bottom-color:var(--accent)}
.cta-widget{background:var(--primary);color:white;border-color:rgba(255,255,255,.1)}
.cta-widget h4{color:white;font-size:.95rem;font-weight:700;margin-bottom:8px}
.cta-widget p{color:rgba(255,255,255,.6);font-size:.85rem}

/* ====== POST PAGE ====== */
.post-layout{max-width:780px;margin:0 auto;padding:40px 20px 60px}
.post-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.6rem);font-weight:700;color:var(--dark);line-height:1.15;margin-bottom:16px}
.post-meta-bar{display:flex;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:28px}
.post-featured-img{width:100%;max-height:440px;object-fit:cover;border-radius:var(--radius-lg);margin-bottom:28px}
.post-body{font-size:1.05rem;line-height:1.85;color:var(--body)}
.post-body h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:36px 0 14px;color:var(--dark)}
.post-body h3{font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin:28px 0 10px}
.post-body p{margin-bottom:18px}
.post-body strong{font-weight:600;color:var(--charcoal)}
.post-body ul,.post-body ol{margin:0 0 18px 24px}
.post-body li{margin-bottom:6px}
.post-body blockquote{border-left:3px solid var(--accent);padding:14px 20px;margin:24px 0;background:var(--accent-light);border-radius:0 var(--radius) var(--radius) 0}
.post-related{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
.post-related h3{font-family:var(--font-display);font-size:1.3rem;font-weight:700;margin-bottom:20px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-card h4{font-family:var(--font-display);font-size:.95rem;font-weight:700;margin-bottom:6px;line-height:1.3}
.related-card h4 a:hover{color:var(--accent-dark)}
.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}
.empty-state h3{font-family:var(--font-display);font-size:1.5rem;color:var(--dark);margin-bottom:10px}

/* ====== BUTTONS ====== */
.btn.btn-primary{display:inline-block;padding:12px 32px;border:1.5px solid var(--primary);border-radius:var(--radius);font-weight:500;font-size:.9rem;transition:all .2s;color:var(--primary);background:transparent;letter-spacing:.04em}
.btn.btn-primary:hover{background:var(--primary);color:var(--white)}

/* ====== POPUP ====== */
.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:999;display:flex;align-items:center;justify-content:center;padding:20px}
.popup-box{background:white;border-radius:var(--radius-lg);padding:32px;max-width:440px;width:100%;position:relative}
.popup-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.2rem;color:var(--muted);line-height:1}
.popup-box h3{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--dark);margin-bottom:8px}

/* ====== STICKY MOBILE CTA ====== */
.sticky-mobile{position:fixed;bottom:0;left:0;right:0;display:none;z-index:90;background:var(--primary);padding:10px 16px;gap:10px;border-top:1px solid rgba(255,255,255,.1)}
.sticky-mobile.visible{display:flex}
.sticky-call,.sticky-quote{flex:1;padding:12px;border-radius:var(--radius);font-weight:500;font-size:.875rem;text-align:center;display:block}
.sticky-call{background:transparent;color:white;border:1px solid rgba(255,255,255,.2)}
.sticky-quote{background:transparent;color:var(--accent);border:1px solid var(--accent)}

/* ====== MOBILE NAV ====== */
.mobile-nav{display:none;position:fixed;top:80px;left:0;right:0;height:calc(100vh - 80px);height:calc(100dvh - 80px);background:var(--white);z-index:1999;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 0 100px;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.mobile-nav.open{display:block;transform:translateX(0)}
.mobile-nav > a{display:block;padding:16px 24px;font-size:1rem;color:var(--charcoal);border-bottom:1px solid var(--border);transition:color .15s;font-weight:400}
.mobile-nav > a:hover,.mobile-nav > a:active{color:var(--accent-dark);background:var(--bg)}
.mobile-nav-section{border-bottom:1px solid var(--border)}
.mobile-nav-section-title{font-size:1rem;font-weight:500;color:var(--dark);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .15s}
.mobile-nav-section-title:active{background:var(--bg)}
.mobile-nav-section-items{display:none;padding:8px 0 16px;background:var(--bg)}
.mobile-nav-section.open .mobile-nav-section-items{display:block}
.mobile-nav-section-items a{display:block;padding:14px 24px;font-size:.95rem;color:var(--body);transition:color .15s,background .15s}
.mobile-nav-section-items a:hover,.mobile-nav-section-items a:active{color:var(--accent-dark);background:rgba(0,0,0,.03)}
.mob-arrow{transition:transform .25s;font-size:.6rem;color:var(--muted)}
.mobile-nav-section.open .mob-arrow{transform:rotate(180deg)}
.mobile-nav-quicklinks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 16px 8px;border-top:1px solid var(--border)}
.mobile-nav-quicklink{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;text-align:center;color:var(--dark);background:var(--bg);border-radius:8px;font-size:.78rem;text-decoration:none;transition:background .15s,color .15s}
.mobile-nav-quicklink:hover,.mobile-nav-quicklink:active{color:var(--accent-dark);background:rgba(0,0,0,.04)}
.mobile-nav-quicklink svg{flex-shrink:0}
.mobile-nav-quicklink span{line-height:1.2}
.mobile-nav-count{font-style:normal;display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;background:var(--accent-dark,#8b6f47);color:#fff;border-radius:10px;font-size:.68rem;line-height:18px}
.mobile-nav-footer{padding:20px 24px;margin-top:8px;border-top:1px solid var(--border)}
.mobile-nav-phone{display:flex;align-items:center;gap:8px;color:var(--accent-dark);font-weight:500;padding:10px 0;font-size:1rem}
.mobile-nav-cta{display:block;text-align:center;margin-top:14px;text-decoration:none;padding:14px}

/* ── Mobile drawer — restructured sections (account / shortcuts / languages / contact / CTA) ── */
.mobile-nav-close{position:absolute;top:10px;right:12px;z-index:2;background:none;border:none;padding:10px;color:var(--charcoal);cursor:pointer;display:none;border-radius:var(--radius);transition:color .15s,background .15s;-webkit-tap-highlight-color:transparent}
.mobile-nav-close:hover,.mobile-nav-close:active{color:var(--accent);background:rgba(0,0,0,.04)}
.mobile-nav-group{border-top:1px solid rgba(0,0,0,.08);padding:16px 20px;margin-top:12px}
.mobile-nav-group:first-of-type,.mobile-nav-group--nav{border-top:none;margin-top:0;padding-top:12px}
.mobile-nav-group-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--muted,#999);margin-bottom:10px;padding:0 4px}
.mobile-nav-group--nav{padding:0}
.mobile-nav-group--nav .mobile-nav-group-label{padding:0 24px;margin-bottom:6px;margin-top:4px}
.mobile-nav-group--nav > a{display:block;padding:16px 24px;font-size:1rem;color:var(--charcoal);border-bottom:1px solid var(--border);font-weight:400;text-decoration:none;transition:color .15s,background .15s}
.mobile-nav-group--nav > a:hover,.mobile-nav-group--nav > a:active{color:var(--accent-dark);background:var(--bg)}
.mobile-nav-group--nav > .mobile-nav-section + a,.mobile-nav-group--nav > a + .mobile-nav-section{border-top:0}
.mobile-nav-group .mobile-nav-link-full{padding:12px 24px}
.mobile-nav-group .mobile-nav-account-greeting{padding:4px 24px 10px}
.mobile-nav-account-greeting{font-size:.9rem;color:var(--body);padding:4px 4px 10px;line-height:1.4}
.mobile-nav-link-full{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 4px;color:var(--dark);text-decoration:none;font-size:1rem;font-weight:400;border-radius:var(--radius);transition:background .15s,color .15s;line-height:1.3}
.mobile-nav-link-full:hover,.mobile-nav-link-full:active{color:var(--accent-dark);background:rgba(0,0,0,.03)}
.mobile-nav-link-full svg{flex-shrink:0;color:var(--accent-dark)}
.mobile-nav-link-full > span{flex:1;min-width:0}
.mobile-nav-link-full.mobile-nav-link-muted{color:var(--body)}
.mobile-nav-link-full.mobile-nav-link-muted svg{color:var(--body)}
.mobile-nav-contact-label{display:block;font-size:.72rem;font-weight:500;color:var(--muted,#999);text-transform:uppercase;letter-spacing:.08em;line-height:1.2;margin-bottom:2px}
.mobile-nav-contact-value{display:block;font-size:1rem;color:var(--dark);font-weight:500;line-height:1.3}
.mobile-nav-wishlist .mobile-nav-count{margin-left:auto}
.mobile-nav-lang-pills{display:flex;flex-wrap:wrap;gap:8px;padding:4px}
.mobile-nav-lang-pill{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:20px;background:var(--white);color:var(--charcoal);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.mobile-nav-lang-pill:hover,.mobile-nav-lang-pill:active{color:var(--accent);border-color:var(--accent)}
.mobile-nav-lang-pill.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}
.mobile-nav-group--cta{border-top:none;padding:16px 20px 28px}
.mobile-nav-cta-btn{display:block;width:100%;padding:14px;background:#c9a96e;color:#fff;border-radius:6px;text-align:center;font-weight:600;font-size:.95rem;letter-spacing:.04em;text-decoration:none;transition:background .2s,box-shadow .2s}
.mobile-nav-cta-btn:hover,.mobile-nav-cta-btn:active{background:#b8975b;color:#fff;box-shadow:0 4px 18px rgba(201,169,110,.28)}

/* ── Mobile inline search bar (slides below top bar on ≤768px) ── */
.mobile-search-bar{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid var(--border);box-shadow:0 4px 20px rgba(0,0,0,.06);z-index:1990;max-height:0;overflow:hidden;transition:max-height .28s cubic-bezier(.4,0,.2,1)}
.mobile-search-bar.open{max-height:80vh;overflow-y:auto}
.mobile-search-bar-inner{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}
.mobile-search-bar-icon{color:var(--muted,#999);flex-shrink:0}
.mobile-search-bar input{flex:1;min-width:0;padding:10px 4px;border:none;background:transparent;color:var(--dark);font-size:1rem;font-family:var(--font);outline:none}
.mobile-search-bar input::placeholder{color:var(--muted,#999)}
.mobile-search-bar-close{background:none;border:none;padding:8px;color:var(--charcoal);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent}
.mobile-search-bar-close:hover,.mobile-search-bar-close:active{color:var(--accent)}
.mobile-search-bar-results{padding:0 16px}
.mobile-search-bar-results:empty{padding:0}

/* ====== UTILITY LAYOUT CLASSES ====== */
.section-pad{padding:var(--section-pad) 0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.two-col--center{align-items:center}
.section-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:500;color:var(--dark);margin-bottom:20px;line-height:1.15}
.body-text{color:var(--body);font-size:1.1rem;line-height:1.85;font-weight:300}
.body-text p{margin-bottom:16px}
.body-text p:last-child{margin-bottom:0}
.rounded-img{width:100%;border-radius:var(--radius-lg);display:block}
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.spc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.coop-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.sticky-form{position:sticky;top:90px}

/* ====== RESPONSIVE ====== */
@media(max-width:1024px){
  :root{--section-pad:80px}
  .container{padding:0 24px}
  .section-pad{padding:60px 0}
  .two-col{grid-template-columns:1fr;gap:40px}
  .two-col--img-first .two-col__img{order:-1}
  .benefits-grid{grid-template-columns:repeat(2,1fr)}
  .spc-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .coop-grid{grid-template-columns:1fr}
  .sticky-form{position:static}
  .svc-header{flex-direction:column;align-items:flex-start;gap:24px}
  .svc-header-right{flex:1}
  .svc-card{grid-template-columns:1fr 1fr;min-height:320px}
  .svc-card-body{padding:36px 40px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .about-story-grid{grid-template-columns:1fr;gap:40px}
  .about-story-img{padding:0 20px}
  .review-slide{flex:0 0 calc(50% - 12px)}
  .realiz-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
  .reviews-grid{grid-template-columns:repeat(2,1fr)}
  .hero-inner{max-width:700px}
  .why-grid{grid-template-columns:1fr;gap:40px}
  .founder-grid{grid-template-columns:1fr;gap:48px}
  .founder-visual{padding:0 24px}
  .founder-experience{left:0;bottom:16px}
  .founder-img-accent{bottom:-12px;right:-12px}
  .founder-bottom{flex-direction:column;align-items:flex-start}
  .cta-grid{grid-template-columns:1fr;gap:32px}
  .fn-inner{flex-direction:column;text-align:center}
  .fn-form{max-width:100%;justify-content:center}
  .footer-grid{grid-template-columns:1fr 1fr}
  .blog-page-layout{grid-template-columns:1fr}
  .blog-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .mega-menu{display:none!important}
  .main-nav{display:none}
  .burger{display:flex}
  .header-right .btn.btn-header{display:none}
  .header-phone{display:none}
  /* Tablet (≤1024px): 2 cards visible in slider */
  .masonry-card{flex:0 0 calc(50% - 14px)}
  .masonry-grid{gap:24px}
  /* Reset desktop full-bleed at tablet — at this width we want slider inside the
     container so arrows + cards stay readable on 768-1024px screens. */
  .masonry-wrap{padding:0 44px;width:auto;margin-left:0;margin-right:0}
  .products-grid{grid-template-columns:repeat(3,1fr)}
  .service-page-card .spc-img{height:200px}
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
  .svc-intro-grid{grid-template-columns:1fr;gap:48px}
  .svc-intro-img{padding:0 20px;max-width:560px;margin:0 auto}
  .svc-intro-img-accent{width:40%;height:40%}
  .svc-intro{padding:80px 0}
  .svc-benefits{padding:80px 0}
  .svc-process{padding:80px 0}
  .svc-benefits-grid{grid-template-columns:repeat(2,1fr)}
  .svc-process-grid{grid-template-columns:repeat(3,1fr)}
  .svc-process-step::after{display:none}
  .spc-grid-premium{grid-template-columns:repeat(2,1fr)}
  .realiz-showcase{grid-template-columns:1fr}
  .realiz-showcase-card{grid-template-columns:1fr 1fr}
  .realiz-showcase-img{min-height:220px}
  .vision-grid{grid-template-columns:1fr;min-height:auto}
  .vision-img{height:400px}
  .vision-content{padding:48px 24px}
  .values-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  /* Mobile header sizing — burger fits inside viewport AND header-right gets pushed to right edge for symmetry.
     .main-nav (which has margin-left:auto on desktop) is display:none on mobile, so we replicate that role on
     .header-right to keep the burger anchored to the right edge. Logo stays at original 50px on big phones;
     scaled-down breakpoints below. */
  .header-inner{padding:0 16px;gap:16px}
  .header-right{margin-left:auto}
  .logo img{height:50px}
  .burger{margin-left:0}
  /* Mobile top-bar restructure: hide Account + Wishlist + Compare icons; keep Search + Cart + Hamburger */
  .header-icon-account,.header-icon-wishlist,.header-icon-compare{display:none !important}
  .mobile-nav-close{display:inline-flex}
  .mobile-search-bar{display:block}
  :root{--section-pad:64px}
  .section-pad{padding:48px 0}
  .section-title{font-size:1.4rem}
  .body-text{font-size:1rem}
  .benefits-grid{grid-template-columns:1fr 1fr}
  .spc-grid{grid-template-columns:1fr}
  .hero{min-height:85vh}
  .hero-text h1{font-size:clamp(2.5rem,7vw,3.5rem);white-space:normal}
  .hero-sub{font-size:.95rem}
  .hero-ctas{flex-direction:column;gap:12px}
  .btn-hero{min-width:240px;padding:14px 32px;font-size:.78rem}
  .hero-scroll-indicator{display:none}
  .hero-stats{grid-template-columns:repeat(3,1fr);gap:10px}
  .svc-card{grid-template-columns:1fr;min-height:auto}
  .svc-card:nth-child(even){direction:ltr}
  .svc-card-img{min-height:240px}
  .svc-card-body{padding:28px 24px}
  .svc-cards{padding:0 16px}
  .services-grid{grid-template-columns:1fr}
  .service-card{min-height:300px}
  /* Mobile (≤640px): single big card visible in slider */
  .masonry-card{flex:0 0 78%;max-width:340px}
  .masonry-card-label{font-size:1.15rem}
  .review-slide{flex:0 0 100%}
  .realiz-grid{grid-template-columns:1fr;grid-auto-rows:220px}
  .realiz-card--tall{grid-row:span 1}
  .reviews-header{flex-direction:column;align-items:flex-start;gap:16px}
  .reviews-grid{grid-template-columns:1fr}
  .steps-grid{flex-direction:column;align-items:stretch}
  .step{max-width:100%}
  .step-arrow{transform:rotate(90deg);text-align:center;padding:4px 0}
  .trust-items{gap:20px;justify-content:flex-start}
  .blog-grid{grid-template-columns:1fr}
  .blog-list-item{grid-template-columns:1fr}
  .bli-img{height:200px}
  .blog-sidebar{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .fn-form{width:100%;flex-direction:column}
  .fn-form input,.fn-form button{width:100%}
  .related-grid{grid-template-columns:1fr}
  .hero-form-card,.cta-form-card{padding:28px}
  .lead-form .form-row{grid-template-columns:1fr}
  .sticky-mobile{display:flex}
  .why-stats{grid-template-columns:1fr 1fr}
  .why-images{grid-template-columns:1fr}
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .portfolio-grid{grid-template-columns:1fr 1fr}
  .service-page-card .spc-img{height:200px}
  .service-page-card .spc-body h2{font-size:1rem}
  .values-grid{grid-template-columns:1fr 1fr}
  .vision-stats{gap:24px}
  .vision-stats strong{font-size:1.4rem}
  .vision-img{height:300px}
  .vision-content{padding:32px 20px}
  .page-hero h1{font-size:1.6rem}
  .page-hero-full{padding:60px 0;min-height:420px}
  .page-hero-full h1{font-size:1.8rem}
  .section-head{margin-bottom:48px}
  .svc-intro-grid{grid-template-columns:1fr;gap:32px}
  .svc-intro-img{padding:0;max-width:480px;margin:0 auto}
  .svc-intro-img-accent{bottom:-10px;right:-10px;width:40%;height:40%}
  .svc-intro-cta{width:100%;justify-content:center}
  .svc-benefits-grid{grid-template-columns:1fr 1fr}
  .svc-benefit-card{padding:28px 16px}
  .svc-process-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .svc-process-step::after{display:none}
  .svc-process-step{padding:24px 12px}
  .spc-grid-premium{grid-template-columns:1fr}
  .spc-premium-img{height:220px}
  .svc-callout{padding:56px 0}
  .svc-savings{padding:56px 0}
  .svc-faq{padding:56px 0}
  .svc-intro{padding:56px 0}
  .svc-benefits{padding:56px 0}
  .svc-process{padding:56px 0}
  .svc-overview-intro{padding:48px 0 0}
  .page-hero{padding:48px 0 36px}
  .realiz-showcase{grid-template-columns:1fr}
  .realiz-showcase-card{grid-template-columns:1fr 1fr}
  .realiz-showcase-img{min-height:200px}
  .realiz-showcase-body{padding:28px 24px}
  .realiz-showcase-num{font-size:2rem}
}
@media(max-width:480px){
  :root{--section-pad:48px}
  .section-pad{padding:36px 0}
  .section-title{font-size:1.2rem}
  .benefits-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:1fr}
  .trust-items{flex-direction:column;gap:12px}
  .hero-stats{grid-template-columns:1fr 1fr}
  /* Mobile slider tweaks (base slider rules apply at all viewports now) */
  .masonry-wrap{margin:0 -16px;padding:0 6px;width:auto}
  .masonry-arrow{width:38px;height:38px}
  .masonry-arrow.masonry-prev{left:2px}
  .masonry-arrow.masonry-next{right:2px}
  .masonry-card-cta{opacity:1;transform:none}
  .products-grid{grid-template-columns:1fr}
  .vision-stats{flex-direction:column;gap:16px}
  .vision-img{height:250px}
  .page-hero h1{font-size:1.35rem}
  .page-hero-full h1{font-size:1.5rem}
  .reviews-grid .review-card{padding:20px}
  .hero-badge{font-size:.65rem;padding:6px 16px}
  .svc-intro-grid{grid-template-columns:1fr;gap:24px}
  .svc-intro-text h2{font-size:1.3rem}
  .svc-intro-text p{font-size:.95rem}
  .svc-intro-img{padding:0;max-width:100%}
  .svc-intro-img-accent{display:none}
  .svc-intro-img-wrap img{aspect-ratio:16/10}
  .svc-intro-cta{width:100%;justify-content:center;padding:12px 24px;font-size:.78rem}
  .svc-checklist{gap:10px;margin-top:20px}
  .svc-checklist li{font-size:.88rem}
  .svc-benefits-grid{grid-template-columns:1fr}
  .svc-benefit-card{padding:24px 16px}
  .svc-benefit-icon{width:48px;height:48px;margin-bottom:14px}
  .svc-benefit-icon svg{width:20px;height:20px}
  .svc-benefits-header h2{font-size:1.4rem}
  .svc-process-grid{grid-template-columns:1fr 1fr;gap:12px}
  .svc-process-step{padding:20px 12px}
  .svc-process-step::after{display:none}
  .svc-process-num{width:44px;height:44px;font-size:1.1rem;margin-bottom:14px}
  .svc-process-step h3{font-size:.88rem}
  .svc-process-step p{font-size:.8rem}
  .svc-process-header h2{font-size:1.4rem}
  .svc-callout{padding:40px 0}
  .svc-callout-inner h2{font-size:1.2rem}
  .svc-callout-inner p{font-size:.92rem}
  .svc-callout::before,.svc-callout::after{display:none}
  .svc-savings{padding:40px 0}
  .svc-savings-inner h2{font-size:1.2rem}
  .svc-savings-inner p{font-size:.92rem}
  .svc-savings-highlight{font-size:2rem}
  .svc-faq{padding:40px 0}
  .svc-faq-header h2{font-size:1.4rem}
  .svc-intro{padding:36px 0}
  .svc-benefits{padding:36px 0}
  .svc-process{padding:36px 0}
  .svc-overview-intro{padding:28px 0 0}
  .svc-overview-intro p{font-size:.95rem}
  .spc-premium-body{padding:24px 20px}
  .spc-premium-body h2{font-size:1.1rem}
  .spc-premium-body p{font-size:.85rem}
  .spc-premium-img{height:200px}
  .page-hero{padding:36px 0 24px}
  .page-hero .hero-eyebrow{font-size:.62rem;margin-bottom:8px}
  .page-hero p{font-size:.88rem;margin-top:8px}
  .page-hero h1{font-size:1.3rem}
  .section-eyebrow{font-size:.65rem;letter-spacing:.18em}
  .realiz-showcase{grid-template-columns:1fr;gap:16px}
  .realiz-showcase-card{grid-template-columns:1fr}
  .realiz-showcase-img{min-height:200px}
  .realiz-showcase-body{padding:24px 20px}
  .realiz-showcase-num{font-size:1.8rem;margin-bottom:8px}
  .realiz-showcase-body h3{font-size:1.1rem}
  .about-story-grid{gap:32px}
  .about-story-img{padding:0}
  .about-img-accent{display:none}
  .about-story-text h2{font-size:1.5rem}
  .about-pullquote{font-size:1rem;padding-left:16px}
  .about-body{font-size:.92rem}
  .reviews-header h2{font-size:1.5rem}
  .review-card{padding:24px}
  .rc-text{font-size:.88rem}
  .section-head h2{font-size:1.4rem}
  .faq-section{padding:64px 0}
  .faq-head{margin-bottom:36px}
  .faq-grid{grid-template-columns:1fr;column-gap:0}
  .faq-q{font-size:.95rem;font-weight:600;padding:18px 4px;gap:14px}
  .faq-q-text{line-height:1.4}
  .faq-chevron{width:18px;height:18px}
  .faq-a-inner{font-size:.92rem;line-height:1.72;padding:0 4px 22px}
  .faq-heading::after{margin-top:18px}
}

/* Header responsive — scoped logo + gap reductions per viewport tier.
   Ordered narrowest-last so cascade resolves correctly:
   ≤768 (set base in earlier block) → ≤480 → ≤390 → ≤360 */
@media(max-width:480px){.logo img{height:46px}}
@media(max-width:390px){.header-inner{gap:12px}.logo img{height:42px}}
@media(max-width:360px){.header-inner{padding:0 12px;gap:10px}.logo img{height:40px}}

/* -- Page Styles -- */
.page-hero{padding:72px 0 56px;background:var(--primary);color:#fff}
.page-hero .hero-eyebrow{color:var(--accent);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;margin-bottom:12px;display:block}
.page-hero h1{font-size:clamp(2rem,4.5vw,3rem);font-family:var(--font-display);font-weight:400;margin-top:0;line-height:1.15}
.page-hero p{color:rgba(255,255,255,.6);margin-top:12px;font-size:1.05rem;max-width:640px;line-height:1.7}

/* ====== SERVICE DETAIL — INTRO ====== */
.svc-intro{padding:var(--section-pad) 0}
.svc-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.svc-intro-text .section-eyebrow{margin-bottom:16px}
.svc-intro-text h2{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;color:var(--dark);margin-bottom:24px;line-height:1.2}
.svc-intro-text p{color:var(--body);font-size:1.05rem;line-height:1.85;margin-bottom:16px;font-weight:300}
.svc-checklist{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.svc-checklist li{display:flex;align-items:flex-start;gap:12px;color:var(--body);font-size:.95rem;line-height:1.65}
.svc-checklist li svg{flex-shrink:0;margin-top:3px;color:var(--accent)}
.svc-intro-img{position:relative;padding:16px}
.svc-intro-img-wrap{position:relative;overflow:hidden;border-radius:var(--radius-lg)}
.svc-intro-img-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.svc-intro-img:hover .svc-intro-img-wrap img{transform:scale(1.03)}
.svc-intro-img-accent{position:absolute;bottom:-14px;right:-14px;width:50%;height:50%;border:2px solid var(--accent);border-radius:var(--radius-lg);z-index:-1}
.svc-intro-cta{display:inline-flex;align-items:center;gap:8px;margin-top:32px;padding:14px 32px;background:var(--primary);color:var(--white);font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);transition:all .3s}
.svc-intro-cta:hover{background:var(--charcoal)}

/* ====== SERVICE DETAIL — CALLOUT ====== */
.svc-callout{padding:80px 0;background:var(--primary);color:var(--white);position:relative;overflow:hidden}
.svc-callout::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;border:2px solid rgba(201,169,110,.12);border-radius:50%}
.svc-callout::after{content:'';position:absolute;bottom:-40px;left:-40px;width:140px;height:140px;border:2px solid rgba(201,169,110,.08);border-radius:50%}
.svc-callout-inner{max-width:720px;margin:0 auto;text-align:center;position:relative;z-index:1}
.svc-callout-inner .section-eyebrow{color:var(--accent);margin-bottom:16px}
.svc-callout-inner h2{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:400;margin-bottom:20px;line-height:1.2}
.svc-callout-inner p{color:rgba(255,255,255,.65);font-size:1.05rem;line-height:1.85;font-weight:300}

/* ====== SERVICE DETAIL — BENEFITS ====== */
.svc-benefits{padding:var(--section-pad) 0}
.svc-benefits-header{text-align:center;margin-bottom:56px}
.svc-benefits-header .section-eyebrow{margin-bottom:12px}
.svc-benefits-header h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:400;color:var(--dark);line-height:1.15}
.svc-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.svc-benefit-card{text-align:center;padding:40px 24px;border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .3s,box-shadow .3s}
.svc-benefit-card:hover{border-color:var(--accent);box-shadow:0 8px 32px rgba(0,0,0,.06)}
.svc-benefit-icon{width:56px;height:56px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--border);border-radius:50%;transition:border-color .3s}
.svc-benefit-card:hover .svc-benefit-icon{border-color:var(--accent)}
.svc-benefit-icon svg{color:var(--primary)}
.svc-benefit-card h3{font-size:.95rem;font-weight:600;color:var(--dark);margin-bottom:10px}
.svc-benefit-card p{color:var(--muted);font-size:.88rem;line-height:1.65}

/* ====== SERVICE DETAIL — PROCESS STEPS ====== */
.svc-process{padding:var(--section-pad) 0;background:var(--bg)}
.svc-process-header{text-align:center;margin-bottom:56px}
.svc-process-header .section-eyebrow{margin-bottom:12px}
.svc-process-header h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:400;color:var(--dark);line-height:1.15}
.svc-process-header p{color:var(--muted);font-size:1rem;margin-top:8px}
.svc-process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.svc-process-step{text-align:center;padding:32px 16px;position:relative}
.svc-process-num{width:52px;height:52px;border-radius:50%;border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--accent);transition:all .3s}
.svc-process-step:hover .svc-process-num{background:var(--accent);color:var(--white)}
.svc-process-step h3{font-size:.95rem;font-weight:600;color:var(--dark);margin-bottom:10px}
.svc-process-step p{color:var(--muted);font-size:.85rem;line-height:1.65}
.svc-process-step::after{content:'';position:absolute;top:48px;right:-12px;width:24px;height:1px;background:var(--border)}
.svc-process-step:last-child::after{display:none}

/* ====== SERVICE DETAIL — SAVINGS ====== */
.svc-savings{padding:80px 0;background:var(--bg)}
.svc-savings-inner{max-width:720px;margin:0 auto;text-align:center}
.svc-savings-inner .section-eyebrow{margin-bottom:16px}
.svc-savings-inner h2{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:400;color:var(--dark);margin-bottom:24px;line-height:1.25}
.svc-savings-inner p{color:var(--body);font-size:1.05rem;line-height:1.85;font-weight:300;margin-bottom:16px}
.svc-savings-inner p:last-child{margin-bottom:0}
.svc-savings-highlight{display:inline-block;margin-top:20px;font-family:var(--font-display);font-size:2.4rem;font-weight:700;color:var(--accent)}

/* ====== SERVICE OVERVIEW — PREMIUM CARDS ====== */
.svc-overview-intro{padding:80px 0 0;text-align:center}
.svc-overview-intro p{max-width:720px;margin:0 auto;color:var(--body);font-size:1.1rem;line-height:1.85;font-weight:300}
.spc-grid-premium{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.spc-premium{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .3s,box-shadow .4s,transform .4s}
.spc-premium:hover{border-color:var(--accent);box-shadow:0 16px 48px rgba(0,0,0,.08);transform:translateY(-4px)}
.spc-premium-img{height:280px;overflow:hidden;position:relative}
.spc-premium-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.spc-premium:hover .spc-premium-img img{transform:scale(1.05)}
.spc-premium-num{position:absolute;top:20px;left:20px;font-family:var(--font-display);font-size:2.8rem;font-weight:700;color:rgba(255,255,255,.25);line-height:1;z-index:1}
.spc-premium-body{padding:32px 28px}
.spc-premium-body h2{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--dark);margin-bottom:12px;line-height:1.3}
.spc-premium-body p{color:var(--muted);font-size:.92rem;line-height:1.7;margin-bottom:20px}
.spc-premium-link{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:500;color:var(--primary);letter-spacing:.06em;text-transform:uppercase;transition:color .2s,gap .3s}
.spc-premium-link:hover{color:var(--accent);gap:10px}

/* ====== SERVICE DETAIL — FAQ PREMIUM ====== */
.svc-faq{padding:var(--section-pad) 0}
.svc-faq-header{text-align:center;margin-bottom:48px}
.svc-faq-header .section-eyebrow{margin-bottom:12px}
.svc-faq-header h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:400;color:var(--dark);line-height:1.15}
.svc-faq-header p{color:var(--muted);font-size:1rem;margin-top:8px}
.page-hero-full{padding:80px 0;background-size:cover;background-position:center;color:#fff;text-align:center;position:relative;min-height:560px;display:flex;align-items:center}
.page-hero-full > .container{width:100%}
.page-hero-full::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.5)}
.page-hero-full .container{position:relative;z-index:1}
.page-hero-full h1{font-size:2.5rem;font-family:var(--font-display)}
.page-content{padding:48px 0 80px}
.page-body{max-width:800px;line-height:1.8;font-size:1.05rem}
.page-body h2{margin:32px 0 16px;font-size:1.5rem;font-family:var(--font-display)}
.page-body h3{margin:24px 0 12px;font-size:1.2rem}
.page-body img{max-width:100%;border-radius:var(--radius);margin:16px 0}
.page-full-width .page-body{max-width:none}

/* -- TOC -- */
.post-toc{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:24px}
.toc-title{font-weight:600;font-size:.9rem;margin-bottom:10px}
.post-toc ul{list-style:none;padding:0;margin:0}
.post-toc li{padding:3px 0;font-size:.88rem}
.post-toc li a{color:var(--muted);text-decoration:none;border-bottom:1px dashed var(--border)}
.post-toc li a:hover{color:var(--accent-dark);border-color:var(--accent-dark)}
.post-toc .toc-h3{padding-left:16px}

/* -- Tags -- */
.tag-pill{display:inline-block;padding:3px 10px;background:var(--bg);border:1px solid var(--border);border-radius:20px;font-size:.78rem;color:var(--muted);text-decoration:none;transition:.15s}
.tag-pill:hover{border-color:var(--accent);color:var(--accent-dark)}

/* -- Language Switcher -- */
.lang-dropdown{position:relative;margin-right:8px}
.lang-dropdown-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;font-weight:500;color:var(--charcoal);background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:.15s;font-family:inherit;white-space:nowrap}
.lang-dropdown-btn:hover{border-color:var(--accent)}
.lang-flag{width:20px;height:15px;border-radius:2px;flex-shrink:0;display:inline-block;vertical-align:middle;box-shadow:0 0 0 1px rgba(0,0,0,.1)}
.lang-currency{color:var(--muted);font-size:.75rem;font-weight:400}
.lang-dropdown-menu{display:none;position:absolute;top:100%;right:0;margin-top:6px;min-width:140px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;padding:4px 0}
.lang-dropdown.open .lang-dropdown-menu{display:block}
.lang-dropdown-item{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:.85rem;color:var(--body);text-decoration:none;transition:.1s}
.lang-dropdown-item:hover{background:var(--bg);color:var(--dark)}
.lang-dropdown-item.active{background:var(--accent-light);color:var(--accent-dark);font-weight:600}
.lang-item-code{flex:1;font-weight:500}
.lang-item-currency{color:var(--muted);font-size:.75rem;font-weight:400}

/* Lang switcher in footer */
.footer-lang{margin:16px 0}
.footer-lang .lang-dropdown{margin-right:0;display:inline-block;position:relative}
.footer-lang .lang-dropdown-btn{border-color:rgba(255,255,255,.2);color:#fff}
.footer-lang .lang-dropdown-btn:hover{border-color:var(--accent)}
.footer-lang .lang-currency{color:rgba(255,255,255,.5)}
/* Footer dropdown anchors to button's LEFT edge (button is left-aligned in footer column),
   opens UPWARD because it's near bottom of page. Was right:0 → menu flew to far right of column on mobile. */
.footer-lang .lang-dropdown-menu{bottom:100%;top:auto;left:0;right:auto;margin-bottom:6px;margin-top:0}

/* Lang switcher in mobile nav */
.mobile-nav-lang{padding:12px 24px;border-top:1px solid var(--border)}
.mobile-nav-lang .lang-dropdown{margin-right:0;width:100%}
.mobile-nav-lang .lang-dropdown-btn{width:100%;justify-content:center}
.mobile-nav-lang .lang-dropdown-menu{position:static;display:none;margin-top:8px;box-shadow:none;border:1px solid var(--border);border-radius:var(--radius)}
.mobile-nav-lang .lang-dropdown.open .lang-dropdown-menu{display:block}

/* -- Breadcrumbs -- */
.breadcrumb ol{display:flex;list-style:none;padding:0;margin:0;flex-wrap:wrap;gap:4px;font-size:.82rem}
.breadcrumb li{display:flex;align-items:center;gap:4px}
.breadcrumb a{color:rgba(255,255,255,.5);text-decoration:none}
.breadcrumb a:hover{color:#fff}
.breadcrumb .sep{color:rgba(255,255,255,.25)}
.breadcrumb [aria-current]{color:rgba(255,255,255,.85)}

/* -- Post Navigation -- */
.post-nav a:hover span{color:var(--accent-dark)}

/* -- Header search dropdown -- */
.header-search{position:relative}
.header-search-panel{position:absolute;top:calc(100% + 10px);right:0;width:420px;max-width:calc(100vw - 32px);background:var(--white,#fff);border:1px solid var(--border,#e5e5e5);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.08);padding:14px;z-index:2100;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s}
.header-search.open .header-search-panel{opacity:1;visibility:visible;transform:translateY(0)}
.header-search-form{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border,#e5e5e5);border-radius:6px}
.header-search-form:focus-within{border-color:var(--accent,#c5a572)}
.header-search-form-icon{color:var(--muted,#999);flex-shrink:0}
.header-search-form input{flex:1;min-width:0;padding:6px 0;border:none;background:transparent;font-family:var(--font);font-size:.95rem;color:var(--dark);outline:none}
.header-search-form input::placeholder{color:var(--muted,#999)}
.header-search-close{background:none;border:none;padding:4px;color:var(--muted,#999);cursor:pointer;border-radius:4px}
.header-search-close:hover{color:var(--dark)}
.header-search-results{margin-top:10px;max-height:60vh;overflow-y:auto}
.header-search-results:empty{display:none}
.header-search-state{padding:18px 6px;text-align:center;color:var(--muted,#999);font-size:.9rem}
.header-search-item{display:flex;align-items:center;gap:12px;padding:10px 6px;border-radius:6px;color:var(--dark);text-decoration:none;transition:background .12s}
.header-search-item+.header-search-item{border-top:1px solid var(--border,#eee)}
.header-search-item:hover,.header-search-item:focus{background:rgba(0,0,0,.03)}
.header-search-thumb{width:48px;height:48px;flex-shrink:0;border-radius:4px;overflow:hidden;background:#f6f5f3;display:flex;align-items:center;justify-content:center}
.header-search-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.header-search-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.header-search-name{font-size:.9rem;font-weight:500;color:var(--dark);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.header-search-price{font-size:.85rem;color:var(--muted,#666)}
.header-search-viewall{display:block;margin-top:8px;padding:10px;text-align:center;background:rgba(0,0,0,.03);color:var(--dark);border-radius:6px;font-size:.88rem;font-weight:600;letter-spacing:.02em;text-decoration:none}
.header-search-viewall:hover{background:rgba(0,0,0,.06)}
@media(max-width:768px){.header-search-panel{display:none}}
.mobile-search-bar-results .header-search-item,.mobile-search-bar-results .header-search-viewall,.mobile-search-bar-results .header-search-state{background-clip:padding-box}
.mobile-search-bar-results{margin-top:4px}

/* -- VAT toggle -- */
.vat-toggle{display:inline-flex;align-items:center;position:relative;background:#f0efed;border-radius:20px;flex-shrink:0;height:28px;padding:3px}
.vat-toggle-slider{position:absolute;top:3px;left:3px;height:calc(100% - 6px);width:calc(50% - 3px);background:var(--primary,#373A3E);border-radius:17px;transition:transform .25s cubic-bezier(.4,0,.2,1);z-index:0;pointer-events:none}
.vat-toggle.vat-right .vat-toggle-slider{transform:translateX(100%)}
.vat-toggle-btn{position:relative;z-index:1;background:transparent;border:none;padding:0 8px;height:100%;cursor:pointer;font-weight:600;font-size:.68rem;color:var(--body,#484848);transition:color .25s;white-space:nowrap;letter-spacing:.03em;line-height:1}
.vat-toggle-btn.active{color:#fff}
.vat-toggle-btn:hover:not(.active){color:var(--primary,#373A3E)}
.price-no-vat-label{font-size:.65em;color:var(--muted,#999);font-weight:400;margin-left:2px}
@media(max-width:768px){.header-right .vat-toggle{display:none}}
.mobile-nav-group--vat .vat-toggle{align-self:flex-start;margin:6px 24px 0;height:32px}
.mobile-nav-group--vat .vat-toggle-btn{padding:0 14px;font-size:.78rem}

/* ====== SERVICE PAGES — RESPONSIVE OVERRIDES ======
   These MUST come after base styles to properly override them */
@media(max-width:1024px){
  .svc-intro-grid{grid-template-columns:1fr;gap:48px}
  .svc-intro-img{padding:0 20px;max-width:560px;margin:0 auto}
  .svc-intro-img-accent{width:40%;height:40%}
  .svc-intro{padding:80px 0}
  .svc-benefits{padding:80px 0}
  .svc-process{padding:80px 0}
  .svc-benefits-grid{grid-template-columns:repeat(2,1fr)}
  .svc-process-grid{grid-template-columns:repeat(3,1fr)}
  .svc-process-step::after{display:none}
  .spc-grid-premium{grid-template-columns:repeat(2,1fr)}
  .realiz-showcase{grid-template-columns:1fr}
  .realiz-showcase-card{grid-template-columns:1fr 1fr}
  .realiz-showcase-img{min-height:220px}
  .page-hero{padding:56px 0 40px}
}
@media(max-width:768px){
  .svc-intro-grid{grid-template-columns:1fr;gap:32px}
  .svc-intro-img{padding:0;max-width:480px;margin:0 auto}
  .svc-intro-img-accent{bottom:-10px;right:-10px;width:40%;height:40%}
  .svc-intro-cta{width:100%;justify-content:center}
  .svc-benefits-grid{grid-template-columns:1fr 1fr}
  .svc-benefit-card{padding:28px 16px}
  .svc-process-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .svc-process-step::after{display:none}
  .svc-process-step{padding:24px 12px}
  .spc-grid-premium{grid-template-columns:1fr}
  .spc-premium-img{height:220px}
  .svc-callout{padding:56px 0}
  .svc-savings{padding:56px 0}
  .svc-faq{padding:56px 0}
  .svc-intro{padding:56px 0}
  .svc-benefits{padding:56px 0}
  .svc-process{padding:56px 0}
  .svc-overview-intro{padding:48px 0 0}
  .page-hero{padding:48px 0 36px}
  .realiz-showcase{grid-template-columns:1fr}
  .realiz-showcase-card{grid-template-columns:1fr 1fr}
  .realiz-showcase-img{min-height:200px}
  .realiz-showcase-body{padding:28px 24px}
  .realiz-showcase-num{font-size:2rem}
  .page-hero-full{padding:60px 0;min-height:420px}
  .page-hero-full h1{font-size:1.8rem}
}
@media(max-width:480px){
  .svc-intro-grid{grid-template-columns:1fr;gap:24px}
  .svc-intro-text h2{font-size:1.3rem}
  .svc-intro-text p{font-size:.95rem}
  .svc-intro-img{padding:0;max-width:100%}
  .svc-intro-img-accent{display:none}
  .svc-intro-img-wrap img{aspect-ratio:16/10}
  .svc-intro-cta{width:100%;justify-content:center;padding:12px 24px;font-size:.78rem}
  .svc-checklist{gap:10px;margin-top:20px}
  .svc-checklist li{font-size:.88rem}
  .svc-benefits-grid{grid-template-columns:1fr}
  .svc-benefit-card{padding:24px 16px}
  .svc-benefit-icon{width:48px;height:48px;margin-bottom:14px}
  .svc-benefit-icon svg{width:20px;height:20px}
  .svc-benefits-header h2{font-size:1.4rem}
  .svc-process-grid{grid-template-columns:1fr 1fr;gap:12px}
  .svc-process-step{padding:20px 12px}
  .svc-process-step::after{display:none}
  .svc-process-num{width:44px;height:44px;font-size:1.1rem;margin-bottom:14px}
  .svc-process-step h3{font-size:.88rem}
  .svc-process-step p{font-size:.8rem}
  .svc-process-header h2{font-size:1.4rem}
  .svc-callout{padding:40px 0}
  .svc-callout-inner h2{font-size:1.2rem}
  .svc-callout-inner p{font-size:.92rem}
  .svc-callout::before,.svc-callout::after{display:none}
  .svc-savings{padding:40px 0}
  .svc-savings-inner h2{font-size:1.2rem}
  .svc-savings-inner p{font-size:.92rem}
  .svc-savings-highlight{font-size:2rem}
  .svc-faq{padding:40px 0}
  .svc-faq-header h2{font-size:1.4rem}
  .svc-intro{padding:36px 0}
  .svc-benefits{padding:36px 0}
  .svc-process{padding:36px 0}
  .svc-overview-intro{padding:28px 0 0}
  .svc-overview-intro p{font-size:.95rem}
  .spc-grid-premium{grid-template-columns:1fr}
  .spc-premium-body{padding:24px 20px}
  .spc-premium-body h2{font-size:1.1rem}
  .spc-premium-body p{font-size:.85rem}
  .spc-premium-img{height:200px}
  .page-hero{padding:36px 0 24px}
  .page-hero .hero-eyebrow{font-size:.62rem;margin-bottom:8px}
  .page-hero p{font-size:.88rem;margin-top:8px}
  .page-hero h1{font-size:1.3rem}
  .section-eyebrow{font-size:.65rem;letter-spacing:.18em}
  .realiz-showcase{grid-template-columns:1fr;gap:16px}
  .realiz-showcase-card{grid-template-columns:1fr}
  .realiz-showcase-img{min-height:200px}
  .realiz-showcase-body{padding:24px 20px}
  .realiz-showcase-num{font-size:1.8rem;margin-bottom:8px}
  .realiz-showcase-body h3{font-size:1.1rem}
  .page-hero-full{padding:48px 0;min-height:340px}
  .page-hero-full h1{font-size:1.5rem}
}

/* ── Multilingual text overflow protection ── */
h1,h2,h3,h4,.product-title,.svc-card h3,.hero-line-thin,.hero-line-bold,.nav-trigger,.mega-col a,.btn-hero,.founder-pullquote{
  overflow-wrap:break-word;word-wrap:break-word;
}
.svc-card-body p,.partner-inner p,.founder-quote p,.hero-sub{
  hyphens:auto;-webkit-hyphens:auto;
}

/* Hard guard against horizontal scroll from long translated text */
html,body{overflow-x:hidden;max-width:100%}
.header-inner{min-width:0}
.main-nav{min-width:0;flex-wrap:nowrap}
.main-nav > a,.main-nav > .nav-dropdown > .nav-trigger{padding:12px 14px}

/* Non-default languages: tighter header on crowded screens */
body.lang-nondefault .main-nav > a,
body.lang-nondefault .main-nav > .nav-dropdown > .nav-trigger{padding:12px 10px;font-size:.92rem}
body.lang-nondefault .btn.btn-header{padding:9px 16px;font-size:.72rem;letter-spacing:.08em}

/* Hide desktop CTA & VAT toggle earlier on non-default langs (translated words are longer) */
@media(max-width:1280px){
  body.lang-nondefault .header-right .btn.btn-header{display:none}
  body.lang-nondefault .vat-toggle{display:none}
  body.lang-nondefault .main-nav > a,
  body.lang-nondefault .main-nav > .nav-dropdown > .nav-trigger{padding:12px 8px;font-size:.9rem}
}
@media(max-width:1150px){
  body.lang-nondefault .main-nav{display:none}
  body.lang-nondefault .burger{display:flex}
}

/* ====== BRANDS SECTION (marquee carousel) ====== */
.brands-section{padding:var(--section-pad) 0;background:var(--bg);border-top:1px solid var(--border);overflow:hidden}
.brands-header{text-align:center;margin-bottom:56px}
.brands-header .section-eyebrow{margin-bottom:14px}
.brands-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.2vw,2.4rem);font-weight:400;color:var(--dark);margin:0;line-height:1.2}
.brands-marquee{position:relative;width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.brands-track{display:flex;align-items:center;gap:48px;width:max-content;animation:brand-marquee-scroll 38s linear infinite;will-change:transform}
.brands-marquee:hover .brands-track{animation-play-state:paused}
.brand-slide{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:300px;height:180px;padding:0 20px;background:transparent;border:0;transition:transform .25s;text-decoration:none}
a.brand-slide:hover{transform:translateY(-3px)}
.brand-logo{max-width:100%;max-height:150px;width:auto;height:auto;object-fit:contain;filter:brightness(0) opacity(.62);transition:filter .25s}
.brand-slide:hover .brand-logo{filter:brightness(1) opacity(1)}
.brands-section--colored .brand-logo{filter:none;opacity:1;mix-blend-mode:multiply}
.brands-section--colored .brand-slide{width:340px;height:200px;padding:0 24px}
.brands-section--colored .brand-logo{max-height:170px}
@media(max-width:768px){.brands-section--colored .brand-slide{width:240px;height:140px;padding:0 16px}.brands-section--colored .brand-logo{max-height:120px}}
.brand-name{font-family:var(--font-display);font-size:1.4rem;font-weight:500;color:var(--dark);text-align:center;letter-spacing:.02em}
@keyframes brand-marquee-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(prefers-reduced-motion:reduce){.brands-track{animation:none}}
@media(max-width:768px){.brands-track{gap:32px;animation-duration:28s}.brand-slide{width:220px;height:140px;padding:0 14px}.brand-logo{max-height:110px}}

/* ====== PAGE HERO BANNER (info-pages /produkty/*) ====== */
.page-hero-banner{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center;text-align:center;background:#1a1c1f center/cover no-repeat;color:#fff;padding:140px 0 96px;margin-bottom:0;overflow:hidden}
.page-hero-banner.no-bg{background:linear-gradient(135deg,#1a1c1f 0%,#2a2d31 100%);min-height:440px}
.page-hero-banner__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,22,25,.30) 0%,rgba(20,22,25,.50) 50%,rgba(20,22,25,.82) 100%);pointer-events:none}
.page-hero-banner__inner{position:relative;z-index:2;max-width:920px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;align-items:center}
.page-hero-banner__crumbs{font-family:var(--font);font-size:.8rem;font-weight:500;letter-spacing:.05em;margin-bottom:28px;color:rgba(255,255,255,.75)}
.page-hero-banner__crumbs a{color:rgba(255,255,255,.78);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.page-hero-banner__crumbs a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.5)}
.page-hero-banner__crumbs span[aria-current]{color:var(--accent);font-weight:500}
.page-hero-banner__crumb-sep{margin:0 10px;color:rgba(255,255,255,.4)}
.page-hero-banner__badge{display:inline-block;font-family:var(--font);font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);padding:9px 22px;border:1px solid rgba(201,169,110,.55);border-radius:2px;margin-bottom:28px}
.page-hero-banner__title{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,5rem);font-weight:300;line-height:1.04;color:#fff;margin:0 0 24px;letter-spacing:-.015em}
.page-hero-banner__subtitle{font-family:var(--font);font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:300;line-height:1.65;color:rgba(255,255,255,.92);max-width:720px;margin:0 0 36px}
.page-hero-banner__ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.page-hero-banner__ctas .btn-hero{display:inline-block;padding:16px 38px;border-radius:var(--radius);font-family:var(--font);font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .3s ease;line-height:1}
.page-hero-banner__ctas .btn-hero--primary{background:var(--accent);color:#fff;border:1.5px solid var(--accent)}
.page-hero-banner__ctas .btn-hero--primary:hover{background:#b8975a;border-color:#b8975a}
.page-hero-banner__ctas .btn-hero--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}
.page-hero-banner__ctas .btn-hero--ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
@media(max-width:768px){.page-hero-banner{min-height:440px;padding:112px 0 56px}.page-hero-banner__title{font-size:clamp(2rem,8vw,2.6rem)}.page-hero-banner__crumbs{font-size:.74rem}.page-hero-banner__ctas .btn-hero{padding:14px 28px;font-size:.72rem}}

/* ====== PRODUKTY GRID (root /produkty/ category cards) ====== */
.produkty-grid-section{padding:var(--section-pad) 0;background:var(--white)}
.produkty-grid-header{text-align:center;max-width:760px;margin:0 auto 64px}
.produkty-grid-header .section-eyebrow{margin-bottom:14px}
.produkty-grid-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--dark);margin:0 0 18px;line-height:1.15}
.produkty-grid-desc{color:var(--muted);font-size:1rem;line-height:1.7;margin:0;font-weight:300}
.produkty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:0 auto}
.produkty-card{display:flex;flex-direction:column;background:var(--white);text-decoration:none;color:inherit;border-radius:var(--radius-lg);overflow:hidden;transition:transform .35s cubic-bezier(.25,.1,.25,1),box-shadow .35s;border:1px solid #ececec}
.produkty-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(20,22,25,.10);border-color:transparent}
.produkty-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#f5f5f5,#ececec)}
.produkty-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.produkty-card:hover .produkty-card__media img{transform:scale(1.06)}
.produkty-card__placeholder{width:100%;height:100%;background:linear-gradient(135deg,#1a1c1f,#373a3e)}
.produkty-card__num{position:absolute;top:18px;left:20px;font-family:var(--font-display);font-size:1.1rem;font-weight:500;color:#fff;letter-spacing:.1em;background:rgba(20,22,25,.55);padding:4px 12px;border-radius:2px;backdrop-filter:blur(4px)}
.produkty-card__body{padding:30px 30px 32px;display:flex;flex-direction:column;flex:1}
.produkty-card__title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--dark);margin:0 0 12px;line-height:1.2}
.produkty-card__excerpt{color:var(--body);font-size:.95rem;line-height:1.65;font-weight:300;margin:0 0 22px;flex:1}
.produkty-card__cta{font-size:.74rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin-top:auto;display:inline-flex;align-items:center;gap:8px;transition:gap .25s}
.produkty-card:hover .produkty-card__cta{gap:14px}
@media(max-width:960px){.produkty-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
@media(max-width:600px){.produkty-grid{grid-template-columns:1fr;gap:20px}.produkty-card__body{padding:24px 22px 26px}.produkty-card__title{font-size:1.3rem}}

/* ====== TEXT-BLOCK (long-form content section) ====== */
.section-text-block{padding:72px 0;background:var(--white)}
.section-text-block .container{max-width:840px}
.section-text-block .text-block-content{font-family:var(--font);font-size:1.05rem;line-height:1.8;color:var(--body);font-weight:300}
.section-text-block .text-block-content h2{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2rem);font-weight:500;color:var(--dark);margin:48px 0 18px;line-height:1.25}
.section-text-block .text-block-content h2:first-child{margin-top:0}
.section-text-block .text-block-content h3{font-family:var(--font-display);font-size:1.35rem;font-weight:500;color:var(--dark);margin:32px 0 14px}
.section-text-block .text-block-content p{margin:0 0 18px}
.section-text-block .text-block-content ul,.section-text-block .text-block-content ol{margin:0 0 22px;padding-left:24px}
.section-text-block .text-block-content li{margin-bottom:8px}
.section-text-block .text-block-content a{color:var(--accent);border-bottom:1px solid var(--accent);text-decoration:none}
.section-text-block .text-block-content img{max-width:100%;height:auto;display:block;margin:24px auto;border-radius:var(--radius-md)}

/* ====== GALLERY SECTION ====== */
.gallery-section{padding:var(--section-pad) 0;background:var(--white)}
.gallery-header{text-align:center;margin-bottom:56px}
.gallery-header .section-eyebrow{margin-bottom:14px}
.gallery-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.2vw,2.4rem);font-weight:400;color:var(--dark);margin:0;line-height:1.2}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 auto}
.gallery-item{margin:0;position:relative;overflow:hidden;border-radius:var(--radius-md);background:#f5f5f5;aspect-ratio:4/3}
.gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.gallery-item:hover .gallery-img{transform:scale(1.04)}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;font-size:.85rem;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.65))}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}}

/* Gallery slider variant — no backgrounds, plain horizontal scroll */
.gallery-section--slider{background:transparent;padding:var(--section-pad) 0}
.gallery-section--slider .gallery-header{margin-bottom:40px}
.gallery-slider{position:relative;display:flex;align-items:center;gap:18px}
.gallery-slider__viewport{flex:1;overflow:hidden;padding:4px 0}
.gallery-slider__track{display:flex;gap:16px;transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform}
.gallery-slide{flex:0 0 calc((100% - 32px)/3);margin:0;background:transparent;border-radius:var(--radius-md);overflow:hidden;position:relative}
.gallery-slide-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:var(--radius-md)}
.gallery-slide-caption{padding:10px 4px 0;font-size:.85rem;color:var(--body);text-align:center}
.gallery-slider__nav{flex-shrink:0;width:48px;height:48px;border:1px solid var(--border);background:var(--white);color:var(--dark);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;z-index:2}
.gallery-slider__nav:hover{background:var(--dark);color:var(--white);border-color:var(--dark);transform:scale(1.05)}
@media(max-width:900px){.gallery-slide{flex:0 0 calc((100% - 16px)/2)}}
@media(max-width:640px){.gallery-slide{flex:0 0 85%}.gallery-slider__nav{width:40px;height:40px}}

/* ====== INTRO TEXT (eyebrow + H2 + body, single column or 2-col body) ====== */
.intro-text-section{padding:var(--section-pad) 0;background:var(--white)}
.intro-text-section--alt{background:var(--bg)}
.intro-text-inner{max-width:1040px;margin:0 auto;text-align:center}
.intro-text-inner .section-eyebrow{margin-bottom:14px}
.intro-text-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:400;color:var(--dark);margin:0 0 36px;line-height:1.2;letter-spacing:-.005em}
.intro-text-body{font-family:var(--font);font-size:1.05rem;line-height:1.85;color:var(--body);font-weight:300;margin:0;max-width:780px;margin-left:auto;margin-right:auto}
.intro-text-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;text-align:left;max-width:none;margin-top:8px}
.intro-text-cols p{margin:0 0 16px;font-family:var(--font);font-size:1rem;line-height:1.85;color:var(--body);font-weight:300}
@media(max-width:768px){.intro-text-cols{grid-template-columns:1fr;gap:24px}.intro-text-section{padding:72px 0}}

/* ====== TEXT + IMAGE (50/50 row, alternating sides) ====== */
.text-image-section{padding:var(--section-pad) 0;background:var(--white)}
.text-image-section--alt{background:var(--bg)}
.text-image-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.text-image-row--reverse .text-image-text{order:2}
.text-image-row--reverse .text-image-media{order:1}
.text-image-text .section-eyebrow{margin-bottom:14px}
.text-image-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.2vw,2.4rem);font-weight:400;color:var(--dark);margin:0 0 24px;line-height:1.22;letter-spacing:-.005em}
.text-image-body{font-family:var(--font);font-size:1rem;line-height:1.85;color:var(--body);font-weight:300}
.text-image-body p{margin:0 0 16px}
.text-image-cta{margin-top:28px;display:inline-block;padding:16px 38px;background:var(--accent);color:#fff;font-family:var(--font);font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border-radius:var(--radius);text-decoration:none;transition:background .25s,transform .25s;line-height:1}
.text-image-cta:hover{background:#b8975a;transform:translateY(-2px)}
.text-image-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;background:#f5f5f5}
.text-image-media img{width:100%;height:100%;object-fit:cover;display:block}
.text-image-media--contain{aspect-ratio:4/3;background:transparent;display:flex;align-items:center;justify-content:center;padding:32px}
.text-image-media--contain img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:900px){.text-image-row{grid-template-columns:1fr;gap:36px}.text-image-section{padding:72px 0}.text-image-row--reverse .text-image-text{order:1}.text-image-row--reverse .text-image-media{order:2}.text-image-media{aspect-ratio:4/3}}

/* ====== TYPOLOGY GRID (image cards: title + caption) ====== */
.typology-section{padding:var(--section-pad) 0;background:var(--white)}
.typology-section--alt{background:var(--bg)}
.typology-header{text-align:center;max-width:760px;margin:0 auto 56px}
.typology-header .section-eyebrow{margin-bottom:14px}
.typology-title{font-family:var(--font-display);font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:400;color:var(--dark);margin:0 0 18px;line-height:1.2;letter-spacing:-.005em}
.typology-desc{color:var(--body);font-size:1rem;line-height:1.7;margin:0;font-weight:300}
.typology-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 auto}
.typology-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.typology-grid.cols-4{grid-template-columns:repeat(4,1fr);gap:20px}
.typology-card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .35s cubic-bezier(.25,.1,.25,1),box-shadow .35s,border-color .35s}
.typology-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(20,22,25,.08);border-color:transparent}
/* Linkable variant — wrap in <a> via PHP. Inherit colour, no underline. */
a.typology-card,a.typology-card--link{color:inherit;text-decoration:none;cursor:pointer}
a.typology-card:hover{border-color:var(--primary,#c9a96e)}
.typology-card__media{aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#f5f5f5,#ececec)}
.typology-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.1,.25,1)}
.typology-card:hover .typology-card__media img{transform:scale(1.05)}
.typology-card__body{padding:28px 30px 30px;display:flex;flex-direction:column;flex:1}
.typology-card__title{font-family:var(--font-display);font-size:1.6rem;font-weight:500;color:var(--dark);margin:0 0 12px;line-height:1.25}
.typology-card__text{color:var(--body);font-size:1.05rem;line-height:1.7;font-weight:300;margin:0;flex:1}
.typology-card__bullets{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:6px}
.typology-card__bullets li{position:relative;padding-left:18px;color:var(--body);font-size:.88rem;line-height:1.55;font-weight:300}
.typology-card__bullets li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--gold,#c9a661)}
@media(max-width:960px){.typology-grid,.typology-grid.cols-4{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:560px){.typology-grid,.typology-grid.cols-4,.typology-grid.cols-2{grid-template-columns:1fr;gap:14px}.typology-section{padding:72px 0}}

/* Typology slider variant */
.typology-section--slider{padding:var(--section-pad) 0}
.typology-slider{position:relative;display:flex;align-items:center;gap:18px}
.typology-slider__viewport{flex:1;overflow:hidden;padding:6px 0}
.typology-slider__track{display:flex;gap:24px;transition:transform .55s cubic-bezier(.22,1,.36,1);will-change:transform}
.typology-slider__track .typology-card{flex:0 0 calc((100% - 48px)/3);min-width:0}
.typology-slider__nav{flex-shrink:0;width:48px;height:48px;border:1px solid var(--border);background:var(--white);color:var(--dark);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;z-index:2}
.typology-slider__nav:hover{background:var(--dark);color:var(--white);border-color:var(--dark);transform:scale(1.05)}
@media(max-width:960px){.typology-slider__track .typology-card{flex:0 0 calc((100% - 24px)/2)}}
@media(max-width:640px){.typology-slider__track .typology-card{flex:0 0 100%}.typology-slider__nav{width:40px;height:40px}}

/* ── Magazine-style blog post ─────────────────────────────────────── */
.post-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:9999;transition:width .15s ease-out;box-shadow:0 0 10px rgba(201,169,110,.5)}
.post-hero-mag{position:relative;color:#fff;overflow:hidden;padding:80px 0 60px;min-height:480px;display:flex;align-items:flex-end}
.post-hero-mag.no-image{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}
.post-hero-mag.has-image .post-hero-mag-bg{position:absolute;inset:0;background-image:var(--bg-img);background-size:cover;background-position:center;filter:brightness(.65);transform:scale(1.02);transition:transform 1.2s ease-out}
.post-hero-mag.has-image:hover .post-hero-mag-bg{transform:scale(1.06)}
.post-hero-mag.has-image .post-hero-mag-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.45) 60%,rgba(0,0,0,.78) 100%);pointer-events:none}
.post-hero-mag-inner{position:relative;z-index:2;max-width:840px;margin:0 auto;text-align:center}
.post-hero-mag-breadcrumbs{font-size:.78rem;color:rgba(255,255,255,.65);margin-bottom:24px;text-transform:uppercase;letter-spacing:.08em}
.post-hero-mag-breadcrumbs a{color:rgba(255,255,255,.65);text-decoration:none;transition:color .2s}
.post-hero-mag-breadcrumbs a:hover{color:var(--accent)}
.post-hero-mag-breadcrumbs span{margin:0 6px;color:rgba(255,255,255,.3)}
.post-hero-mag-cat{display:inline-block;background:var(--accent);color:#fff;padding:5px 16px;border-radius:99px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;margin-bottom:20px;transition:all .25s}
.post-hero-mag-cat:hover{background:#fff;color:var(--accent)}
.post-hero-mag-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,5vw,3.6rem);line-height:1.15;letter-spacing:-.01em;margin:0 0 18px;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.25)}
.post-hero-mag-excerpt{font-family:var(--font-display);font-size:clamp(1.05rem,1.8vw,1.35rem);font-style:italic;color:rgba(255,255,255,.85);max-width:700px;margin:0 auto 24px;line-height:1.5;font-weight:400}
.post-hero-mag-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;font-size:.82rem;color:rgba(255,255,255,.75);font-family:var(--font);letter-spacing:.02em}
.post-hero-mag-meta .dot{opacity:.4}
.post-hero-mag-meta span{display:inline-flex;align-items:center;gap:5px}
.post-hero-mag-meta svg{opacity:.7}

.post-mag-wrap{background:#fff;padding:60px 0 40px}
.post-mag-grid{display:grid;grid-template-columns:60px 1fr 240px;gap:40px;align-items:start;max-width:1240px}
.post-mag-article{max-width:740px;width:100%;justify-self:center}

.post-share-vertical{display:flex;flex-direction:column;gap:8px;position:sticky;top:120px}
.post-share-vertical .share-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:1px solid var(--border);color:#666;cursor:pointer;transition:all .2s;text-decoration:none}
.post-share-vertical .share-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px rgba(201,169,110,.18)}
.post-share-vertical .share-btn.copied{border-color:#10b981;color:#10b981}
.post-share-mobile{display:none;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.post-share-mobile .share-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:1px solid var(--border);color:#666;cursor:pointer;transition:all .2s;text-decoration:none}
.post-share-mobile .share-btn:hover{border-color:var(--accent);color:var(--accent)}

.post-toc-mobile{display:none;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:0;margin-bottom:24px;overflow:hidden}
.post-toc-mobile summary{padding:14px 18px;cursor:pointer;font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:8px;color:var(--dark);list-style:none}
.post-toc-mobile summary::-webkit-details-marker{display:none}
.post-toc-mobile summary::after{content:'\25BE';margin-left:auto;color:var(--muted);transition:transform .2s}
.post-toc-mobile[open] summary::after{transform:rotate(180deg)}
.post-toc-mobile ul{list-style:none;padding:0 18px 14px;margin:0;border-top:1px solid var(--border)}
.post-toc-mobile li{padding:5px 0}
.post-toc-mobile li.toc-h3{padding-left:14px}
.post-toc-mobile li a{color:var(--muted);text-decoration:none;font-size:.88rem;transition:color .15s}
.post-toc-mobile li a:hover{color:var(--accent)}

.post-toc-sticky{position:sticky;top:120px}
.post-toc-sticky-inner{padding:16px 18px;border-left:2px solid var(--border)}
.post-toc-sticky-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:14px}
.post-toc-sticky ul{list-style:none;padding:0;margin:0}
.post-toc-sticky li{padding:0;line-height:1.4;margin-bottom:10px}
.post-toc-sticky li.toc-h3{padding-left:14px}
.post-toc-sticky li a{color:var(--muted);text-decoration:none;font-size:.86rem;transition:color .2s,border-color .2s;display:block;border-left:2px solid transparent;padding:2px 0 2px 12px;margin-left:-14px}
.post-toc-sticky li a:hover{color:var(--dark)}
.post-toc-sticky li a.active{color:var(--accent);font-weight:500;border-left-color:var(--accent)}

.post-body{font-family:var(--font);font-size:1.075rem;line-height:1.85;color:#333}
.post-body > p:first-of-type{font-size:1.18rem;line-height:1.7;color:#222;margin-bottom:24px}
.post-body > p:first-of-type::first-letter{font-family:var(--font-display);font-size:4.2rem;font-weight:600;color:var(--accent);float:left;line-height:.85;padding:8px 12px 0 0;margin-top:4px}
.post-body p{margin-bottom:1.4em}
.post-body h2{font-family:var(--font-display);font-size:clamp(1.5rem,2.8vw,2rem);font-weight:600;color:var(--dark);line-height:1.25;margin:48px 0 18px;padding-bottom:14px;position:relative}
.post-body h2::after{content:'';position:absolute;bottom:0;left:0;width:60px;height:2px;background:var(--accent)}
.post-body h3{font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--dark);margin:36px 0 14px}
.post-body h4{font-family:var(--font);font-size:1.05rem;font-weight:700;color:var(--dark);margin:24px 0 10px;letter-spacing:-.01em}
.post-body strong{font-weight:600;color:#1a1a1a}
.post-body em{color:#444}
.post-body a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(201,169,110,.3);transition:border-color .2s}
.post-body a:hover{border-bottom-color:var(--accent)}
.post-body ul,.post-body ol{margin:0 0 1.4em 28px;padding:0}
.post-body ul{list-style:disc outside}
.post-body ol{list-style:decimal outside}
.post-body li{margin-bottom:8px;padding-left:6px}
.post-body li>p{margin:0}
.post-body ul li::marker{color:var(--accent)}
.post-body ol li::marker{color:var(--accent);font-weight:600}
.post-body blockquote{margin:36px 0;padding:24px 32px;background:linear-gradient(180deg,rgba(201,169,110,.04) 0%,rgba(201,169,110,.08) 100%);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;font-family:var(--font-display);font-style:italic;font-size:1.25rem;line-height:1.5;color:#444;position:relative}
.post-body blockquote::before{content:'\201C';position:absolute;top:8px;left:18px;font-family:var(--font-display);font-size:3.5rem;color:rgba(201,169,110,.3);line-height:1}
.post-body blockquote p{margin:0;padding-left:36px}
.post-body img,.post-body figure img{display:block;max-width:100%;height:auto;border-radius:8px;margin:32px auto;box-shadow:0 4px 24px rgba(0,0,0,.08)}
.post-body figure{margin:32px 0}
.post-body figure img{margin:0 auto 8px}
.post-body figcaption{text-align:center;font-style:italic;font-size:.9rem;color:var(--muted);margin-top:8px}
.post-body hr{border:none;height:1px;background:linear-gradient(90deg,transparent 0%,var(--border) 30%,var(--border) 70%,transparent 100%);margin:48px 0}
.post-body pre{background:#1f2937;color:#e5e7eb;padding:20px;border-radius:8px;overflow-x:auto;font-size:.92rem;line-height:1.6;margin:24px 0}
.post-body code{background:rgba(201,169,110,.1);padding:2px 8px;border-radius:4px;font-size:.92em;color:#8b5e2f}
.post-body pre code{background:none;padding:0;color:inherit}
.post-body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.95rem}
.post-body table th,.post-body table td{padding:12px 16px;border:1px solid var(--border);text-align:left}
.post-body table th{background:var(--bg);font-weight:600;color:var(--dark)}

.post-mag-footer{margin:40px 0 24px;padding:24px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.post-mag-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.post-mag-tags-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:600;margin-right:6px}

.post-mag-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.post-mag-nav a{display:block;padding:18px 22px;border:1px solid var(--border);border-radius:8px;color:inherit;text-decoration:none;transition:all .25s;background:#fff}
.post-mag-nav a:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.post-mag-nav-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.post-mag-nav-title{display:block;font-weight:500;color:var(--dark);font-size:.95rem;line-height:1.4}
.post-mag-nav-next{text-align:right}

.post-mag-related{background:var(--bg);padding:60px 0;margin-top:40px;border-top:1px solid var(--border)}
.post-mag-related-title{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;color:var(--dark);text-align:center;margin-bottom:36px;position:relative;padding-bottom:18px}
.post-mag-related-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:2px;background:var(--accent)}
.post-mag-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1100px;margin:0 auto}
.post-mag-related-card{display:block;background:#fff;border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;transition:all .3s ease;box-shadow:0 2px 12px rgba(0,0,0,.04);border:1px solid var(--border)}
.post-mag-related-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1);border-color:var(--accent)}
.post-mag-related-img{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;background-color:#eee;transition:transform .5s ease}
.post-mag-related-card:hover .post-mag-related-img{transform:scale(1.04)}
.post-mag-related-img-placeholder{background:linear-gradient(135deg,var(--accent-light) 0%,rgba(201,169,110,.18) 100%);display:flex;align-items:center;justify-content:center}
.post-mag-related-body{padding:18px 20px}
.post-mag-related-date{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px;font-weight:600}
.post-mag-related-card h4{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--dark);line-height:1.3;margin:0 0 8px;transition:color .2s}
.post-mag-related-card:hover h4{color:var(--accent)}
.post-mag-related-card p{font-size:.88rem;color:var(--muted);line-height:1.55;margin:0}
.post-mag-back-link{display:inline-block;font-family:var(--font);font-size:.85rem;color:var(--accent);text-decoration:none;letter-spacing:.06em;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s}
.post-mag-back-link:hover{border-bottom-color:var(--accent)}

@media(max-width:1080px){
  .post-mag-grid{grid-template-columns:1fr;gap:0}
  .post-share-vertical{display:none}
  .post-toc-sticky{display:none}
  .post-share-mobile{display:flex}
  .post-toc-mobile{display:block}
  .post-mag-article{max-width:720px;margin:0 auto;justify-self:auto}
}
@media(max-width:640px){
  .post-hero-mag{padding:60px 0 40px;min-height:380px}
  .post-mag-wrap{padding:32px 0 24px}
  .post-mag-related{padding:40px 0}
  .post-body{font-size:1rem}
  .post-body > p:first-of-type::first-letter{font-size:3.4rem;padding:6px 10px 0 0}
  .post-mag-nav{grid-template-columns:1fr}
  .post-mag-nav-next{text-align:left}
  .post-body h2{margin:36px 0 14px}
  .post-body blockquote{padding:16px 20px;font-size:1.1rem}
  .post-body blockquote p{padding-left:24px}
}

/* ====== REALIZÁCIE LIGHTBOX (about.php gallery modal) ====== */
.realiz-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;background:rgba(15,12,10,.92);padding:24px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:realiz-modal-fade .25s ease}
.realiz-modal[hidden]{display:none}
@keyframes realiz-modal-fade{from{opacity:0}to{opacity:1}}
.realiz-modal__viewport{position:relative;max-width:1200px;max-height:85vh;width:auto;display:flex;flex-direction:column;align-items:center;margin:0}
.realiz-modal__img{max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 24px 60px rgba(0,0,0,.5);background:#000}
.realiz-modal__caption{margin-top:16px;color:rgba(255,255,255,.92);font-size:1rem;font-weight:500;text-align:center;letter-spacing:.02em}
.realiz-modal__counter{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.65);font-size:.78rem;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.realiz-modal__close{position:absolute;top:18px;right:22px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;border:0;font-size:2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;padding:0}
.realiz-modal__close:hover{background:rgba(255,255,255,.22);transform:scale(1.05)}
.realiz-modal__nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;padding:0;z-index:2}
.realiz-modal__nav:hover{background:rgba(255,255,255,.22);transform:translateY(-50%) scale(1.05)}
.realiz-modal__nav--prev{left:24px}
.realiz-modal__nav--next{right:24px}
@media(max-width:768px){
  .realiz-modal{padding:12px}
  .realiz-modal__nav{width:42px;height:42px}
  .realiz-modal__nav--prev{left:8px}
  .realiz-modal__nav--next{right:8px}
  .realiz-modal__close{top:8px;right:8px;width:40px;height:40px}
  .realiz-modal__img{max-height:75vh}
}

