/* ================================================================
   RPE Haldus – Signature v13 "Amber & Iron"
   Logo colours: rust #7C2D0E · amber #D96B18 · gold #F0A800
   Fonts: Barlow Condensed (headlines) + DM Sans (body)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');

/* ---------------------------------------------------------------  TOKENS  */
:root{
  --rust:      #7C2D0E;
  --amber:     #D96B18;
  --gold:      #F0A800;
  --gold-soft: rgba(240,168,0,.14);
  --dark:      #180C04;
  --dark2:     #2A1208;
  --cream:     #FAFAF7;
  --white:     #FFFFFF;
  --surf:      #F4F2EC;
  --surf2:     #EDE9E1;
  --ink:       #1A0E06;
  --ink-s:     rgba(26,14,6,.68);
  --ink-f:     rgba(26,14,6,.38);
  --border:    rgba(124,45,14,.10);
  --border-s:  rgba(124,45,14,.06);
  --sh-xs:     0 2px 8px  rgba(26,14,6,.07);
  --sh-sm:     0 8px 28px rgba(26,14,6,.09);
  --sh-md:     0 20px 54px rgba(26,14,6,.12);
  --sh-lg:     0 36px 90px rgba(26,14,6,.16);
  --fh:        'Barlow Condensed',Impact,sans-serif;
  --fb:        'DM Sans',system-ui,sans-serif;
  --cw:        1340px;
  --r:         6px;
  --rm:        14px;
  --rl:        22px;
  --rx:        32px;
  --ease:      .28s cubic-bezier(.4,0,.2,1);
  --hero-height-desktop: 92svh;
  --hero-height-tablet:  80svh;
  --hero-height-mobile:  72svh;
  --hero-content-width:  860px;
  --hero-overlay: .60;
}

/* ---------------------------------------------------------------  RESET  */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--fb);font-size:1rem;line-height:1.65;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}
button,input,textarea,select{font:inherit}

/* ---------------------------------------------------------------  TYPE  */
h1,h2,h3{font-family:var(--fh);line-height:.96;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin:0 0 .9rem}
h1{font-size:clamp(3rem,6.5vw,7.5rem);font-weight:900}
h2{font-size:clamp(2.4rem,4vw,4.5rem);font-weight:800}
h3{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700}
h4{font-family:var(--fb);font-size:1.05rem;font-weight:700;color:var(--ink);margin:0 0 .6rem}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}
.screen-reader-text:focus{clip:auto!important;clip-path:none;background:#fff;color:#111;display:block;font-size:1rem;height:auto;left:1rem;padding:1rem;top:1rem;width:auto;z-index:100000}

/* ---------------------------------------------------------------  LAYOUT  */
.container{width:min(calc(100% - 32px),var(--cw));margin-inline:auto}
.section{padding:clamp(4rem,7vw,8rem) 0}

/* ---------------------------------------------------------------  EYEBROW  */
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--fb);font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:.8rem}
.eyebrow::before{content:'';display:inline-block;width:18px;height:2px;background:var(--gold);border-radius:99px;flex-shrink:0}
.eyebrow--light{color:rgba(255,255,255,.9)}
.eyebrow--light::before{background:var(--gold)}

/* ---------------------------------------------------------------  BUTTONS  */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 1.6rem;border-radius:var(--r);font-family:var(--fh);font-size:1.05rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:2px solid transparent;cursor:pointer;transition:transform var(--ease),background var(--ease),border-color var(--ease),box-shadow var(--ease),color var(--ease);white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.btn--primary,.btn--v11-primary{background:var(--amber);color:#fff;box-shadow:0 8px 26px rgba(217,107,24,.32)}
.btn--primary:hover,.btn--v11-primary:hover{background:#BF5C12;color:#fff;box-shadow:0 14px 34px rgba(217,107,24,.42)}

.btn--ghost,.btn--v11-secondary{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.32);backdrop-filter:blur(8px)}
.btn--ghost:hover,.btn--v11-secondary:hover{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.52)}

