/* =========================================================
   RESPONSIVE OPTIMALIZACE — TABLETY, MOBILY A NÍZKÉ DISPLEJE
   Desktop nad 1180 px zůstává beze změny.
========================================================= */

/* Stabilnější výška viewportu na mobilních prohlížečích */
@supports (height: 100dvh){
  html,
body{height:100dvh;}
}

/* Zabrání přetékání dlouhých slov, e-mailů a odkazů */
.scene,
.scene-inner,
.contact-copy,
.pricing-card{
  min-width:0;
}

.contact-links a,
.about-panel-content p,
.process-box p{
  overflow-wrap:anywhere;
}

/* =========================================================
   TABLETY A MENŠÍ NOTEBOOKY
========================================================= */
@media (min-width:901px) and (max-width:1280px){
  .topbar{
    left:clamp(24px,3vw,40px);
    right:clamp(72px,7vw,104px);
  }

  .brand-logo{font-size:29px;}
  .brand-role{font-size:clamp(15px,1.8vw,21px);}
  .brand-divider{width:30px;}

  .glass-shell{
    left:clamp(20px,3vw,40px);
    right:clamp(72px,8vw,112px);
  }

  .scene{
    padding:clamp(30px,4vw,52px);
  }

  .scene-inner{
    width:100%;
    padding-bottom:44px;
  }

  .hero-copy{
    transform:translateX(24px);
  }

  .contact-copy{
    transform:translateX(50px);
  }

  .contact-layout{
    grid-template-columns:minmax(0,1.12fr) minmax(260px,.72fr);
    gap:28px;
  }

  .contact-copy h2{
    font-size:clamp(42px,6.2vw,72px);
  }

  .contact-portrait{
    width:min(330px,29vw);
  }

  .contact-portrait .portrait-image{
    width:min(250px,25vw);
    right:3vw;
  }

  .pricing-extras-popup{
    width:min(92vw,1040px);
    left:50%;
    right:auto;
    margin-left:0;
    transform:translate(-50%,26px) scale(.965);
  }

  .pricing-extras-layer.is-open .pricing-extras-popup{
    transform:translate(-50%,0) scale(1);
  }
 }


