/* ============================================
     DESIGN TOKENS
  ============================================ */
  :root{
    --graphite: #17151300;
    --graphite-900: #17191c;
    --graphite-800: #1e2125;
    --graphite-700: #292d31;
    --cream: #f1f1ee;
    --cream-2: #e7e8e6;
    --gold: #c19a5b;
    --gold-dim: #a4813f;
    --gold-light: #d9bd8b;
    --ink: #202226;
    --paper-text: #666a70;
    --white: #fbfbfa;

    --serif: "DM Serif Display", Georgia, serif;
    --sans: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

    --container: 1180px;
    --pad: clamp(24px, 5vw, 64px);
    --ease: cubic-bezier(.16,.8,.28,1);
  }

  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
  }

  body{
    font-family:var(--sans);
    color:var(--ink);
    background:var(--cream);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  button{ font-family:inherit; cursor:pointer; border:none; background:none; }
  ul{ list-style:none; }

  .wrap{
    max-width:var(--container);
    margin:0 auto;
    padding-left:var(--pad);
    padding-right:var(--pad);
  }

  h1,h2,h3{ font-family:var(--serif); font-weight:400; letter-spacing:-0.01em; }

  :focus-visible{
    outline:2px solid var(--gold);
    outline-offset:3px;
  }

  /* ============================================
     REVEAL ANIMATION (single orchestrated pattern)
  ============================================ */
  .reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .9s var(--ease), transform .9s var(--ease);
  }
  .reveal.in{ opacity:1; transform:translateY(0); }

  /* Smaller-scale reveal for individual cards / list rows (12–20px movement) */
  .reveal-sm{
    opacity:0;
    transform:translateY(16px);
    transition:opacity .7s var(--ease), transform .7s var(--ease);
  }
  .reveal-sm.in{ opacity:1; transform:translateY(0); }

  /* Parent-driven staggered reveal for a group of children (label → heading → body → cta) */
  .stagger > *{
    opacity:0;
    transform:translateY(14px);
    transition:opacity .7s var(--ease), transform .7s var(--ease);
  }
  .stagger.in > *{ opacity:1; transform:translateY(0); }
  .stagger.in > *:nth-child(1){ transition-delay:.05s; }
  .stagger.in > *:nth-child(2){ transition-delay:.16s; }
  .stagger.in > *:nth-child(3){ transition-delay:.27s; }
  .stagger.in > *:nth-child(4){ transition-delay:.38s; }
  .stagger.in > *:nth-child(5){ transition-delay:.46s; }
  .stagger.in > *:nth-child(6){ transition-delay:.54s; }

  /* Subtle blur-to-sharp reveal for feature headings (used inside a .stagger group) */
  .blur-reveal{
    opacity:0;
    filter:blur(6px);
    transform:translateY(12px);
    transition:opacity 1s var(--ease), filter 1s var(--ease), transform 1s var(--ease);
  }
  .who-head.in h2.blur-reveal,
  .about-copy.in h2.blur-reveal{
    opacity:1;
    filter:blur(0);
    transform:translateY(0);
  }

  /* ============================================
     NAV
  ============================================ */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:26px var(--pad);
    display:flex; align-items:center; justify-content:space-between;
    transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
  }
  .nav.scrolled{
    background:rgba(21,19,15,0.92);
    backdrop-filter:blur(10px);
    padding-top:16px; padding-bottom:16px;
    box-shadow:0 8px 30px rgba(0,0,0,.25);
  }
  .brand{
    display:flex; flex-direction:column; gap:2px;
    color:var(--white);
  }
  .brand-name{
    font-family:var(--serif); font-size:1.05rem; font-weight:600; letter-spacing:.03em;
  }
  .brand-sub{
    font-size:.72rem; color:var(--gold-light); letter-spacing:.04em;
  }
  .nav-links{
    display:flex; gap:clamp(20px, 3vw, 40px); align-items:center;
  }
  .nav-links a{
    color:rgba(255,253,249,.78);
    font-size:.92rem;
    letter-spacing:.02em;
    position:relative;
    padding:4px 0;
    transition:color .3s;
  }
  .nav-links a::after{
    content:"";
    position:absolute; left:0; bottom:-2px;
    width:0; height:1px; background:var(--gold);
    transition:width .35s var(--ease);
  }
  .nav-links a:hover, .nav-links a.active{ color:var(--white); }
  .nav-links a.active::after, .nav-links a:hover::after{ width:100%; }

  .nav-toggle{
    display:none;
    width:26px; height:20px; position:relative;
    z-index:110;
  }
  .nav-toggle span{
    position:absolute; left:0; right:0; height:2px; background:var(--white);
    transition:transform .3s var(--ease), opacity .3s var(--ease);
  }
  .nav-toggle span:nth-child(1){ top:0; }
  .nav-toggle span:nth-child(2){ top:9px; }
  .nav-toggle span:nth-child(3){ top:18px; }
  .nav-toggle.open span:nth-child(1){ transform:translateY(9px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2){ opacity:0; }
  .nav-toggle.open span:nth-child(3){ transform:translateY(-9px) rotate(-45deg); }

  /* ============================================
     BUTTONS
  ============================================ */
  .btn{
    display:inline-flex; align-items:center; justify-content:center;
    padding:15px 30px;
    font-size:.86rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    border:1px solid transparent;
    transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
    white-space:nowrap;
  }
  .btn-gold{
    background:var(--gold);
    color:var(--graphite-900);
  }
  .btn-gold:hover{ background:var(--gold-light); transform:translateY(-2px); }
  .btn-outline{
    border-color:rgba(255,253,249,.4);
    color:var(--white);
  }
  .btn-outline:hover{ border-color:var(--white); background:rgba(255,253,249,.06); transform:translateY(-2px); }
  .btn-dark{
    background:var(--graphite-900);
    color:var(--cream);
  }
  .btn-dark:hover{ background:#000; transform:translateY(-2px); }

  /* ============================================
     HERO
  ============================================ */
  /* ============================================
     HERO — pinned photo, text scrolls over it,
     next section slides up to cover it
  ============================================ */
  .hero{
    position:relative;
    height:132vh;
    background:var(--graphite-900);
  }
  .hero-bg{
    position:sticky;
    top:0;
    height:100svh;
    width:100%;
    overflow:hidden;
  }
  .hero-bg img{
    width:100%; height:100%; object-fit:cover;
    object-position:center 20%;
    transform:scale(1);
    will-change:transform;
  }
  .hero-bg-overlay{
    z-index:2;
    position:absolute; inset:0;
    background:
      linear-gradient(100deg, rgba(21,19,15,.97) 0%, rgba(21,19,15,.88) 24%, rgba(21,19,15,.50) 48%, rgba(21,19,15,.14) 72%, rgba(21,19,15,0) 100%),
      linear-gradient(180deg, rgba(21,19,15,0) 58%, rgba(21,19,15,.52) 100%);
  }
  .hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    width:min(58vw, 860px);
    background:linear-gradient(90deg, rgba(255,255,255,.11) 0%, rgba(255,255,255,.07) 28%, rgba(255,255,255,.03) 54%, rgba(255,255,255,0) 100%);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    -webkit-mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.96) 36%, rgba(0,0,0,.58) 70%, rgba(0,0,0,0) 100%);
    mask-image:linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.96) 36%, rgba(0,0,0,.58) 70%, rgba(0,0,0,0) 100%);
    z-index:1;
    pointer-events:none;
  }
  .hero-scroll{
    z-index:3;
    position:absolute;
    bottom:34px; left:var(--pad);
    display:flex; align-items:center; gap:12px;
    color:rgba(255,253,249,.55);
    font-size:.72rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    z-index:3;
  }
  .hero-scroll .dot-ring{
    width:26px; height:26px;
    border:1px solid rgba(255,253,249,.4);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
  }
  .hero-scroll .dot-ring span{
    width:4px; height:4px; background:var(--gold);
    border-radius:50%;
    animation:scrollPulse 1.8s ease-in-out infinite;
  }
  @keyframes scrollPulse{
    0%,100%{ transform:translateY(-3px); opacity:.4; }
    50%{ transform:translateY(3px); opacity:1; }
  }

  .hero-content{
    z-index:4;
    position:relative;
    margin-top:-100svh;
    height:100svh;
    display:flex;
    align-items:center;
    padding-top:110px;
    color:var(--white);
    z-index:2;
    pointer-events:none;
  }
  .hero-content .wrap{ pointer-events:auto; width:100%; }
  .hero-text{
    max-width:640px;
    position:relative;
  }
  .hero-eyebrow{
    color:#e7cf9f;
    font-size:.85rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:22px;
    display:inline-block;
  }
  .hero h1{
    font-size:clamp(2.6rem, 5.6vw, 4.6rem);
    line-height:1.03;
    text-transform:uppercase;
    text-shadow:0 2px 10px rgba(0,0,0,.10);
  }
  .hero h1 .gold{ color:#ead4a6; text-shadow:0 2px 18px rgba(0,0,0,.24); }
  .hero p{
    margin-top:26px;
    max-width:460px;
    font-size:1.05rem;
    color:rgba(255,253,249,.72);
    line-height:1.65;
  }
  .hero-actions{
    margin-top:38px;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
  }

  /* ============================================
     SECTION PRIMITIVES
  ============================================ */
  section{ position:relative; }
  .section-pad{ padding:clamp(70px, 10vw, 130px) 0; }
  .section-label{
    font-size:.8rem;
    letter-spacing:.1em;
    color:var(--gold-dim);
    text-transform:uppercase;
    margin-bottom:16px;
    display:block;
  }
  .section-title{
    font-size:clamp(1.9rem, 3.4vw, 2.7rem);
    max-width:640px;
  }
  .light{ background:var(--cream); color:var(--ink); }
  .dark{ background:var(--graphite-900); color:var(--white); }
  .dark .paper-text, .dark p{ color:rgba(255,253,249,.68); }
  .light p{ color:var(--paper-text); }


  /* Layered transition: the next section rises over the pinned hero */
  #who{
    position:relative;
    z-index:6;
    margin-top:-15vh;
  }

  /* ---- Pro koho ---- */
  .who-head{ text-align:center; margin:0 auto 56px; }
  .who-head .section-title{ margin:0 auto; }
  .who-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1px;
    background:rgba(33,29,23,.1);
    border-top:1px solid rgba(33,29,23,.1);
    border-bottom:1px solid rgba(33,29,23,.1);
  }
  .who-card{
    position:relative;
    z-index:1;
    background:var(--cream);
    padding:44px 26px;
    text-align:center;
    transition:
      transform .38s var(--ease),
      box-shadow .38s var(--ease),
      background .38s var(--ease);
  }

  @media (hover:hover) and (pointer:fine){
    .who-card:hover{
      z-index:4;
      transform:scale(1.025);
      box-shadow:0 22px 58px rgba(24,26,29,.16);
      background:var(--cream);
    }
  }
  .who-icon{
    width:46px; height:46px;
    margin:0 auto 22px;
    color:var(--gold-dim);
    opacity:0;
    transform:translateY(6px);
    transition:opacity .6s var(--ease), transform .6s var(--ease);
  }
  .who-card.in .who-icon{ opacity:1; transform:translateY(0); }
  .who-card h3{
    font-family:var(--sans);
    font-weight:600;
    font-size:.98rem;
    letter-spacing:.02em;
    margin-bottom:10px;
    text-transform:uppercase;
  }
  .who-card p{ font-size:.9rem; }

  /* ---- O mně ---- */
  .about{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:0;
    align-items:stretch;
  }
  .about-media{
    position:relative;
    min-height:520px;
    overflow:hidden;
    align-self:start;
  }
  .about-media img{
    width:100%; height:100%; object-fit:cover; object-position:top center;
    position:absolute; inset:0;
    transform:scale(1);
    will-change:transform;
  }
  @media (min-width:981px){
    .about-media{
      position:relative;
      top:auto;
      height:auto;
      min-height:100%;
      align-self:stretch;
    }
  }
  .about-copy{
    background:var(--graphite-900);
    color:var(--white);
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(40px, 6vw, 90px);
  }
  .about-copy .section-label{ color:var(--gold-light); }
  .about-copy h2{
    font-size:clamp(1.9rem, 3.2vw, 2.5rem);
    line-height:1.15;
  }
  .about-signature{
    font-style:italic;
    color:var(--gold);
    font-size:1.4rem;
    margin-top:6px;
    font-weight:400;
  }
  .about-copy p{ margin-top:22px; max-width:460px; }
  .about-copy .btn{ margin-top:32px; align-self:flex-start; }


  .about-principle{
    margin-top:28px;
    padding:20px 0 2px 22px;
    border-left:2px solid var(--gold);
    max-width:500px;
    font-family:var(--serif);
    font-size:clamp(1.1rem, 1.7vw, 1.35rem);
    line-height:1.4;
    color:var(--white);
  }

  /* ---- Služby ---- */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
    margin-top:56px;
  }
  .service-card{
    background:var(--white);
    border:1px solid rgba(33,29,23,.08);
    padding:40px;
    transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  }
  .service-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 50px rgba(33,29,23,.08);
  }
  .service-num{
    font-family:var(--serif);
    font-size:.85rem;
    color:var(--gold-dim);
    letter-spacing:.08em;
    margin-bottom:18px;
    display:block;
  }
  .service-card h3{
    font-size:1.4rem;
    margin-bottom:14px;
  }
  .service-card p{ font-size:.96rem; }

  .service-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:100%;
  }
  .service-price{
    display:flex;
    align-items:flex-end;
    gap:8px;
    margin:22px 0 18px;
    padding-top:18px;
    border-top:1px solid rgba(32,34,38,.10);
  }
  .service-price strong{
    font-family:var(--serif);
    font-size:clamp(2rem, 3vw, 2.55rem);
    font-weight:400;
    line-height:1;
    color:var(--ink);
  }
  .service-price span{
    font-size:.82rem;
    color:var(--paper-text);
    padding-bottom:3px;
  }
  .service-meta{
    font-size:.78rem !important;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--gold-dim) !important;
    margin-top:-8px;
    margin-bottom:18px;
  }
  .service-list{
    margin-top:20px;
    display:flex;
    flex-direction:column;
    gap:11px;
    color:var(--paper-text);
    font-size:.9rem;
  }
  .service-list li{
    position:relative;
    padding-left:18px;
  }
  .service-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:.67em;
    width:6px;
    height:1px;
    background:var(--gold-dim);
  }
  .service-card.featured{
    border-color:rgba(193,154,91,.42);
    box-shadow:0 14px 36px rgba(24,26,29,.05);
  }
  .service-badge{
    position:absolute;
    top:18px;
    right:18px;
    display:inline-block;
    padding:5px 9px;
    border:1px solid rgba(193,154,91,.42);
    color:var(--gold-dim);
    font-size:.68rem;
    letter-spacing:.09em;
    text-transform:uppercase;
  }


  .services-note{
    margin-top:24px;
    max-width:760px;
    font-size:.88rem;
    color:var(--paper-text);
  }
  .process-intro{
    margin-top:18px;
    max-width:680px;
    color:rgba(251,251,250,.62);
    font-size:.95rem;
  }

  /* ---- Proces ---- */
  .process-list{
    margin-top:60px;
    border-top:1px solid rgba(255,253,249,.14);
  }
  .process-item{
    position:relative;
    display:grid;
    grid-template-columns:70px 1fr;
    gap:28px;
    padding:34px 0;
    align-items:baseline;
    transition:opacity .45s var(--ease);
  }
  .process-item::after{
    content:"";
    position:absolute; left:0; right:0; bottom:0;
    height:1px;
    background:linear-gradient(90deg, rgba(193,154,91,.78), rgba(255,253,249,.14) 38%, rgba(255,253,249,.14));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform 1.05s var(--ease);
  }
  .process-item.in::after{ transform:scaleX(1); }

  .process-num{
    position:relative;
    font-family:var(--serif);
    font-size:1.3rem;
    color:rgba(217,189,139,.55);
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    min-height:38px;
    transition:transform .55s var(--ease), color .55s var(--ease), text-shadow .55s var(--ease);
  }
  .process-item > div{
    opacity:.68;
    transform:translateY(5px);
    transition:opacity .55s var(--ease), transform .55s var(--ease);
  }

  .process-item.process-active .process-num{
    color:var(--gold-light);
    transform:scale(1.08);
    text-shadow:0 0 22px rgba(193,154,91,.18);
  }
  .process-item.process-active > div{
    opacity:1;
    transform:translateY(0);
  }

  .process-item h3{
    font-family:var(--sans);
    font-weight:600;
    font-size:1.1rem;
    margin-bottom:8px;
  }
  .process-item p{ max-width:620px; font-size:.96rem; }


  .process-link{
    color:rgba(251,251,250,.82);
    border-bottom:1px solid rgba(193,154,91,.55);
    transition:color .25s var(--ease), border-color .25s var(--ease);
  }
  .process-link:hover{
    color:var(--white);
    border-color:var(--gold-light);
  }

  /* ---- CTA band ---- */
  .cta-band{
    background:var(--graphite-900);
    color:var(--white);
    text-align:center;
    padding:clamp(80px, 12vw, 140px) 0;
    position:relative;
    overflow:hidden;
  }
  .cta-band::before{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(600px 300px at 50% 0%, rgba(193,154,91,.14), transparent 70%);
    opacity:.55;
    transition:opacity 1.4s var(--ease);
    pointer-events:none;
  }
  .cta-band.in-view::before{ opacity:1; }
  .cta-band h2{
    font-size:clamp(2rem, 4vw, 3rem);
    max-width:720px;
    margin:0 auto;
  }
  .cta-band p{
    margin:20px auto 40px;
    max-width:480px;
    color:rgba(255,253,249,.65);
  }

  /* ---- Kontakt ---- */
  .contact-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:clamp(40px, 6vw, 90px);
    align-items:start;
  }
  .contact-info h2{ font-size:clamp(1.9rem, 3vw, 2.4rem); }
  .contact-info p{ margin-top:18px; max-width:420px; }
  .contact-detail{
    margin-top:34px;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .contact-detail div{
    display:flex; align-items:center; gap:12px;
    font-size:.95rem;
    color:var(--ink);
  }
  .contact-detail svg{ width:18px; height:18px; color:var(--gold-dim); flex-shrink:0; }


  .contact-detail a{
    color:var(--ink);
    transition:color .25s var(--ease);
  }
  .contact-detail a:hover{
    color:var(--gold-dim);
  }
  .contact-detail strong{
    font-weight:600;
  }

  .form-group{ margin-bottom:22px; }
  .form-group label{
    display:block;
    font-size:.78rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--paper-text);
    margin-bottom:8px;
  }
  .form-group input, .form-group textarea{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid rgba(33,29,23,.28);
    padding:10px 2px;
    font-family:var(--sans);
    font-size:1rem;
    color:var(--ink);
    transition:border-color .3s;
  }
  .form-group textarea{ resize:vertical; min-height:100px; }
  .form-group input:focus, .form-group textarea:focus{
    outline:none;
    border-color:var(--gold-dim);
  }
  .form-group input::placeholder, .form-group textarea::placeholder{ color:#a89f8f; }
  .form-note{
    font-size:.82rem;
    color:var(--paper-text);
    margin-top:16px;
  }
  .form-success{
    display:none;
    margin-top:18px;
    padding:16px 18px;
    background:rgba(193,154,91,.14);
    border:1px solid rgba(193,154,91,.4);
    color:var(--ink);
    font-size:.92rem;
  }
  .form-success.show{ display:block; }

  /* ---- Footer ---- */
  footer{
    background:var(--graphite-900);
    color:rgba(255,253,249,.55);
    padding:50px 0 32px;
    font-size:.88rem;
  }
  .footer-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
    padding-bottom:26px;
    border-bottom:1px solid rgba(255,253,249,.1);
  }
  .footer-brand{ color:var(--white); font-family:var(--serif); font-size:1.1rem; }
  .footer-links{ display:flex; gap:26px; flex-wrap:wrap; }
  .footer-links a:hover{ color:var(--white); }
  .footer-bottom{
    padding-top:22px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    font-size:.8rem;
  }

  /* ============================================
     RESPONSIVE
  ============================================ */
  @media (max-width:980px){
    #who{ margin-top:0; }
    .hero{ height:auto; }
    .hero-bg{ position:relative; height:52vh; }
    .hero-bg-overlay{
    z-index:2;
      background:linear-gradient(180deg, rgba(21,19,15,.15) 0%, rgba(21,19,15,.35) 60%, rgba(21,19,15,.85) 100%);
    }
    .hero-scroll{
    z-index:3; display:none; }
    .hero-content{
    z-index:4; margin-top:0; height:auto; padding-top:36px; padding-bottom:56px; background:var(--graphite-900); }
    .hero-text{ padding:0; }
    .hero-text::before{ inset:-14px -18px -16px -16px; border-radius:22px; }
    .about{ grid-template-columns:1fr; }
    .about-media{ min-height:360px; }
    .who-grid{ grid-template-columns:1fr 1fr; }
    .services-grid{ grid-template-columns:1fr; }
    .contact-grid{ grid-template-columns:1fr; }
  }

  @media (max-width:720px){
    .nav-links{
      position:fixed; inset:0 0 0 auto;
      width:min(78vw, 320px);
      background:var(--graphite-900);
      flex-direction:column;
      align-items:flex-start;
      justify-content:center;
      gap:28px;
      padding:0 40px;
      transform:translateX(100%);
      transition:transform .45s var(--ease);
    }
    .nav-links.open{ transform:translateX(0); }
    .nav-links a{ font-size:1.15rem; }
    .nav-toggle{ display:block; }
    .who-grid{ grid-template-columns:1fr; }
    .process-item{ grid-template-columns:44px 1fr; }
  }

  /* Temporary gym photography treatment */
  .hero-bg img, .about-media img{
    filter:saturate(.82) contrast(1.03);
  }
  .about-media::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg, rgba(21,19,15,0) 55%, rgba(21,19,15,.12) 100%);
    z-index:1;
  }


  /* Interaktivní služby */
  .service-card{cursor:pointer;}
  .service-more{
    margin-top:auto;
    padding-top:26px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.78rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink);
    transition:gap .3s var(--ease), color .3s var(--ease);
  }
  .service-more span{color:var(--gold-dim);}
  .service-card:hover .service-more{gap:12px;color:var(--gold-dim);}

  .service-modal{
    position:fixed; inset:0; z-index:300;
    display:flex; align-items:center; justify-content:center;
    padding:clamp(18px,4vw,52px);
    visibility:hidden; pointer-events:none;
  }
  .service-modal.is-open{visibility:visible;pointer-events:auto;}
  .service-modal-backdrop{
    position:absolute; inset:0;
    background:rgba(15,17,20,.72);
    backdrop-filter:blur(7px);
    opacity:0; transition:opacity .35s var(--ease);
  }
  .service-modal.is-open .service-modal-backdrop{opacity:1;}
  .service-modal-panel{
    position:relative; z-index:1;
    width:min(1120px,96vw); max-height:86vh; overflow:auto;
    background:var(--cream); color:var(--ink);
    border:1px solid rgba(193,154,91,.30);
    box-shadow:0 40px 100px rgba(8,10,12,.34);
    padding:clamp(30px,5vw,68px);
    opacity:0; transform:scale(.90);
    transition:transform .46s var(--ease), opacity .32s var(--ease);
  }
  .service-modal.is-open .service-modal-panel{opacity:1;transform:scale(1);}
  .service-modal-close{
    position:absolute; top:18px; right:22px;
    width:42px;height:42px;font-size:2rem;color:var(--paper-text);
  }
  .service-modal-kicker{
    color:var(--gold-dim);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;
  }
  .service-modal-head{
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;
    padding-bottom:32px;border-bottom:1px solid rgba(32,34,38,.12);
  }
  .service-modal-head h3{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;}
  .service-modal-head p{margin-top:14px;max-width:650px;color:var(--paper-text);}
  .service-modal-price{text-align:right;white-space:nowrap;}
  .service-modal-price strong{display:block;font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1;}
  .service-modal-price span{display:block;margin-top:7px;color:var(--paper-text);font-size:.82rem;}
  .service-modal-content{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:34px 0 8px;
  }
  .service-detail-block h4{
    font-family:var(--sans);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;
  }
  .service-detail-block p,.service-detail-list{color:var(--paper-text);font-size:.96rem;}
  .service-detail-list{display:flex;flex-direction:column;gap:12px;}
  .service-detail-list li{position:relative;padding-left:20px;}
  .service-detail-list li::before{
    content:"";position:absolute;left:0;top:.68em;width:7px;height:1px;background:var(--gold-dim);
  }
  .service-quote{
    grid-column:1/-1;margin-top:8px;padding:24px 28px;
    border-left:2px solid var(--gold);background:rgba(193,154,91,.08);
    font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.35;
  }
  .service-modal-footer{
    margin-top:30px;padding-top:28px;border-top:1px solid rgba(32,34,38,.12);
    display:flex;justify-content:space-between;gap:28px;align-items:center;
  }
  .service-modal-footer p{max-width:650px;color:var(--paper-text);font-size:.84rem;}
  body.service-modal-open{overflow:hidden;}

  @media(max-width:760px){
    .service-modal{align-items:flex-end;padding:0;}
    .service-modal-panel{width:100%;max-height:90svh;padding:34px 24px 28px;transform:translateY(34px) scale(.98);}
    .service-modal.is-open .service-modal-panel{transform:translateY(0) scale(1);}
    .service-modal-head{grid-template-columns:1fr;gap:22px;padding-right:40px;}
    .service-modal-price{text-align:left;}
    .service-modal-content{grid-template-columns:1fr;gap:22px;}
    .service-quote{grid-column:auto;}
    .service-modal-footer{flex-direction:column;align-items:flex-start;}
  }