.btn--light{background:#fff;color:var(--rust);border-color:rgba(255,255,255,.2)}
.btn--light:hover{background:var(--gold-soft);color:var(--rust)}
.btn--header{min-height:46px;padding-inline:1.2rem;font-size:.95rem}

/* text links */
.text-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;color:var(--amber)}
.text-link::after{content:'→';transition:transform var(--ease)}
.text-link:hover::after{transform:translateX(4px)}
.text-link--light{color:#fff}

.text-link--button-v11{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 1.1rem;border-radius:var(--r);border:1px solid var(--border);background:var(--surf);font-family:var(--fb);font-weight:700;font-size:.9rem;color:var(--amber);transition:background var(--ease),border-color var(--ease),color var(--ease);align-self:flex-start;margin-top:auto}
.text-link--button-v11:hover{background:#fff;border-color:var(--amber)}
.text-link--button-v11-light{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 1.1rem;border-radius:var(--r);border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);font-family:var(--fb);font-weight:700;font-size:.9rem;color:#fff;transition:background var(--ease),border-color var(--ease);align-self:flex-start;margin-top:auto}
.text-link--button-v11-light:hover{background:#fff;color:var(--rust);border-color:#fff}

/* ---------------------------------------------------------------  TOPBAR  */
.topbar,.topbar--v9{background:var(--dark);color:rgba(255,255,255,.88);font-size:.84rem}
.topbar__inner,.topbar__inner--v9{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;gap:1rem;flex-wrap:wrap}
.topbar__left--v9{display:flex;align-items:center;gap:.75rem}
.topbar__right,.topbar__right--v9{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.topbar__announcement,.topbar__announcement--v9{font-weight:600;color:var(--gold)}
.topbar a{color:#fff;font-weight:600}
.topbar__label{color:rgba(255,255,255,.55);margin-right:.2rem}
.topbar__link,.topbar__link--v9{display:inline-flex;align-items:center;gap:.4rem;color:#fff;font-weight:600}
.topbar__link:hover,.topbar__link--v9:hover{color:var(--gold)}

/* ---------------------------------------------------------------  HEADER  */
.site-header,.site-header--v9{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.97);
  border-bottom:3px solid var(--amber);
  backdrop-filter:saturate(180%) blur(16px);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  transition:box-shadow var(--ease);
}
.site-header.is-scrolled{box-shadow:var(--sh-sm)}
.header-main,.header-main--v9{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:.8rem 0}

/* branding */
.site-branding,.site-branding--v9{display:flex;align-items:center}
.site-branding__logo--v9{display:flex;align-items:center;line-height:1}
.site-branding__logo--v9 .custom-logo-link{display:inline-flex;align-items:center;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.site-branding__logo--v9 .custom-logo{max-height:64px;width:auto;object-fit:contain}
.site-branding__text,.site-branding__text--v9{font-family:var(--fh);font-size:1.8rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--rust)}

/* nav */
.main-navigation,.main-navigation--v9{display:none;justify-content:center}
.main-navigation .menu,.footer-menu{list-style:none;padding:0;margin:0}
.main-navigation .menu{display:flex;align-items:center}
.main-navigation .menu>li{border:0}
.main-navigation .menu a{display:block;padding:.3rem .85rem;font-family:var(--fh);font-size:1.05rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);border-radius:var(--r);position:relative;transition:color var(--ease)}
.main-navigation .menu a:hover{color:var(--amber)}
.main-navigation .menu a::after{content:'';position:absolute;left:.85rem;right:.85rem;bottom:-.2rem;height:2px;background:var(--amber);border-radius:99px;transform:scaleX(0);transform-origin:left;transition:transform .24s cubic-bezier(.4,0,.2,1)}
.main-navigation .menu a:hover::after,.main-navigation .menu .current-menu-item>a::after{transform:scaleX(1)}

/* header actions */
.header-actions,.header-actions--v9{display:none;align-items:center;gap:1rem}
.header-contact-link{display:none;flex-direction:column;gap:.08rem;color:var(--ink)}
.header-contact-link span{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-f)}
.header-contact-link strong{font-size:.98rem;font-weight:700;color:var(--rust)}
.header-cta{display:none}

/* toggle */
.menu-toggle,.menu-toggle--v9{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--border);border-radius:var(--r);background:#fff;cursor:pointer;gap:5px;padding:0;transition:border-color var(--ease)}
.menu-toggle:hover{border-color:var(--amber)}
.menu-toggle__line{display:block;width:21px;height:2px;background:var(--ink);border-radius:99px}
.main-navigation.is-open{display:block}
.header-cta{display:none}
.mobile-nav-actions,.mobile-nav-actions--v9{display:block;padding:.75rem 1rem 1rem;border-top:1px solid var(--border)}
.mobile-nav-link{display:block;font-weight:600;color:var(--ink);padding:.3rem 0;font-size:.95rem}

/* always solid header */
.rpe-front-page .site-header,.site-header--front.site-header--transparent{background:rgba(255,255,255,.97);border-bottom:3px solid var(--amber)}

/* ---------------------------------------------------------------  HERO v11  */
.hero--v11{position:relative;background:var(--dark);color:#fff;overflow:hidden;min-height:var(--hero-height-mobile)}
.hero__slides,.hero-slide,.hero-slide__media,.hero-slide__shade{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide__media img,.hero-slide__video{width:100%;height:100%;object-fit:cover}

/* shade – dramatic bottom gradient so text is always readable */
.hero-slide__shade{background:linear-gradient(0deg,rgba(24,12,4,.92) 0%,rgba(24,12,4,.55) 38%,rgba(24,12,4,.20) 72%,rgba(24,12,4,.08) 100%),linear-gradient(90deg,rgba(24,12,4,.50) 0%,rgba(24,12,4,.10) 60%)}

/* overlay variants */
.hero-overlay-brand .hero-slide__shade{background:linear-gradient(0deg,rgba(24,12,4,.94) 0%,rgba(24,12,4,.58) 38%,rgba(24,12,4,.22) 72%,rgba(24,12,4,.06) 100%),linear-gradient(90deg,rgba(24,12,4,.55) 0%,rgba(24,12,4,.12) 60%)}
.hero-overlay-dark .hero-slide__shade{background:linear-gradient(0deg,rgba(12,6,2,.98) 0%,rgba(12,6,2,.78) 50%,rgba(12,6,2,.44) 100%)}
.hero-overlay-soft .hero-slide__shade{background:linear-gradient(0deg,rgba(24,12,4,.84) 0%,rgba(24,12,4,.42) 50%,rgba(24,12,4,.10) 100%)}
.hero-overlay-clean .hero-slide__shade{background:linear-gradient(0deg,rgba(24,12,4,.80) 0%,rgba(24,12,4,.30) 55%,transparent 100%)}

/* transitions */
.hero-transition-slide .hero-slide{transform:translateX(2.5%);transition:opacity .9s ease,visibility .9s ease,transform .9s ease}
.hero-transition-slide .hero-slide.is-active{transform:translateX(0)}
.hero-transition-zoom .hero-slide{transform:scale(1.04);transition:opacity .9s ease,visibility .9s ease,transform .9s ease}
.hero-transition-zoom .hero-slide.is-active{transform:scale(1)}
.hero-fit-contain .hero-slide__media img,.hero-fit-contain .hero-slide__video{object-fit:contain;background:#0d0603}

/* effects */
.hero-effect-subtle-zoom .hero-slide.is-active .hero-slide__media img,
.hero-effect-subtle-zoom .hero-slide.is-active .hero-slide__video{animation:rpeZoom 10s linear forwards}
.hero-effect-pan .hero-slide.is-active .hero-slide__media img,
.hero-effect-pan .hero-slide.is-active .hero-slide__video{animation:rpePan 12s linear forwards}
@keyframes rpeZoom{from{transform:scale(1.01)}to{transform:scale(1.12)}}
@keyframes rpePan{from{transform:scale(1.06) translateX(0)}to{transform:scale(1.13) translateX(-2.5%)}}

/* hero shell – v11 class names kept */
.hero-v11__shell{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;min-height:var(--hero-height-mobile);padding:8rem 0 0}
.hero-v11__content{max-width:min(var(--hero-content-width),780px);padding-bottom:2.5rem}

/* kicker */
.hero-v11__content .eyebrow{margin-bottom:.6rem}

/* headline */
.hero--v11 h1,.hero--v11 .hero__title{font-family:var(--fh);font-size:clamp(1.9rem,3.8vw,4.2rem);line-height:.93;letter-spacing:-.01em;text-transform:uppercase;color:#fff;font-weight:900;max-width:12ch;margin-bottom:1rem}
.hero__lead,.hero-v11__lead{font-family:var(--fb);font-size:clamp(1rem,1.6vw,1.22rem);line-height:1.68;color:rgba(255,255,255,.86);max-width:56ch;margin-top:.6rem}
.hero__actions,.hero-v11__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}

/* trust bar */
.hero-v11__trust-wrap{position:relative;z-index:4;padding-bottom:0}
.hero-v11__trust-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 1.4rem;
  background:rgba(240,168,0,.12);
  border-top:2px solid var(--gold);
  backdrop-filter:blur(12px);
}
.hero-v11__contact{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
.hero-v11__contact a{color:#fff;font-weight:700;font-size:1rem;font-family:var(--fh);letter-spacing:.04em}
.hero-v11__contact a:hover{color:var(--gold)}
.hero-v11__trust-items{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:center}
.hero-v11__trust-item{position:relative;padding-left:1rem;color:rgba(255,255,255,.90);font-size:.9rem;font-weight:600}
.hero-v11__trust-item::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* hero controls */
.hero__controls{position:relative;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.85rem 0}
.hero-control{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r);border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:background var(--ease),transform var(--ease)}
.hero-control:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}
.hero-dots{display:flex;align-items:center;gap:.5rem;margin-right:auto}
.hero-dot{width:26px;height:4px;border-radius:99px;background:rgba(255,255,255,.28);border:0;cursor:pointer;padding:0;transition:background var(--ease),width var(--ease)}
.hero-dot.is-active{background:var(--gold);width:40px}
.hero-scroll-indicator{display:none}

/* ---------------------------------------------------------------  SECTION HEADINGS  */
.section-heading{max-width:780px;margin-bottom:2.5rem}
.section-heading--center{text-align:center;margin-inline:auto}
.section-lead,.section-heading p{font-size:1.06rem;color:var(--ink-s);line-height:1.7}
.section-heading--split-v11{display:grid;gap:1rem;align-items:end;margin-bottom:2.25rem}
.section-heading--split-v11 h2{margin-bottom:0}
.section-heading--light h2,.section-heading--light p{color:#fff}

/* ---------------------------------------------------------------  STATS STRIP  */
.section--stats{padding:0;background:var(--dark2)}
.stats-strip{display:grid;grid-template-columns:repeat(2,1fr)}
.stat-item{padding:1.75rem 1.5rem;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);text-align:center}
.stat-item:nth-child(even){border-right:0}
.stat-item__num{font-family:var(--fh);font-size:clamp(2.6rem,5vw,4rem);font-weight:900;color:var(--gold);line-height:1}
.stat-item__label{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.68);letter-spacing:.08em;text-transform:uppercase;margin-top:.4rem}

/* ---------------------------------------------------------------  INTRO v11  */
.section--intro-v11{background:#fff}
.intro-v11{display:grid;gap:2.5rem;align-items:center}
.intro-v11__media{border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:4/3;position:relative}
.intro-v11__media img{width:100%;height:100%;object-fit:cover;display:block}
.intro-v11__media::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(240,168,0,.08),transparent 60%)}
.intro-v11__content h2{margin-top:.5rem}
.intro-v11__prose{margin-top:1rem;color:var(--ink-s);line-height:1.75}
.intro-v11__points{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;margin-top:1.5rem}
.intro-v11__point{padding:.85rem 1rem;border-radius:var(--rm);background:var(--surf);border:1px solid var(--border-s);font-weight:600;font-size:.9rem;color:var(--amber);position:relative;padding-left:1.6rem}
.intro-v11__point::before{content:'';position:absolute;left:.9rem;top:1.05rem;width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* ---------------------------------------------------------------  SERVICES v11  */
.section--services-v11{background:linear-gradient(180deg,var(--cream) 0%,var(--surf2) 100%)}
.services-v11__grid{display:grid;gap:1.25rem}
.service-card-v11{background:#fff;border:1px solid var(--border-s);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.service-card-v11:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:rgba(217,107,24,.18)}
.service-card-v11__media{display:block;overflow:hidden;background:#e8e0d5}
.service-card-v11--featured .service-card-v11__media{aspect-ratio:4/3}
.service-card-v11--compact .service-card-v11__media{aspect-ratio:16/10}
.service-card-v11__media img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.4,0,.2,1)}
.service-card-v11:hover .service-card-v11__media img{transform:scale(1.06)}
.service-card-v11__body{display:flex;flex-direction:column;gap:.9rem;padding:1.4rem;flex:1}
.service-card-v11__tag{display:inline-flex;align-items:center;align-self:flex-start;min-height:26px;padding:0 .65rem;border-radius:99px;background:rgba(217,107,24,.10);color:var(--rust);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.service-card-v11__tag--subtle{background:var(--surf);color:var(--ink-s)}
.service-card-v11__tag--dark{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.16)}
.service-card-v11 h3{font-size:1.7rem;line-height:1;margin:0}
.service-card-v11 p{color:var(--ink-s);margin:0;flex:1 1 auto;line-height:1.6}
.services-v11__list{display:grid;gap:1rem}

/* ---------------------------------------------------------------  MACHINES v11  */
.section--machines-v11{background:linear-gradient(150deg,#180C04 0%,#2A1208 48%,#3A1A08 100%);color:#fff}
.machines-v11__grid{display:grid;gap:1.15rem}
.machine-card-v11{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:var(--rl);overflow:hidden;display:flex;flex-direction:column;transition:background var(--ease),border-color var(--ease),transform var(--ease)}
.machine-card-v11:hover{background:rgba(255,255,255,.10);border-color:rgba(240,168,0,.35);transform:translateY(-3px)}
.machine-card-v11__media{display:block;aspect-ratio:16/10;overflow:hidden;background:rgba(255,255,255,.06)}
.machine-card-v11__media img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.machine-card-v11:hover .machine-card-v11__media img{transform:scale(1.05)}
.machine-card-v11__body{display:flex;flex-direction:column;gap:.9rem;padding:1.3rem;flex:1}
.machine-card-v11 h3{color:#fff;margin:0;font-size:1.7rem}
.machine-card-v11 h3 a{color:#fff}
.machine-card-v11 p{color:rgba(255,255,255,.70);margin:0;line-height:1.6}

/* ---------------------------------------------------------------  CTA v11  */
.section--cta-v11{background:var(--dark);padding:clamp(3rem,5vw,5rem) 0}
.cta-box--v11{display:grid;gap:1.5rem;align-items:center;padding:clamp(2rem,3vw,3.2rem) clamp(1.5rem,3vw,3.2rem);border-radius:var(--rl);background:var(--amber);color:#fff;box-shadow:var(--sh-lg);position:relative;overflow:hidden}
.cta-box--v11::before{content:'';position:absolute;inset:auto -4% -35% auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 65%);pointer-events:none}
.cta-box--v11::after{content:'';position:absolute;inset:auto auto -20% -4%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(240,168,0,.26),transparent 65%);pointer-events:none}
.cta-box--v11 h2,.cta-box--v11 p{color:#fff}
.cta-box--v11 p{opacity:.90}
.cta-box__action{display:flex;align-items:center}

/* ---------------------------------------------------------------  CONTACT v11  */
.section--contact-v11{background:linear-gradient(180deg,var(--cream) 0%,var(--surf2) 100%)}
.contact-grid-v11{display:grid;gap:1.25rem}
.contact-card-v11{background:#fff;border:1px solid var(--border-s);border-radius:var(--rl);padding:clamp(1.5rem,2.5vw,2.2rem);box-shadow:var(--sh-sm)}
.contact-card-v11--details{border-top:3px solid var(--amber)}
.contact-card-v11--form{background:var(--surf)}
.contact-list-v11{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;gap:.9rem}
.contact-list-v11 li{padding-bottom:.9rem;border-bottom:1px solid var(--border-s);font-size:.95rem;line-height:1.5}
.contact-list-v11 li:last-child{padding-bottom:0;border-bottom:0}
.contact-list-v11 strong{font-weight:700;color:var(--ink)}
.contact-list-v11 a{color:var(--amber);font-weight:600}
.contact-list-v11 a:hover{color:var(--rust)}

/* forms */
input,textarea,select{width:100%;padding:.82rem 1rem;border:1px solid rgba(26,14,6,.15);border-radius:var(--r);background:#fff;font-size:.95rem;color:var(--ink);transition:border-color var(--ease),box-shadow var(--ease)}
input:focus,textarea:focus,select:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(217,107,24,.14);outline:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ---------------------------------------------------------------  PROSE  */
.prose>*:first-child{margin-top:0}
.prose h2,.prose h3{margin-top:2rem}
.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.5rem}
.prose p{color:var(--ink-s);line-height:1.75}

/* ---------------------------------------------------------------  FOOTER  */
.site-footer{background:var(--dark);color:rgba(255,255,255,.76);padding-top:clamp(3rem,6vw,6rem)}
.site-footer a{color:rgba(255,255,255,.88);transition:color var(--ease)}
.site-footer a:hover{color:var(--gold)}
.footer-grid{display:grid;gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-title{font-family:var(--fh);font-size:1.25rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:.9rem}
.footer-menu{list-style:none;padding:0;display:grid;gap:.5rem}
.footer-menu a{font-size:.93rem;color:rgba(255,255,255,.68)}
.footer-menu a:hover{color:var(--gold)}
.footer-bottom{padding:1.2rem 0 2rem;color:rgba(255,255,255,.40);font-size:.88rem}
.footer-bottom a{color:rgba(255,255,255,.55)}

/* ---------------------------------------------------------------  ARCHIVE / INNER PAGES  */
.page-hero--simple{background:linear-gradient(180deg,var(--surf) 0%,#fff 100%);padding:clamp(3rem,5vw,5rem) 0;border-bottom:3px solid var(--amber)}
.single-grid{display:grid;gap:2rem}
.single-sidebar{display:grid;gap:1rem}
.single-sidebar__card{background:#fff;border:1px solid var(--border-s);border-radius:var(--rl);padding:1.4rem;box-shadow:var(--sh-sm)}
.single-sidebar__card img{border-radius:var(--rm);margin-bottom:1rem}

.card-grid,.machine-grid{display:grid;grid-template-columns:1fr;gap:1.15rem}
.card,.machine-card{background:#fff;border:1px solid var(--border-s);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:transform var(--ease),box-shadow var(--ease)}
.card:hover,.machine-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.card__media,.machine-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#e8e0d5}
.card__media img,.machine-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.card:hover .card__media img,.machine-card:hover .machine-card__media img{transform:scale(1.05)}
.card__body,.machine-card__body{padding:1.35rem;display:flex;flex-direction:column;gap:.8rem;flex:1}
.card__body p,.machine-card__body p{color:var(--ink-s);margin:0;flex:1 1 auto}
.card__tag{display:inline-flex;align-items:center;align-self:flex-start;min-height:26px;padding:0 .65rem;border-radius:99px;background:rgba(217,107,24,.10);color:var(--rust);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.10em}
.card h3,.machine-card h3{font-size:1.6rem;margin:0}
.empty-state{grid-column:1/-1;background:#fff;border:1px dashed var(--border);border-radius:var(--rl);padding:2rem;text-align:center;color:var(--ink-s)}

.contact-grid{display:grid;gap:1.25rem}
.contact-card{background:#fff;border:1px solid var(--border-s);border-radius:var(--rl);padding:1.5rem;box-shadow:var(--sh-sm)}
.contact-card--form{background:var(--surf)}
.contact-list{list-style:none;padding:0;margin:0;display:grid;gap:.9rem}
.contact-list li{padding-bottom:.9rem;border-bottom:1px solid var(--border-s)}
.contact-list li:last-child{padding-bottom:0;border-bottom:0}

.cta-box{background:var(--amber);color:#fff;border-radius:var(--rl);padding:clamp(1.75rem,2.5vw,2.5rem);display:grid;gap:1.25rem;box-shadow:var(--sh-md)}
.cta-box h2,.cta-box p{color:#fff}

/* ---------------------------------------------------------------  ADMIN  */
body.toplevel_page_rpe-theme-dashboard,body.rpe-theme_page_rpe-theme-header,body.rpe-theme_page_rpe-theme-hero,body.rpe-theme_page_rpe-theme-home,body.rpe-theme_page_rpe-theme-company{background:#F4EDE4}
.rpe-admin-header{padding:8px 0 4px}
.rpe-admin-tabs{position:sticky;top:32px;z-index:20;background:rgba(244,237,228,.92);backdrop-filter:blur(8px);padding:8px;border-radius:12px;border:1px solid rgba(217,107,24,.18)}
.rpe-admin-tab{border-radius:9px}
.rpe-admin-card{border-radius:14px}
.rpe-slide-card,.rpe-slide-card--compact{border-radius:12px}
.rpe-field input,.rpe-field textarea,.rpe-field select{border-radius:8px}
.button-hero,.button.button-primary{border-radius:8px}

/* ---------------------------------------------------------------  ≥ 700px  */
@media(min-width:700px){
  .hero--v11{min-height:var(--hero-height-tablet)}
  .hero-v11__shell{min-height:var(--hero-height-tablet);padding:9rem 0 0}
  .hero-v11__content{padding-bottom:2.8rem}
  .topbar__inner--v9{flex-wrap:nowrap}
  .stats-strip{grid-template-columns:repeat(4,1fr)}
  .stat-item:nth-child(even){border-right:1px solid rgba(255,255,255,.08)}
  .stat-item:last-child{border-right:0}
  .intro-v11{grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr)}
  .section-heading--split-v11{grid-template-columns:minmax(0,1fr) minmax(240px,.72fr)}
  .services-v11__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  /* featured card overlay – managed in overlay section below */
  .services-v11__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .machines-v11__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cta-box--v11{grid-template-columns:minmax(0,1fr) auto}
  .cta-box__action{justify-content:flex-end}
  .contact-grid-v11{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}
  .footer-grid{grid-template-columns:1.4fr 1fr .9fr}
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-grid{grid-template-columns:1.05fr .95fr}
  .single-grid{grid-template-columns:minmax(0,1fr) 340px}
  .cta-box{grid-template-columns:minmax(0,1fr) auto;align-items:center}
}

/* ---------------------------------------------------------------  ≥ 1040px  */
@media(min-width:1040px){
  .menu-toggle,.menu-toggle--v9{display:none}
  .main-navigation,.main-navigation--v9{display:flex!important;position:static;background:transparent;border:0;box-shadow:none}
  .mobile-nav-actions,.mobile-nav-actions--v9{display:none!important}
  .header-actions,.header-actions--v9{display:flex}
  .header-contact-link{display:flex}
  .header-cta{display:inline-flex}
  .header-main--v9{gap:2.5rem}
  .hero--v11{min-height:var(--hero-height-desktop)}
  .hero-v11__shell{min-height:var(--hero-height-desktop);padding:10rem 0 0}
  .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .machine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---------------------------------------------------------------  Mobile nav ≤ 1039px  */
@media(max-width:1039px){
  .header-main--v9{grid-template-columns:auto auto;justify-content:space-between}
  .main-navigation--v9{display:none;position:absolute;top:calc(100% + 4px);left:12px;right:12px;background:#fff;border-radius:var(--rl);border:1px solid var(--border-s);box-shadow:var(--sh-md);overflow:hidden;z-index:100}
  .main-navigation--v9.is-open{display:block}
  .main-navigation--v9 .menu{display:block;padding:1rem 1rem .25rem}
  .main-navigation--v9 .menu>li{border-bottom:1px solid var(--border-s)}
  .main-navigation--v9 .menu>li:last-child{border-bottom:0}
  .main-navigation--v9 .menu a{display:flex;padding:1rem .15rem;font-weight:700}
  .main-navigation--v9 .menu a::after{display:none}
  .header-contact-link,.header-cta,.header-actions--v9{display:none}
}

/* ---------------------------------------------------------------  ≤ 699px  */
@media(max-width:699px){
  .hero-v11__shell{padding:7.5rem 0 0;min-height:var(--hero-height-mobile)}
  .hero--v11 h1{font-size:clamp(1.7rem,8vw,2.8rem)}
  .hero-v11__trust-bar{padding:.85rem 1rem}
  .topbar{display:none}
  .cta-box--v11{padding:1.5rem 1.25rem}
  .contact-card-v11{padding:1.25rem}
  .hero__controls .hero-control{display:none}
  .hero__actions,.hero-v11__actions{flex-direction:column;align-items:stretch}
  .hero__actions .btn,.hero-v11__actions .btn{justify-content:center}
}

/* ---------------------------------------------------------------  REDUCED MOTION  */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ================================================================
   v13.1 – HERO & SERVICES PREMIUM OVERHAUL
   ================================================================ */

/* ---------------------------------------------------------------
   HERO – Dramatilisem, premium kinemaatiline look
--------------------------------------------------------------- */

/* Tugevam gradient – tekstiala on alati selge */
.hero-slide__shade {
  background:
    linear-gradient(
      0deg,
      rgba(12,5,0,.98) 0%,
      rgba(12,5,0,.80) 22%,
      rgba(12,5,0,.45) 50%,
      rgba(12,5,0,.15) 75%,
      rgba(12,5,0,.05) 100%
    ),
    linear-gradient(
      95deg,
      rgba(12,5,0,.65) 0%,
      rgba(12,5,0,.10) 55%,
      transparent 100%
    );
}

/* Amber valguse efekt vasakul – soe brand-tunne */
.hero--v11::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 55% 70% at 0% 80%,
    rgba(217,107,24,.20) 0%,
    transparent 65%
  );
  pointer-events: none;
  z-index: 2;
}

/* Hero teksti tsoon – suurem, rohkem hingamisruumi */
.hero-v11__content {
  max-width: 820px;
  padding-bottom: 3rem;
}

/* Eyebrow – badge stiilis, nähtavam */
.hero--v11 .eyebrow.eyebrow--light {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  background: rgba(240,168,0,.18);
  border: 1px solid rgba(240,168,0,.35);
  border-radius: 99px;
  padding: .32rem .9rem .32rem .7rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .2em;
  color: var(--gold);
  backdrop-filter: blur(6px);
  margin-bottom: 1.1rem;
}
.hero--v11 .eyebrow.eyebrow--light::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
}

/* H1 – elegant, not overpowering */
.hero--v11 h1,
.hero--v11 .hero__title {
  font-size: clamp(1.9rem, 3.8vw, 4.2rem);
  line-height: .93;
  text-shadow: 0 4px 28px rgba(0,0,0,.55);
  max-width: 12ch;
  margin-bottom: 1.2rem;
}

/* Lead tekst – parem loetavus */
.hero__lead,
.hero-v11__lead {
  font-size: clamp(1rem, 1.55vw, 1.18rem);
  color: rgba(255,255,255,.88);
  max-width: 54ch;
  line-height: 1.72;
}

/* Nupud – suuremad, rohkem jõudu */
.hero-v11__actions .btn--v11-primary,
.hero-v11__actions .btn--primary {
  min-height: 58px;
  padding: 0 2rem;
  font-size: 1.1rem;
  box-shadow:
    0 8px 26px rgba(217,107,24,.38),
    0 0 0 0 rgba(217,107,24,0);
}
.hero-v11__actions .btn--v11-primary:hover,
.hero-v11__actions .btn--primary:hover {
  box-shadow:
    0 16px 38px rgba(217,107,24,.50),
    0 0 0 4px rgba(217,107,24,.14);
}

.hero-v11__actions .btn--ghost,
.hero-v11__actions .btn--v11-secondary {
  min-height: 58px;
  padding: 0 2rem;
  font-size: 1.1rem;
  border-width: 2px;
}

/* Trust bar – glassmorphism, kergem */
.hero-v11__trust-bar {
  background: rgba(12,5,0,.55);
  border: 1px solid rgba(240,168,0,.22);
  border-radius: var(--rm) var(--rm) 0 0;
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  padding: .9rem 1.6rem;
}

/* Hero dots – stiilsemad */
.hero-dot {
  width: 24px;
  height: 4px;
  background: rgba(255,255,255,.25);
  transition: background var(--ease), width var(--ease);
}
.hero-dot.is-active {
  background: var(--gold);
  width: 44px;
}

/* Stats riba – bolder numbrid */
.stats-strip {
  background: linear-gradient(90deg, #1A0800 0%, #2A1208 50%, #1A0800 100%);
}
.stat-item {
  padding: 2rem 1.75rem;
  border-color: rgba(240,168,0,.12);
}
.stat-item__num {
  font-size: clamp(2.8rem, 5vw, 4.2rem);
  font-weight: 900;
  color: var(--gold);
  text-shadow: 0 0 28px rgba(240,168,0,.35);
  letter-spacing: -.01em;
}
.stat-item__label {
  color: rgba(255,255,255,.55);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-top: .5rem;
}

/* ---------------------------------------------------------------
   TEENUSED – Editorial magazine stiil
   Tekst on peal pildil, mitte all eraldi
--------------------------------------------------------------- */

.section--services-v11 {
  background: var(--cream);
  padding: clamp(4.5rem,7vw,9rem) 0;
}

/* Section heading – dramatilisem */
.section--services-v11 .section-heading--split-v11 {
  margin-bottom: 3rem;
  align-items: flex-start;
}
.section--services-v11 .section-heading--split-v11 h2 {
  font-size: clamp(2.8rem,5vw,5.5rem);
  color: var(--ink);
  position: relative;
  padding-bottom: .6rem;
}
.section--services-v11 .section-heading--split-v11 h2::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 60px; height: 4px;
  background: linear-gradient(90deg, var(--amber), var(--gold));
  border-radius: 99px;
}
.section--services-v11 .section-heading--split-v11 p {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--ink-s);
  margin-bottom: 1.2rem;
}

/* Grid */
.services-v11__grid {
  display: grid;
  gap: 1.5rem;
}

/* ── FEATURED CARD – täisleht editorial ── */
.service-card-v11--featured {
  border: 0;
  border-radius: var(--rx);
  overflow: hidden;
  position: relative;
  min-height: 480px;
  display: block; /* override grid layout from responsive */
  background: var(--dark);
  box-shadow: var(--sh-lg);
}

.service-card-v11--featured .service-card-v11__media {
  display: block;
  position: absolute;
  inset: 0;
  aspect-ratio: unset;
  height: 100%;
}

.service-card-v11--featured .service-card-v11__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.4,0,.2,1);
  filter: brightness(.85) saturate(1.1);
}
.service-card-v11--featured:hover .service-card-v11__media img {
  transform: scale(1.06);
}

/* Gradient ülekate featured kaardil */
.service-card-v11--featured::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      0deg,
      rgba(10,4,0,.95) 0%,
      rgba(10,4,0,.70) 40%,
      rgba(10,4,0,.20) 75%,
      transparent 100%
    ),
    linear-gradient(
      90deg,
      rgba(10,4,0,.55) 0%,
      transparent 60%
    );
  z-index: 1;
  transition: background var(--ease);
}
.service-card-v11--featured:hover::before {
  background:
    linear-gradient(
      0deg,
      rgba(10,4,0,.98) 0%,
      rgba(10,4,0,.75) 45%,
      rgba(10,4,0,.22) 75%,
      transparent 100%
    ),
    linear-gradient(
      90deg,
      rgba(10,4,0,.60) 0%,
      transparent 60%
    );
}

/* Amber glow corner */
.service-card-v11--featured::after {
  content: '';
  position: absolute;
  bottom: -10%; left: -5%;
  width: 260px; height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217,107,24,.28), transparent 65%);
  z-index: 1;
  pointer-events: none;
}

/* Featured body – absolute, allosas */
.service-card-v11--featured .service-card-v11__body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 2;
  padding: 2.5rem 2rem 2rem;
  background: transparent;
  gap: .75rem;
}

.service-card-v11--featured .service-card-v11__tag {
  background: rgba(217,107,24,.22);
  border: 1px solid rgba(217,107,24,.40);
  color: var(--gold);
  font-weight: 800;
  letter-spacing: .15em;
  backdrop-filter: blur(4px);
}

.service-card-v11--featured h3 {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  color: #fff;
  line-height: .95;
  text-shadow: 0 2px 16px rgba(0,0,0,.4);
  margin: 0;
}
.service-card-v11--featured h3 a { color: #fff; }

.service-card-v11--featured p {
  color: rgba(255,255,255,.82);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
  max-width: 44ch;
}

.service-card-v11--featured .text-link--button-v11 {
  background: var(--amber);
  border-color: var(--amber);
  color: #fff;
  font-family: var(--fh);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 0 1.4rem;
  min-height: 50px;
  box-shadow: 0 6px 20px rgba(217,107,24,.35);
  transition: background var(--ease), box-shadow var(--ease), transform var(--ease);
}
.service-card-v11--featured .text-link--button-v11:hover {
  background: #BF5C12;
  transform: translateX(2px);
}
.service-card-v11--featured .text-link--button-v11::after {
  content: ' →';
}

/* ── COMPACT CARDS – Overlay stiil ── */
.services-v11__list {
  display: grid;
  gap: 1.1rem;
}

.service-card-v11--compact {
  border: 0;
  border-radius: var(--rl);
  overflow: hidden;
  position: relative;
  min-height: 230px;
  background: var(--dark);
  box-shadow: var(--sh-sm);
  display: flex;
  flex-direction: column;
}

.service-card-v11--compact .service-card-v11__media {
  position: absolute;
  inset: 0;
  aspect-ratio: unset;
  height: 100%;
}

.service-card-v11--compact .service-card-v11__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
  filter: brightness(.75) saturate(1.15);
}
.service-card-v11--compact:hover .service-card-v11__media img {
  transform: scale(1.08);
  filter: brightness(.82) saturate(1.2);
}

/* Overlay gradient */
.service-card-v11--compact::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(10,4,0,.92) 0%,
    rgba(10,4,0,.55) 50%,
    rgba(10,4,0,.10) 100%
  );
  z-index: 1;
  transition: background var(--ease);
}
.service-card-v11--compact:hover::before {
  background: linear-gradient(
    0deg,
    rgba(10,4,0,.96) 0%,
    rgba(10,4,0,.62) 55%,
    rgba(10,4,0,.12) 100%
  );
}

/* Compact body – allosas, overlay peal */
.service-card-v11--compact .service-card-v11__body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 2;
  padding: 1.4rem 1.4rem 1.2rem;
  gap: .4rem;
  background: transparent;
}

.service-card-v11--compact .service-card-v11__tag {
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.75);
  font-size: .65rem;
  letter-spacing: .15em;
  backdrop-filter: blur(4px);
}

.service-card-v11--compact h3 {
  font-size: clamp(1.3rem, 2.8vw, 1.7rem);
  color: #fff;
  line-height: .96;
  text-shadow: 0 2px 12px rgba(0,0,0,.3);
  margin: 0;
}
.service-card-v11--compact h3 a { color: #fff; }

.service-card-v11--compact p {
  color: rgba(255,255,255,.72);
  font-size: .88rem;
  line-height: 1.55;
  margin: 0;
}

/* Compact link – inline underline stiil */
.service-card-v11--compact .text-link--button-v11 {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(240,168,0,.50);
  border-radius: 0;
  color: var(--gold);
  padding: .1rem 0;
  min-height: auto;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .04em;
  align-self: flex-start;
  margin-top: .2rem;
}
.service-card-v11--compact .text-link--button-v11:hover {
  border-bottom-color: var(--gold);
  color: var(--gold);
  background: transparent;
}
.service-card-v11--compact .text-link--button-v11::after {
  content: ' →';
  transition: transform var(--ease);
  display: inline-block;
}
.service-card-v11--compact .text-link--button-v11:hover::after {
  transform: translateX(3px);
}

/* Hover-lift efekt kõigile kaartidele */
.service-card-v11:hover {
  transform: translateY(-5px);
  box-shadow: var(--sh-lg);
}

/* Responsiivsus */
@media(min-width:700px){
  .services-v11__grid {
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
    gap: 1.5rem;
  }
  .service-card-v11--featured {
    min-height: 560px;
  }
  .services-v11__list {
    grid-template-columns: 1fr;
    gap: 1.1rem;
  }
  .service-card-v11--compact {
    min-height: 195px;
  }
}

@media(min-width:1040px){
  .service-card-v11--featured {
    min-height: 640px;
  }
  .service-card-v11--compact {
    min-height: 210px;
  }
}

/* ---------------------------------------------------------------
   MASINAPARK – Samuti premium overlay stiil
--------------------------------------------------------------- */
.machine-card-v11 {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--rl);
  overflow: hidden;
  position: relative;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.machine-card-v11:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 60px rgba(0,0,0,.40);
  border-color: rgba(240,168,0,.30);
}

.machine-card-v11__media {
  position: absolute;
  inset: 0;
  aspect-ratio: unset;
  height: 100%;
}
.machine-card-v11__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(.65) saturate(1.1);
  transition: transform .7s ease, filter .5s ease;
}
.machine-card-v11:hover .machine-card-v11__media img {
  transform: scale(1.07);
  filter: brightness(.72) saturate(1.2);
}

.machine-card-v11::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(10,4,0,.95) 0%,
    rgba(10,4,0,.55) 45%,
    rgba(10,4,0,.08) 100%
  );
  z-index: 1;
}

/* Gold top accent line */
.machine-card-v11::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--amber), var(--gold));
  z-index: 3;
  opacity: 0;
  transition: opacity var(--ease);
}
.machine-card-v11:hover::after {
  opacity: 1;
}

