/*
Theme Name: Michal Lexa Final
Theme URI: https://michallexa.cz
Author: All In Web Service
Description: Prémiová custom WordPress šablona pro Michala Lexu.
Version: 23.0.0
Text Domain: michal-lexa-final
*/

:root{
  --ink:#111915;
  --muted:#626d67;
  --paper:#f6f7f3;
  --white:#ffffff;
  --line:rgba(17,25,21,.10);
  --green:#0a5f43;
  --green-dark:#073c2c;
  --green-soft:#e9f2ed;
  --orange:#ff6f2c;
  --orange-soft:#fff0e8;
  --purple:#7d63c9;
  --purple-soft:#f2effc;
  --serif:"DM Serif Display", Georgia, serif;
  --sans:"Manrope", Arial, sans-serif;
  --container:1360px;
  --radius:28px;
  --shadow:0 24px 70px rgba(10,44,30,.09);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.ml-menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.ml-container{width:min(var(--container),calc(100% - 56px));margin-inline:auto}
.ml-section{padding:92px 0}
.ml-kicker{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.ml-kicker::before{content:"";width:28px;height:2px;background:var(--green)}
.ml-title{margin:14px 0 0;font-family:var(--serif);font-size:clamp(38px,4.2vw,62px);line-height:1;letter-spacing:-.03em;color:var(--green-dark);font-weight:400}
.ml-copy{color:var(--muted);font-size:15px;line-height:1.75}
.ml-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:999;pointer-events:none}
.ml-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green),var(--orange))}