/* =========================================================
   TABLETY NA VÝŠKU A MOBILY
========================================================= */
@media (max-width:900px){
  html,
body{
    overscroll-behavior:none;
  }

  #bgVideo{
    transform:scale(1.04);
  }

  .grain{
    opacity:.025;
    animation:none;
  }

  .white-veil{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  .topbar{
    top:max(16px,env(safe-area-inset-top));
    left:max(16px,env(safe-area-inset-left));
    right:max(48px,calc(env(safe-area-inset-right) + 42px));
    gap:12px;
  }

  .topbar-left{gap:12px;}
  .brand{gap:10px;}
  .brand-logo{font-size:25px;}
  .brand-divider{width:22px;}
  .brand-role{
    max-width:none;
    font-size:12px;
    line-height:1.2;
    letter-spacing:.08em;
    white-space:nowrap;
  }

  .brand-call svg{
    width:22px;
    height:22px;
  }

  .top-whatsapp{
    gap:0;
    width:44px;
    height:44px;
    padding:0;
    justify-content:center;
    border-radius:50%;
  }

  .top-whatsapp span{display:none;}

  .glass-shell{
    left:max(10px,env(safe-area-inset-left));
    right:max(38px,calc(env(safe-area-inset-right) + 34px));
    top:max(66px,calc(env(safe-area-inset-top) + 58px));
    bottom:max(8px,env(safe-area-inset-bottom));
    overflow:hidden;
  }

  .scene{
    display:block;
    padding:26px 18px 82px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .scene::-webkit-scrollbar{display:none;}

  .scene-inner{
    width:100%;
    min-height:100%;
    margin:0;
    padding-bottom:0;
  }

  .hero-layout,
.collaboration-layout,
.contact-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    align-items:start;
  }

  .hero-copy,
.contact-copy,
.collaboration-support,
.collaboration-main{
    transform:none;
    padding-left:0;
  }

  .eyebrow{
    margin-bottom:16px;
    font-size:9px;
  }

  h2,
.about-me-heading h2,
.collaboration-heading h2,
.pricing-heading h2,
.contact-copy h2{
    font-size:clamp(34px,8.7vw,62px);
    line-height:1.04;
    letter-spacing:-.045em;
  }

  .hero-name{
    font-size:clamp(40px,10vw,68px);
    line-height:1;
  }

  .hero-claim{
    margin-top:24px;
    font-size:clamp(17px,3.8vw,23px);
  }

  .hero-claim,
.hero-note,
.contact-copy > p,
.process-box p{
    font-size:clamp(15px,3.25vw,18px) !important;
    line-height:1.6 !important;
  }

  /* Úvodní portrét */
  .portrait-card{
    position:relative;
    order:2;
    justify-self:stretch;
    width:100%;
    height:clamp(300px,48vh,520px);
    min-height:0;
  }

  .hero .portrait-image{
    right:-10vw;
    bottom:-3vh;
    width:min(760px,105vw);
  }

  /* Spolupráce */
  .collaboration-heading,
.pricing-heading,
.about-me-heading{
    max-width:none;
    margin:0 0 24px;
    text-align:left;
  }

  .collaboration-boxes,
.pricing-cards{
    grid-template-columns:1fr;
  }

  .collaboration-boxes{gap:16px;}
  .process-box{
    min-height:0 !important;
    padding:20px;
    border-width:2px;
    border-radius:15px;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  /* Ceník */
  .pricing-layout{
    padding-bottom:74px;
  }

  .pricing-cards{gap:16px;}

  .pricing-card{
    min-height:0;
    padding:21px 20px 22px;
    border-width:2px;
    border-radius:15px;
  }

  .pricing-card li{
    font-size:14px;
  }

  .pricing-extras-trigger{
    left:0;
    right:0;
    min-height:54px;
    border-width:2px;
  }

  .pricing-extras-popup{
    width:auto;
    left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));
    bottom:max(12px,env(safe-area-inset-bottom));
    margin:0;
    max-height:calc(100dvh - 24px);
    padding:20px;
    border-width:2px;
    transform:translateY(26px) scale(.965);
  }

  .pricing-extras-layer.is-open .pricing-extras-popup{
    transform:translateY(0) scale(1);
  }

  /* O mně */
  .about-me-layout{padding-bottom:0;}
  .about-accordion{gap:11px;}

  .about-panel{
    border-width:2px;
    border-radius:15px;
  }

  .about-panel-trigger{
    min-height:60px;
    padding:15px 18px;
  }

  .about-panel-trigger > span:first-child{
    font-size:15px;
  }

  .about-panel-content p{
    padding:0 18px 18px;
    font-size:14px;
    line-height:1.65;
  }

  /* Kontakt */
  .contact-layout{
    position:relative;
    min-height:calc(100dvh - 150px);
    padding-bottom:280px;
  }

  .contact-copy{
    position:relative;
    z-index:2;
    order:1;
  }

  .contact-copy h2{
    margin-bottom:24px;
  }

  .contact-copy > p{
    max-width:620px;
  }

  .contact-links{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    margin-top:28px;
  }

  .contact-links a{
    font-size:15px;
  }

  .signature{
    margin-top:34px;
  }

  .contact-portrait{
    position:absolute;
    z-index:1;
    right:0;
    bottom:0;
    width:240px;
    height:280px;
    min-height:0;
    pointer-events:none;
  }

  .contact-portrait .portrait-image{
    right:-14px;
    bottom:0;
    width:210px;
    opacity:.90;
  }

  /* Pravá navigace */
  .scroll-rail{
    right:max(6px,env(safe-area-inset-right));
    top:50%;
    height:58vh;
  }

  .rail-word,