.machine-card-v11__body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 2;
  padding: 1.6rem 1.5rem 1.4rem;
  background: transparent;
  gap: .5rem;
  display: flex;
  flex-direction: column;
}
.machine-card-v11 h3 {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  color: #fff;
  margin: 0;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.machine-card-v11 h3 a { color: #fff; }
.machine-card-v11 p {
  color: rgba(255,255,255,.72);
  font-size: .9rem;
  margin: 0;
}

.machine-card-v11 .service-card-v11__tag--dark {
  background: rgba(217,107,24,.20);
  border: 1px solid rgba(217,107,24,.35);
  color: var(--gold);
  backdrop-filter: blur(4px);
  font-size: .65rem;
  letter-spacing: .15em;
}

.machine-card-v11 .text-link--button-v11-light {
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(240,168,0,.45);
  border-radius: 0;
  color: var(--gold);
  padding: .1rem 0;
  min-height: auto;
  font-size: .88rem;
  font-weight: 700;
  align-self: flex-start;
  margin-top: .2rem;
}
.machine-card-v11 .text-link--button-v11-light:hover {
  color: var(--gold);
  background: transparent;
  border-bottom-color: var(--gold);
}

/* ---------------------------------------------------------------
   INTRO SECTION – Pildiraam ja tekst premium
--------------------------------------------------------------- */
.intro-v11__media {
  border-radius: var(--rl);
  overflow: hidden;
  box-shadow: var(--sh-lg);
  aspect-ratio: 5/4;
  position: relative;
}
.intro-v11__media::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(217,107,24,.08), transparent 55%);
  z-index: 1;
}
/* Amber border left accent */
.section--intro-v11 {
  position: relative;
}
.section--intro-v11::before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, var(--amber), transparent);
}