/* =========================================================
   MULTIPAGE EXTENSIONS — intentionally built on V19 design
   ========================================================= */
@media (max-width:980px){
  .reveal, .reveal-sm, .stagger > *, .blur-reveal{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}

/* Inner-page hero */
.page-hero{
  min-height:58svh;
  background:var(--graphite-900);
  color:var(--white);
  display:flex;
  align-items:flex-end;
  position:relative;
  overflow:hidden;
  padding:150px 0 84px;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(700px 380px at 78% 15%, rgba(193,154,91,.14), transparent 72%),
    linear-gradient(120deg, rgba(255,255,255,.025), transparent 48%);
  pointer-events:none;
}
.page-hero .wrap{position:relative;z-index:1;width:100%;}
.page-hero .section-label{color:var(--gold-light);}
.page-hero h1{
  font-size:clamp(3rem,7vw,6.4rem);
  line-height:.97;
  max-width:900px;
  margin-top:12px;
}
.page-hero p{
  color:rgba(251,251,250,.66);
  max-width:620px;
  margin-top:26px;
  font-size:1.05rem;
}
.page-backlink{
  display:inline-flex;
  gap:10px;
  align-items:center;
  margin-top:30px;
  color:rgba(251,251,250,.68);
  font-size:.88rem;
  letter-spacing:.03em;
}
.page-backlink:hover{color:var(--white);}

/* About detail page */
.about-page{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  min-height:760px;
  background:var(--cream);
}
.about-page .about-media{
  min-height:760px;
  position:relative;
  overflow:hidden;
}
.about-page .about-media img{
  width:100%;height:100%;object-fit:cover;
}
.about-page .about-copy{
  padding:clamp(70px,8vw,118px) clamp(32px,7vw,110px);
  align-self:center;
}
.about-page .about-copy h2{
  font-size:clamp(2.5rem,4.8vw,4.2rem);
  margin:8px 0 32px;
}
.about-page .about-copy p + p{margin-top:18px;}

/* Detail cards on service page */
.service-page-stack{
  display:flex;
  flex-direction:column;
  gap:30px;
  margin-top:50px;
}
.service-page-card{
  border:1px solid rgba(32,34,38,.12);
  background:rgba(251,251,250,.55);
  padding:clamp(28px,4vw,50px);
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:clamp(35px,6vw,85px);
  position:relative;
}
.service-page-card.featured{
  border-color:rgba(193,154,91,.55);
  box-shadow:0 20px 55px rgba(32,34,38,.07);
}
.service-page-side .service-num{
  display:block;
  margin-bottom:22px;
}
.service-page-side h2{
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1;
}
.service-page-price{
  margin-top:32px;
}
.service-page-price strong{
  display:block;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
}
.service-page-price span{
  display:block;
  color:var(--paper-text);
  margin-top:6px;
  font-size:.88rem;
}
.service-page-main{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.service-page-block h3{
  font-family:var(--sans);
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.service-page-block p,
.service-page-block li{
  color:var(--paper-text);
  font-size:.95rem;
}
.service-page-block ul{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.service-page-block li{
  position:relative;
  padding-left:17px;
}
.service-page-block li::before{
  content:"";
  position:absolute;
  left:0;top:.62em;
  width:5px;height:5px;border-radius:50%;
  background:var(--gold);
}
.service-page-actions{
  grid-column:1/-1;
  margin-top:6px;
  display:flex;
  justify-content:flex-end;
}

/* Contact inner page */
.contact-page-wrap{
  padding-top:clamp(80px,9vw,120px);
  padding-bottom:clamp(90px,10vw,140px);
}

/* Footer privacy link */
.footer-privacy{color:rgba(255,253,249,.55);}
.footer-privacy:hover{color:var(--white);}

@media(max-width:980px){
  .about-page{grid-template-columns:1fr;}
  .about-page .about-media{min-height:52svh;}
  .service-page-card{grid-template-columns:1fr;}
  .service-page-main{grid-template-columns:1fr;}
  .service-page-actions{justify-content:flex-start;}
}
@media(max-width:720px){
  .page-hero{min-height:48svh;padding:120px 0 62px;}
  .page-hero h1{font-size:clamp(2.6rem,13vw,4.2rem);}
}


/* ---- Hybrid homepage actions ---- */
.service-actions{
  margin-top:auto;
  padding-top:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.service-actions .service-more{
  margin-top:0;
  padding-top:0;
}
.service-book{
  font-size:.76rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--gold-dim);
  border-bottom:1px solid rgba(193,154,91,.45);
  padding-bottom:2px;
  transition:color .25s var(--ease), border-color .25s var(--ease);
}
.service-book:hover{
  color:var(--ink);
  border-color:var(--gold-dim);
}
@media (max-width:720px){
  .service-actions{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
}


/* =========================================================
   O MNĚ — detail page
   ========================================================= */
.about-story{
  background:var(--cream);
}
.about-story-grid{
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
  gap:clamp(44px,7vw,100px);
  align-items:start;
}
.about-story-media{
  position:sticky;
  top:110px;
  height:calc(100svh - 150px);
  min-height:560px;
  overflow:hidden;
}
.about-story-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
}
.about-story-copy h2{
  font-size:clamp(2.5rem,4.8vw,4.25rem);
  margin:8px 0 30px;
}
.about-story-copy p + p{
  margin-top:18px;
}
.about-story-copy .about-principle{
  margin-top:34px;
}
.about-story-copy .btn{
  margin-top:30px;
}

.about-values{
  background:var(--white);
}
.about-values-head{
  max-width:760px;
}
.about-values-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:44px;
}
.about-value{
  border:1px solid rgba(32,34,38,.12);
  padding:30px 26px 32px;
  min-height:245px;
  display:flex;
  flex-direction:column;
  background:rgba(241,241,238,.45);
}
.about-value-num{
  font-family:var(--serif);
  font-size:1.2rem;
  color:var(--gold-dim);
  margin-bottom:38px;
}
.about-value h3{
  font-family:var(--sans);
  font-size:1.02rem;
  font-weight:600;
  margin-bottom:12px;
}
.about-value p{
  color:var(--paper-text);
  font-size:.94rem;
  margin-top:auto;
}

.about-journey{
  background:var(--graphite-900);
  color:var(--white);
}
.about-journey .section-title{
  color:var(--white);
}
.about-journey-intro{
  max-width:660px;
  color:rgba(251,251,250,.62);
  margin-top:18px;
}
.about-facts{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:48px;
  border-top:1px solid rgba(251,251,250,.12);
  border-bottom:1px solid rgba(251,251,250,.12);
}
.about-fact{
  padding:32px 28px 34px;
  border-right:1px solid rgba(251,251,250,.12);
}
.about-fact:last-child{border-right:none;}
.about-fact strong{
  display:block;
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(2rem,4vw,3.2rem);
  color:var(--gold-light);
  line-height:1;
  margin-bottom:12px;
}
.about-fact span{
  display:block;
  color:rgba(251,251,250,.7);
  font-size:.92rem;
  line-height:1.5;
}
.about-journey-note{
  max-width:760px;
  margin-top:36px;
  color:rgba(251,251,250,.7);
}

.about-fit{
  background:var(--cream);
}
.about-fit-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:clamp(44px,8vw,120px);
  align-items:start;
}
.about-fit-copy h2{
  font-size:clamp(2.3rem,4vw,3.7rem);
  margin:8px 0 22px;
}
.about-fit-copy p{
  color:var(--paper-text);
}
.about-fit-points{
  display:flex;
  flex-direction:column;
  border-top:1px solid rgba(32,34,38,.14);
}
.about-fit-point{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  padding:24px 0;
  border-bottom:1px solid rgba(32,34,38,.14);
}
.about-fit-point span{
  font-family:var(--serif);
  color:var(--gold-dim);
  font-size:1.15rem;
}
.about-fit-point h3{
  font-family:var(--sans);
  font-size:1rem;
  font-weight:600;
  margin-bottom:7px;
}
.about-fit-point p{
  color:var(--paper-text);
  font-size:.94rem;
}

@media(max-width:980px){
  .about-story-grid,
  .about-fit-grid{
    grid-template-columns:1fr;
  }
  .about-story-media{
    position:relative;
    top:auto;
    height:58svh;
    min-height:420px;
  }
  .about-values-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .about-facts{
    grid-template-columns:repeat(2,1fr);
  }
  .about-fact:nth-child(2){
    border-right:none;
  }
  .about-fact:nth-child(-n+2){
    border-bottom:1px solid rgba(251,251,250,.12);
  }
}
@media(max-width:620px){
  .about-values-grid,
  .about-facts{
    grid-template-columns:1fr;
  }
  .about-value{
    min-height:0;
  }
  .about-fact{
    border-right:none !important;
    border-bottom:1px solid rgba(251,251,250,.12);
  }
  .about-fact:last-child{
    border-bottom:none;
  }
}


/* ---- Contrast fix for light About sections ---- */
.about-story,
.about-values,
.about-fit{
  color:var(--ink);
}
.about-story .section-title,
.about-story h1,
.about-story h2,
.about-story h3,
.about-values .section-title,
.about-values h1,
.about-values h2,
.about-values h3,
.about-fit .section-title,
.about-fit h1,
.about-fit h2,
.about-fit h3{
  color:var(--ink);
}
.about-story p,
.about-values p,
.about-fit p{
  color:var(--paper-text);
}
.about-story .section-label,
.about-values .section-label,
.about-fit .section-label{
  color:var(--gold-dim);
}
.about-journey,
.about-journey h1,
.about-journey h2,
.about-journey h3{
  color:var(--white);
}

/* ---- O mně V27 polish ---- */
.about-story-copy{
  max-width:760px;
}
.about-story-copy h2,
.about-values-head h2,
.about-fit-copy h2{
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
  text-rendering:optimizeLegibility;
}
.about-story-copy p{
  max-width:690px;
}
.about-values-head{
  max-width:820px;
}

/* ---- Principle quote contrast fix ---- */
.about-story .about-principle{
  color:var(--ink) !important;
  border-left-color:var(--gold) !important;
  background:rgba(193,154,91,.07);
  padding:18px 20px;
}

/* ---- Qualifications section ---- */
.qualification-list{
  margin-top:48px;
  border-top:1px solid rgba(251,251,250,.12);
}
.qualification-item{
  display:grid;
  grid-template-columns:70px minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:30px 0;
  border-bottom:1px solid rgba(251,251,250,.12);
}
.qualification-index{
  font-family:var(--serif);
  font-size:1.25rem;
  color:var(--gold-light);
}
.qualification-main h3{
  font-family:var(--sans);
  font-size:1.05rem;
  font-weight:600;
  color:var(--white);
  margin-bottom:8px;
}
.qualification-main p{
  color:rgba(251,251,250,.66);
  max-width:720px;
  font-size:.95rem;
}
.qualification-action{
  text-align:right;
}
.qualification-status{
  display:inline-block;
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(251,251,250,.45);
}
@media(max-width:760px){
  .qualification-item{
    grid-template-columns:42px 1fr;
    align-items:start;
  }
  .qualification-action{
    grid-column:2;
    text-align:left;
  }
}

/* ---- Services V31 polish ---- */
.services-page-intro{
  max-width:820px;
}
.services-page-intro > p{
  margin-top:18px;
  max-width:690px;
  color:var(--paper-text);
}
.service-page-kicker{
  display:block;
  margin:8px 0 14px;
  font-size:.76rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold-dim);
}
.services-page-note{
  margin-top:44px;
  padding:28px 30px;
  border-left:3px solid var(--gold);
  background:rgba(193,154,91,.07);
  max-width:820px;
}
.services-page-note strong{
  display:block;
  font-size:1.02rem;
  color:var(--ink);
  margin-bottom:8px;
}
.services-page-note p{
  color:var(--paper-text);
  max-width:700px;
}
.services-page-note .text-link{
  display:inline-block;
  margin-top:14px;
  color:var(--gold-dim);
  border-bottom:1px solid rgba(193,154,91,.45);
  padding-bottom:2px;
}
.services-page-note .text-link:hover{
  color:var(--ink);
}

/* ---- V33 launch polish ---- */
.form-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.form-note a{
  color:var(--gold-dim);
  text-decoration:underline;
  text-underline-offset:3px;
}
.contact-form button:disabled{
  opacity:.65;
  cursor:wait;
}
.privacy-copy{
  max-width:820px;
}
.privacy-copy h2{
  font-family:var(--sans);
  font-size:1.05rem;
  font-weight:600;
  margin-top:34px;
  margin-bottom:10px;
}
.privacy-copy h2:first-child{margin-top:0;}
.privacy-copy p{color:var(--paper-text);}
.privacy-copy a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.privacy-note{
  margin-top:40px;
  padding:18px 20px;
  border-left:2px solid var(--gold);
  background:rgba(193,154,91,.07);
}

/* ---- V35 exact user photos ---- */
#heroImg{
  object-fit:cover;
  object-position:center center;
}
#aboutImg{
  object-fit:cover;
  object-position:center 34%;
}
@media(max-width:760px){
  .hero-bg::after{ width:100%; -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); }
  #heroImg{
    object-position:62% center;
  }
  #aboutImg{
    object-position:center 28%;
  }
}