.rail-section{
    display:block;
  }

  .rail-segment-top{margin-bottom:20px;}
  .rail-segment-bottom{margin-top:20px;}
  .rail-dot{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;}
  .rail-arrow{font-size:19px;}

  .mobile-hint{
    display:block;
    left:max(14px,env(safe-area-inset-left));
    bottom:max(6px,env(safe-area-inset-bottom));
  }
}

/* =========================================================
   TELEFONY
========================================================= */
@media (max-width:600px){
  .topbar{
    right:max(44px,calc(env(safe-area-inset-right) + 38px));
  }

  .brand-role{
    max-width:150px;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:10px;
  }

  .brand-divider{width:16px;}
  .topbar-left{gap:8px;}

  .top-whatsapp{
    width:39px;
    height:39px;
    border-width:1px;
  }

  .top-whatsapp svg{
    width:19px;
    height:19px;
  }

  .glass-shell{
    right:max(32px,calc(env(safe-area-inset-right) + 28px));
    top:max(60px,calc(env(safe-area-inset-top) + 54px));
  }

  .scene{
    padding:22px 14px 72px;
  }

  .eyebrow{
    letter-spacing:.22em;
  }

  h2,
.about-me-heading h2,
.collaboration-heading h2,
.pricing-heading h2,
.contact-copy h2{
    font-size:clamp(31px,10vw,48px);
  }

  .hero-name{
    font-size:clamp(36px,11.5vw,54px);
  }

  .hero .portrait-image{
    right:-20vw;
    width:122vw;
  }

  .portrait-card{
    height:clamp(280px,43vh,420px);
  }

  .pricing-intro,
.about-me-intro{
    font-size:14px;
  }

  .pricing-row{
    align-items:flex-start;
    gap:14px;
    font-size:12px;
  }

  .pricing-row strong{
    max-width:48%;
    white-space:normal;
    text-align:right;
  }

  .contact-links a{
    max-width:100%;
  }
}

/* Velmi úzké telefony */
@media (max-width:380px){
  .brand-role{display:none;}
  .brand-divider{display:none;}

  .hero-name,
h2,
.about-me-heading h2,
.collaboration-heading h2,
.pricing-heading h2,
.contact-copy h2{
    overflow-wrap:anywhere;
  }

}

/* =========================================================
   TELEFON / TABLET NA ŠÍŘKU S MALOU VÝŠKOU
========================================================= */

/* Původní kolidující landscape blok odstraněn při konsolidaci. */


/* Dotyková zařízení: nevyžadovat hover pro vizuální odezvu */
@media (hover:none){
  .process-box:hover,
.pricing-card:hover,
.about-panel:hover,
.contact-links a:hover,
.top-whatsapp:hover{
    transform:none;
  }
}

/* =========================================================
   VNITŘNÍ SCROLL SEKCE — STABILNÍ MOBILNÍ REŽIM
========================================================= */
@media (max-width:900px){
  html,
body{
    width:100%;
    height:100%;
    overflow:hidden;
    touch-action:none;
  }

  .glass-shell{
    overflow:hidden !important;
    contain:layout paint;
  }

  .scene{
    height:100%;
    max-height:100%;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    touch-action:pan-y;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    scroll-behavior:smooth;
  }

  .scene:not(.is-active){
    overflow:hidden !important;
  }

  .scene.is-active{
    overflow-y:auto !important;
  }

  .scene-inner{
    min-height:calc(100% + 1px);
  }

  /* Dostatečný prostor pod posledním prvkem, aby šel konec
     sekce na iOS i Androidu skutečně doscrollovat. */
  .scene-inner::after{
    content:"";
    display:block;
    height:max(28px,env(safe-area-inset-bottom));
  }
}