.intro-v11__content .eyebrow {
  font-size: .72rem;
  font-weight: 800;
}
.intro-v11__content h2 {
  font-size: clamp(2.2rem, 4vw, 4rem);
}
.intro-v11__prose {
  font-size: 1.02rem;
  color: var(--ink-s);
  line-height: 1.8;
}

.intro-v11__point {
  padding: 1rem 1rem 1rem 1.65rem;
  border-radius: var(--rm);
  background: #fff;
  border: 1px solid var(--border-s);
  border-left: 3px solid var(--amber);
  font-weight: 700;
  font-size: .9rem;
  color: var(--ink);
  box-shadow: var(--sh-xs);
}
.intro-v11__point::before { display: none; }

/* ---------------------------------------------------------------
   CTA BOX – Bolder, kontrastsem
--------------------------------------------------------------- */
.cta-box--v11 {
  background: linear-gradient(135deg, var(--rust) 0%, var(--amber) 60%, var(--gold) 100%);
  box-shadow: var(--sh-lg), 0 0 60px rgba(217,107,24,.25);
  border-radius: var(--rx);
}
.cta-box--v11 h2 {
  font-size: clamp(2rem, 4vw, 3.8rem);
}
.cta-box--v11 .btn--light {
  background: rgba(255,255,255,.95);
  color: var(--rust);
  font-size: 1.1rem;
  min-height: 58px;
  padding: 0 2rem;
  box-shadow: 0 6px 20px rgba(0,0,0,.20);
}
.cta-box--v11 .btn--light:hover {
  background: #fff;
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
}