/* ---- V38 hybrid navigation + mobile hero ---- */
.nav-links a[aria-current="page"]{
  color:var(--gold-light);
}
@media(max-width:760px){
  .hero-bg::after{
    display:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
}

/* ---- V40 final inner pages ---- */
.inner-hero-actions{
  margin-top:30px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.about-story-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 26%;
}
.contact-page-hero{
  min-height:40svh;
  padding-bottom:58px;
}
.contact-page-hero h1{
  font-size:clamp(3rem,6vw,5.4rem);
}
.contact-page-compact{
  padding-top:clamp(58px,6vw,78px);
  padding-bottom:clamp(64px,7vw,88px);
}
.contact-page-compact .contact-grid{
  align-items:center;
}
.contact-page-compact .contact-info p{
  max-width:500px;
}
.contact-page-compact .contact-detail{
  margin-top:28px;
}
.contact-page-compact .form-group{
  margin-bottom:18px;
}
.contact-page-compact .form-group textarea{
  min-height:100px;
}
@media(max-width:760px){
  .hero-bg::after{
    display:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  .inner-hero-actions{
    margin-top:24px;
  }
  .contact-page-hero{
    min-height:auto;
    padding-top:118px;
    padding-bottom:48px;
  }
  .contact-page-compact{
    padding-top:52px;
    padding-bottom:64px;
  }
}

/* ---- V41 final O mně photo ---- */
.about-story-media img{
  object-fit:cover;
  object-position:center 36%;
}
@media(max-width:760px){
  .about-story-media img{
    object-position:center 32%;
  }
}

/* ---- V42 authentic photography ---- */

/* Desktop: preserve the real portrait and let it fade into the dark text area.
   No generated extension, no face/body alteration. */
@media(min-width:761px){
  #heroImg{
    width:100%;
    height:100%;
    object-fit:contain !important;
    object-position:right center !important;
    background:var(--graphite-900);
    -webkit-mask-image:linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 18%,
      rgba(0,0,0,.28) 34%,
      rgba(0,0,0,.78) 49%,
      rgba(0,0,0,1) 60%,
      rgba(0,0,0,1) 100%
    );
    mask-image:linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 18%,
      rgba(0,0,0,.28) 34%,
      rgba(0,0,0,.78) 49%,
      rgba(0,0,0,1) 60%,
      rgba(0,0,0,1) 100%
    );
  }
  .hero-bg::after{
    width:55vw;
    -webkit-backdrop-filter:blur(7px);
    backdrop-filter:blur(7px);
  }
}