/* =========================================================
   FINÁLNÍ MOBILNÍ DOLADĚNÍ 2026
   Jednotné chování napříč iPhone SE / iPhone / Pixel / Galaxy.
   Desktop nad 900 px tato pravidla nemění.
========================================================= */
@media (max-width:900px){
  /* Stabilní využití prostoru a stejné boční odsazení obsahu */
  .glass-shell{
    left:max(10px,env(safe-area-inset-left));
    right:max(40px,calc(env(safe-area-inset-right) + 36px));
    top:max(62px,calc(env(safe-area-inset-top) + 56px));
    bottom:max(8px,env(safe-area-inset-bottom));
    border-radius:0;
  }

  .scene{
    padding:clamp(20px,5vw,30px) clamp(16px,5vw,28px) 78px;
    scroll-padding-top:20px;
  }

  .scene-inner{
    width:min(100%,680px);
    margin-inline:auto;
  }

  .hero-copy,
.collaboration-heading,
.pricing-heading,
.about-me-heading,
.contact-copy{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  /* Nadpisy se už neopírají o jednu stranu displeje */
  .hero-name,
.collaboration-heading h2,
.pricing-heading h2,
.about-me-heading h2,
.contact-copy h2{
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  /* ---------- 01 ÚVOD ---------- */
  .hero-layout{
    display:flex;
    flex-direction:column;
    gap:18px;
    min-height:100%;
  }

  .hero-copy{order:1;}

  .hero .portrait-card{
    order:2;
    position:relative;
    align-self:stretch;
    justify-self:auto;
    width:100%;
    height:clamp(245px,38dvh,430px);
    min-height:245px;
    margin-top:2px;
    overflow:visible;
  }

  .hero .portrait-image{
    left:50%;
    right:auto;
    bottom:clamp(-54px,-5dvh,-26px);
    width:clamp(310px,92vw,610px);
    max-width:none;
    transform:translateX(-50%);
  }

  /* ---------- 06 KONTAKT ---------- */
  .contact-layout{
    display:flex;
    flex-direction:column;
    position:relative;
    min-height:0;
    padding-bottom:0;
    gap:clamp(14px,3.5vw,24px);
    overflow:visible;
  }

  .contact-copy{
    position:relative;
    z-index:2;
    width:100%;
  }

  /* Portrét je součástí toku stránky: vždy zůstane pod textem. */
  .contact-portrait{
    position:relative;
    z-index:1;
    left:auto;
    right:auto;
    bottom:auto;
    order:2;
    align-self:center;
    width:min(340px,88vw);
    height:clamp(250px,36dvh,370px);
    min-height:250px;
    margin:0 auto;
    transform:none;
    overflow:visible;
    pointer-events:none;
  }

  .contact-portrait .portrait-image{
    left:50%;
    right:auto;
    bottom:0;
    width:clamp(170px,48vw,240px);
    max-width:none;
    height:auto;
    transform:translateX(-50%);
    opacity:.92;
  }

  /* ---------- PRAVÁ NAVIGACE ---------- */
  .scroll-rail{
    right:max(14px,calc(env(safe-area-inset-right) + 10px));
    top:40%;
    height:min(68dvh,560px);
    grid-template-rows:34px minmax(92px,1fr) auto minmax(92px,1fr) 34px auto;
  }

  .rail-word,
.rail-section{
    display:block;
    font-size:8px;
    letter-spacing:.12em;
    line-height:1;
  }

  /* Text je mimo osu linky, takže se s ní nikdy nekříží. */
  .rail-word{
    transform:translateX(-1px);
  }

  .rail-section{
    top:calc(100% + 14px);
    transform:translateX(calc(-50% - 1px));
  }

  .rail-segment-top{margin-bottom:24px;}
  .rail-segment-bottom{margin-top:24px;}
}

/* Běžné telefony */
@media (max-width:600px){
  .hero-name{
    font-size:clamp(35px,10.7vw,52px);
    line-height:1.01;
  }

  .hero-claim{
    margin-top:20px;
    font-size:clamp(15px,4.15vw,18px) !important;
    line-height:1.5 !important;
  }

  .contact-copy h2{
    font-size:clamp(31px,9.6vw,46px);
  }

  .contact-copy > p{
    line-height:1.55 !important;
  }

  .contact-portrait{
    width:min(300px,86vw);
    height:clamp(230px,33dvh,320px);
    min-height:230px;
  }

  .contact-portrait .portrait-image{
    width:clamp(160px,46vw,220px);
    transform:translate(-50%,65px);
  }
}

/* Nízké displeje: iPhone SE, starší iPhone a kompaktní Androidy */
@media (max-width:600px) and (max-height:740px){
  .scene{
    padding-top:18px;
  }

  .eyebrow{
    margin-bottom:11px;
  }

  .hero-layout{gap:8px;}

  .hero-name{
    font-size:clamp(34px,10.2vw,46px);
  }

  .hero-claim{
    margin-top:14px;
    font-size:15px !important;
    line-height:1.43 !important;
  }

  .hero .portrait-card{
    height:220px;
    min-height:220px;
    margin-top:0;
  }

  .hero .portrait-image{
    width:clamp(290px,82vw,390px);
    bottom:-62px;
  }

}

/* Velmi úzké telefony */
@media (max-width:380px){
  .scene{
    padding-left:14px;
    padding-right:14px;
  }

  .hero-name{
    font-size:clamp(32px,10.5vw,42px);
  }

  .hero .portrait-image{
    width:88vw;
  }

}

/* =========================================================
   iPad Pro 12.9" (1024 × 1366)
========================================================= */

@media (min-width:1000px)
and (max-width:1035px)
and (min-height:1300px){


/* Prostor pod cenovými kartami pro spodní lištu */
.pricing-layout{

    position:relative;
    padding-bottom:72px !important;

}

/* Doplňkové služby – lišta pod kartami */
.pricing-extras-trigger{

    margin-top:0 !important;

    bottom:0 !important;
    transform:none !important;

}
/* Kontakt - portrét */
.contact-portrait .portrait-image{

    bottom:-250px !important;

 }
/* Hero fotografie */
.hero .portrait-image{

    width:110% !important;

    right:-110px !important;

    bottom:130px !important;

   }
}


/* =========================================================
   Surface Pro 7 (912 × 1368)
========================================================= */

@media (min-width:890px)
and (max-width:930px)
and (min-height:1300px){

    /* Prostor pod cenovými kartami pro spodní lištu */
    .pricing-layout{

        position:relative;
        padding-bottom:72px !important;

    }

    /* Doplňkové služby – lišta pod kartami */
    .pricing-extras-trigger{

        margin-top:0 !important;

        bottom:0 !important;
        transform:none !important;

    }

    /* Kontakt - portrét */
    .contact-portrait .portrait-image{

        bottom:-250px !important;

    }

    /* Hero fotografie */
    .hero .portrait-image{

        width:110% !important;

        right:-110px !important;

        bottom:130px !important;

    }

}

/* ---------------------------------------------------------
   NÍZKÉ TELEFONY NA ŠÍŘKU — HERO
   - text vlevo, fotografie vpravo
   - bez překrývání a bez obřího nadpisu
--------------------------------------------------------- */

/* Původní kolidující landscape blok odstraněn při konsolidaci. */


/* iPhone SE landscape: o chlup kompaktnější text, fotka zůstává výrazná */

/* Původní kolidující landscape blok odstraněn při konsolidaci. */


/* ---------------------------------------------------------
   TELEFONY NA ŠÍŘKU KOLEM 914–915 PX
   Galaxy A51/A71, S20 Ultra apod.
   - portfolio se posune výš, obálky nejsou uříznuté
--------------------------------------------------------- */

/* Původní kolidující landscape blok odstraněn při konsolidaci. */


/* =========================================================
   STABILNÍ TELEFONNÍ LANDSCAPE REŽIM
   Pokrývá telefony s CSS viewportem širším než 900 px
   (např. Samsung Galaxy A51–A73 kolem 914 × 412), ale
   nezasahuje do tabletů, protože rozhoduje nízká výška
   a dotykové ovládání.
========================================================= */

/* Původní kolidující landscape blok odstraněn při konsolidaci. */

/* =========================================================
   JEDNOTNÝ REŽIM PRO TELEFONY NA ŠÍŘKU — 23/07/2026
   Pokrývá i Android telefony s viewportem kolem 914 × 412 px.
   Nízká výška zaručuje, že se pravidla netýkají běžných tabletů.
========================================================= */
@media (orientation:landscape) and (max-height:540px) and (max-width:1000px){
  html,
body{
    width:100%;
    height:100%;
    overflow:hidden;
    overscroll-behavior:none;
    touch-action:none;
  }

  .topbar{
    top:max(8px,env(safe-area-inset-top)) !important;
    left:max(16px,env(safe-area-inset-left)) !important;
    right:max(48px,calc(env(safe-area-inset-right) + 42px)) !important;
  }

  .brand-logo{font-size:22px !important;}
  .brand-role{font-size:9px !important;}
  .brand-divider{width:18px !important;}
  .top-whatsapp{width:38px !important;height:38px !important;padding:0 !important;border-radius:50% !important;}
  .top-whatsapp span{display:none !important;}

  .glass-shell{
    left:max(10px,env(safe-area-inset-left)) !important;
    right:max(38px,calc(env(safe-area-inset-right) + 34px)) !important;
    top:max(50px,calc(env(safe-area-inset-top) + 46px)) !important;
    bottom:max(6px,env(safe-area-inset-bottom)) !important;
    overflow:hidden !important;
    contain:layout paint;
  }

  .scene{
    height:100%;
    max-height:100%;
    padding:14px 20px 58px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y !important;
    scrollbar-width:none;
  }

  .scene::-webkit-scrollbar{display:none;}
  .scene:not(.is-active){overflow:hidden !important;pointer-events:none;}
  .scene.is-active{overflow-y:auto !important;pointer-events:auto;}

  .scene-inner{
    width:100% !important;
    min-height:calc(100% + 1px);
    margin:0 auto !important;
    padding-bottom:0 !important;
  }

  .scene-inner::after{
    content:"";
    display:block;
    height:max(28px,env(safe-area-inset-bottom));
  }

  .eyebrow{
    margin-bottom:8px !important;
    font-size:8px !important;
  }

  /* 01 — Hero: text vlevo, fotografie vpravo a níž. */
  .hero .hero-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1.16fr) minmax(210px,.84fr) !important;
    align-items:center !important;
    gap:12px !important;
    min-height:100% !important;
  }

  .hero-copy{
    position:relative !important;
    z-index:3 !important;
    order:1 !important;
    align-self:center !important;
    max-width:100% !important;
    transform:none !important;
  }

  .hero-name{
    margin:0 0 8px !important;
    font-size:clamp(29px,5.4vw,43px) !important;
    line-height:.96 !important;
    letter-spacing:-.052em !important;
  }

  .hero-claim{
    max-width:100% !important;
    margin:12px 0 0 !important;
    font-size:clamp(12px,1.75vw,15px) !important;
    line-height:1.4 !important;
  }

  .hero .portrait-card{
    position:relative !important;
    z-index:1 !important;
    order:2 !important;
    align-self:stretch !important;
    width:100% !important;
    height:100% !important;
    min-height:250px !important;
    margin:0 !important;
    overflow:visible !important;
  }

  .hero .portrait-image{
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:-96px !important;
    width:clamp(330px,45vw,430px) !important;
    max-width:none !important;
    transform:translateX(-45%) !important;
  }

  /* 02 — Spolupráce */
  .collaboration-heading,
.pricing-heading,
.about-me-heading{
    margin:0 0 14px !important;
    text-align:left !important;
  }

  .collaboration-heading h2,
.pricing-heading h2,
.about-me-heading h2,
.contact-copy h2{
    margin-bottom:10px !important;
    font-size:clamp(28px,4.6vw,42px) !important;
    line-height:1 !important;
  }

  .collaboration-boxes{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .process-box{
    min-height:0 !important;
    padding:16px 18px !important;
  }

  .process-box p{
    font-size:12px !important;
    line-height:1.5 !important;
  }

  /* 04 — Ceník: spodní lišta je v toku a nepřekrývá karty. */
  .pricing-layout{
    position:relative !important;
    padding-bottom:28px !important;
  }

  .pricing-intro{font-size:11px !important;line-height:1.45 !important;}
  .pricing-cards{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  .pricing-card{
    min-height:0 !important;
    padding:16px 16px 18px !important;
    border-width:2px !important;
    border-radius:14px !important;
  }

  .pricing-card h3{font-size:14px !important;}
  .pricing-from{margin-top:7px !important;font-size:11px !important;}
  .pricing-card ul{margin-top:13px !important;}
  .pricing-card li{margin-bottom:7px !important;font-size:10px !important;line-height:1.35 !important;}

  .pricing-extras-trigger{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    min-height:48px !important;
    margin:18px 0 0 !important;
    transform:none !important;
  }

  .pricing-extras-trigger:hover,
.pricing-extras-trigger[aria-expanded="true"]{
    transform:none !important;
  }

  /* 05 — O mně */
  .about-accordion{gap:9px !important;}
  .about-panel-trigger{min-height:48px !important;padding:11px 15px !important;}
  .about-panel-trigger > span:first-child{font-size:12px !important;}
  .about-panel-content p{padding:0 15px 14px !important;font-size:11px !important;line-height:1.5 !important;}

  /* 06 — Kontakt */
  .contact-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1.3fr) minmax(190px,.7fr) !important;
    align-items:center !important;
    gap:14px !important;
    min-height:100% !important;
    padding-bottom:0 !important;
  }

  .contact-copy{
    order:1 !important;
    transform:none !important;
  }

  .contact-copy > p{font-size:12px !important;line-height:1.45 !important;}
  .contact-links{gap:8px 18px !important;margin-top:18px !important;}
  .contact-links a{font-size:11px !important;}
  .signature{margin-top:18px !important;font-size:10px !important;}

  .contact-portrait{
    position:relative !important;
    order:2 !important;
    align-self:stretch !important;
    width:100% !important;
    height:100% !important;
    min-height:230px !important;
    margin:0 !important;
    overflow:visible !important;
  }

  .contact-portrait .portrait-image{
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:-90px !important;
    width:190px !important;
    transform:translateX(-50%) !important;
  }

  /* Pravá navigace: pouze šipky, linka a body. */
  .rail-word,
.rail-section{
    display:none !important;
  }

  .scroll-rail{
    pointer-events:none;
    right:max(8px,env(safe-area-inset-right)) !important;
    top:50% !important;
    height:82dvh !important;
    grid-template-rows:28px minmax(50px,1fr) 0 minmax(50px,1fr) 28px 0 !important;
  }

  .rail-arrow,
.rail-dot{pointer-events:auto;}
  .rail-segment-top{margin-bottom:10px !important;}
  .rail-segment-bottom{margin-top:10px !important;}
  .rail-arrow{font-size:18px !important;}
  .rail-dot{width:7px !important;height:7px !important;margin:-3.5px 0 0 -3.5px !important;}

  .mobile-hint{
    display:block !important;
    left:max(14px,env(safe-area-inset-left)) !important;
    bottom:max(5px,env(safe-area-inset-bottom)) !important;
    font-size:10px !important;
    letter-spacing:.22em !important;
  }
}