/* ================================================================
   v13.2 – HERO TEXT ELEGANCE + SERVICES REFINEMENT
   ================================================================ */

/* ── Hero tekst: vähem massiivne, rohkem klass ── */
.hero--v11 h1,
.hero--v11 .hero__title {
  /* Väiksem, aga rasvem + õhemad tähed */
  font-size: clamp(1.9rem, 3.8vw, 4.2rem);
  font-weight: 900;
  line-height: .92;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 3px 24px rgba(0,0,0,.50);
  max-width: 12ch;
}

/* Pealkiri kuldse accent-reaga all */
.hero-v11__content .hero-title-wrap {
  position: relative;
  display: inline-block;
  margin-bottom: 1.2rem;
}
.hero-v11__content .hero-title-wrap::after {
  content: '';
  display: block;
  width: 56px; height: 4px;
  background: linear-gradient(90deg, #D96B18, #F0A800);
  border-radius: 99px;
  margin-top: .75rem;
}

/* Lead tekst elegantne */
.hero__lead,
.hero-v11__lead {
  font-size: clamp(.95rem, 1.4vw, 1.12rem);
  line-height: 1.75;
  color: rgba(255,255,255,.82);
  max-width: 52ch;
  font-weight: 400;
  margin-top: .2rem;
}

/* Eyebrow – kompaktne, ei võta ruumi ära */
.hero--v11 .eyebrow.eyebrow--light {
  margin-bottom: .9rem;
  font-size: .68rem;
  padding: .28rem .85rem .28rem .65rem;
}

/* Actions – vähem vahet ülareas */
.hero__actions,
.hero-v11__actions {
  margin-top: 1.6rem;
  gap: .8rem;
}

/* ── TEENUSED v2: Magazine-grid ── */
/* Sektsioon: puhtam taust */
.section--services-v11 {
  background: #F7F3EE;
}

/* Heading: väiksem, elegantsem */
.section--services-v11 .section-heading--split-v11 h2 {
  font-size: clamp(2.2rem, 3.8vw, 4rem);
}

/* Featured kaart: vähem min-height, elegantsem */
.service-card-v11--featured {
  min-height: 420px;
  border-radius: var(--rx);
}
@media(min-width:700px){
  .service-card-v11--featured { min-height: 500px; }
}
@media(min-width:1040px){
  .service-card-v11--featured { min-height: 580px; }
}

/* Featured body: rohkem ruumi, gradient laiem */
.service-card-v11--featured .service-card-v11__body {
  padding: 2rem 1.75rem 1.75rem;
}
.service-card-v11--featured h3 {
  font-size: clamp(1.6rem, 3vw, 2.6rem);
}

/* Compact kaardid: vähem kõrged */
.service-card-v11--compact {
  min-height: 190px;
}
@media(min-width:700px){
  .service-card-v11--compact { min-height: 175px; }
}

/* Tag pill – ühtlustame */
.service-card-v11__tag {
  font-size: .64rem;
  letter-spacing: .16em;
  min-height: 24px;
  padding: 0 .6rem;
}

/* Nupu stiil: featured kaardil ainult arrow-link, mitte nupp */
.service-card-v11--featured .text-link--button-v11 {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 48px;
  padding: 0 1.3rem;
}

/* ── INTRO: parem pildiraami proportsioon ── */
.intro-v11__media {
  aspect-ratio: 16/11;
}

/* ── MASINAPARK: min-height ── */
.machine-card-v11 {
  min-height: 260px;
}
@media(min-width:700px){
  .machines-v11__grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .machine-card-v11 { min-height: 300px; }
}

/* ── FOOTER: lisainfo rida ── */
.footer-grid {
  gap: 2.5rem;
}
@media(min-width:700px){
  .footer-grid { grid-template-columns: 1.6fr 1fr 1fr; }
}

/* ── CTA: parema tekstipaigutusega ── */
.cta-box--v11 {
  padding: clamp(2.2rem,3.5vw,3.5rem) clamp(2rem,3vw,3.5rem);
}
.cta-box--v11 h2 {
  font-size: clamp(1.8rem,3.5vw,3.4rem);
  line-height: .96;
  margin-bottom: .6rem;
}

/* ================================================================
   v13.3 – DEFINITIVE SERVICE CARD OVERLAY FIX
   Overcomes any cascade conflicts with !important where needed
   ================================================================ */

/* ── Featured card: always full-image overlay, never side-by-side ── */
.service-card-v11--featured,
@media(min-width:700px) .service-card-v11--featured {
  display: block !important;
}

/* Workaround for specificity: target via parent grid too */
.services-v11__grid .service-card-v11--featured {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  min-height: 460px;
  background: #180c04;
  border: 0 !important;
  border-radius: var(--rx) !important;
  box-shadow: var(--sh-lg) !important;
}
@media(min-width:700px){
  .services-v11__grid .service-card-v11--featured { min-height: 520px; }
}
@media(min-width:1040px){
  .services-v11__grid .service-card-v11--featured { min-height: 600px; }
}

/* Media: absolute fill */
.services-v11__grid .service-card-v11--featured .service-card-v11__media,
.services-v11__grid .service-card-v11--featured .service-card-v11__media a {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  aspect-ratio: unset !important;
  height: 100% !important;
  width: 100% !important;
}
.services-v11__grid .service-card-v11--featured .service-card-v11__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: brightness(.78) saturate(1.12) !important;
  transition: transform .8s ease, filter .5s ease !important;
}
.services-v11__grid .service-card-v11--featured:hover .service-card-v11__media img {
  transform: scale(1.06) !important;
  filter: brightness(.85) saturate(1.2) !important;
}