/* HEADER */
.ml-header{position:absolute;z-index:100;left:0;top:0;width:100%;padding:16px 0;transition:.25s ease}
.ml-header.is-fixed{position:fixed;background:rgba(255,255,255,.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);box-shadow:0 12px 28px rgba(0,0,0,.04);padding:9px 0}
.ml-header-inner{display:flex;align-items:center;justify-content:space-between;gap:26px}
.ml-brand{display:flex;align-items:center;gap:12px}
.ml-brand-mark{font-family:var(--serif);font-size:31px;line-height:1;color:var(--green-dark);letter-spacing:-.08em}
.ml-brand-copy{display:flex;flex-direction:column}
.ml-brand-copy strong{font-family:var(--serif);font-size:15px;line-height:1;color:var(--green-dark);font-weight:400;letter-spacing:.03em;text-transform:uppercase}
.ml-brand-copy span{margin-top:4px;font-size:14px;font-weight:700;color:#7b847f;letter-spacing:.16em;text-transform:uppercase}
.ml-nav{display:flex;align-items:center;gap:28px}
.ml-nav a{font-size:14px;font-weight:700;color:#435049;text-transform:uppercase;letter-spacing:.04em;transition:.2s ease}
.ml-nav a:hover{color:var(--green)}
.ml-nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:999px;background:linear-gradient(90deg,var(--green-dark),var(--green));color:#fff!important;box-shadow:0 10px 26px rgba(10,95,67,.18)}
.ml-menu{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:#fff}
.ml-menu span,.ml-menu span::before,.ml-menu span::after{display:block;width:18px;height:2px;background:var(--ink)}
.ml-menu span{position:relative;margin:auto}
.ml-menu span::before,.ml-menu span::after{content:"";position:absolute;left:0}
.ml-menu span::before{top:-6px}.ml-menu span::after{top:6px}

/* HERO */
.ml-hero{position:relative;overflow:hidden;background:#fff;padding:118px 0 0;min-height:760px}
.ml-hero::before{content:"";position:absolute;right:-70px;top:70px;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle at 36% 32%,rgba(10,95,67,.10),rgba(10,95,67,.04) 42%,transparent 63%)}
.ml-hero::after{content:"";position:absolute;right:0;bottom:0;width:360px;height:360px;background:linear-gradient(135deg,transparent 48%,var(--green) 49%);opacity:.98}
.ml-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.03fr .97fr;min-height:640px;align-items:end}
.ml-hero-copy{padding:58px 0 74px;max-width:650px}
.ml-hero-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-size:14px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--green)}
.ml-hero-eyebrow::before{content:"";width:30px;height:2px;background:var(--green)}
.ml-hero h1{margin:0;font-family:var(--serif);font-size:clamp(76px,8.6vw,128px);line-height:.79;letter-spacing:-.045em;font-weight:400;color:var(--green-dark)}
.ml-hero h1 span{display:block;color:var(--orange)}
.ml-hero-lead{max-width:510px;margin:28px 0 0;font-size:16px;line-height:1.7;color:#505c56}
.ml-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.ml-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;transition:.2s ease}
.ml-btn-primary{background:linear-gradient(90deg,var(--green-dark),var(--green));color:#fff;box-shadow:0 15px 30px rgba(10,95,67,.17)}
.ml-btn-primary:hover{transform:translateY(-2px)}
.ml-btn-secondary{color:var(--green-dark);border-bottom:1px solid rgba(10,95,67,.25);border-radius:0;padding-inline:4px;min-height:38px}
.ml-hero-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.ml-hero-benefit{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}
.ml-hero-benefit i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,111,44,.35);color:var(--orange);font-style:normal;font-weight:900}
.ml-hero-benefit:nth-child(2) i{border-color:rgba(125,99,201,.35);color:var(--purple)}
.ml-hero-benefit:nth-child(3) i{border-color:rgba(10,95,67,.35);color:var(--green)}
.ml-hero-benefit strong{display:block;font-size:14px;margin-top:2px}
.ml-hero-benefit span{display:block;margin-top:4px;font-size:14px;line-height:1.5;color:var(--muted)}
.ml-hero-visual{position:relative;height:640px;align-self:end}
.ml-hero-photo{position:absolute;z-index:3;bottom:0;right:16px;width:600px;max-width:92%;height:620px;object-fit:contain;object-position:bottom center}
.ml-hero-glass{position:absolute;z-index:5;right:26px;bottom:38px;width:260px;padding:20px;border-radius:22px;background:rgba(5,75,52,.93);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 55px rgba(8,55,38,.22)}
.ml-hero-glass small{display:block;font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.ml-hero-glass strong{display:block;margin-top:8px;font-size:16px;line-height:1.35}
.ml-hero-pattern{position:absolute;z-index:4;right:18px;bottom:16px;width:150px;height:100px;background-image:radial-gradient(rgba(255,255,255,.4) 1.2px,transparent 1.2px);background-size:11px 11px;opacity:.65}

/* PARTNER STRIP */
.ml-partners{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;padding:24px 0}
.ml-partners-row{display:grid;grid-template-columns:160px repeat(6,1fr);gap:22px;align-items:center}
.ml-partners-label{font-size:14px;font-weight:800;color:#6b756f;text-transform:uppercase;letter-spacing:.12em}
.ml-partner{font-size:18px;font-weight:700;color:#939b97;text-align:center;filter:grayscale(1)}

/* SERVICES */
.ml-services{background:linear-gradient(180deg,#fff,#fbfcfa)}
.ml-services-head{display:grid;grid-template-columns:1fr 300px;gap:50px;align-items:end;margin-bottom:36px}
.ml-services-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.ml-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ml-service{min-height:230px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(10,44,30,.035);transition:.22s ease}
.ml-service:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ml-service-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:var(--green-soft);color:var(--green);font-weight:900}
.ml-service:nth-child(2) .ml-service-icon,.ml-service:nth-child(4) .ml-service-icon{background:var(--purple-soft);color:var(--purple)}
.ml-service:nth-child(3) .ml-service-icon,.ml-service:nth-child(6) .ml-service-icon{background:var(--orange-soft);color:var(--orange)}
.ml-service h3{margin:18px 0 8px;font-size:18px;line-height:1.15;color:var(--green-dark);letter-spacing:-.02em}
.ml-service p{margin:0;color:var(--muted);font-size:14px;line-height:1.62}
.ml-service a{display:inline-flex;margin-top:20px;font-size:14px;font-weight:800;color:var(--green);text-transform:uppercase;letter-spacing:.04em}
.ml-team-card{background:linear-gradient(145deg,var(--green-dark),var(--green));color:#fff;border:none}
.ml-team-card .ml-service-icon{background:rgba(255,255,255,.12);color:#fff}
.ml-team-card h3{color:#fff}
.ml-team-card p{color:rgba(255,255,255,.75)}
.ml-team-card a{color:#fff}

/* CALCULATOR HERO BAND */
.ml-calc-band{display:grid;grid-template-columns:1fr 1fr;min-height:470px;background:linear-gradient(130deg,#0b6a48,#073c2c 72%);color:#fff;overflow:hidden}
.ml-calc-copy{padding:62px max(48px,calc((100vw - var(--container))/2));padding-right:70px}
.ml-calc-copy .ml-kicker{color:#fff}.ml-calc-copy .ml-kicker::before{background:#fff}
.ml-calc-copy h2{margin:16px 0 18px;font-family:var(--serif);font-size:52px;font-weight:400;line-height:1;color:#fff}
.ml-calc-copy p{max-width:460px;color:rgba(255,255,255,.76);font-size:14px;line-height:1.7}
.ml-calc-stats{display:flex;gap:42px;margin-top:34px}
.ml-calc-stat strong{display:block;font-family:var(--serif);font-size:30px;font-weight:400}
.ml-calc-stat span{display:block;margin-top:4px;color:rgba(255,255,255,.65);font-size:14px}
.ml-calc-visual{position:relative;background-size:cover;background-position:center}
.ml-calc-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,60,44,.35),rgba(7,60,44,0) 35%)}
.ml-calc-card{position:absolute;z-index:3;left:-60px;top:50%;transform:translateY(-50%);width:340px;padding:24px;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.2)}
.ml-calc-card h3{margin:0 0 18px;color:var(--green-dark);font-size:16px}
.ml-range{margin-top:15px}
.ml-range-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:8px}
.ml-range-head label{font-size:14px;font-weight:800;text-transform:uppercase;color:#7a837f}
.ml-range-value{font-size:14px;font-weight:800;color:#26332d}
.ml-range input{width:100%;accent-color:var(--green)}
.ml-payment{margin:18px 0 12px}
.ml-payment small{display:block;font-size:14px;color:#7b847f}
.ml-payment strong{display:block;margin-top:4px;font-family:var(--serif);font-size:28px;font-weight:400;color:var(--green-dark)}
.ml-calc-card .ml-btn{width:100%;background:var(--orange);color:#fff}
.ml-calc-note{margin-top:10px;text-align:center;font-size:14px;color:#8a928e}

/* APPROACH */
.ml-approach{display:grid;grid-template-columns:1.35fr .65fr;min-height:380px;background:#fff}
.ml-approach-left{padding:62px max(48px,calc((100vw - var(--container))/2));padding-right:70px}
.ml-approach-left h2{margin:14px 0 28px;font-family:var(--serif);font-size:42px;font-weight:400;color:var(--green-dark)}
.ml-approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ml-approach-item{padding-right:16px;border-right:1px solid var(--line)}
.ml-approach-item:last-child{border-right:0}
.ml-approach-item i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(10,95,67,.18);font-style:normal;color:var(--green)}
.ml-approach-item:nth-child(2) i,.ml-approach-item:nth-child(4) i{color:var(--purple);border-color:rgba(125,99,201,.20)}
.ml-approach-item strong{display:block;margin-top:14px;font-size:14px;color:var(--green-dark)}
.ml-approach-item span{display:block;margin-top:7px;font-size:14px;line-height:1.55;color:var(--muted)}
.ml-approach-photo{background-size:cover;background-position:center;min-height:380px}

/* BLOG */
.ml-blog{background:#fff}
.ml-blog-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}
.ml-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ml-post{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.2s ease}
.ml-post:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ml-post-image{height:190px;background-size:cover;background-position:center}
.ml-post-body{padding:20px}
.ml-post-date{font-size:14px;color:#87908b}
.ml-post h3{margin:9px 0 8px;font-size:16px;line-height:1.25;color:var(--green-dark)}
.ml-post p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.ml-post a{display:inline-flex;margin-top:14px;font-size:14px;font-weight:800;color:var(--green);text-transform:uppercase}

/* TEAM / FULL IMAGE STRIP */
.ml-team-strip{display:grid;grid-template-columns:1fr 1fr;min-height:430px;background:#f7f8f5}
.ml-team-photo{background-size:cover;background-position:center}
.ml-team-copy{padding:70px max(48px,calc((100vw - var(--container))/2));padding-left:70px;display:flex;flex-direction:column;justify-content:center}
.ml-team-copy h2{margin:14px 0 14px;font-family:var(--serif);font-size:48px;font-weight:400;line-height:1.02;color:var(--green-dark)}
.ml-team-copy p{max-width:520px;color:var(--muted);font-size:14px;line-height:1.75}
.ml-team-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.ml-team-pills span{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:800}
.ml-team-pills span:nth-child(2){background:var(--orange-soft);border-color:rgba(255,111,44,.15)}
.ml-team-pills span:nth-child(3){background:var(--purple-soft);border-color:rgba(125,99,201,.16)}

/* CONTACT */
.ml-contact{position:relative;overflow:hidden;min-height:460px;background-size:cover;background-position:center}
.ml-contact::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,24,18,.92) 0%,rgba(7,24,18,.82) 42%,rgba(7,24,18,.28) 70%,rgba(7,24,18,.08) 100%)}
.ml-contact-inner{position:relative;z-index:2;display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:center;padding:62px 0}
.ml-contact-copy{color:#fff}
.ml-contact-copy h2{margin:0;font-family:var(--serif);font-size:46px;font-weight:400;line-height:1.05}
.ml-contact-copy ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.ml-contact-copy li{font-size:14px;color:rgba(255,255,255,.82)}
.ml-contact-copy li::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:9px;border-radius:50%;background:var(--green);color:#fff;font-size:14px}
.ml-sign{margin-top:26px;font-family:var(--serif);font-size:24px;line-height:1.5;color:#fff}
.ml-form-card{padding:28px;border-radius:24px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 25px 70px rgba(0,0,0,.24)}
.ml-form-card h3{margin:0 0 18px;color:var(--green-dark);font-size:16px}
.ml-alert{margin-bottom:16px;padding:11px 13px;border-radius:12px;font-size:14px;font-weight:700}
.ml-alert-ok{background:var(--green-soft);color:var(--green)}
.ml-alert-bad{background:#fff1ea;color:#a14c25}
.ml-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.ml-field{display:flex;flex-direction:column}
.ml-field-full{grid-column:1/-1}
.ml-field input,.ml-field select,.ml-field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;outline:none;color:var(--ink)}
.ml-field textarea{min-height:110px;resize:vertical}
.ml-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px}
.ml-form-note{max-width:330px;font-size:14px;line-height:1.5;color:#89918d}
.ml-form-card .ml-btn{background:var(--orange);color:#fff;min-width:160px}

/* FOOTER */
.ml-footer{padding:26px 0;background:#fff;border-top:1px solid var(--line)}
.ml-footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.ml-footer-left{display:flex;align-items:center;gap:14px}
.ml-footer-left .ml-brand-mark{font-size:28px}
.ml-footer-copy{font-size:14px;color:#8a928e}
.ml-footer-links{display:flex;gap:22px;font-size:14px;color:#69736e}
.ml-social{display:flex;gap:9px}
.ml-social span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-size:14px;color:var(--green-dark)}

[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
[data-reveal].is-in{opacity:1;transform:none}

@media(max-width:1100px){
  .ml-nav{display:none}.ml-menu{display:block}
  .ml-nav.is-open{position:fixed;z-index:120;left:20px;right:20px;top:78px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:18px;border-radius:22px;background:#fff;box-shadow:var(--shadow);border:1px solid var(--line)}
  .ml-nav.is-open a{padding:13px 10px}
  .ml-hero-grid{grid-template-columns:1fr}.ml-hero-copy{padding-bottom:20px}.ml-hero-visual{height:610px}.ml-hero-photo{right:50%;transform:translateX(50%)}
  .ml-partners-row{grid-template-columns:140px repeat(3,1fr)}
  .ml-services-grid{grid-template-columns:repeat(2,1fr)}
  .ml-calc-band,.ml-approach,.ml-team-strip{grid-template-columns:1fr}
  .ml-calc-visual{min-height:430px}.ml-calc-card{left:50%;transform:translate(-50%,-50%)}
  .ml-approach-photo,.ml-team-photo{min-height:380px}
  .ml-blog-grid{grid-template-columns:1fr 1fr}.ml-post:last-child{grid-column:1/-1}
  .ml-contact-inner{grid-template-columns:1fr}
}

@media(max-width:700px){
  .ml-container{width:min(var(--container),calc(100% - 28px))}
  .ml-header{padding:11px 0}.ml-brand-copy span{display:none}
  .ml-hero{padding-top:88px}.ml-hero-copy{padding:44px 0 12px}.ml-hero h1{font-size:68px}.ml-hero-lead{font-size:14px}.ml-hero-benefits{grid-template-columns:1fr}.ml-hero-actions{display:grid}.ml-btn{width:100%}
  .ml-hero-visual{height:520px}.ml-hero-photo{width:390px;height:500px;right:49%}.ml-hero-glass{right:8px;bottom:18px;width:225px}.ml-hero-pattern{display:none}
  .ml-partners-row{grid-template-columns:1fr 1fr}.ml-partners-label{grid-column:1/-1}
  .ml-services-head{grid-template-columns:1fr;gap:15px}.ml-services-grid{grid-template-columns:1fr}
  .ml-calc-copy{padding:48px 24px}.ml-calc-copy h2{font-size:42px}.ml-calc-stats{gap:22px}.ml-calc-visual{min-height:480px}.ml-calc-card{width:calc(100% - 30px)}
  .ml-approach-left{padding:48px 24px}.ml-approach-grid{grid-template-columns:1fr 1fr}.ml-approach-item{border-right:0}
  .ml-blog-grid{grid-template-columns:1fr}.ml-post:last-child{grid-column:auto}
  .ml-team-copy{padding:48px 24px}.ml-team-copy h2{font-size:40px}
  .ml-contact-inner{padding:48px 0}.ml-contact-copy h2{font-size:39px}.ml-form-grid{grid-template-columns:1fr}.ml-field-full{grid-column:auto}.ml-form-bottom{flex-direction:column;align-items:stretch}.ml-form-card .ml-btn{width:100%}
  .ml-footer-row{flex-direction:column;align-items:flex-start}.ml-footer-links{flex-wrap:wrap}
}


/* =========================================================
   V7 FINAL OVERRIDES
   ========================================================= */

/* Hero: large green geometric triangle behind Michal, matching approved direction. */
.ml-hero::after{
  content:"";
  position:absolute;
  z-index:1;
  right:-72px;
  bottom:0;
  width:690px;
  height:620px;
  opacity:1;
  background:linear-gradient(145deg,#0d7351 0%,#085239 62%,#063e2d 100%);
  clip-path:polygon(100% 0,100% 100%,0 100%);
}
.ml-hero-grid{z-index:3}
.ml-hero-visual{z-index:3}
.ml-hero-visual::before{
  content:"";
  position:absolute;
  z-index:1;
  right:-118px;
  top:12px;
  width:590px;
  height:540px;
  background:linear-gradient(145deg,rgba(242,246,241,.98),rgba(255,255,255,.50));
  clip-path:polygon(38% 0,100% 0,100% 28%,31% 100%,0 100%,0 45%);
}
.ml-hero-visual::after{
  content:"";
  position:absolute;
  z-index:4;
  right:-12px;
  top:62px;
  width:320px;
  height:470px;
  border-right:1.5px solid rgba(125,99,201,.30);
  border-radius:50%;
  transform:rotate(18deg);
  pointer-events:none;
}
.ml-hero-photo{z-index:5}
.ml-hero-glass{z-index:7}
.ml-hero-pattern{z-index:6}

/* The calculator card must always be fully visible. */
.ml-calc-band{
  min-height:560px;
  overflow:visible;
  position:relative;
  z-index:2;
}
.ml-calc-copy{min-height:560px;display:flex;flex-direction:column;justify-content:center}
.ml-calc-visual{min-height:560px;overflow:visible}
.ml-calc-card{
  left:-80px;
  top:50%;
  width:370px;
  max-height:none;
  padding:28px;
  overflow:visible;
}
.ml-calc-card h3{font-size:18px}
.ml-range-head label,
.ml-payment small,
.ml-calc-note{font-size:14px}
.ml-range-value{font-size:15px}
.ml-calc-stat span{font-size:14px}
.ml-calc-copy p{font-size:14px}

/* Strong B2B Luvia Group band. */
.ml-luvia-band{
  position:relative;
  overflow:hidden;
  min-height:310px;
  color:#fff;
  background:
    radial-gradient(circle at 80% 35%,rgba(115,44,190,.35),transparent 28%),
    radial-gradient(circle at 15% 15%,rgba(94,24,160,.20),transparent 26%),
    linear-gradient(100deg,#12021f 0%,#25043c 46%,#0d0718 100%);
  border-top:1px solid rgba(214,173,70,.28);
  border-bottom:1px solid rgba(214,173,70,.28);
}
.ml-luvia-band::before{
  content:"";
  position:absolute;
  right:-120px;
  top:-130px;
  width:650px;
  height:520px;
  border:2px solid rgba(214,173,70,.45);
  border-left-color:transparent;
  border-bottom-color:transparent;
  border-radius:50%;
  transform:rotate(22deg);
}
.ml-luvia-band::after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:-250px;
  width:760px;
  height:520px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center,rgba(128,53,221,.52) 0%,rgba(128,53,221,.18) 38%,transparent 65%);
  transform:rotate(-12deg);
}
.ml-luvia-inner{
  position:relative;
  z-index:2;
  min-height:310px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:70px;
  align-items:center;
  padding:54px 0;
}
.ml-luvia-copy{max-width:720px}
.ml-luvia-kicker{
  color:#d8b443;
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ml-luvia-title{
  margin:12px 0 0;
  max-width:760px;
  font-size:clamp(36px,4vw,58px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:800;
}
.ml-luvia-title span{color:#d8b443}
.ml-luvia-copy p{
  max-width:690px;
  margin:18px 0 0;
  color:rgba(255,255,255,.78);
  font-size:15px;
  line-height:1.7;
}
.ml-luvia-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:22px;
}
.ml-luvia-points span{
  position:relative;
  padding-left:21px;
  color:#fff;
  font-size:14px;
  font-weight:700;
}
.ml-luvia-points span::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-1px;
  color:#d8b443;
}
.ml-luvia-action{
  position:relative;
  z-index:3;
  justify-self:end;
  width:min(100%,390px);
  padding:28px;
  border:1px solid rgba(214,173,70,.35);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  backdrop-filter:blur(12px);
  box-shadow:0 22px 55px rgba(0,0,0,.18);
}
.ml-luvia-action small{
  display:block;
  color:#d8b443;
  font-size:14px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ml-luvia-action strong{
  display:block;
  margin-top:10px;
  font-family:var(--serif);
  font-size:31px;
  line-height:1.1;
  font-weight:400;
}
.ml-luvia-action p{
  margin:10px 0 20px;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.6;
}
.ml-luvia-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 19px;
  border:1px solid rgba(214,173,70,.72);
  border-radius:999px;
  color:#fff;
  background:rgba(216,180,67,.10);
  font-size:14px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  transition:.2s ease;
}
.ml-luvia-btn:hover{background:#d8b443;color:#1a0a25}

/* Larger footer with navigation categories. */
.ml-footer{
  padding:58px 0 28px;
  color:#fff;
  background:linear-gradient(135deg,#0b231a,#073c2c 62%,#09291f);
  border-top:0;
}
.ml-footer-grid{
  display:grid;
  grid-template-columns:1.1fr 1.15fr .85fr .85fr;
  gap:42px;
  align-items:start;
}
.ml-footer-about .ml-brand{color:#fff}
.ml-footer-about .ml-brand-mark,
.ml-footer-about .ml-brand-copy strong{color:#fff}
.ml-footer-about .ml-brand-copy span{color:rgba(255,255,255,.55)}
.ml-footer-about p{
  max-width:330px;
  margin:18px 0 0;
  color:rgba(255,255,255,.64);
  font-size:14px;
  line-height:1.7;
}
.ml-footer-col h4{
  margin:0 0 15px;
  color:#fff;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.ml-footer-col nav{display:grid;gap:9px}
.ml-footer-col a{
  color:rgba(255,255,255,.65);
  font-size:14px;
  line-height:1.45;
  transition:.2s ease;
}
.ml-footer-col a:hover{color:#fff}
.ml-footer-col .ml-footer-luvia{
  color:#d8b443;
  font-weight:800;
}
.ml-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:36px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.11);
  color:rgba(255,255,255,.48);
  font-size:14px;
}
.ml-footer-legal{display:flex;flex-wrap:wrap;gap:18px}
.ml-footer-legal a{color:rgba(255,255,255,.56);font-size:14px}

/* Minimum readable type size requested for the whole theme. */
small{font-size:14px}

/* Restore intended hierarchy after global floor. */
.ml-brand-mark{font-size:31px}
.ml-brand-copy strong{font-size:15px}
.ml-hero h1{font-size:clamp(76px,8.6vw,128px)}
.ml-hero-glass strong{font-size:16px}
.ml-partner{font-size:18px}
.ml-service h3{font-size:18px}
.ml-calc-copy h2{font-size:52px}
.ml-calc-stat strong{font-size:30px}
.ml-calc-card h3{font-size:18px}
.ml-range-value{font-size:15px}
.ml-payment strong{font-size:28px}
.ml-approach-left h2{font-size:42px}
.ml-post h3{font-size:16px}
.ml-team-copy h2{font-size:48px}
.ml-contact-copy h2{font-size:46px}
.ml-sign{font-size:24px}
.ml-form-card h3{font-size:16px}
.ml-luvia-title{font-size:clamp(36px,4vw,58px)}
.ml-luvia-action strong{font-size:31px}

@media(max-width:1100px){
  .ml-luvia-inner{grid-template-columns:1fr;gap:30px}
  .ml-luvia-action{justify-self:start}
  .ml-calc-card{left:50%;transform:translate(-50%,-50%)}
  .ml-footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:700px){
  .ml-hero::after{right:-205px;width:610px;height:520px}
  .ml-hero-visual::before{right:-210px;width:540px;height:470px}
  .ml-calc-band{min-height:auto;overflow:hidden}
  .ml-calc-copy{min-height:auto}
  .ml-calc-visual{min-height:590px}
  .ml-calc-card{width:calc(100% - 28px);left:50%;top:50%}
  .ml-luvia-inner{padding:46px 0}
  .ml-luvia-band{min-height:auto}
  .ml-luvia-title{font-size:38px}
  .ml-luvia-action{width:100%}
  .ml-footer-grid{grid-template-columns:1fr}
  .ml-footer-bottom{flex-direction:column;align-items:flex-start}
}

/* ==============================
   V8 adjustments based on review
   ============================== */

body{font-size:16px;line-height:1.65}
.ml-container{width:min(1380px,calc(100% - 72px))}
.ml-section{padding:108px 0}
.ml-copy{font-size:16px;line-height:1.8}

/* Minimum readable size across the whole site */
small,
.ml-kicker,
.ml-hero-eyebrow,
.ml-nav a,
.ml-brand-copy span,
.ml-btn,
.ml-hero-benefit strong,
.ml-hero-benefit span,
.ml-partners-label,
.ml-services-head p,
.ml-service p,
.ml-service a,
.ml-calc-copy p,
.ml-calc-stat span,
.ml-range-head label,
.ml-range-value,
.ml-payment small,
.ml-calc-note,
.ml-approach-item span,
.ml-post-date,
.ml-post p,
.ml-post a,
.ml-team-copy p,
.ml-team-pills span,
.ml-contact-copy ul li,
.ml-form-note,
.ml-alert,
.ml-field input,
.ml-field select,
.ml-field textarea,
.ml-footer-about p,
.ml-footer-col h4,
.ml-footer-col a,
.ml-footer-bottom,
.ml-footer-legal a,
.ml-luvia-kicker,
.ml-luvia-copy p,
.ml-luvia-points span,
.ml-luvia-action small,
.ml-luvia-action p,
.ml-luvia-btn,
.ml-hero-glass small,
.ml-hero-glass strong,
.ml-form-card h3,
.ml-blog-head .ml-btn{
  font-size:14px !important;
}

.ml-brand-copy strong{font-size:18px}
.ml-nav{gap:30px}
.ml-nav a{font-weight:800}
.ml-nav-cta{min-height:46px;padding:0 19px}
.ml-btn{min-height:52px;padding:0 22px}
.ml-btn-secondary{min-height:40px}

/* Airier hero with green triangle + subtle orange tint */
.ml-hero{
  padding:132px 0 0;
  min-height:820px;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,111,44,.11),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f7f7f4 100%);
}
.ml-hero::before{
  right:200px;
  top:58px;
  width:560px;
  height:560px;
  border-radius:50%;
  background:radial-gradient(circle at 45% 42%,rgba(10,95,67,.12),rgba(10,95,67,.04) 48%,transparent 70%);
}
.ml-hero::after{
  right:-80px;
  bottom:0;
  width:700px;
  height:620px;
  background:linear-gradient(140deg,#0c7b57 0%,#08563d 58%,#063f2e 100%);
  clip-path:polygon(100% 0,100% 100%,18% 100%);
  opacity:1;
}
.ml-hero-grid{min-height:690px;align-items:end;gap:44px}
.ml-hero-copy{padding:72px 0 86px;max-width:690px}
.ml-hero-eyebrow{margin-bottom:28px}
.ml-hero h1{line-height:.82}
.ml-hero-lead{max-width:560px;margin-top:30px;font-size:18px;line-height:1.72}
.ml-hero-actions{margin-top:34px;gap:16px}
.ml-hero-benefits{gap:18px;margin-top:42px}
.ml-hero-benefit{grid-template-columns:40px 1fr;gap:14px}
.ml-hero-benefit i{width:40px;height:40px}
.ml-hero-benefit strong{font-size:16px !important;margin-top:1px}
.ml-hero-benefit span{line-height:1.55}
.ml-hero-visual{height:700px}
.ml-hero-photo{right:34px;width:640px;height:664px}
.ml-hero-visual::before{
  content:"";
  position:absolute;
  z-index:2;
  right:100px;
  top:30px;
  width:500px;
  height:560px;
  border-radius:42% 58% 46% 54% / 51% 47% 53% 49%;
  background:linear-gradient(180deg,rgba(240,244,241,.95),rgba(225,232,228,.8));
}
.ml-hero-glass{
  right:44px;
  bottom:54px;
  width:296px;
  padding:24px;
  border-radius:24px;
  background:rgba(7,79,55,.92);
}
.ml-hero-glass strong{font-size:17px !important;line-height:1.45}
.ml-hero-pattern{
  right:60px;
  bottom:42px;
  width:160px;
  height:112px;
  opacity:.34;
}

/* Partner strip with real image assets */
.ml-partners{padding:28px 0 30px}
.ml-partners-row{grid-template-columns:170px repeat(6,1fr);gap:28px}
.ml-partners-label{font-weight:800}
.ml-partner{display:flex;justify-content:center;align-items:center;min-height:44px}
.ml-partner img{max-height:34px;width:auto;max-width:100%;opacity:.8;filter:grayscale(1)}
.ml-partner:nth-child(6) img{max-height:40px}

/* More breathing room overall */
.ml-services-head{margin-bottom:50px;gap:60px}
.ml-services-head p{font-size:15px !important;max-width:420px;justify-self:end}
.ml-services-grid{gap:20px}
.ml-service{min-height:260px;padding:28px 26px;border-radius:24px}
.ml-service h3{margin:20px 0 10px;font-size:22px !important}
.ml-service p{line-height:1.72}
.ml-service a{display:inline-block;margin-top:18px;font-weight:800;color:var(--green-dark)}

.ml-calc-band{min-height:780px}
.ml-calc-copy{padding:108px 7vw 108px calc((100vw - min(var(--container),calc(100% - 72px))) / 2);min-height:780px}
.ml-calc-copy h2{font-size:56px;line-height:1.02}
.ml-calc-copy p{font-size:16px !important;max-width:520px}
.ml-calc-stats{margin-top:34px;gap:22px}
.ml-calc-stat{padding:22px 20px}
.ml-calc-stat strong{font-size:32px}
.ml-calc-card{width:min(420px,calc(100% - 42px));padding:30px;top:50%}
.ml-calc-card h3{font-size:20px !important}
.ml-range{margin-top:20px}
.ml-range-value{font-size:16px !important}
.ml-payment{margin-top:24px}
.ml-payment strong{font-size:30px}

.ml-approach{grid-template-columns:1fr 1fr;min-height:720px}
.ml-approach-left{padding:108px calc((100vw - min(var(--container),calc(100% - 72px))) / 2) 108px 0;margin-left:calc((100vw - min(var(--container),calc(100% - 72px))) / 2)}
.ml-approach-left h2{font-size:48px;max-width:560px}
.ml-approach-grid{gap:18px;margin-top:34px}
.ml-approach-item{padding:24px 24px 24px 22px}
.ml-approach-item strong{font-size:18px}
.ml-approach-item span{font-size:16px !important;line-height:1.7;margin-top:7px}

.ml-blog-head{margin-bottom:38px}
.ml-blog-grid{gap:22px}
.ml-post-image{height:240px}
.ml-post-body{padding:24px}
.ml-post-date{font-size:14px !important}
.ml-post h3{font-size:24px;line-height:1.15}
.ml-post p,.ml-post a{line-height:1.72}

.ml-team-strip{grid-template-columns:1.02fr .98fr;min-height:560px}
.ml-team-copy{padding:84px 7vw 84px 56px;max-width:760px}
.ml-team-copy h2{font-size:56px;line-height:1.02;margin:20px 0 0}
.ml-team-copy p{font-size:16px !important;line-height:1.8;margin-top:24px}
.ml-team-pills{gap:12px;margin-top:30px}
.ml-team-pills span{padding:12px 16px;border-radius:999px}

/* Larger, wider, more premium B2B band with skyscraper tint */
.ml-luvia-band{
  min-height:430px;
  border-top:1px solid rgba(214,173,70,.22);
  border-bottom:1px solid rgba(214,173,70,.22);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#180726;
}
.ml-luvia-band::before{
  inset:0;
  width:auto;
  height:auto;
  right:auto;
  top:auto;
  border:0;
  border-radius:0;
  transform:none;
  background:
    linear-gradient(90deg,rgba(17,3,29,.96) 0%,rgba(29,4,47,.88) 38%,rgba(58,21,104,.68) 70%,rgba(77,36,128,.58) 100%),
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0));
}
.ml-luvia-band::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 82% 22%,rgba(255,166,0,.12),transparent 18%),
    radial-gradient(circle at 76% 66%,rgba(137,72,232,.30),transparent 26%),
    linear-gradient(0deg,rgba(10,3,18,.22),rgba(10,3,18,.22));
  transform:none;
  width:auto;
  height:auto;
  border-radius:0;
}
.ml-luvia-inner{min-height:430px;grid-template-columns:1.15fr .85fr;gap:90px;padding:84px 0}
.ml-luvia-copy{max-width:760px}
.ml-luvia-kicker{font-size:14px !important;letter-spacing:.14em}
.ml-luvia-title{max-width:860px;font-size:clamp(42px,4.4vw,68px) !important;line-height:1.02}
.ml-luvia-copy p{margin-top:24px;font-size:16px !important;line-height:1.82;max-width:690px;color:rgba(255,255,255,.82)}
.ml-luvia-points{gap:14px 22px;margin-top:28px}
.ml-luvia-points span{font-size:15px !important;padding-left:23px}
.ml-luvia-action{width:min(100%,420px);padding:34px 34px 32px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));box-shadow:0 30px 70px rgba(0,0,0,.25)}
.ml-luvia-action small{font-size:14px !important}
.ml-luvia-action strong{margin-top:14px;font-size:38px !important;line-height:1.08}
.ml-luvia-action p{margin:14px 0 24px;font-size:15px !important;line-height:1.72;color:rgba(255,255,255,.74)}
.ml-luvia-btn{min-height:52px;padding:0 22px;font-size:14px !important}

.ml-contact{padding:116px 0}
.ml-contact::before{background:rgba(8,41,29,.67)}
.ml-contact-inner{gap:46px}
.ml-contact-copy h2{font-size:52px;line-height:1.02}
.ml-contact-copy ul{gap:14px;margin-top:28px}
.ml-contact-copy ul li{font-size:16px !important;line-height:1.6}
.ml-sign{margin-top:34px;font-size:26px}
.ml-form-card{padding:34px;border-radius:26px}
.ml-form-card h3{font-size:20px !important}
.ml-form-grid{gap:14px}
.ml-field input,.ml-field select,.ml-field textarea{min-height:56px;padding:0 18px;font-size:16px !important}
.ml-field textarea{padding:16px 18px;min-height:150px}
.ml-form-bottom{margin-top:22px;gap:18px}
.ml-form-note{max-width:320px;line-height:1.7}

/* Bigger, more readable footer */
.ml-footer{padding:74px 0 34px}
.ml-footer-grid{grid-template-columns:1.15fr 1fr .85fr .9fr;gap:48px}
.ml-footer-about p{max-width:370px;margin-top:20px;font-size:15px !important;line-height:1.8;color:rgba(255,255,255,.72)}
.ml-footer-col h4{margin-bottom:18px;font-size:15px !important}
.ml-footer-col nav{gap:11px}
.ml-footer-col a{font-size:14px !important;line-height:1.58}
.ml-footer-bottom{margin-top:42px;padding-top:24px;font-size:14px !important}
.ml-footer-legal a{font-size:14px !important}

/* Responsive */
@media(max-width:1180px){
  .ml-container{width:min(1380px,calc(100% - 44px))}
  .ml-hero-grid,
  .ml-luvia-inner,
  .ml-team-strip,
  .ml-approach{grid-template-columns:1fr}
  .ml-hero{padding-top:112px;min-height:auto}
  .ml-hero-grid{min-height:auto}
  .ml-hero-copy{padding:48px 0 24px}
  .ml-hero-visual{height:580px}
  .ml-hero-photo{right:auto;left:50%;transform:translateX(-50%);max-width:82%;width:560px;height:560px}
  .ml-hero-visual::before{left:50%;right:auto;transform:translateX(-50%);width:420px;height:470px}
  .ml-hero-glass{right:28px;bottom:34px}
  .ml-partners-row{grid-template-columns:1fr repeat(3,1fr);row-gap:18px}
  .ml-services-head{grid-template-columns:1fr}
  .ml-services-head p{justify-self:start;max-width:unset}
  .ml-services-grid{grid-template-columns:repeat(2,1fr)}
  .ml-calc-band{min-height:auto}
  .ml-calc-copy{padding:84px 22px 56px;min-height:auto}
  .ml-approach-left{padding:84px 22px;margin-left:0}
  .ml-team-copy{padding:64px 22px}
  .ml-luvia-inner{gap:34px;padding:68px 0}
  .ml-luvia-action{justify-self:start}
  .ml-contact{padding:92px 0}
  .ml-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .ml-section{padding:82px 0}
  .ml-hero::before{right:50%;transform:translateX(50%);top:80px;width:360px;height:360px}
  .ml-hero::after{width:420px;height:340px;clip-path:polygon(100% 0,100% 100%,10% 100%)}
  .ml-hero h1{font-size:clamp(58px,18vw,82px)}
  .ml-hero-lead{font-size:17px}
  .ml-hero-benefits{grid-template-columns:1fr}
  .ml-hero-visual{height:480px}
  .ml-hero-photo{width:420px;height:440px;max-width:100%}
  .ml-hero-visual::before{width:320px;height:360px}
  .ml-hero-glass{width:min(100%,280px);right:12px;bottom:18px;padding:18px}
  .ml-partners{padding:24px 0}
  .ml-partners-row{grid-template-columns:1fr 1fr;gap:16px}
  .ml-partners-label{grid-column:1/-1}
  .ml-partner{min-height:52px;padding:8px}
  .ml-services-grid{grid-template-columns:1fr}
  .ml-calc-copy h2,.ml-team-copy h2,.ml-contact-copy h2{font-size:40px}
  .ml-approach-left h2{font-size:38px}
  .ml-post h3{font-size:22px}
  .ml-luvia-title{font-size:40px !important}
  .ml-luvia-action strong{font-size:32px !important}
  .ml-footer-grid{grid-template-columns:1fr}
  .ml-footer-bottom{flex-direction:column;align-items:flex-start}
}

/* =========================================
   V9 - layout restoration and polish
   ========================================= */

/* Hero: no geometric balls/triangle; subtle Brno behind Michal */
.ml-hero{
  min-height:780px;
  padding:118px 0 0;
  background:
    radial-gradient(circle at 13% 16%,rgba(242,133,36,.10),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f7f8f5 100%);
}
.ml-hero::before,
.ml-hero::after{content:none!important;display:none!important}
.ml-hero-grid{grid-template-columns:.96fr 1.04fr;min-height:660px;gap:32px;align-items:end}
.ml-hero-copy{padding:56px 0 72px;max-width:650px}
.ml-hero-visual{position:relative;height:660px;overflow:hidden;isolation:isolate}
.ml-hero-visual::before,
.ml-hero-visual::after{content:none!important;display:none!important}
.ml-hero-city{
  position:absolute;
  z-index:1;
  inset:48px 0 12px 34px;
  background-size:cover;
  background-position:center;
  opacity:.18;
  filter:saturate(.65) contrast(.9);
}
.ml-hero-city::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.70) 30%,rgba(255,255,255,.25) 72%,rgba(255,255,255,.10) 100%),
    linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.58));
}
.ml-hero-photo{z-index:3;right:12px;width:620px;max-width:94%;height:642px}
.ml-hero-glass{z-index:5;right:34px;bottom:38px;width:292px;padding:22px}
.ml-hero-pattern{display:none!important}

/* Partner logos removed for now */
.ml-partners{display:none!important}

/* Team service CTA must remain readable */
.ml-team-card a{color:#fff!important}
.ml-team-card a:hover{color:#fff!important;opacity:.82}

/* Restore calculator band proportions from the approved version */
.ml-calc-band{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-height:560px;
  margin:70px 0 88px;
  overflow:visible;
  background:linear-gradient(130deg,#0b6a48,#073c2c 72%);
}
.ml-calc-copy{
  min-height:560px;
  padding:76px 108px 76px max(46px,calc((100vw - 1380px)/2));
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ml-calc-copy h2{font-size:54px;line-height:1.02}
.ml-calc-copy p{max-width:500px;font-size:16px!important;line-height:1.75}
.ml-calc-stats{gap:34px;margin-top:34px;flex-wrap:wrap}
.ml-calc-stat strong{font-size:31px}
.ml-calc-stat span{font-size:14px!important}
.ml-calc-visual{
  position:relative;
  min-height:560px;
  overflow:visible;
  background-size:cover;
  background-position:center;
}
.ml-calc-visual::before{background:linear-gradient(90deg,rgba(7,60,44,.38),rgba(7,60,44,0) 42%)}
.ml-calc-card{
  left:-76px;
  top:50%;
  transform:translateY(-50%);
  width:372px;
  padding:28px;
  border-radius:26px;
}
.ml-calc-card h3{font-size:20px!important;margin-bottom:20px}
.ml-range{margin-top:18px}
.ml-range-head label{font-size:14px!important}
.ml-range-value{font-size:15px!important}
.ml-payment small{font-size:14px!important}
.ml-payment strong{font-size:30px}
.ml-calc-note{font-size:14px!important;line-height:1.6}

/* Approach: airy, readable 2x2 cards + image, no cropped fourth item */
.ml-approach{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(380px,.72fr);
  min-height:590px;
  margin:0 0 92px;
  background:#fff;
}
.ml-approach-left{
  margin:0;
  padding:84px 54px 84px max(46px,calc((100vw - 1380px)/2));
}
.ml-approach-left h2{font-size:48px;max-width:640px;margin-bottom:34px}
.ml-approach-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  max-width:920px;
}
.ml-approach-item{
  min-height:190px;
  padding:24px;
  border:1px solid var(--line)!important;
  border-radius:22px;
  background:#fbfcfa;
}
.ml-approach-item:last-child{border:1px solid var(--line)!important}
.ml-approach-item i{width:46px;height:46px}
.ml-approach-item strong{font-size:18px!important;margin-top:16px}
.ml-approach-item span{font-size:16px!important;line-height:1.7;margin-top:8px}
.ml-approach-photo{min-height:590px;background-position:center;background-size:cover}

/* Breathe between lower full-width bands */
.ml-team-strip{margin:24px 0 88px;min-height:520px}
.ml-team-copy{padding:74px 64px}
.ml-team-copy p{font-size:16px!important;line-height:1.8}

/* Luvia: previous composition, skyscraper only as faint texture */
.ml-luvia-band{
  position:relative;
  min-height:450px;
  margin:0 0 88px;
  background-size:cover;
  background-position:center 42%;
  background-repeat:no-repeat;
  background-color:#180624;
}
.ml-luvia-band::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  background:linear-gradient(90deg,rgba(20,3,32,.975) 0%,rgba(30,5,49,.95) 48%,rgba(45,11,72,.91) 100%)!important;
}
.ml-luvia-band::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  transform:none!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(216,177,63,.10),transparent 17%),
    radial-gradient(circle at 76% 70%,rgba(112,57,177,.18),transparent 28%)!important;
}
.ml-luvia-inner{
  min-height:450px;
  grid-template-columns:1.12fr .88fr;
  gap:72px;
  padding:78px 0;
  align-items:center;
}
.ml-luvia-copy{max-width:760px}
.ml-luvia-title{font-size:clamp(42px,4vw,60px)!important;line-height:1.04;max-width:780px}
.ml-luvia-copy p{font-size:16px!important;line-height:1.82;max-width:690px;margin-top:22px}
.ml-luvia-points{gap:14px 24px;margin-top:26px}
.ml-luvia-points span{font-size:15px!important}
.ml-luvia-action{
  width:min(100%,390px);
  padding:30px;
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  box-shadow:0 26px 60px rgba(0,0,0,.20);
}
.ml-luvia-action strong{font-size:34px!important;line-height:1.10}
.ml-luvia-action p{font-size:15px!important;line-height:1.72}

.ml-contact{margin-top:0;padding:100px 0}

/* Keep footer comfortably readable */
.ml-footer{padding-top:72px}
.ml-footer-about p{font-size:15px!important}
.ml-footer-col h4,.ml-footer-col a,.ml-footer-bottom,.ml-footer-legal a{font-size:14px!important}

@media(max-width:1180px){
  .ml-hero-grid{grid-template-columns:1fr;min-height:auto}
  .ml-hero-copy{padding:50px 0 22px}
  .ml-hero-visual{height:560px}
  .ml-hero-city{inset:30px 0 10px 0}
  .ml-hero-photo{left:50%;right:auto;transform:translateX(-50%);width:540px;height:548px}
  .ml-hero-glass{right:24px;bottom:28px}

  .ml-calc-band{grid-template-columns:1fr 1fr;min-height:540px;margin:60px 0 80px}
  .ml-calc-copy{min-height:540px;padding:64px 96px 64px 32px}
  .ml-calc-visual{min-height:540px}
  .ml-calc-card{left:-58px;width:350px}

  .ml-approach{grid-template-columns:1.35fr .65fr;min-height:560px}
  .ml-approach-left{padding:68px 34px}
  .ml-approach-photo{min-height:560px}
  .ml-team-copy{padding:64px 40px}
  .ml-luvia-inner{gap:44px;padding:66px 0}
}

@media(max-width:900px){
  .ml-calc-band{grid-template-columns:1fr;margin:52px 0 70px}
  .ml-calc-copy{min-height:auto;padding:62px 28px 120px}
  .ml-calc-visual{min-height:440px}
  .ml-calc-card{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:min(420px,calc(100% - 36px));
    margin:-88px auto 34px;
  }

  .ml-approach{grid-template-columns:1fr;margin-bottom:70px}
  .ml-approach-left{padding:64px 28px}
  .ml-approach-photo{min-height:360px}
  .ml-team-strip{margin-bottom:70px}
  .ml-luvia-band{margin-bottom:70px}
  .ml-luvia-inner{grid-template-columns:1fr}
  .ml-luvia-action{justify-self:start}
}

@media(max-width:680px){
  .ml-hero h1{font-size:clamp(58px,18vw,82px)}
  .ml-hero-visual{height:470px}
  .ml-hero-photo{width:390px;height:452px;max-width:100%}
  .ml-hero-glass{width:min(270px,calc(100% - 24px));right:12px;bottom:14px}
  .ml-approach-grid{grid-template-columns:1fr}
  .ml-approach-item{min-height:auto}
  .ml-luvia-title{font-size:40px!important}
  .ml-luvia-action strong{font-size:30px!important}
}

/* =========================================
   V12 - based strictly on approved V9 layout
   Only requested changes are applied below.
   ========================================= */

/* Hero: Brno across the full hero, very subtle, fading naturally to white.
   No triangle, no white geometric shape, no purple line. */
.ml-hero{
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.82) 0%,
      rgba(255,255,255,.84) 32%,
      rgba(255,255,255,.88) 58%,
      rgba(255,255,255,.94) 79%,
      #ffffff 100%),
    radial-gradient(circle at 14% 14%,rgba(255,111,44,.08),transparent 22%),
    var(--ml-hero-brno) center 42% / cover no-repeat !important;
}
.ml-hero::before,
.ml-hero::after,
.ml-hero-visual::before,
.ml-hero-visual::after{
  content:none!important;
  display:none!important;
}
.ml-hero-city{display:none!important}
.ml-hero-pattern{display:none!important}

/* Text-only institutions. One name is highlighted in purple at a time. */
.ml-partners{display:block!important;padding:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.ml-partners-row{display:grid;grid-template-columns:150px repeat(6,minmax(0,1fr));gap:24px;align-items:center}
.ml-partners-label{font-size:14px!important;font-weight:800;color:#69736e;text-transform:uppercase;letter-spacing:.12em}
.ml-partner{
  position:relative;
  font-size:18px!important;
  line-height:1.25;
  font-weight:800;
  color:#929995;
  text-align:center;
  filter:none!important;
  opacity:.72;
  transform:translateY(0) scale(1);
  transition:color .65s ease,opacity .65s ease,text-shadow .65s ease,transform .65s ease;
}
.ml-partner.is-lit{
  color:var(--purple);
  opacity:1;
  transform:translateY(-1px) scale(1.025);
  text-shadow:0 0 18px rgba(125,99,201,.28),0 0 34px rgba(125,99,201,.12);
}

/* Premium, restrained shine on the top consultation CTA every ~4 seconds. */
.ml-nav-cta{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 10px 26px rgba(10,95,67,.18),0 0 0 1px rgba(255,255,255,.08) inset;
}
.ml-nav-cta::before{
  content:"";
  position:absolute;
  z-index:1;
  top:-55%;
  bottom:-55%;
  left:-48%;
  width:30%;
  transform:skewX(-24deg);
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 18%,rgba(255,255,255,.62) 50%,rgba(255,255,255,.10) 82%,transparent 100%);
  filter:blur(.2px);
  animation:mlPremiumShine 4s cubic-bezier(.22,.61,.36,1) infinite;
  pointer-events:none;
}
.ml-nav-cta::after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),inset 0 -1px 0 rgba(0,0,0,.12);
  pointer-events:none;
}
@keyframes mlPremiumShine{
  0%,68%{left:-48%;opacity:0}
  71%{opacity:.25}
  78%{opacity:1}
  88%{left:122%;opacity:.35}
  100%{left:122%;opacity:0}
}

/* Team card CTA stays visible. */
.ml-team-card a,
.ml-team-card a:visited,
.ml-team-card a:hover{color:#fff!important}

/* Keep the approved V9 calculator and approach geometry unchanged. */
.ml-calc-band{margin-top:70px!important;margin-bottom:88px!important}
.ml-approach{margin-bottom:92px!important}

/* More space between team section and Luvia Group. */
.ml-team-strip{margin-top:24px!important;margin-bottom:150px!important}

/* Luvia Group: same V9 composition, only ~20% larger and airier.
   Skyscraper image remains a faint texture only. */
.ml-luvia-band{
  min-height:540px!important;
  margin:0!important;
  background-size:cover!important;
  background-position:center 42%!important;
  background-repeat:no-repeat!important;
  background-color:#180624!important;
}
.ml-luvia-band::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  background:linear-gradient(90deg,rgba(20,3,32,.982) 0%,rgba(30,5,49,.965) 48%,rgba(45,11,72,.935) 100%)!important;
}
.ml-luvia-band::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  transform:none!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(216,177,63,.10),transparent 17%),
    radial-gradient(circle at 76% 70%,rgba(112,57,177,.16),transparent 28%)!important;
}
.ml-luvia-inner{
  min-height:540px!important;
  grid-template-columns:1.12fr .88fr!important;
  gap:92px!important;
  padding:94px 0!important;
  align-items:center!important;
}
.ml-luvia-copy{max-width:790px!important}
.ml-luvia-title{max-width:810px!important;margin-bottom:0!important}
.ml-luvia-copy p{margin-top:28px!important;margin-bottom:0!important;line-height:1.88!important}
.ml-luvia-points{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 34px!important;
  margin-top:34px!important;
  max-width:760px;
}
.ml-luvia-points span{font-size:15px!important;line-height:1.45!important}
.ml-luvia-action{padding:34px!important}
.ml-luvia-action strong{margin-top:12px!important}
.ml-luvia-action p{margin:16px 0 24px!important;line-height:1.75!important}

/* Purple band must connect directly to green contact band. */
.ml-contact{margin-top:0!important}

@media(max-width:1180px){
  .ml-partners-row{grid-template-columns:140px repeat(3,1fr);row-gap:18px}
  .ml-team-strip{margin-bottom:110px!important}
  .ml-luvia-inner{grid-template-columns:1fr!important;gap:46px!important;padding:78px 0!important}
  .ml-luvia-action{justify-self:start!important}
}
@media(max-width:700px){
  .ml-partners-row{grid-template-columns:1fr 1fr;gap:18px}
  .ml-partners-label{grid-column:1/-1}
  .ml-partner{font-size:16px!important}
  .ml-team-strip{margin-bottom:80px!important}
  .ml-luvia-band{min-height:auto!important}
  .ml-luvia-inner{min-height:auto!important;padding:58px 0!important}
  .ml-luvia-points{grid-template-columns:1fr!important;gap:13px!important}
}


/* =========================================
   V13 - requested refinements
   ========================================= */

/* Hero: subtle diagonal green + orange accent lines behind Michal. */
.ml-hero-visual::before,
.ml-hero-visual::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  right:-4%!important;
  bottom:112px!important;
  width:72%!important;
  height:2px!important;
  border-radius:999px!important;
  pointer-events:none!important;
  transform-origin:left center!important;
}
.ml-hero-visual::before{
  z-index:4!important;
  background:linear-gradient(90deg,rgba(10,95,67,0) 0%,rgba(10,95,67,.22) 12%,rgba(10,95,67,.62) 48%,rgba(10,95,67,.18) 84%,rgba(10,95,67,0) 100%)!important;
  box-shadow:0 0 20px rgba(10,95,67,.16)!important;
  transform:rotate(-27deg)!important;
}
.ml-hero-visual::after{
  z-index:4!important;
  right:-1%!important;
  bottom:144px!important;
  width:68%!important;
  background:linear-gradient(90deg,rgba(255,111,44,0) 0%,rgba(255,111,44,.18) 12%,rgba(255,111,44,.58) 48%,rgba(255,111,44,.16) 84%,rgba(255,111,44,0) 100%)!important;
  box-shadow:0 0 18px rgba(255,111,44,.15)!important;
  transform:rotate(-23deg)!important;
}

/* Slightly slower partner highlight rhythm. */
.ml-partner{
  transition:color .85s ease,opacity .85s ease,text-shadow .85s ease,transform .85s ease;
}

/* Two affiliation cards under the institutions strip. */
.ml-affiliations{
  padding:28px 0 8px;
  background:#fff;
}
.ml-affiliations-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.ml-affiliation{
  position:relative;
  overflow:hidden;
  min-height:192px;
  padding:28px 30px;
  border-radius:28px;
  color:#fff;
  box-shadow:0 22px 50px rgba(10,44,30,.10);
  isolation:isolate;
}
.ml-affiliation::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 15%,rgba(255,255,255,.11),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,0) 56%);
  z-index:-2;
}
.ml-affiliation::after{
  content:"";
  position:absolute;
  right:-10px;
  bottom:-12px;
  width:46%;
  height:76%;
  background:var(--ml-affiliation-logo) center / contain no-repeat;
  opacity:.12;
  filter:grayscale(1) brightness(2.1);
  z-index:-1;
}
.ml-affiliation small{
  display:block;
  font-size:14px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.ml-affiliation h3{
  margin:14px 0 10px;
  font-family:var(--serif);
  font-size:40px;
  line-height:.95;
  font-weight:400;
  letter-spacing:-.03em;
  color:#fff;
}
.ml-affiliation p{
  margin:0;
  max-width:370px;
  font-size:15px;
  line-height:1.72;
  color:rgba(255,255,255,.82);
}
.ml-affiliation-ok{
  background:linear-gradient(135deg,#0b6a48 0%,#0a5b42 56%,#084031 100%);
}
.ml-affiliation-gfs{
  background:linear-gradient(135deg,#ff7d35 0%,#f06c29 56%,#d95a1b 100%);
}

/* Purple Luvia band slightly larger, with heading controlled to 2 lines. */
.ml-luvia-band{
  min-height:600px!important;
}
.ml-luvia-inner{
  min-height:600px!important;
  grid-template-columns:1.18fr .82fr!important;
  gap:82px!important;
  padding:104px 0!important;
}
.ml-luvia-copy{max-width:860px!important}
.ml-luvia-title{
  max-width:900px!important;
  font-size:clamp(40px,3.9vw,58px)!important;
  line-height:1.04!important;
}
.ml-luvia-title em{
  font-style:normal;
  color:#fff;
}
.ml-luvia-points{max-width:800px!important}

@media(max-width:1180px){
  .ml-affiliations-grid{grid-template-columns:1fr;}
  .ml-affiliation{min-height:180px;}
  .ml-luvia-inner{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    gap:46px!important;
    padding:82px 0!important;
  }
}
@media(max-width:700px){
  .ml-affiliations{padding:22px 0 4px;}
  .ml-affiliation{padding:24px 22px;min-height:auto;}
  .ml-affiliation h3{font-size:34px;}
  .ml-affiliation p{font-size:14px;max-width:none;}
  .ml-affiliation::after{width:44%;height:60%;opacity:.10;}
  .ml-hero-visual::before{width:58%!important;right:-2%!important;bottom:96px!important;}
  .ml-hero-visual::after{width:54%!important;right:0!important;bottom:122px!important;}
  .ml-luvia-band{min-height:auto!important;}
  .ml-luvia-inner{padding:62px 0!important;}
  .ml-luvia-title{font-size:38px!important;}
}


/* =========================================
   V14 - racing stripes + slow card shine
   ========================================= */

/* Proper, thicker parallel racing stripes behind Michal. */
.ml-hero-visual{
  isolation:isolate;
}
.ml-hero-photo{
  z-index:6!important;
}
.ml-hero-glass{
  z-index:8!important;
}
.ml-hero-visual::before,
.ml-hero-visual::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:6%!important;
  right:auto!important;
  border-radius:999px!important;
  pointer-events:none!important;
  transform-origin:left center!important;
  clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%,4% 50%)!important;
}
.ml-hero-visual::before{
  z-index:3!important;
  bottom:82px!important;
  width:104%!important;
  height:24px!important;
  background:linear-gradient(90deg,rgba(10,95,67,.12) 0%,rgba(10,95,67,.82) 12%,#0a5f43 42%,rgba(10,95,67,.78) 72%,rgba(10,95,67,.08) 100%)!important;
  box-shadow:0 9px 24px rgba(10,95,67,.13)!important;
  transform:rotate(-24deg)!important;
  opacity:.78!important;
}
.ml-hero-visual::after{
  z-index:3!important;
  bottom:116px!important;
  width:96%!important;
  height:14px!important;
  background:linear-gradient(90deg,rgba(255,111,44,.10) 0%,rgba(255,111,44,.84) 12%,#ff6f2c 44%,rgba(255,111,44,.78) 74%,rgba(255,111,44,.06) 100%)!important;
  box-shadow:0 8px 22px rgba(255,111,44,.12)!important;
  transform:rotate(-24deg)!important;
  opacity:.80!important;
}

/* Slow premium light sweep across OK Group / GFS cards. */
.ml-affiliation-shine{
  position:absolute;
  z-index:3;
  top:-38%;
  bottom:-38%;
  left:-42%;
  width:18%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 18%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.10) 82%,transparent 100%);
  filter:blur(.5px);
  opacity:0;
  pointer-events:none;
  animation:mlAffiliationShine 6.8s cubic-bezier(.22,.61,.36,1) infinite;
}
.ml-affiliation-gfs .ml-affiliation-shine{
  animation-delay:2.1s;
}
@keyframes mlAffiliationShine{
  0%,62%{left:-42%;opacity:0}
  65%{opacity:.18}
  72%{opacity:.78}
  82%{left:122%;opacity:.24}
  100%{left:122%;opacity:0}
}

@media(max-width:700px){
  .ml-hero-visual::before{
    left:10%!important;
    bottom:72px!important;
    width:92%!important;
    height:18px!important;
  }
  .ml-hero-visual::after{
    left:12%!important;
    bottom:99px!important;
    width:86%!important;
    height:10px!important;
  }
}

/* =========================================
   V15 - full custom WP build
   ========================================= */

/* WP menu structure */
.ml-nav-list{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.ml-nav-list li{margin:0;padding:0}
.ml-nav-list a{font-size:14px;font-weight:700;color:#435049;text-transform:uppercase;letter-spacing:.04em;transition:.2s ease}
.ml-nav-list a:hover{color:var(--green)}

/* Explicit racing stripes: start near lower-middle of hero and rise behind Michal to the right edge. */
.ml-hero{isolation:isolate}
.ml-hero-racing-stripes{
  position:absolute;
  z-index:2;
  left:54.5%;
  bottom:68px;
  width:min(930px,52vw);
  height:74px;
  transform:rotate(-34deg);
  transform-origin:left center;
  pointer-events:none;
}
.ml-racing-stripe{
  position:absolute;
  left:0;
  width:100%;
  border-radius:999px;
  clip-path:polygon(0 12%,96% 0,100% 50%,96% 100%,0 88%,3% 50%);
  opacity:.68;
}
.ml-racing-stripe-green{
  top:0;
  height:28px;
  background:linear-gradient(90deg,rgba(10,95,67,.08) 0%,rgba(10,95,67,.80) 15%,#0a5f43 52%,rgba(10,95,67,.55) 82%,rgba(10,95,67,0) 100%);
  box-shadow:0 10px 26px rgba(10,95,67,.14);
}
.ml-racing-stripe-orange{
  top:38px;
  height:22px;
  background:linear-gradient(90deg,rgba(255,111,44,.06) 0%,rgba(255,111,44,.78) 15%,#ff6f2c 52%,rgba(255,111,44,.52) 82%,rgba(255,111,44,0) 100%);
  box-shadow:0 10px 24px rgba(255,111,44,.12);
}
.ml-hero-visual::before,.ml-hero-visual::after{content:none!important;display:none!important}
.ml-hero-photo{z-index:6!important}
.ml-hero-glass{z-index:8!important}

/* Affiliations: subtle logos + slow premium sweep. */
.ml-affiliation{position:relative;isolation:isolate}
.ml-affiliation-logo{
  position:absolute;
  z-index:-1;
  right:-10px;
  bottom:-10px;
  width:46%;
  height:76%;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.12;
  filter:grayscale(1) brightness(2.05);
  pointer-events:none;
}
.ml-affiliation::after{content:none!important;display:none!important}
.ml-affiliation-shine{
  animation-duration:8.4s!important;
}
.ml-affiliation-gfs .ml-affiliation-shine{animation-delay:2.7s!important}

/* Service categories and filtering. */
.ml-service-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:-8px 0 34px;
}
.ml-service-filter{
  min-height:44px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--green-dark);
  font-size:14px;
  font-weight:800;
  transition:.2s ease;
}
.ml-service-filter:hover,.ml-service-filter.is-active{
  color:#fff;
  background:var(--green-dark);
  border-color:var(--green-dark);
  box-shadow:0 10px 24px rgba(10,95,67,.13);
}
.ml-service.is-filtered-out{display:none!important}
.ml-team-card a,.ml-team-card a:visited,.ml-team-card a:hover{color:#fff!important}

/* Luvia: about 10% more height and exact two-line heading on large screens. */
.ml-luvia-band{min-height:660px!important}
.ml-luvia-inner{
  min-height:660px!important;
  grid-template-columns:1.25fr .75fr!important;
  gap:78px!important;
  padding:114px 0!important;
}
.ml-luvia-copy{max-width:940px!important}
.ml-luvia-title{max-width:940px!important;font-size:clamp(40px,3.45vw,56px)!important;line-height:1.04!important}
.ml-luvia-title span,.ml-luvia-title em{display:block;white-space:nowrap}
.ml-luvia-title em{font-style:normal;color:#fff}
.ml-luvia-copy p{max-width:760px!important}
.ml-luvia-points{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:800px!important}

/* Honeypot remains outside the visual layout. */
.ml-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Generic content templates */
.ml-content-shell{padding:150px 0 100px;background:#fff}
.ml-content-shell .ml-container{max-width:1180px}
.ml-content-header{max-width:820px;margin-bottom:42px}
.ml-content-header h1{margin:10px 0 0;font-family:var(--serif);font-size:clamp(44px,6vw,76px);line-height:1;color:var(--green-dark);font-weight:400}
.ml-content-body{font-size:17px;line-height:1.85;color:#39443e}
.ml-content-body h2,.ml-content-body h3{color:var(--green-dark)}
.ml-content-body img{height:auto;border-radius:20px}
.ml-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ml-archive-card{padding:26px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(10,44,30,.05)}
.ml-archive-card h2{margin:14px 0 8px;font-size:24px;color:var(--green-dark)}
.ml-archive-card p{font-size:15px;line-height:1.7;color:var(--muted)}
.ml-archive-card a{font-size:14px;font-weight:800;color:var(--green)}
.ml-taxonomy-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.ml-taxonomy-nav a{padding:10px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:800;color:var(--green-dark)}
.ml-taxonomy-nav a:hover{background:var(--green-dark);color:#fff}

@media(max-width:1180px){
  .ml-nav-list{display:none}
  .ml-nav.is-open .ml-nav-list{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .ml-nav.is-open .ml-nav-list a{display:block;padding:13px 10px}
  .ml-hero-racing-stripes{left:48%;bottom:52px;width:62vw;transform:rotate(-31deg)}
  .ml-luvia-inner{grid-template-columns:1fr!important;min-height:auto!important;gap:48px!important;padding:88px 0!important}
  .ml-luvia-title span,.ml-luvia-title em{white-space:normal}
  .ml-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  .ml-hero-racing-stripes{left:43%;bottom:54px;width:76vw;height:58px;transform:rotate(-31deg);opacity:.78}
  .ml-racing-stripe-green{height:20px}
  .ml-racing-stripe-orange{top:29px;height:15px}
  .ml-affiliations-grid{grid-template-columns:1fr!important}
  .ml-affiliation-logo{width:44%;height:62%;opacity:.10}
  .ml-service-filters{gap:8px;margin-bottom:26px}
  .ml-service-filter{min-height:42px;padding:0 13px;font-size:14px}
  .ml-luvia-band{min-height:auto!important}
  .ml-luvia-inner{min-height:auto!important;padding:64px 0!important}
  .ml-luvia-title{font-size:38px!important}
  .ml-luvia-points{grid-template-columns:1fr!important}
  .ml-content-shell{padding:115px 0 72px}
  .ml-archive-grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.ml-affiliation-logo{z-index:0!important}
.ml-affiliation small,.ml-affiliation h3,.ml-affiliation p{position:relative;z-index:2}


/* =========================================
   V16 - Brand logo, hero signature, footer watermark
   ========================================= */
:root{
  --brand-navy:#0d1125;
}

/* Header branding */
.ml-brand{gap:13px!important;align-items:center!important;}
.ml-brand-logo{
  display:block;
  width:58px;
  height:42px;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
}
.ml-brand-copy{gap:3px;min-width:0;}
.ml-brand-copy strong{
  color:var(--brand-navy)!important;
  font-family:var(--sans)!important;
  font-size:16px!important;
  line-height:1.05!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.ml-brand-copy span{
  margin-top:0!important;
  color:var(--brand-navy)!important;
  opacity:.58;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
  text-transform:none!important;
  white-space:nowrap;
}
.ml-header.is-fixed .ml-brand-logo{width:53px;height:36px;}

/* White signature placed directly on the lower part of Michal's suit. */
.ml-hero-signature{
  position:absolute;
  z-index:6;
  right:238px;
  bottom:74px;
  width:168px;
  max-width:30%;
  height:auto;
  object-fit:contain;
  opacity:.92;
  transform:rotate(-4deg);
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.16));
  pointer-events:none;
  user-select:none;
}

/* Footer branding and subtle LEXA typographic watermark. */
.ml-footer{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate;
}
.ml-footer>.ml-container{position:relative;z-index:2;}
.ml-footer-watermark{
  position:absolute;
  z-index:1;
  left:50%;
  top:52%;
  transform:translate(-50%,-50%);
  font-family:var(--serif);
  font-size:clamp(120px,18vw,300px);
  line-height:.8;
  font-weight:400;
  letter-spacing:.09em;
  color:rgba(255,255,255,.035);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}
.ml-footer-brand .ml-brand-logo{
  filter:brightness(0) invert(1);
  opacity:.92;
}
.ml-footer-brand .ml-brand-copy strong,
.ml-footer-brand .ml-brand-copy span{
  color:#fff!important;
}
.ml-footer-brand .ml-brand-copy span{opacity:.54;}

@media(max-width:1180px){
  .ml-brand-copy span{font-size:14px!important;}
  .ml-hero-signature{right:32%;bottom:72px;width:150px;}
}
@media(max-width:900px){
  .ml-brand-logo{width:50px;height:36px;}
  .ml-brand-copy strong{font-size:14px!important;}
  .ml-brand-copy span{font-size:14px!important;}
  .ml-hero-signature{right:48%;transform:translateX(50%) rotate(-4deg);bottom:70px;width:150px;}
}
@media(max-width:700px){
  .ml-brand-copy span{display:none!important;}
  .ml-brand-copy strong{font-size:14px!important;letter-spacing:.055em!important;}
  .ml-brand-logo{width:46px;height:32px;}
  .ml-hero-signature{right:50%;bottom:62px;width:128px;max-width:34%;}
  .ml-footer-watermark{font-size:clamp(96px,30vw,170px);top:56%;}
}


/* =========================================
   V17 - larger ML logo + signature update + real blog cards
   ========================================= */

/* The supplied PNG contains a lot of transparent space. Scale its visual area heavily
   while keeping the header layout compact. */
.ml-header .ml-brand-logo{
  width:174px!important;
  height:76px!important;
  margin-left:-52px!important;
  margin-right:-48px!important;
  object-fit:contain!important;
  object-position:center!important;
  flex:0 0 auto!important;
}
.ml-header.is-fixed .ml-brand-logo{
  width:150px!important;
  height:62px!important;
  margin-left:-44px!important;
  margin-right:-42px!important;
}
.ml-footer-brand .ml-brand-logo{
  width:92px!important;
  height:62px!important;
  margin:0!important;
}

/* Blog image links must be block-level. Generic .ml-post a styling previously
   collapsed the image anchor because it has no text content. */
.ml-post-image{
  display:block!important;
  width:100%!important;
  height:240px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.ml-post-body > a{
  display:inline-flex!important;
  margin-top:16px!important;
}
.ml-archive-card-image{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  margin:0 0 20px;
  border-radius:18px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.ml-content-hero-image img{
  display:block;
  width:100%;
  height:auto;
  border-radius:24px;
}

@media(max-width:900px){
  .ml-header .ml-brand-logo{
    width:142px!important;
    height:62px!important;
    margin-left:-42px!important;
    margin-right:-38px!important;
  }
  .ml-header.is-fixed .ml-brand-logo{
    width:126px!important;
    height:54px!important;
    margin-left:-36px!important;
    margin-right:-34px!important;
  }
}
@media(max-width:700px){
  .ml-header .ml-brand-logo,
  .ml-header.is-fixed .ml-brand-logo{
    width:118px!important;
    height:52px!important;
    margin-left:-34px!important;
    margin-right:-30px!important;
  }
  .ml-post-image{height:220px!important;}
}


/* =========================================
   V18 - tighter brand lockup + larger signature
   ========================================= */

/* Crop the transparent padding in the supplied ML PNG so the logo can sit
   much closer to the Finance & řešení lockup without creating dead space. */
.ml-brand{
  gap:8px!important;
}
.ml-brand-logo-crop{
  position:relative;
  display:block;
  width:58px;
  height:54px;
  flex:0 0 58px;
  overflow:hidden;
}
.ml-brand-logo-crop .ml-brand-logo,
.ml-header .ml-brand-logo-crop .ml-brand-logo,
.ml-header.is-fixed .ml-brand-logo-crop .ml-brand-logo{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:176px!important;
  height:128px!important;
  max-width:none!important;
  margin:0!important;
  object-fit:contain!important;
  transform:translate(-50%,-50%)!important;
}
.ml-brand-copy{
  gap:2px!important;
  margin-left:0!important;
}
.ml-brand-copy strong{
  font-size:16px!important;
  letter-spacing:.07em!important;
}
.ml-brand-copy span{
  font-size:14px!important;
  letter-spacing:.045em!important;
}

/* Signature: intentionally much larger on the lower blue suit area. */
.ml-hero-signature{
  right:86px!important;
  bottom:46px!important;
  width:500px!important;
  max-width:none!important;
  opacity:.94!important;
  transform:rotate(-4deg)!important;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.18))!important;
}

/* Footer ML mark roughly 2x the previous visual size, while still using the
   same cropped treatment so transparent PNG margins do not waste space. */
.ml-footer-logo-crop{
  width:104px!important;
  height:86px!important;
  flex:0 0 104px!important;
}
.ml-footer-logo-crop .ml-brand-logo{
  width:300px!important;
  height:220px!important;
  filter:brightness(0) invert(1)!important;
  opacity:.94!important;
}
.ml-footer-brand{
  gap:10px!important;
}

@media(max-width:1180px){
  .ml-hero-signature{
    right:18%!important;
    bottom:44px!important;
    width:390px!important;
  }
}
@media(max-width:900px){
  .ml-brand-logo-crop{
    width:52px;
    height:48px;
    flex-basis:52px;
  }
  .ml-brand-logo-crop .ml-brand-logo,
  .ml-header .ml-brand-logo-crop .ml-brand-logo,
  .ml-header.is-fixed .ml-brand-logo-crop .ml-brand-logo{
    width:158px!important;
    height:116px!important;
  }
  .ml-hero-signature{
    right:50%!important;
    bottom:42px!important;
    width:320px!important;
    transform:translateX(50%) rotate(-4deg)!important;
  }
  .ml-footer-logo-crop{
    width:92px!important;
    height:76px!important;
    flex-basis:92px!important;
  }
  .ml-footer-logo-crop .ml-brand-logo{
    width:270px!important;
    height:198px!important;
  }
}
@media(max-width:700px){
  .ml-brand{gap:6px!important;}
  .ml-brand-logo-crop{
    width:48px;
    height:44px;
    flex-basis:48px;
  }
  .ml-brand-logo-crop .ml-brand-logo,
  .ml-header .ml-brand-logo-crop .ml-brand-logo,
  .ml-header.is-fixed .ml-brand-logo-crop .ml-brand-logo{
    width:146px!important;
    height:106px!important;
  }
  .ml-brand-copy span{display:none!important;}
  .ml-brand-copy strong{font-size:14px!important;}
  .ml-hero-signature{
    right:50%!important;
    bottom:34px!important;
    width:230px!important;
    transform:translateX(50%) rotate(-4deg)!important;
  }
  .ml-footer-logo-crop{
    width:84px!important;
    height:70px!important;
    flex-basis:84px!important;
  }
  .ml-footer-logo-crop .ml-brand-logo{
    width:244px!important;
    height:178px!important;
  }
}


/* =========================================
   V19 - robust logo/signature rendering
   Removes the crop hacks from V18 and uses server-side transparent trimming.
   ========================================= */

/* Header logo: show the full supplied mark, never crop or distort it. */
.ml-header .ml-brand,
.ml-header.is-fixed .ml-brand{
  gap:12px!important;
  align-items:center!important;
}
.ml-header .ml-brand-logo,
.ml-header.is-fixed .ml-brand-logo{
  position:static!important;
  display:block!important;
  width:82px!important;
  height:auto!important;
  max-width:82px!important;
  max-height:64px!important;
  margin:0!important;
  transform:none!important;
  object-fit:contain!important;
  object-position:center!important;
  flex:0 0 auto!important;
}
.ml-header .ml-brand-copy{
  margin:0!important;
  gap:3px!important;
}
.ml-header .ml-brand-copy strong{font-size:16px!important;line-height:1.05!important;}
.ml-header .ml-brand-copy span{font-size:14px!important;line-height:1.2!important;}

/* Signature: use the trimmed white PNG and keep it on the lower blue jacket. */
.ml-hero-signature{
  position:absolute!important;
  z-index:7!important;
  right:118px!important;
  bottom:118px!important;
  width:245px!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  opacity:.92!important;
  transform:rotate(-4deg)!important;
  transform-origin:center!important;
  object-fit:contain!important;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.22))!important;
  pointer-events:none!important;
}

/* Footer logo: deliberately larger, but still full and undistorted. */
.ml-footer-brand{
  gap:16px!important;
  align-items:center!important;
}
.ml-footer-brand .ml-brand-logo{
  position:static!important;
  display:block!important;
  width:148px!important;
  height:auto!important;
  max-width:148px!important;
  max-height:104px!important;
  margin:0!important;
  transform:none!important;
  object-fit:contain!important;
  filter:brightness(0) invert(1)!important;
  opacity:.96!important;
  flex:0 0 auto!important;
}
.ml-footer-brand .ml-brand-copy{margin:0!important;gap:4px!important;}
.ml-footer-brand .ml-brand-copy strong{font-size:17px!important;}
.ml-footer-brand .ml-brand-copy span{font-size:14px!important;}

/* Disable the old crop wrappers if an older cached template still contains them. */
.ml-brand-logo-crop,
.ml-footer-logo-crop{
  display:contents!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
}
.ml-brand-logo-crop .ml-brand-logo,
.ml-footer-logo-crop .ml-brand-logo{
  position:static!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
}

@media(max-width:1180px){
  .ml-header .ml-brand-logo,.ml-header.is-fixed .ml-brand-logo{width:74px!important;max-width:74px!important;max-height:58px!important;}
  .ml-hero-signature{right:20%!important;bottom:104px!important;width:220px!important;}
  .ml-footer-brand .ml-brand-logo{width:132px!important;max-width:132px!important;max-height:96px!important;}
}
@media(max-width:900px){
  .ml-header .ml-brand-logo,.ml-header.is-fixed .ml-brand-logo{width:68px!important;max-width:68px!important;max-height:54px!important;}
  .ml-hero-signature{right:50%!important;bottom:98px!important;width:200px!important;transform:translateX(50%) rotate(-4deg)!important;}
  .ml-footer-brand .ml-brand-logo{width:120px!important;max-width:120px!important;max-height:88px!important;}
}
@media(max-width:700px){
  .ml-header .ml-brand{gap:9px!important;}
  .ml-header .ml-brand-logo,.ml-header.is-fixed .ml-brand-logo{width:58px!important;max-width:58px!important;max-height:46px!important;}
  .ml-header .ml-brand-copy strong{font-size:14px!important;}
  .ml-header .ml-brand-copy span{display:none!important;}
  .ml-hero-signature{right:50%!important;bottom:90px!important;width:168px!important;transform:translateX(50%) rotate(-4deg)!important;}
  .ml-footer-brand .ml-brand-logo{width:108px!important;max-width:108px!important;max-height:80px!important;}
}


/* =========================================
   V20 - signature position only
   ========================================= */
.ml-hero-signature{
  right:132px!important;
  bottom:205px!important;
  width:172px!important;
  max-width:none!important;
}
@media(max-width:1180px){
  .ml-hero-signature{right:21%!important;bottom:182px!important;width:154px!important;}
}
@media(max-width:900px){
  .ml-hero-signature{right:50%!important;bottom:168px!important;width:140px!important;transform:translateX(50%) rotate(-4deg)!important;}
}
@media(max-width:700px){
  .ml-hero-signature{right:50%!important;bottom:150px!important;width:118px!important;transform:translateX(50%) rotate(-4deg)!important;}
}


/* =========================================
   V21 - signature position only
   Move it left and lower onto the abdomen.
   ========================================= */
.ml-hero-signature{
  right:232px!important;
  bottom:145px!important;
  width:172px!important;
}
@media(max-width:1180px){
  .ml-hero-signature{right:27%!important;bottom:138px!important;width:154px!important;}
}
@media(max-width:900px){
  .ml-hero-signature{right:50%!important;bottom:130px!important;width:140px!important;transform:translateX(50%) rotate(-4deg)!important;}
}
@media(max-width:700px){
  .ml-hero-signature{right:50%!important;bottom:118px!important;width:118px!important;transform:translateX(50%) rotate(-4deg)!important;}
}


/* =========================================
   V22 - signature beside the green hero card
   ========================================= */
.ml-hero-signature{
  right:348px!important;
  bottom:145px!important;
  width:172px!important;
  max-width:none!important;
  transform:rotate(-4deg)!important;
}
@media(max-width:1180px){
  .ml-hero-signature{
    right:338px!important;
    bottom:138px!important;
    width:154px!important;
    transform:rotate(-4deg)!important;
  }
}
@media(max-width:900px){
  .ml-hero-signature{
    right:310px!important;
    bottom:132px!important;
    width:138px!important;
    transform:rotate(-4deg)!important;
  }
}
@media(max-width:700px){
  .ml-hero-signature{
    right:auto!important;
    left:28px!important;
    bottom:122px!important;
    width:112px!important;
    transform:rotate(-4deg)!important;
  }
}


/* =========================================
   V23 - signature position only
   Desktop: ~70px right and ~50px higher than V22
   ========================================= */
.ml-hero-signature{
  right:278px!important;
  bottom:195px!important;
  width:172px!important;
  max-width:none!important;
  transform:rotate(-4deg)!important;
}
@media(max-width:1180px){
  .ml-hero-signature{
    right:278px!important;
    bottom:183px!important;
    width:154px!important;
    transform:rotate(-4deg)!important;
  }
}
@media(max-width:900px){
  .ml-hero-signature{
    right:260px!important;
    bottom:172px!important;
    width:138px!important;
    transform:rotate(-4deg)!important;
  }
}
@media(max-width:700px){
  .ml-hero-signature{
    right:auto!important;
    left:42px!important;
    bottom:150px!important;
    width:112px!important;
    transform:rotate(-4deg)!important;
  }
}