/* Mobile: photo stays clean and sharp; no blur. */
@media(max-width:760px){
  #heroImg{
    width:100%;
    height:100%;
    object-fit:cover !important;
    object-position:center 28% !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .hero-bg::after{
    display:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
}

/* Homepage O mně */
#aboutImg{
  object-fit:cover !important;
  object-position:center 38% !important;
}

/* Detailed O mně */
.about-story-media img{
  object-fit:cover !important;
  object-position:center 34% !important;
}

/* ---- V43 exact hero photo ---- */
@media(min-width:761px){
  #heroImg{
    width:100%;
    height:100%;
    object-fit:cover !important;
    object-position:center 34% !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
}
@media(max-width:760px){
  #heroImg{
    width:100%;
    height:100%;
    object-fit:cover !important;
    object-position:center 30% !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .hero-bg::after{
    display:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
}

/* ---- V44 hero: text and person do not overlap ---- */
@media(min-width:761px){
  .hero-bg{
    background:var(--graphite-900);
  }

  #heroImg{
    position:absolute;
    top:0;
    right:0;
    width:58%;
    height:100%;
    object-fit:cover !important;
    object-position:center 30% !important;
    -webkit-mask-image:linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.45) 10%,
      rgba(0,0,0,1) 24%,
      rgba(0,0,0,1) 100%
    ) !important;
    mask-image:linear-gradient(
      90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.45) 10%,
      rgba(0,0,0,1) 24%,
      rgba(0,0,0,1) 100%
    ) !important;
  }

  .hero-bg-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(23,25,28,1) 0%,
        rgba(23,25,28,.98) 34%,
        rgba(23,25,28,.78) 47%,
        rgba(23,25,28,.20) 61%,
        rgba(23,25,28,0) 74%
      ),
      linear-gradient(180deg, rgba(21,19,15,0) 62%, rgba(21,19,15,.44) 100%);
  }

  .hero-bg::after{
    display:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }

  .hero-text{
    max-width:610px;
  }
}

@media(max-width:760px){
  #heroImg{
    position:relative;
    width:100%;
    height:100%;
    object-fit:cover !important;
    object-position:center 30% !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .hero-bg-overlay{
    background:
      linear-gradient(180deg, rgba(21,19,15,0) 64%, rgba(21,19,15,.34) 100%);
  }
}