/* Gradient overlay */
.services-v11__grid .service-card-v11--featured::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(0deg, rgba(10,4,0,.96) 0%, rgba(10,4,0,.68) 42%, rgba(10,4,0,.18) 72%, transparent 100%),
    linear-gradient(90deg, rgba(10,4,0,.55) 0%, transparent 60%) !important;
  z-index: 1 !important;
}

/* Amber glow */
.services-v11__grid .service-card-v11--featured::after {
  content: '' !important;
  position: absolute !important;
  bottom: -12%; left: -5% !important;
  width: 280px; height: 280px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(217,107,24,.24), transparent 65%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Body: absolute bottom */
.services-v11__grid .service-card-v11--featured .service-card-v11__body {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  top: auto !important;
  z-index: 2 !important;
  padding: 2rem 2rem 1.8rem !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .65rem !important;
}

/* Text colours on dark bg */
.services-v11__grid .service-card-v11--featured h3,
.services-v11__grid .service-card-v11--featured h3 a {
  color: #fff !important;
  font-size: clamp(1.7rem, 3vw, 2.6rem) !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.4) !important;
  margin: 0 !important;
}
.services-v11__grid .service-card-v11--featured p {
  color: rgba(255,255,255,.80) !important;
  margin: 0 !important;
  font-size: .95rem !important;
  max-width: 48ch !important;
}

/* Tag on dark bg */
.services-v11__grid .service-card-v11--featured .service-card-v11__tag {
  background: rgba(217,107,24,.22) !important;
  border: 1px solid rgba(217,107,24,.40) !important;
  color: var(--gold) !important;
}

/* Link as CTA button */
.services-v11__grid .service-card-v11--featured .text-link--button-v11 {
  display: inline-flex !important;
  align-items: center !important;
  gap: .4rem !important;
  min-height: 48px !important;
  padding: 0 1.4rem !important;
  background: var(--amber) !important;
  border: 2px solid var(--amber) !important;
  border-radius: var(--r) !important;
  color: #fff !important;
  font-family: var(--fh) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  box-shadow: 0 6px 18px rgba(217,107,24,.35) !important;
  align-self: flex-start !important;
  margin-top: .3rem !important;
}
.services-v11__grid .service-card-v11--featured .text-link--button-v11::after { content: ' →' !important; }
.services-v11__grid .service-card-v11--featured .text-link--button-v11:hover {
  background: #BF5C12 !important;
  transform: translateY(-2px) !important;
}

/* ── Compact cards in the list: also overlay ── */
.services-v11__list .service-card-v11--compact {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  min-height: 200px !important;
  background: #180c04 !important;
  border: 0 !important;
  border-radius: var(--rl) !important;
  box-shadow: var(--sh-sm) !important;
  transition: transform var(--ease), box-shadow var(--ease) !important;
}
.services-v11__list .service-card-v11--compact:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--sh-md) !important;
}
.services-v11__list .service-card-v11--compact .service-card-v11__media {
  position: absolute !important;
  inset: 0 !important;
  aspect-ratio: unset !important;
  height: 100% !important;
  width: 100% !important;
}
.services-v11__list .service-card-v11--compact .service-card-v11__media img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  filter: brightness(.72) saturate(1.1) !important;
  transition: transform .65s ease !important;
}
.services-v11__list .service-card-v11--compact:hover .service-card-v11__media img {
  transform: scale(1.07) !important;
}
.services-v11__list .service-card-v11--compact::before {
  content: '' !important; position: absolute !important; inset: 0 !important;
  background: linear-gradient(0deg, rgba(10,4,0,.94) 0%, rgba(10,4,0,.52) 55%, rgba(10,4,0,.08) 100%) !important;
  z-index: 1 !important;
}
.services-v11__list .service-card-v11--compact .service-card-v11__body {
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 2 !important;
  padding: 1.2rem 1.35rem 1.1rem !important;
  background: transparent !important;
  gap: .35rem !important;
}
.services-v11__list .service-card-v11--compact h3,
.services-v11__list .service-card-v11--compact h3 a {
  color: #fff !important; margin: 0 !important;
  font-size: clamp(1.2rem, 2.4vw, 1.6rem) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.3) !important;
}
.services-v11__list .service-card-v11--compact p {
  color: rgba(255,255,255,.72) !important; margin: 0 !important; font-size: .85rem !important;
}
.services-v11__list .service-card-v11--compact .service-card-v11__tag {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: rgba(255,255,255,.75) !important;
  font-size: .62rem !important;
}
.services-v11__list .service-card-v11--compact .text-link--button-v11 {
  background: transparent !important; border: 0 !important;
  border-bottom: 1px solid rgba(240,168,0,.45) !important;
  border-radius: 0 !important; color: var(--gold) !important;
  padding: .08rem 0 !important; min-height: auto !important;
  font-size: .85rem !important; font-weight: 700 !important;
  align-self: flex-start !important; margin-top: .15rem !important;
}
.services-v11__list .service-card-v11--compact .text-link--button-v11::after { content: ' →' !important; }

/* ── Hero final fix: ensure small text ── */
/* old h1 rules removed — hero-v15__h1 handles all */

/* ================================================================
   v14 – SERVICES REDESIGN (uued class-nimed, null konflikt)
   ================================================================ */

.rpe14-services {
  background: #F5F0EA;
  padding: clamp(4rem,7vw,8rem) 0;
}

/* Header */
.rpe14-services__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: end;
  margin-bottom: 2.5rem;
}
.rpe14-services__head h2 {
  font-family: var(--fh);
  font-size: clamp(2.4rem,4vw,4.8rem);
  font-weight: 900;
  text-transform: uppercase;
  color: #1A0800;
  line-height: .93;
  margin: .5rem 0 0;
}
.rpe14-services__head-right {
  display: flex;
  flex-direction: column;
  gap: .8rem;
  padding-bottom: .5rem;
}
.rpe14-services__head-right p {
  color: rgba(26,8,0,.62);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
}
.rpe14-all-link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  color: #D96B18;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  letter-spacing: .02em;
  transition: gap .2s;
}
.rpe14-all-link:hover { gap: .6rem; color: #BF5C12; }

/* Layout: big card left + grid right */
.rpe14-services__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media(min-width:800px){
  .rpe14-services__layout {
    grid-template-columns: 1.15fr 1fr;
  }
}

/* Sub-grid for small cards */
.rpe14-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

/* Base card */
.rpe14-card {
  display: block;
  position: relative;
  text-decoration: none;
  border-radius: 18px;
  overflow: hidden;
  background-color: #1A0800;
  background-size: cover;
  background-position: center;
  transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease;
  box-shadow: 0 8px 28px rgba(26,8,0,.14);
}
.rpe14-card:hover {
  transform: translateY(-5px) scale(1.012);
  box-shadow: 0 20px 48px rgba(26,8,0,.22);
}

/* Dark gradient overlay */
.rpe14-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg,
      rgba(10,3,0,.95) 0%,
      rgba(10,3,0,.65) 38%,
      rgba(10,3,0,.18) 65%,
      transparent 100%),
    linear-gradient(110deg,
      rgba(10,3,0,.5) 0%,
      transparent 55%);
  border-radius: inherit;
  transition: opacity .35s ease;
}
.rpe14-card:hover::after {
  opacity: .85;
}

/* Card inner (above overlay) */
.rpe14-card__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.6rem;
  height: 100%;
  gap: .55rem;
}

/* Big card */
.rpe14-card--big {
  min-height: 520px;
}
@media(min-width:800px){
  .rpe14-card--big { min-height: 580px; }
}
.rpe14-card--big .rpe14-card__inner {
  padding: 2rem 2rem 1.8rem;
}

/* Amber glow on big card */
.rpe14-card--big::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 100%, rgba(217,107,24,.22) 0%, transparent 55%);
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
}

/* Small cards */
.rpe14-card--small {
  min-height: 195px;
}
@media(min-width:800px){
  .rpe14-card--small { min-height: 175px; }
}
@media(min-width:1080px){
  .rpe14-card--small { min-height: 200px; }
}

/* Label/pill */
.rpe14-card__label {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  height: 24px;
  padding: 0 .65rem;
  border-radius: 99px;
  background: rgba(217,107,24,.22);
  border: 1px solid rgba(217,107,24,.4);
  color: #F0A800;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  align-self: flex-start;
}

/* Title */
.rpe14-card__title {
  margin: 0;
  color: #fff;
  font-family: var(--fh);
  font-weight: 900;
  text-transform: uppercase;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
  line-height: .96;
}
.rpe14-card--big .rpe14-card__title {
  font-size: clamp(1.9rem,3vw,3rem);
}
.rpe14-card--small .rpe14-card__title {
  font-size: clamp(1.1rem,2.4vw,1.55rem);
}

/* Desc */
.rpe14-card__desc {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: .92rem;
  line-height: 1.65;
  max-width: 46ch;
}

/* CTA button */
.rpe14-card__btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  align-self: flex-start;
  min-height: 44px;
  padding: 0 1.2rem;
  background: #D96B18;
  border-radius: 8px;
  color: #fff;
  font-family: var(--fh);
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: 0 5px 16px rgba(217,107,24,.38);
  transition: background .2s, transform .2s;
}
.rpe14-card:hover .rpe14-card__btn {
  background: #BF5C12;
  transform: translateX(3px);
}
.rpe14-card__btn svg { transition: transform .2s; }
.rpe14-card:hover .rpe14-card__btn svg { transform: translateX(3px); }

.rpe14-card__btn--ghost {
  background: transparent;
  box-shadow: none;
  padding: 0;
  min-height: auto;
  color: #F0A800;
  font-size: .82rem;
  border-bottom: 1px solid rgba(240,168,0,.4);
  border-radius: 0;
}
.rpe14-card:hover .rpe14-card__btn--ghost {
  color: #fff;
  border-color: rgba(255,255,255,.4);
  transform: none;
}

/* Responsive */
@media(max-width:799px){
  .rpe14-services__head {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .rpe14-card--big { min-height: 380px; }
}
@media(max-width:600px){
  .rpe14-cards-grid { grid-template-columns: 1fr; }
  .rpe14-card--small { min-height: 160px; }
}

/* ================================================================
   v14 – HERO FONT FINAL FIX (inline style backup ka PHPs)
   ================================================================ */
.hero--v11 h1,
.hero--v11 .hero__title {
  font-size: clamp(1.8rem,3.5vw,4rem) !important;
  line-height: .93 !important;
  letter-spacing: -.01em !important;
  max-width: 12ch !important;
}
@media(max-width:700px){
  .hero--v11 h1,
  .hero--v11 .hero__title {
    font-size: clamp(1.6rem,7vw,2.8rem) !important;
  }
}

/* ================================================================
   v15 – HERO IMAGE POSITION + 2-LINE H1 + DEFINITIVE FIXES
   ================================================================ */

/* Hero image position via CSS var (set in PHP inline style) */
.hero-slide__media img,
.hero-slide__video {
  object-position: var(--hero-img-pos, center 25%) !important;
}

/* 2-line H1 */
.hero-v15__h1 {
  display: flex;
  flex-direction: column;
  gap: .08em;
  margin: 0 0 1.1rem;
  /* width limited by container, not ch — so it won't overflow */
  max-width: min(100%, var(--hero-content-width, 700px));
}
.hero-v15__h1-line {
  display: block;
  font-family: var(--fh);
  font-weight: 900;
  /* Responsive size: fits 2 long Estonian words per line */
  font-size: clamp(1.55rem, 3.2vw, 3.8rem);
  line-height: .93;
  text-transform: uppercase;
  letter-spacing: -.01em;
  color: #fff;
  text-shadow: 0 3px 20px rgba(0,0,0,.45);
  word-break: keep-all;
  overflow-wrap: normal;
  white-space: normal;
}
.hero-v15__h1-line--accent {
  color: #F0A800;
  text-shadow: 0 3px 20px rgba(240,168,0,.25);
}
.hero-v15__h1-bar {
  display: block;
  width: 48px;
  height: 4px;
  background: linear-gradient(90deg, #D96B18, #F0A800);
  border-radius: 99px;
  margin-top: .55em;
}
@media(max-width:1039px){
  .hero-v15__h1-line { font-size: clamp(1.5rem, 4.5vw, 3.2rem); }
}
@media(max-width:767px){
  .hero-v15__h1-line { font-size: clamp(1.4rem, 7.5vw, 2.6rem); }
  .hero-v15__h1 { max-width: 100%; }
}
@media(max-width:400px){
  .hero-v15__h1-line { font-size: clamp(1.25rem, 8vw, 2.2rem); }
}

/* Also hide old h1 if somehow present */
.hero--v11 h1:not(.hero-v15__h1) {
  font-size: clamp(1.9rem, 3.8vw, 4.2rem) !important;
  line-height: .93 !important;
  max-width: 12ch !important;
}

/* ================================================================
   v15 – MOBILE FIRST RESPONSIVE OVERHAUL
   ================================================================ */

/* ── Global mobile base ── */
@media(max-width:767px){
  html { font-size: 15px; }

  .container {
    padding-inline: 1rem;
  }

  /* ── Header ── */
  .site-header--v9,
  .header-main--v9 {
    padding-inline: 1rem;
  }

  /* ── Hero ── */
  .hero--v11 {
    min-height: 90svh !important;
  }
  .hero-v11__shell {
    padding-inline: 1.25rem;
    padding-bottom: 5rem;
  }
  .hero-v15__h1-line {
    font-size: clamp(1.7rem, 9vw, 3rem) !important;
  }
  .hero-v15__h1-bar { width: 40px; height: 3px; }
  .hero__lead, .hero-v11__lead {
    font-size: .95rem !important;
    max-width: 100%;
  }
  .hero__actions, .hero-v11__actions {
    flex-direction: column;
    gap: .65rem;
  }
  .hero__actions .btn,
  .hero-v11__actions .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
    min-height: 52px;
    font-size: 1rem;
  }
  .hero-v11__trust-wrap { padding-inline: 1rem; }
  .hero-v11__trust-bar {
    flex-wrap: wrap;
    gap: .5rem;
    padding: .75rem 1rem;
  }
  .hero-v11__trust-item { font-size: .8rem; }

  /* Stats strip */
  .section--stats-v11 .stat-strip {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0;
  }
  .stat-item { padding: 1.2rem 1rem; }
  .stat-item__num { font-size: 2rem; }

  /* ── Intro section ── */
  .intro-v11 {
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }
  .intro-v11__media {
    aspect-ratio: 4/3;
    border-radius: 16px;
  }
  .intro-v11__content h2 {
    font-size: clamp(1.8rem, 7vw, 2.6rem);
  }
  .section-lead { font-size: .95rem; }

  /* ── Services v14 ── */
  .rpe14-services { padding: 3rem 0; }
  .rpe14-services__head {
    grid-template-columns: 1fr !important;
    gap: .8rem;
  }
  .rpe14-services__layout {
    grid-template-columns: 1fr !important;
  }
  .rpe14-cards-grid {
    grid-template-columns: 1fr 1fr;
    gap: .85rem;
  }
  .rpe14-card--big { min-height: 320px; }
  .rpe14-card--small { min-height: 150px; }
  .rpe14-card--big .rpe14-card__inner { padding: 1.3rem; }
  .rpe14-card--big .rpe14-card__title { font-size: 1.7rem; }
  .rpe14-card__desc { display: none; }
  .rpe14-card__btn {
    min-height: 38px;
    font-size: .82rem;
    padding: 0 1rem;
  }

  /* ── Section headings ── */
  .section-heading--split-v11 {
    grid-template-columns: 1fr !important;
    gap: .8rem;
  }
  .section-heading--split-v11 h2 {
    font-size: clamp(2rem, 8vw, 3rem);
  }

  /* ── Machines ── */
  .machines-v11__grid {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }
  .machine-card-v11 { min-height: 220px; }

  /* ── CTA ── */
  .cta-box--v11 {
    grid-template-columns: 1fr !important;
    text-align: left;
    gap: 1.5rem;
    padding: 2rem 1.5rem;
  }
  .cta-box--v11 h2 {
    font-size: clamp(1.6rem, 7vw, 2.4rem);
  }
  .cta-box__action { justify-content: flex-start !important; }

  /* ── Contact ── */
  .contact-grid-v11 {
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }

  /* ── Footer ── */
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }
  .footer-bottom { flex-direction: column; gap: .5rem; text-align: center; }
}

/* ── Tablet (768–1039px) ── */
@media(min-width:768px) and (max-width:1039px){
  .container { padding-inline: 1.5rem; }

  .hero-v15__h1-line { font-size: clamp(2rem, 5vw, 3.8rem) !important; }

  .rpe14-services__layout {
    grid-template-columns: 1fr 1fr;
  }
  .rpe14-card--big { min-height: 400px; }
  .rpe14-cards-grid { grid-template-columns: 1fr 1fr; }
  .rpe14-card--small { min-height: 170px; }

  .machines-v11__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .intro-v11 {
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem;
  }
  .section--stats-v11 .stat-strip {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* ── Very small screens ── */
@media(max-width:400px){
  .rpe14-cards-grid { grid-template-columns: 1fr; }
  .rpe14-card--small { min-height: 170px; }
  .hero-v15__h1-line { font-size: clamp(1.5rem, 10vw, 2.4rem) !important; }
}

/* ================================================================
   v16 – INTRO PROSE + GLOBAL RESPONSIVE POLISH
   ================================================================ */

/* Intro: WP page content styles */
.intro-v11__prose {
  font-size: .97rem;
  line-height: 1.75;
  color: rgba(26,14,6,.72);
}
.intro-v11__prose p { margin: 0 0 .85em; }
.intro-v11__prose p:last-child { margin-bottom: 0; }
.intro-v11__prose ul, .intro-v11__prose ol {
  padding-left: 1.3em; margin: 0 0 .85em;
  display: grid; gap: .3em;
}
.intro-v11__prose h2,.intro-v11__prose h3 {
  font-family: var(--fh); font-weight: 800;
  text-transform: uppercase; margin: 1em 0 .4em;
  color: #1A0800;
}
.intro-v11__prose strong { color: #1A0800; font-weight: 700; }
.intro-v11__prose a { color: #D96B18; text-decoration: underline; }

/* Intro layout: parem vertikaalne joondus */
.intro-v11 {
  align-items: center;
}
.intro-v11__media {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(26,8,0,.12);
}
.intro-v11__content h2 {
  font-size: clamp(2rem, 4vw, 3.6rem);
  margin-bottom: .6rem;
}

/* ── Global max-width safety ── */
img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}
* { box-sizing: border-box; }

/* ── Viewport overflow prevention ── */
body { overflow-x: hidden; }
.container { overflow: visible; }

/* ── Mobile: hero shell padding fix ── */
@media(max-width:767px){
  .hero-v11__shell {
    padding-top: 6rem;
    padding-bottom: 4rem;
    padding-inline: 1.25rem;
  }
  /* Hero h1 must not overflow viewport */
  .hero-v15__h1 {
    width: 100%;
    max-width: calc(100vw - 2.5rem);
  }
  .hero-v15__h1-line {
    font-size: clamp(1.35rem, 7.5vw, 2.5rem) !important;
    white-space: normal;
    word-break: break-word;
  }
  /* Intro */
  .intro-v11 {
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }
  .intro-v11__media {
    aspect-ratio: 16/10;
    width: 100%;
  }
  .intro-v11__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* Services */
  .rpe14-services__layout {
    grid-template-columns: 1fr !important;
  }
  .rpe14-cards-grid {
    grid-template-columns: 1fr 1fr;
  }
  .rpe14-card--big { min-height: 300px; }
  .rpe14-card__desc { display: none; }
}

@media(max-width:420px){
  .rpe14-cards-grid { grid-template-columns: 1fr; }
  .rpe14-card--small { min-height: 160px; }
  .hero-v15__h1-line {
    font-size: clamp(1.3rem, 8.5vw, 2.2rem) !important;
  }
}

/* ── Desktop hero content width ── */
@media(min-width:1040px){
  .hero-v11__shell .hero-v11__content {
    max-width: var(--hero-content-width, 720px);
  }
  .hero-v15__h1 {
    max-width: 100%;
  }
  .hero-v15__h1-line {
    font-size: clamp(2rem, 3.4vw, 4.2rem) !important;
  }
}

/* ================================================================
   Hero title final desktop fix – keep exactly 2 text rows
   ================================================================ */
@media (min-width: 768px) {
  .hero-v11__content {
    width: min(92vw, 980px) !important;
    max-width: min(92vw, 980px) !important;
  }

  .hero-v15__h1 {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: auto !important;
    max-width: none !important;
  }

  .hero-v15__h1-line {
    display: block;
    width: max-content;
    max-width: none;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    font-size: clamp(1.9rem, 3vw, 3.6rem) !important;
  }
}

@media (min-width: 1040px) {
  .hero-v15__h1-line {
    font-size: clamp(2rem, 2.9vw, 3.9rem) !important;
  }
}

@media (max-width: 767px) {
  .hero-v15__h1 {
    width: 100% !important;
    max-width: calc(100vw - 2.5rem) !important;
  }

  .hero-v15__h1-line {
    width: auto;
    max-width: 100%;
    white-space: normal !important;
  }
}

/* v17 rentals and booking */
.rental-grid {
  align-items: stretch;
}
.rental-card,
.rental-card__body {
  display: flex;
  flex-direction: column;
}
.rental-card__body {
  gap: 1rem;
}
.rental-meta-list {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}
.rental-meta-list span {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0 .8rem;
  border-radius: 999px;
  background: rgba(217,107,24,.10);
  color: #7c2d0e;
  font-size: .92rem;
  font-weight: 700;
}
.rental-card__cta {
  margin-top: auto;
  align-self: flex-start;
}
.rental-single-grid {
  align-items: start;
}
.rental-sidebar {
  display: grid;
  gap: 1.25rem;
}
.rental-sidebar__card {
  padding: 1.5rem;
}
.rental-sidebar__card h2 {
  margin-top: 0;
  margin-bottom: 1rem;
}
.rental-sidebar__list {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: grid;
  gap: .7rem;
}
.rental-sidebar__note {
  margin: 0 0 1rem;
  color: rgba(17,17,17,.74);
}
.rpe-booking-card {
  margin-top: 2rem;
  padding: 1.5rem;
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid rgba(124,45,14,.10);
  box-shadow: 0 8px 28px rgba(26,8,0,.07);
}
.rpe-booking-card h2 {
  margin-top: 0;
  margin-bottom: 1rem;
}
.rpe-booking-notice {
  margin-bottom: 1rem;
  padding: .9rem 1rem;
  border-radius: .85rem;
  font-weight: 600;
}
.rpe-booking-notice.is-success {
  background: rgba(29,122,63,.10);
  color: #1d7a3f;
}
.rpe-booking-notice.is-error {
  background: rgba(158,34,34,.10);
  color: #9e2222;
}
.rpe-booking-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}
.rpe-booking-form label {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  font-weight: 600;
}
.rpe-booking-form input,
.rpe-booking-form textarea {
  width: 100%;
  border: 1px solid rgba(124,45,14,.18);
  border-radius: .8rem;
  padding: .85rem 1rem;
  background: #fff;
}
.rpe-booking-form input:focus,
.rpe-booking-form textarea:focus {
  outline: none;
  border-color: #d96b18;
  box-shadow: 0 0 0 3px rgba(217,107,24,.12);
}
.rpe-booking-form__full {
  grid-column: 1 / -1;
}

@media (max-width: 767px) {
  .rpe-booking-form__grid {
    grid-template-columns: 1fr;
  }
}

/* ================================================================
   v18.1 – CONTACT BLOCK + BUILT-IN MAIL FORM
   ================================================================ */
.contact-grid-v11--enhanced {
  align-items: stretch;
}
.contact-card-v11--details-rich,
.contact-card-v11--form-rich {
  min-height: 100%;
}
.contact-card-v11__lead {
  color: var(--ink-s);
  line-height: 1.8;
  margin: .75rem 0 0;
}
.contact-facts-v18 {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}
.contact-fact-v18 {
  background: linear-gradient(180deg, #fff 0%, #f8f4ef 100%);
  border: 1px solid var(--border-s);
  border-radius: calc(var(--r) + 2px);
  padding: 1rem 1rem 1.05rem;
  box-shadow: 0 10px 28px rgba(30, 20, 10, .06);
}
.contact-fact-v18__label {
  display: block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--amber);
  margin-bottom: .45rem;
}
.contact-fact-v18__value {
  display: inline-block;
  font-size: 1.12rem;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: .3rem;
}
.contact-fact-v18 p {
  margin: 0;
  color: var(--ink-s);
  font-size: .94rem;
  line-height: 1.65;
}
.contact-actions-v18 {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 1.5rem;
}
.contact-actions-v18 .btn--ghost {
  background: #fff;
  color: var(--ink);
  border-color: rgba(26,14,6,.16);
}
.contact-actions-v18 .btn--ghost:hover {
  background: var(--surf);
  color: var(--ink);
  border-color: rgba(26,14,6,.28);
}
.contact-form-wrap-v18 {
  margin-top: 1.25rem;
}
.rpe-contact-form {
  display: grid;
  gap: 1rem;
}
.rpe-contact-form__grid {
  display: grid;
  gap: 1rem;
}
.rpe-contact-form label {
  display: grid;
  gap: .42rem;
  font-weight: 600;
  color: var(--ink);
}
.rpe-contact-form label span {
  font-size: .92rem;
}
.btn--block {
  width: 100%;
  justify-content: center;
}
.rpe-contact-notice {
  border-radius: var(--r);
  padding: .9rem 1rem;
  margin: 1rem 0 0;
  border: 1px solid transparent;
}
.rpe-contact-notice p {
  margin: 0;
  font-weight: 600;
}
.rpe-contact-notice.is-success {
  background: rgba(67, 137, 88, .12);
  color: #1d5b2c;
  border-color: rgba(67, 137, 88, .24);
}
.rpe-contact-notice.is-error {
  background: rgba(171, 52, 40, .08);
  color: #842920;
  border-color: rgba(171, 52, 40, .18);
}
@media (min-width: 768px) {
  .contact-facts-v18,
  .rpe-contact-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .contact-actions-v18 {
    flex-direction: column;
  }
}
