/*
 * Hlavní styly webu filipfarnik.cz. Zdroj: artefakt 03_web/navrh_webu/navrh_webu.html,
 * přenáší se po etapách. Etapa 09: scroll architektura .scene/.scroller (fixed rám
 * s vnitřním scrollerem na desktopu, do 700 px scroluje okno) a sticky stacking
 * sekcí (.stacked/.stak, veil --cov počítá JS).
 */

/* ============ PROMĚNNÉ / PALETA (D9: klubový luxus, krémová + hluboká zelená + mosaz) ============ */
:root{
  --white:#faf7f0;
  --bg:#f4f1ea;
  --panel:#f8f5ee;
  --panel-2:#eae5d8;
  --ink:#2c332c;
  --head:#152b21;
  --soft-h:#877f6e;
  --muted:#5c6259;
  --line:#ddd6c6;
  --line-soft:#e6e0d2;
  --accent:#1b3a2d;
  --green-deep:#0d1f17;
  --brass:#a08430;
  --brass-strong:#8a7020;
  --gold:#c9ac62;
  --champ:#e7dab2;
  --red:#C60021;
  --hl:#ece1c2;
  --hl-band:#e4d9ba;
  --hl-dark:#0b1c14;
  --dark:#12271e;
  --dark-2:#183329;
  --on-dark:#f0ede2;
  --on-dark-mut:#a9ab9c;
  --on-dark-line:rgba(240,237,226,.16);
  --lt-dark:#cdbf9b;
  /* podpisovy mikromotiv (rozhodnuti D23): mini hexagon z konstrukce FF monogramu se sikmym tahem, nahrazuje kosoctverec */
  --ffhex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 1.1 10.24 3.55 10.24 8.45 6 10.9 1.76 8.45 1.76 3.55Z'/%3E%3Cpath d='M4.4 8.4 7.6 3.6'/%3E%3C/g%3E%3C/svg%3E");
  /* jediný font webu (rozhodnutí 56): Funnel Display ve všech rolích, hierarchii nesou váhy, velikosti a prostrkání */
  --display:'Funnel Display','Funnel Fallback',ui-sans-serif,system-ui,sans-serif;
  --serif:'Funnel Display','Funnel Fallback',ui-sans-serif,system-ui,sans-serif;
  --wrap:1216px;
  --frame:32px;
  --frame-in:18px;
  --nav-h:76px;
  --nav-h-s:60px;
  --ease:cubic-bezier(0.16,1,0.3,1);
}

/* ============ RESET ============ */
*,*::before,*::after{box-sizing:border-box;border-radius:0;}
html,body{margin:0;padding:0;}
html{background:var(--white);-webkit-text-size-adjust:100%;}
body{background:var(--white);color:var(--ink);font-family:var(--display);font-weight:400;font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;cursor:pointer;}
h1,h2,h3,h4,p,ul,figure,dl,dd{margin:0;}
ul{list-style:none;padding:0;}
sup{font-size:.6em;line-height:0;vertical-align:super;font-weight:700;color:var(--brass-strong);}
.hero sup,.sec--dark sup,.footer sup{color:var(--gold);}
::selection{background:var(--brass);color:var(--white);}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}
/* akcentové návěští (rozhodnutí 56): kurzívu nahrazuje vyšší váha, akcent nese champagne barva */
.srf{font-style:normal;font-weight:600;letter-spacing:.005em;}

/* ============ RÁM + VNITŘNÍ SCROLL (rozhodnutí 55: dvojitý klubový rámeček kreslený do bílé pasparty, vnější 2px + vnitřní hairline; mosazný hairline dál uvnitř jako třetí tichá vrstva) ============ */
.scene{position:fixed;inset:var(--frame);background:var(--bg);overflow:hidden;z-index:1;}
.scene::after{content:"";position:absolute;inset:var(--frame-in);border:1px solid rgba(160,132,48,.55);pointer-events:none;z-index:64;}
.hero-view .scene::after{top:calc(1px + var(--nav-h)/2);border-top-color:transparent;background:linear-gradient(to right,rgba(160,132,48,.55),rgba(160,132,48,.55)) top right/calc(50% - 60px) 1px no-repeat;}
/* siroke displeje: linka kreslena z listy v 5 usecich: kraj · mezera pres menu · kontakt->logo · logo->CTA · kousek za kosikem */
@media (min-width:1101px){
  .hero-view .scene::after{background:none;}
  .hero-view .nav::before,.hero-view .nav::after{content:"";position:absolute;top:50%;width:15px;height:1px;background:rgba(160,132,48,.55);}
  .hero-view .nav::before{left:17px;}
  .hero-view .nav::after{right:17px;}
  .hero-view .nav__menu{flex:1 1 auto;}
  .hero-view .nav__menu::after{content:"";flex:1 1 auto;height:1px;background:rgba(160,132,48,.55);}
  .hero-view .nav__actions{width:100%;}
  .hero-view .nav__actions::before{content:"";flex:1 1 auto;height:1px;background:rgba(160,132,48,.55);margin-right:6px;}
}
/* jemná papírová textura přes krémovou */
.scene::before{content:"";position:absolute;inset:0;z-index:63;pointer-events:none;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.12 0 0 0 0 0.14 0 0 0 0 0.1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");}
/* overscroll-behavior:none: gumové přetažení na konci scrolleru (Mac trackpad) nechávalo sticky karty
   problikávat na starých pozicích, nejvíc na přechodu kontakt → patička (nález 3.8.2026) */
.scroller{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior:none;}
/* maska nad plovoucí lištou: obsah se u horní hrany rozpouští frosted blurem (bez barvy, drží krémové
   i tmavé sekce). Vráceno 3.8.2026 po opravě trhání (is-kryta v dávce 29 zrušila hromadné překreslování
   karet, tenké blur pruhy už render nedusí); bez bluru zůstává jen .nav, tam se projevovalo mizení lišty. */
.scene__fade{position:absolute;top:0;left:0;right:0;height:calc(var(--frame-in) + var(--nav-h-s) + 30px);z-index:40;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);-webkit-mask-image:linear-gradient(to bottom,#000 52%,transparent 100%);mask-image:linear-gradient(to bottom,#000 52%,transparent 100%);transition:opacity .45s var(--ease);}
.nav-scrolled:not(.hero-view) .scene__fade{opacity:1;}
/* spodní protějšek: plný blur jen v pásu pasparty, končí přesně u zlaté linky .scene::after (nad ní nic);
   opacity:1 = maska jede trvale nezávisle na hero-view/nav-scrolled (dle artefaktu; gating zůstává jen
   pro horní), jinak za hero zůstávalo přechodové okno s ostrým textem pod zlatou linkou */
.scene__fade--btm{top:auto;bottom:0;height:var(--frame-in);-webkit-mask-image:none;mask-image:none;opacity:1;}
/* konec scrollu: spodní maska se zvedá, poslední řádky patičky zůstávají čitelné */
.nav-scrolled.scene-end .scene__fade--btm{opacity:0;}

/* ============ MARKER: krátká mosazná hairline pomlčka (rozhodnutí 46, jednotně napříč webem) ============ */
.ffm{display:inline-block;width:14px;height:1px;background:var(--brass);flex:0 0 auto;}

/* ============ ILUSTRACE (rozhodnutí 44: volná inkoustová kresba, hexagonová geometrie, jeden mosazný šikmý tah, posunutá stínová silueta; na zelené champagne zlatá) ============ */
.ill{pointer-events:none;--ill-sh:rgba(21,43,33,.14);}
.ill svg{display:block;width:100%;height:100%;overflow:visible;}
.ill use{fill:none;stroke:var(--head);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;--ill-acc:var(--brass);}
.ill use.sh{stroke:var(--ill-sh);--ill-acc:var(--ill-sh);transform:translate(6px,9px);}
.sec--dark .ill{--ill-sh:rgba(4,11,7,.6);}
.sec--dark .ill use{stroke:rgba(240,237,226,.92);--ill-acc:var(--gold);}
.sec--dark .ill use.sh{stroke:var(--ill-sh);--ill-acc:var(--ill-sh);}
.ill--card{float:right;width:clamp(92px,10.5vw,124px);aspect-ratio:1;margin:2px 0 16px 20px;}
.ill--free{display:block;width:clamp(96px,9vw,112px);aspect-ratio:1;margin:0 0 clamp(18px,2.6vw,28px) auto;}
.ill--cesta{width:clamp(210px,24vw,320px);aspect-ratio:200/120;margin:clamp(30px,4vw,46px) auto 0 4px;}

/* ============ FF LOGO (rozhodnutí 45: původní plný monogram, PNG maska barvená přes currentColor; červená = pečetní vosk na krémové, mosaz/champagne na zelené) ============ */
/* data URI masky jen jednou (v custom property): řádek nesl tentýž ~6 kB base64 dvakrát */
:root{--fflogo-mask:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOQAAAEHCAYAAAC+8OoVAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABI4SURBVHgB7Z1RctRIEoZTHmJg5okjdHOBtfcNNhbsE2CfAHMC4ARun8DmBMAJ8A3sYGPseTN7Adx7A78BEdDaLLWE5bZKUndLpazM/4uYGcbd4wG3/qzMqvwriQAAAHTHf2i0fUHj03MavSYQNQmBaDml0egBJe9Sou3Sl6cppYf/oul7AtEBQUYIC/Hhfdo4IEq9K2JCyftvNDvcoemUQDRAkJFxTo9e8Qo44Q/uYZv3Q5hxAUFGgqsT71FysJCelkg/88e56fnPkcZGwgYB0bg60W3Y/EbJqUeM05+U7jyh6VZC6XiD0pOK94x4pXx3TuOrTzTaJSAWrJBCcXXiA9p4NeM6sSo9ZXFe89/f/kl0vEXT6/Jrf9FonwXINSaNqr430li5QJACcYLij+bIVyc6QT2g2ZtFIVZ8nwm/+1XN95mwMN/uNHwfEA4IUhAt6sSzn0SH/6bpGbXkglNe/n4T/qhfeN6C+lIQEKQA5ukpHaWU7Fe9nqenb9YRzVyYySl50lhm+p1rUaSxwwJBDsg6deKqoL6UDQQ5EC495Z3Td+RdsdIz/nBePu5BGC4Q/E70OhdmFdf82vFj+nJIICgQZGBYDJsPeMPGXyfSZz7GeLNMnbgqqC/lAUEGoqndLc1WpfSQzxOPKTBNqzU/JGffKH2JNLZ/IMgANLW7pfM6cbI18PED6svhgSB7ZMg6cVVcGjub15evPG+Zuo2mIVZyC0CQPeCxRZVx7W4vQ9SJq4L6chggyA4pjjFcelr1enGMwQ/xhCIBaWxYIMiOiKVOXJX5bQRZGjuqfkdy/H3ehjclsDIQ5Jr00e4mFaSx/QNBroirE/kY44gF57MzTV27G29+nJAy5hs/yWWNSdq14W2haX157hFYinK7GwsuSLubJE6zVXLjKKn4s+dkqyTEuBpYIZegzQYH8QaHpGOMrhii79YiEGQLLNWJVZxntwwknJ57N3ROEpq90RiIQgNB1hDCFiUZ64FoCCDICqynZ5L7brUDQS4QY7tbl1zQowNfIHK4DRvUif0BQeZIskUNgfVAJAXzgrSenmnou9WEaUFqb3erA3WiTEwKMk/P3Db+Zvnr84fQiTM941+73dPPpBDLgUg6pjp1mtIzfkCvOT3bU14nuna/zepIrDsQxYCJFRLHGKgTY0G9IK3XiWh3iwu1grTeZdLVOAIQFnWCtGyLcqDdLW7UCBJ1oqsT6cDXd0swD0eBCkE22aI0uxFQJ+oiakHCFgVblDaiFCRsUagTtRKVIFEnot1NO9EIErYo2KIsIF6QsEXBFmUJsYKELQrtbhYRKUjYolAnWkWUIH22qBtgi9LfdztLQs4+4TPsCf9jKmVHXoT9ynp6Zt0WVQSidH758iEFJMlq8+TgnMYHEjqZBhVk+RgjhS2qCvWBaH6emm4LSNVGCX8WvJv9bMhpXoMJsnAjuKhY9WE4N8IfSt0ICEQ3BoCUZMHP4/59SvZ51R5kmldwQbbvMrk6I4UgEPnnosgifc3C3OXPK2gaG0yQZTeCJyqqdiMgEM0NAPwZjyJqD8vS2Ly+3AtRw/cuSKRnCER1gejmYjHROGFecn3Z+7ToXgVZuBH8UTE52TBgizIaiH4ZAKoCUWEAoHyXk4TAz+pLmgvwoOK1rL5kYU4e05dedoM3qAdcVLyg8Sn/oD9SZcuXS8/SnSf0ZU+jGF0g4g/u0n+m6AJRuuXO27SJ0QnR9d3+TslVlRvHCXHed5uOpWYF7nNJ+PfHv9sPVa+7z5XT2Kv5fkC3dLpClrtMfFFRc5eJ9Tqx6Lv1Z0Tp2UYkfbf573GfRXecVC8sRX356jvXl12lsZ0JsnAj+HbPNLsRrAcizQaAfCNnXHMrxSZnQ1dd1ZdrC7JNVHRuhCfKbVEIRHfRFIhcen1Bo7MZr5o19eW2E+Y69eXKgkSXie1AVLS71QQidX23eRo7YWG+5+d+wnsBLxbeMsrry/1Vd86XFiTSMwSiuT/TZiByFPXlJxqd3Ku+0yirL/+mR8+/8inCMmnsUrusLiq63TO/NchFxXSsUYzF7uH9bPfwrhiL3cMndDXWKEYXiNzOOYuRd88rzdLT+c75dMeKWfopTU/c550flUwXX+dSZjevL9+5n1+b79lKkC4q8jJ8yY/dcfU2vnMjZNv4rzXWSkUgmqdodykCUUjbUCisB6I2uNSUs8KdmmMSV1+etjkmqU1ZkZ41uRG0XzN5yxZ1B4ytu6FIY7m+dGfPRzNKdhfe8qsN7wfvOD/13JxfKUh0mTS6EaY2xhHYDETrkAtzr+aYZMQ/24++Y5I7goQbwe9GQCDSHYi6JN9hff9XtmJmu7Gj8uvlNrxvc5tX9jz9qiGLdje3rPrqRFe08xnLS40PowtEde1uLhAZaHe7rBpSVNSJf/CfH2JcjrwNr66+nLjnrqgvsxWSa4WjumMM3AJu2Ral1wAQinJ9mc7b8DYX3vKrvsxT1tnu4n1XcCMgEGkOREOQC3Orvr6sJJ4m4GXBhpXtxg4JLNSXt9rwKgXJRx37/6Sr/5EyNLkRlsX6hpVEXH3J+zbPylmKiGsg+wbjCOwGothQLUj03doORDGiVpAW3QgFqBPjRZ0grbsRLAciDagRJPpubY8j0EL0gix2D+dN0Hcpdg81OjEcGFuni6gFadmNYP08VStRCtK6G8GyAUA7UQkStii0u2knCkHCFmV7HIElxAuyyY3g0rOEZofou0V6qgGxgrSenlmei2IZcYKELQp1omXECBK2KLS7ASGCtO5GsDyOANxGhCDzy3erMG+LMtB3+4rAL0Ru6mAcgfVxBHYRKUh3CzjqRH20CUT8l8qmjraIFKTWcQSW/ZmWDQDLYOIKjyFp03er2RaFcQTLAUH2RDk987W7YS4KxhEsAkF2DM5TMY5gHSDIDmnTd4u5KDhPrQOC7AD03aLvtisgyDVA3y36brsGglwBT53o0rDs1+i7Rd/tqkCQS1LT7pYLE323qBNXB4JsCcYR2O67DQUE2QDa3XDNZEggyBowjgB1YmggyAra3AKOcQRod+sDCLIEbFEYRzA0ECSh3Q11ohzMC9LyLeAIRKMRf8L/IEGYFaT1LhMEoqLvlh6SIMwJ0vot4AhE9QaAn/OOq8EwI0ikZwhEbQLR04HrZBOCtOxGQCCKywCgWpCwRSEQxRaIVArSepeJ9UAU88Xb6gRp2Y2Avtv4DQBqBGndjYBApCMQRS9ItLthHIGmvttoBYn0DIGofhxBnIEoSkHCFoVApDUQRSVI624EjCPQP44gCkEiPUMgsjKOQLQg0WWCQGRtHIFYQcKNgHEEFscRiBTkBY1PYYuybouyOY5A6gTl7Yovw41g2BblAlFCs0Pt4wjEb+rAjYBxBJbGEQgXJNwICEQ6A5EPoYKEG0HrOALrgagJUYKEG0H3VGHLgagtYgQJNwJsUbhmUogg+WEcw42AQASECFJjiqLVjdAWjCNYDdxc3jFod2sORJr7btcFguwIK24EHxhH0A0QZAdYciMs0jYQYapyOyDINbDoRihjORD1BQS5ApbdCA7rgahPIMglsO5GsB6IQgBBtsSyGwG2qHBAkA1gHIHdcQRDAEF6gC0KtqghgCAXgC3KfN/tw50BP1cIsgRsUaY3rLJAlNLsv/yv72kgIEiCG8G6LWphLspLGhDTgkR6hr7b+kAUHrOChC0KgagmEA2GOUHiFnCMI/D13UrAjCCRniEQ1fXdSkG9IHGMgUBU13c7T89JjEhVC7IcFas/DP3pGQIRbfv6bl0g+o1onyh5QUJQKUjrbgSMI2gfiM6zn5UcVAkStiiMI4g9EKkQJLpMXHpGB76+W8JclGgCUfSCtOxGQJ2ozwAQrSBhi0Ig0hiIohOk9S4T64FIe99tVIJcaAK+A8YRYBxB7DvnUQiyTVTUfAs4ApGdQCRakOgysR2ILPbdihQk0jMEIqtzUcQJErYoBCKrgcghRpBwI8AWZXUuShkRgryg8SlsUbBFVb1ubRyBCEFWiRG2KNu2KO0GAB8iN3XgRsA4AqvjCEQK8jF9GfTmr76ALQrjCJrANZABgC3K7lyUZYEgewS2KIwjWBYIsgdQJ9qei7IOEGTHwBZlNxB1AQTZEbBF2R5H0BUQ5Jqg3c32XJSugSDXALYou4GoLyDIFYAtym7fbd9AkEuAdje7tqhQQJAtaONGgC1Kty0qFBBkA5bdCLBFhQeC9GDdjQBb1DBAkAu0cSPAFmXPFhUKCDIH4whgi5IABEm23QiwRcnCvCAveGVIs638KmCLMhCInickB6yQFWh3I2AuSpMBYDggyLtc/0npGLYofbQJRBtEZzQgEORdrrWJEf7MePpuIUjlWLdFxWYAgCCVYt0WFasBAIJUBvyZcffdQpCKwFyU+AMRBKkAjCPQE4ggyIiBP1NfIIIgIwTHGHoDEQQZGWVbVNWqYMGfqTkQQZCRYN0W1abvVsNcFAhSONZtUdb6biFIocCfabPvFoIUCMYR2N2wgiAFgXEEGEcAQQoA7W4YR1BQKchvlO7xP3AFfAAwjsB23y3/GUflr3lWyOTob3r07CvXKTu4hboXMI4AfbeUBeLb5IJM7vyhOWrv3qdklyP4+280O4QwuwHtbui7rQtEmSA5LdjjHwK/KXmx+Ab+j/dZmNt8MKt29HYIkJ4hELUJRLdeczew8ReOZrwyer7v9AcX1087PoQ+p/GtZ/QJXQW7eyi/de6q9KUp///H1CFFVEwqtvEdVtrdEvTdVnErEN2qIfPt5L2iTYkWCk7377wt/xFpbDuQnqHvdtnz1NqViIXJUT1LY0dVr/NrExbmh3WFqW2FRHrW9jxVb9+t2xj1ZUSu7/aBp++28cGfP7DV9WXO1G3Nr1NfahEk0rObvlvPW6bou60PRK0f/PzB/ci/3PS8xQlzb5X0S4Mga9L8jLqoGDsIRDd9t563tF60Wnfq5PXlVl19yV+/tFZf4hZw9N122Xe78kqU15cH/m+cTB7Tl0NqQYwrZFNU1OpGKLBeJ96Md6/OiIrGjmUD0VoPflf1ZUyCRHrm7zJxaD9P7TsQdfLg82rJ2/pZfTnyvOXzd64vfWlsLILsKyrGQtF3W3OeaqLvtur1rgJRJ26PfCNnXFNfbt7nhz7W+hK3gNvuuw1pAOjUfuVSU15xzmZE+1X1ZdGG54TZtr4cErS74Tw1dCDqLTVcpr6UmLJab3ezXCcOGYh6f/A/8bb4vax9rLru2uBt8dnCQfLAgnQCm5L3vFV3nYi+243cjXGXYsOOF5EJ9USwB7/p4LzMwIL0YcSN4A9EFvpuhw5Ewa7wKOrLhjRWHHAjWOm7lXHfbbCVqEyTzUvKCglbFPpuQ/fdDnLJVQub18DYcCP4bFFabgGvQvp9t4OskIss2rwGXCHXdq5IBraoZgMA8Tn5kBt2IgTpKB+ThBYkp86X+utEOujCjRAjMQUiMYIscAIJGaHyJvGH2t0IsEXdRaIBQJwgQTcUtijy1ufJSWLAFhVbIIIglQFbVNwGAAhSCWh302EAgCAVAFuUnkAEQUaMdX+mxr5bCDJC0O6mNxBBkBGBOlF/IIIgIwG2qGFtUaGAIIUDW5StQARBCgV1os3zVAhSGGh3sz2OAIIUxDpDWmLHeiAqgCAFAFuUfFtUKCDIAYEtynYgqgKCHADUibbnotQBQQYGtijUiXVAkIGALcp2321bIMieQbub7bkoywJB9ghsUXYD0apAkD0AW5Tdvtt1gSA7BO1uqBPXBYLsAEtuhCqsB6IugSDXBLYou4GoDyDIFWk63GauU8WH26gT+wGCXINlhtKSEtDu1i8QZAfk80E+ktdEnAlzL2YTsXVbVCggyA5p41r4RrPDnYh2GdHuFhYIsgfyaV4Hvtf5tclj+nJIwmkeF6i373YoIMieiLm+RJ04HBBkz+T15Sl5Vxmafqd0R0Iai3a34YEgAyG5vkSdKAcIMiDuwf+d6HVNfckrUHIcsr5Eu5ssIMgBkFBfwhYlEwhyQD7RaPdeze0BG7yL+ZV3MbtMY1EnygaCFECo+hLtbvKBIIXQZxprfRxBTECQwnDC5A/laEaJt0XtB9d2T1u0qMEWFR8QpFDWSWNxjBEvEKRw8jY8l8aOql53bXgszA+FMJvqRM3jCDQAQUZAm/qSV8O3XCc+R7tb3ECQEdHC5lWF6nEE2oAgI6TZhYE6MVYgyIjx27xgi4oVCDJybteXqBNj5/8sxLgqAWh76AAAAABJRU5ErkJggg==");}
.fflogo{display:block;background:currentColor;-webkit-mask:var(--fflogo-mask) center/contain no-repeat;mask:var(--fflogo-mask) center/contain no-repeat;}

/* ============ PRELOADER (klubová obálka, artefakt 1:1, vrácen 4.8.2026): pasparta + panel
   v barvě hera, zlatý FF monogram s draw animací a přeleskem, MCMXCI, baseline průběhu
   (bez procent, plní ji rAF v main.js). Jen první návštěva v session (pre-skip), bez JS
   se nezobrazí, reduced motion vypíná v bloku REDUCED MOTION. ============ */
.pre{display:none;}
.js .pre{position:fixed;inset:0;z-index:100;background:var(--white);display:flex;align-items:center;justify-content:center;transition:opacity .55s var(--ease),visibility .55s;}
.pre.done{opacity:0;visibility:hidden;pointer-events:none;}
/* opakovaná návštěva v session (flag ffpre): preloader se vůbec nevykreslí, žádný záblesk */
.pre-skip .pre{display:none;}
/* panel v barvě hera uvnitř pasparty */
.js .pre::before{content:"";position:absolute;inset:var(--frame);background-color:var(--dark);background-image:radial-gradient(115% 85% at 50% 50%,var(--dark) 34%,rgba(18,39,30,0) 78%),repeating-linear-gradient(116.565deg,rgba(201,172,98,.07) 0 1px,transparent 1px 9px);}
/* mosazný hairline na pozici vnitřní linky pasparty (.scene::after), při zmizení preloaderu „zůstane stát“ */
.js .pre::after{content:"";position:absolute;inset:calc(var(--frame) + var(--frame-in));border:1px solid rgba(160,132,48,.55);pointer-events:none;}
@media (max-width:700px){.js .pre::after{inset:var(--frame);}}
.pre__inner{position:relative;display:flex;flex-direction:column;align-items:center;transition:opacity .4s ease,transform .55s var(--ease);}
.pre.done .pre__inner{opacity:0;transform:translateY(-12px);}
/* monogram: draw = zlatá výplň dojíždí maskou v podpisovém úhlu, pak šampaňský přelesk */
.pre .fflogo{position:relative;width:56px;height:64px;color:var(--gold);background:none;animation:prein .5s var(--ease) both .05s;}
.pre .fflogo::before{content:"";position:absolute;inset:0;background:linear-gradient(116.565deg,var(--gold) 42%,rgba(201,172,98,0) 58%) 100% 100%/320% 320% no-repeat;animation:ffdraw .65s cubic-bezier(0.3,0,0.2,1) both .05s;}
.pre .fflogo::after{content:"";position:absolute;inset:0;background:linear-gradient(116.565deg,rgba(231,218,178,0) 32%,var(--champ) 50%,rgba(231,218,178,0) 68%) 100% 100%/320% 320% no-repeat;animation:ffshine .45s ease-in-out both .6s;}
@keyframes prein{from{opacity:0;transform:translateY(10px) scale(.96);}to{opacity:1;transform:none;}}
@keyframes ffdraw{to{background-position:0% 0%;}}
@keyframes ffshine{from{background-position:100% 100%;}to{background-position:0% 0%;}}
.pre__est{margin-top:13px;font-family:var(--display);font-weight:500;font-size:9px;letter-spacing:.36em;text-indent:.18em;color:rgba(201,172,98,.85);animation:prein .5s var(--ease) both .15s;}
/* baseline průběhu: tichá linka se středovou značkou, zlatá výplň scaleX z JS */
.pre__line{position:relative;width:148px;height:1px;margin:24px 0 0;background:var(--on-dark-line);animation:prein .5s var(--ease) both .2s;}
.pre__line i{position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;}
.pre__line::after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:rgba(240,237,226,.3);}



/* ============ SKIP LINK ============ */
.skip{position:absolute;left:24px;top:-60px;z-index:70;background:var(--head);color:#f6f2e6;padding:10px 16px;font-size:12px;letter-spacing:.05em;transition:top .2s;}
.skip:focus{top:24px;}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}

/* ============ NAV ============ */
/* tři zóny (rozhodnutí 49): menu vlevo, FF emblém uprostřed, CTA + košík vpravo; 1fr auto 1fr drží logo v přesném středu */
.nav{position:fixed;top:calc(var(--frame) + 1px);left:calc(var(--frame) + 1px);right:calc(var(--frame) + 1px);height:var(--nav-h);z-index:66;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:clamp(12px,1.8vw,22px);padding:0 clamp(18px,3vw,42px);background:rgba(244,241,234,.97);border:1px solid transparent;border-bottom-color:var(--line);color:var(--ink);transition:background .45s var(--ease),border-color .45s var(--ease),color .45s var(--ease),height .45s var(--ease),top .45s var(--ease),left .45s var(--ease),right .45s var(--ease),padding .45s var(--ease),box-shadow .45s var(--ease);}
.hero-view .nav{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-color:transparent;color:var(--on-dark);}
/* po odscrollování z hera: plovoucí zúžená lišta odsazená od rámu, hairline v tónu vnitřní zlaté linky pasparty + měkký stín */
.nav-scrolled:not(.hero-view) .nav{top:calc(var(--frame) + var(--frame-in) + 10px);left:calc(var(--frame) + var(--frame-in) + clamp(12px,2.4vw,26px));right:calc(var(--frame) + var(--frame-in) + clamp(12px,2.4vw,26px));height:var(--nav-h-s);padding:0 clamp(16px,2.4vw,30px);background:rgba(250,247,240,.96);border-color:rgba(160,132,48,.5);box-shadow:0 18px 38px -20px rgba(21,43,33,.35);}
.nav-scrolled:not(.hero-view) .btn-cta{padding:13px 17px;}
.nav__left{display:flex;align-items:center;justify-content:flex-start;min-width:0;grid-column:1;}
.nav__logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--accent);flex:0 0 auto;grid-column:2;justify-self:center;}
.nav__est{font-family:var(--display);font-weight:500;font-size:7.5px;letter-spacing:.34em;text-indent:.17em;color:var(--brass);white-space:nowrap;transition:color .45s var(--ease);}
.hero-view .nav__est{color:rgba(201,172,98,.85);}
.nav-scrolled:not(.hero-view) .nav__est{display:none;}
.hero-view .nav__logo{color:var(--gold);}
/* emblém o chlup větší, jako klubová pečeť ve středu lišty */
.nav__logo .fflogo{position:relative;width:34px;height:39px;transition:width .45s var(--ease),height .45s var(--ease);}
/* hover: přelesk z e-mail podpisu (sigshine) místo dřívější rotace; světlý pás v podpisovém úhlu pod PNG maskou */
.nav__logo .fflogo::after{content:"";position:absolute;inset:0;background:linear-gradient(116.565deg,rgba(253,251,244,0) 32%,rgba(253,251,244,.95) 50%,rgba(253,251,244,0) 68%) 100% 100%/320% 320% no-repeat;}
.nav-scrolled:not(.hero-view) .nav__logo .fflogo{width:30px;height:34px;}
.nav__logo .fflogo::after{animation:ffshineloop 3.6s cubic-bezier(0.3,0,0.2,1) 3.2s infinite;}
@keyframes ffshineloop{0%{background-position:100% 100%;}72%{background-position:0% 0%;}100%{background-position:0% 0%;}}
.nav__menu{display:flex;align-items:center;gap:clamp(14px,2.6vw,38px);}
.nav__links{display:flex;align-items:center;gap:clamp(10px,1.8vw,26px);}
.nav__links a{position:relative;font-size:12.5px;letter-spacing:.03em;white-space:nowrap;color:inherit;padding:8px 2px;opacity:.82;transition:opacity .25s;}
.nav__links a sup{font-family:var(--display);font-size:9px;letter-spacing:.08em;color:var(--muted);font-weight:500;margin-right:6px;transition:color .25s;}
.hero-view .nav__links a sup{color:var(--on-dark-mut);}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.nav__links a[aria-current="true"]{opacity:1;}
.nav__links a[aria-current="true"]::after{transform:scaleX(1);}
.nav__links a[aria-current="true"] sup{color:var(--brass);}
@media (hover:hover) and (pointer:fine){
  .nav__links a:hover{opacity:1;}
  .nav__links a:hover::after{transform:scaleX(1);}
  .nav__links a:hover sup{color:var(--brass);}
}
.nav__actions{display:flex;align-items:center;gap:10px;grid-column:3;justify-self:end;}
.nav__scrim{display:none;}
.btn-cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#f6f2e6;background:var(--accent);border:none;padding:15px 20px;line-height:1;white-space:nowrap;transition:background .3s,padding .45s var(--ease);clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 7px) 100%,0 100%);}
.btn-cta i{font-style:normal;color:var(--gold);transition:transform .35s var(--ease);}
.btn-cta:focus-visible{outline:2px solid #f6f2e6;outline-offset:-5px;}
@media (hover:hover) and (pointer:fine){.btn-cta:hover{background:var(--green-deep);}.btn-cta:hover i{transform:translateX(3px);}}
/* duplikát CTA pro off-canvas menu na úzkých displejích (v liště se pod 600 px nevejde) */
.nav__m-cta{display:none;}
/* košík: klenot v liště, kruhový medailon s dvojitým mosazným rámem (mini verze klubového dvojrámu), uvnitř kresba se stínovou kopií */
.nav__cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:6px;border-radius:50%;border:1px solid rgba(160,132,48,.55);outline:1px solid rgba(160,132,48,.28);outline-offset:3px;background:transparent;color:var(--head);flex:0 0 auto;transition:color .3s,border-color .3s var(--ease),outline-color .3s var(--ease),background .3s var(--ease);--cart-sh:rgba(21,43,33,.16);}
.hero-view .nav__cart{--cart-sh:rgba(4,11,7,.55);border-color:rgba(201,172,98,.6);outline-color:rgba(201,172,98,.3);background:var(--dark);color:rgba(240,237,226,.92);}
.nav__cart svg{width:30px;height:30px;overflow:visible;transition:transform .4s var(--ease);}
.nav__cart svg use{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;--ill-acc:var(--brass);}
.nav__cart svg use.sh{stroke:var(--cart-sh);--ill-acc:var(--cart-sh);transform:translate(1.7px,2.3px);}
.hero-view .nav__cart svg use{--ill-acc:var(--gold);}
.hero-view .nav__cart svg use.sh{--ill-acc:var(--cart-sh);}
/* odznak počtu položek v košíku (etapa 13b): server-side count, bez Woo JS */
.nav__cart-b{position:absolute;top:-5px;right:-7px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--brass);color:#faf7f0;font-family:var(--display);font-weight:700;font-size:10.5px;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px var(--white);}
.hero-view .nav__cart-b{background:var(--gold);color:var(--head);box-shadow:0 0 0 2px var(--dark);}
.cart__item{transform-box:fill-box;transform-origin:center;}
@media (hover:hover) and (pointer:fine){
  .nav__cart:hover{border-color:rgba(160,132,48,.9);background:rgba(160,132,48,.08);}
  .hero-view .nav__cart:hover{border-color:rgba(201,172,98,.9);background:rgba(201,172,98,.09);}
  .nav__cart:hover svg{transform:translateY(-2px) rotate(-6deg);}
  .nav__cart:hover .cart__item{animation:cartdrop .55s cubic-bezier(.34,1.56,.64,1);}
}
@keyframes cartdrop{0%{transform:translateY(-11px);opacity:0;}55%{transform:translateY(1.5px);opacity:1;}100%{transform:translateY(0);opacity:1;}}
.nav__burger{display:none;width:44px;height:44px;border:1px solid currentColor;background:transparent;align-items:center;justify-content:center;padding:0;flex:0 0 auto;}
.nav__burger span{display:block;width:17px;height:2px;background:currentColor;position:relative;transition:.3s;}
.nav__burger span::before,.nav__burger span::after{content:"";position:absolute;left:0;width:17px;height:2px;background:currentColor;transition:.3s var(--ease);}
.nav__burger span::before{top:-6px;}
.nav__burger span::after{top:6px;}

/* ============ WRAP / SEKCE ============ */
.wrap{max-width:calc(var(--wrap) + 2*clamp(20px,4vw,64px));margin:0 auto;padding:0 clamp(20px,4vw,64px);}
section{position:relative;}
.sec{padding-top:clamp(64px,8vw,116px);}
.stacked .stak:not(.hero):not(.footer){padding-bottom:clamp(100px,15vh,190px);}
section[id],#slovnik{scroll-margin-top:calc(var(--nav-h) + 28px);}
/* tónovaný pás (cesta): tmavší panel s vodoznakem tenisového kurtu vpravo */
.sec--band{position:relative;overflow:hidden;margin-top:clamp(64px,8vw,116px);padding:clamp(56px,7vw,100px) 0 clamp(64px,8vw,108px);background:var(--panel-2);}
.sec--band::before{content:"";position:absolute;right:clamp(-120px,-6vw,-40px);top:50%;transform:translateY(-50%) rotate(8deg);width:clamp(280px,30vw,430px);aspect-ratio:420/780;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 780' fill='none' stroke='%23152b21' stroke-width='2.5'%3E%3Crect x='30' y='30' width='360' height='720'/%3E%3Cline x1='75' y1='30' x2='75' y2='750'/%3E%3Cline x1='345' y1='30' x2='345' y2='750'/%3E%3Cline x1='30' y1='390' x2='390' y2='390' stroke-width='4'/%3E%3Cline x1='75' y1='210' x2='345' y2='210'/%3E%3Cline x1='75' y1='570' x2='345' y2='570'/%3E%3Cline x1='210' y1='210' x2='210' y2='570'/%3E%3Cline x1='210' y1='30' x2='210' y2='44'/%3E%3Cline x1='210' y1='736' x2='210' y2='750'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.05;pointer-events:none;}
.sec--band .wrap{position:relative;z-index:1;}
.sec--band + .sec--dark{margin-top:0;}

/* hlavička sekce (rozhodnutí 50): centrický klubový vzor, eyebrow + velký titulek s highlight bloky */
.shead{max-width:980px;margin:0 0 clamp(34px,4.6vw,60px);text-align:left;}
.shead::after{content:"";display:block;width:15px;height:15px;background:var(--brass);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;margin:clamp(22px,2.8vw,32px) 0 0;}
.sec--dark .shead::after{background:var(--gold);}
.eyebrow{display:flex;align-items:center;justify-content:flex-start;gap:16px;font-family:var(--display);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:clamp(16px,2.2vw,26px);}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--brass);flex:0 0 auto;opacity:.85;}
.eyebrow::after{display:none;}
.eyebrow b{font-weight:700;letter-spacing:.18em;color:var(--head);}
.eyebrow .sl{color:var(--brass);font-weight:700;}
.sec--dark .eyebrow{color:var(--on-dark-mut);}
.sec--dark .eyebrow b{color:var(--on-dark);}
.sec--dark .eyebrow::before{background:rgba(201,172,98,.6);}

/* nadpisy: Funnel Display (rozhodnutí 52 + 56), akcentní slova na tónovaném podkladu odlišená vyšší vahou */
.h2{font-family:var(--serif);font-weight:600;font-size:clamp(2.4rem,6.4vw,5.2rem);line-height:1.06;letter-spacing:-.014em;color:var(--head);text-wrap:balance;}
.sec--dark .h2{color:#fdfbf4;}
/* highlight blok: jemný šedozelený podklad s malým přesahem, jako fixou zvýrazněné slovo */
.hl{font-style:normal;font-weight:750;font-size:1em;line-height:1.1;letter-spacing:.002em;background-image:linear-gradient(var(--hl),var(--hl));background-repeat:no-repeat;background-size:100% calc(100% - .16em);background-position:0 100%;padding:.02em .16em .07em;margin:0 -.06em;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
.sec--band .hl{background-image:linear-gradient(var(--hl-band),var(--hl-band));}
.sec--dark .hl{color:var(--champ);background-image:linear-gradient(var(--hl-dark),var(--hl-dark));}
.lead{color:var(--muted);font-size:clamp(.95rem,1.4vw,1.05rem);max-width:52ch;margin-top:22px;}
.shead .lead{margin:20px 0 0;}
/* klubový citát: lehká váha Funnelu s mosazným hairline (rozhodnutí 56) */
.quote{font-family:var(--serif);font-style:normal;font-weight:350;font-size:1.35rem;line-height:1.55;letter-spacing:.002em;border-left:1px solid var(--brass);padding-left:18px;}
.sec--dark .quote{color:rgba(240,237,226,.88);border-color:rgba(201,172,98,.55);font-size:1.5rem;line-height:1.5;}
/* pečeť FF (kruhový opis, uvnitř původní plný monogram; na krémové vosková červená) */
.seal{display:block;width:100%;height:auto;}
.seal2{position:relative;}
.seal2 .fflogo{position:absolute;left:50%;top:43.5%;width:27%;aspect-ratio:228/263;transform:translate(-50%,-50%);}

/* ============ TLAČÍTKA (ostrá, plné se zkoseným rohem 2:1) ============ */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.11em;text-transform:uppercase;padding:17px 26px;border:1px solid transparent;line-height:1;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s;}
.btn i{font-style:normal;transition:transform .35s var(--ease);}
@media (hover:hover) and (pointer:fine){.btn:hover i{transform:translateX(4px);}}
/* tlačítka zpět (pod__zpet): šipka vlevo před textem a na hover couvá doleva (rozhodnutí 4.8.2026) */
@media (hover:hover) and (pointer:fine){.pod__zpet .btn:hover i{transform:translateX(-4px);}}
.btn--primary{background:var(--accent);color:#f6f2e6;border:none;padding:18px 27px;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 8px) 100%,0 100%);}
.btn--primary i{color:var(--gold);}
.btn--ink{background:var(--head);color:#f6f2e6;border:none;padding:18px 27px;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 8px) 100%,0 100%);}
.btn--ink i{color:var(--gold);}
.btn--primary:focus-visible,.btn--ink:focus-visible{outline:2px solid #f6f2e6;outline-offset:-5px;}
.btn-note{display:block;margin-top:10px;font-size:12px;letter-spacing:.04em;color:var(--muted);}
.sec--dark .btn-note{color:var(--on-dark-mut);}
.btn--line{background:transparent;color:var(--ink);border-color:var(--head);}
@media (hover:hover) and (pointer:fine){
  .btn--primary:hover{background:var(--green-deep);}
  .btn--ink:hover{background:var(--accent);}
  .btn--line:hover{background:var(--head);color:#f6f2e6;}
}
/* čtvercové ikonové tlačítko */
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);background:transparent;color:var(--ink);transition:background .25s,color .25s,border-color .25s;}
.iconbtn svg{width:18px;height:18px;}
@media (hover:hover) and (pointer:fine){.iconbtn:hover{background:var(--head);color:#f6f2e6;border-color:var(--head);}}
.footer .iconbtn{border-color:var(--on-dark-line);color:var(--on-dark);}
@media (hover:hover) and (pointer:fine){.footer .iconbtn:hover{background:var(--gold);border-color:var(--gold);color:var(--head);}}

/* ============ HERO (D16: dvousloupec dle ukázky Chiri Matt, rozhodnutí 51; text vlevo, foto karty vpravo na klubové zelené) ============ */
.hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:calc(100svh - 2*var(--frame) - 2px);background:var(--dark);color:var(--on-dark);padding:calc(var(--nav-h) + clamp(22px,3.5vh,46px)) 0 clamp(28px,4vh,48px);}
/* tiché zelené světlo za foto kartami + ztmavení levého dolního rohu */
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(105% 85% at 76% 14%,rgba(30,66,52,.62) 0%,rgba(18,39,30,0) 58%),radial-gradient(85% 65% at 4% 98%,rgba(8,20,14,.85) 0%,rgba(18,39,30,0) 60%);}
/* konstrukční vizualizace FF loga (rozhodnutí 55): poloprůhledné tahy monogramu 2:1 + tenké výkresové linky na tmavé zelené */
.ffcon{display:block;pointer-events:none;}
.hero__con{position:absolute;z-index:1;right:-70px;top:96px;width:min(46vw,600px);height:auto;opacity:.55;}
.footer__con{position:absolute;left:-50px;bottom:-130px;width:min(52%,600px);height:auto;opacity:.6;}
.hero__inner{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(26px,4vw,64px);align-items:center;}
.hero__eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-family:var(--display);font-size:clamp(10px,1vw,11.5px);letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:rgba(240,237,226,.76);margin-bottom:clamp(16px,2vw,24px);}
.hero__eyebrow::before{content:"";width:26px;height:1px;background:rgba(201,172,98,.85);flex:0 0 auto;}
.hero__eyebrow i{font-style:normal;color:var(--gold);}
.hero__h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.6rem,4.7vw,3.9rem);line-height:1.05;letter-spacing:-.016em;color:#fdfbf4;}
/* champagne akcent v H1 (rozhodnutí 55 + 56): akcent odlišen barvou a vyšší vahou */
.hero__h1 .acc{font-style:normal;font-weight:600;letter-spacing:.002em;color:#e7dab2;}
.sec--dark .h2 .acc{font-style:normal;font-weight:750;color:var(--champ);}
/* slogan u řádku „Jsem Filip Farník." (rozhodnutí 55): psací efekt oživuje JS */
.hero__slogan{display:block;font-family:var(--display);font-weight:500;font-size:clamp(.85rem,1.25vw,.95rem);letter-spacing:.01em;color:var(--gold);margin:5px 0 12px;min-height:1.5em;}
.hero__slogan .caret{display:inline-block;width:.6ch;height:1.05em;background:var(--gold);vertical-align:-.16em;margin-left:2px;animation:blink 1s steps(1) infinite;}
@keyframes blink{50%{opacity:0;}}
.hero__sub{color:var(--on-dark);opacity:.92;font-size:clamp(.9rem,1.4vw,1rem);line-height:1.72;max-width:54ch;margin-top:clamp(14px,1.7vw,18px);}
.hero__sub .sub-name{font-family:var(--serif);font-style:normal;font-weight:650;font-size:1.4em;letter-spacing:.01em;color:var(--champ);}
/* chips rolí: obrysové hranaté štítky s malou zlatou tečkou (čtvereček, ostré hrany dle rozhodnutí 41) */
.hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(16px,2vw,22px);}
.hero__chips a{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(240,237,226,.26);padding:10px 14px;font-family:var(--display);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:500;color:rgba(240,237,226,.92);transition:border-color .3s var(--ease),background .3s var(--ease);}
.hero__chips a::before{content:"";width:5px;height:5px;background:var(--gold);flex:0 0 auto;}
@media (hover:hover) and (pointer:fine){.hero__chips a:hover{border-color:rgba(201,172,98,.75);background:rgba(201,172,98,.08);}}
.hero__cap{display:inline-flex;align-items:flex-start;gap:11px;text-align:left;margin-top:clamp(22px,3vw,32px);font-size:12px;letter-spacing:.04em;color:#a9ab9c;}
.hero__cap .ffm{margin-top:9px;background:var(--gold);}
/* ============ HERO PORTRÉT (D28 WOW dle reference MIA ANNE: celoplošný duotone portrét bez rámu splývající s tmavou zelenou; masky rozpouštějí okraje do pozadí, stíny dorovnané na barvu hero, přes fotku velká outline typografie 10+, panel jen jemně oddělený) ============ */
.hero__media{position:relative;max-width:540px;margin-left:auto;align-self:end;width:100%;}
/* figura: maska rozpouští všechny hrany do tmy; maska tvoří stacking context, takže duotone pseudo-vrstvy se míchají jen s fotkou */
.hero__figure{position:relative;z-index:1;margin:calc(-1*clamp(28px,7vh,96px)) 0 0;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 74%,transparent 98%),linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 74%,transparent 98%),linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent 100%);mask-composite:intersect;}
.hero__photo{width:100%;aspect-ratio:3/4;max-height:calc(100svh - 300px);background-color:var(--dark-2);background-repeat:no-repeat;background-size:cover;background-position:center 16%;filter:grayscale(1) contrast(1.05) brightness(.88);}
/* placeholder portrétu (reálná fotka se doplní později třídou .hero__photo--b): tiché světlo v horní části, poměr 3:4, duotone vrstvy i vignette z artefaktu zůstávají */
.hero__photo{background-image:radial-gradient(80% 62% at 50% 26%,rgba(231,218,178,.3) 0%,rgba(24,51,41,0) 62%);}
.hero__photo--b{background-image:url(../img/foto-hero.jpg);background-position:center 18%;}
/* duotone: stíny dorovnat do zelené hero (lighten na --dark), světla přitónovat do champagne/mosazi (multiply) */
.hero__figure::before{content:"";position:absolute;inset:0;z-index:1;background:var(--dark);mix-blend-mode:lighten;pointer-events:none;}
.hero__figure::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(155deg,var(--champ),var(--gold));mix-blend-mode:multiply;pointer-events:none;}
/* vignette v barvě hero (normal blend): spolehlivě utopí světlé studiové pozadí fotky u všech hran */
.hero__tone{position:absolute;inset:0;z-index:3;background:radial-gradient(105% 92% at 50% 30%,rgba(18,39,30,0) 38%,rgba(18,39,30,.5) 66%,rgba(18,39,30,.94) 94%),linear-gradient(180deg,rgba(18,39,30,.45),rgba(18,39,30,0) 24%,rgba(18,39,30,0) 56%,rgba(18,39,30,.88) 96%);pointer-events:none;}
/* velká outline typografie přes spodní/levou část portrétu */
.hero__big{position:absolute;z-index:2;left:-4%;bottom:19%;margin:0;pointer-events:none;mix-blend-mode:screen;}
.hero__big-n{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(5rem,9.5vw,8rem);line-height:.8;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px rgba(201,172,98,.9);font-variant-numeric:tabular-nums;}
.hero__big-n sup{font-size:.42em;vertical-align:.5em;color:transparent;-webkit-text-stroke:1px rgba(231,218,178,.9);}
.hero__big-l{display:block;margin-top:10px;font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--champ);}
/* nástup: pomalý fade-in/scale fotky, typografie a panel dojedou po ní (jen s JS; reduced motion řeší globální blok) */
.js .hero__figure{animation:heroin 1.5s var(--ease) .4s backwards;}
.js .hero__big{animation:herofade .9s var(--ease) 1.1s backwards;}
.js .hero__panel{animation:herofade .9s var(--ease) 1.3s backwards;}
@keyframes heroin{from{opacity:0;transform:scale(1.04);}to{opacity:1;transform:scale(1);}}
@keyframes herofade{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
/* panel bez rámu karty: jen mosazný hairline nahoře, lehké sklo posazené přes spodní fade fotky */
.hero__panel{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;margin:calc(-1*clamp(44px,7vh,80px)) 6px 0;border-top:1px solid rgba(201,172,98,.4);background:linear-gradient(180deg,rgba(24,51,41,.4),rgba(18,39,30,.22));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);}
.hero__panel::before{content:"";position:absolute;top:-6px;left:50%;width:11px;height:11px;margin-left:-5.5px;background:var(--gold);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
.hero__latest{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:15px 18px;background:transparent;border:none;transition:background .3s var(--ease);}
.hero__latest+.hero__latest{border-left:1px solid rgba(160,132,48,.35);}
.hero__latest-b{min-width:0;flex:1 1 auto;}
.hero__latest-lbl{display:block;font-family:var(--display);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--on-dark-mut);}
/* titulek: jeden řádek (dávka 19), min-height 1 řádek drží panel stabilní i bez textu.
   V DOM zůstává celý titulek ve skryté kopii .vh (a11y, SEO), viditelná kopie
   .hero__latest-clip se zkracuje na hranici slova v main.js; line-clamp na ní
   zůstává jako pojistka bez JS (sám ale sekne i uprostřed slova). Box s clampem,
   ne nowrap + text-overflow: JS měří přetečení přes scrollHeight, které nowrap
   nikdy nezvětší. */
.hero__latest-t{display:block;margin-top:4px;font-family:var(--display);font-weight:600;font-size:.92rem;color:#fdfbf4;line-height:1.3;min-height:1.3em;}
.hero__latest-clip{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;overflow-wrap:break-word;}
.hero__latest i{font-style:normal;margin-left:auto;color:var(--gold);font-size:15px;flex:0 0 auto;transition:transform .35s var(--ease);}
@media (hover:hover) and (pointer:fine){
  .hero__latest:hover{background:rgba(201,172,98,.08);}
  .hero__latest:hover i{transform:translateX(4px);}
}
.hero__scrollhint{position:absolute;right:clamp(16px,2.6vw,36px);bottom:calc(var(--frame-in) + 22px);z-index:3;font-family:var(--display);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--on-dark-mut);writing-mode:vertical-rl;transition:opacity .5s var(--ease);}
.hero__scrollhint::before{content:"";display:block;width:1px;height:34px;background:var(--on-dark-mut);margin:0 auto 10px;animation:scrolldn 2s var(--ease) infinite;transform-origin:top;}
@keyframes scrolldn{0%{transform:scaleY(0);}45%{transform:scaleY(1);}100%{transform:scaleY(0);transform-origin:bottom;}}
.hint-off .hero__scrollhint{opacity:0;pointer-events:none;}
/* hero na užších displejích: text nahoře, portrét pod ním */
@media (max-width:960px){
  .hero__inner{grid-template-columns:1fr;gap:clamp(34px,6vw,52px);}
  .hero__h1{font-size:clamp(2.1rem,7vw,3.2rem);}
  .hero__con{display:none;}
  .hero__media{margin:8px auto 0;max-width:440px;}
  .hero__figure{margin-top:-20px;}
}

/* ============ STATS (vrstvený panel) ============ */
.sec--stats{padding-top:clamp(48px,6vw,88px);}
/* výsledková listina jako editorial typografický blok: tři pole mezi hairliny */
.stats__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:clamp(26px,3.2vw,44px) clamp(18px,2.6vw,40px);border-left:1px solid var(--line);}
.stat:first-child{border-left:none;}
.stat__num{font-family:var(--serif);font-weight:600;font-size:clamp(2.5rem,4.2vw,3.8rem);line-height:1;letter-spacing:-.015em;color:var(--head);display:inline-flex;align-items:flex-start;font-variant-numeric:tabular-nums;}
.stat__num sup{font-size:.34em;margin-left:.06em;margin-top:.12em;}
.stat__label{display:block;color:var(--muted);font-size:13.5px;line-height:1.55;max-width:24ch;margin:0 auto;}
.stats__season{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:14px;}
.stats__season b{margin-left:auto;color:var(--head);font-weight:700;letter-spacing:.18em;font-variant-numeric:tabular-nums;}
/* partnerské badge bez boxů: decentní mono/caps řádek s mosaznými čárkami (vzor omne__facts) */
.certs{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;margin-top:20px;}
.cert{display:inline-flex;align-items:center;gap:11px;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--muted);}
@media (max-width:640px){
  .stats__grid{grid-template-columns:1fr 1fr;}
  .stat:nth-child(odd){border-left:none;}
  .stat:nth-child(n+3){border-top:1px solid var(--line);border-left:none;grid-column:1 / -1;}
  .stat__label{max-width:30ch;}
}

/* ============ KARTY SLUŽEB (specializace): mřížka 2×2 s hairline spárami + tlumená karta hireus přes celou šířku ============ */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
/* min-width:0: grid item jinak drží min-content šířku (nowrap CTA karty 03 = 371 px)
   a na úzkých šířkách roztáhne sloupec i za hranu viewportu (nález QA K1) */
.card{position:relative;min-width:0;padding:clamp(28px,3.4vw,50px);background:var(--panel);display:flex;flex-direction:column;transition:background .3s;}
@media (hover:hover) and (pointer:fine){.card:hover{background:#fafaf8;}}
.card__bd{border-bottom:1px solid var(--line-soft);}
.card__top{display:flex;align-items:center;gap:14px;margin-bottom:24px;}
.card__num{font-family:var(--display);font-size:12px;letter-spacing:.1em;color:var(--muted);font-weight:500;}
.card__num .sl{color:var(--brass);}
.card__tag{margin-left:auto;font-family:var(--display);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:7px 12px;}
.card__title{font-family:var(--serif);font-weight:600;font-size:clamp(1.55rem,2.7vw,2.15rem);line-height:1.06;letter-spacing:.002em;color:var(--head);}
.card__text{color:var(--muted);font-size:14px;line-height:1.65;margin-top:14px;}
.card__lbl{margin-top:20px;font-family:var(--display);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--head);font-weight:700;}
.card__list{margin-top:8px;}
.card__list li{display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:13px;color:var(--muted);line-height:1.6;}
.card__list li:last-child{border-bottom:none;}
.card__list li::before{content:"";width:14px;height:1px;background:var(--brass);margin-top:10px;flex:0 0 auto;}
.card__foot{margin-top:auto;padding-top:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.card__price small{display:block;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.card__price b{font-family:var(--serif);font-weight:600;font-size:clamp(1.2rem,2vw,1.5rem);color:var(--head);letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
/* poznámka pod cenou (v artefaktu inline styl na spanu) */
.card__price-pozn{font-weight:400;font-size:.72em;color:var(--muted);}
/* cena jako odkaz na podstránku produktu (konzultace, etapa 13b): decentní mosazné podtržení */
.card__price a{border-bottom:1px solid var(--brass);transition:color .3s var(--ease);}
@media (hover:hover) and (pointer:fine){.card__price a:hover{color:var(--brass);}}
.card__ctas{display:flex;flex-direction:column;align-items:flex-end;gap:9px;margin-left:auto;text-align:right;}
.card__cta--sec{color:var(--muted);font-weight:500;}
.card__cta{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);white-space:nowrap;}
.card__cta .ar{color:var(--brass);font-size:15px;transition:transform .3s var(--ease);}
@media (hover:hover) and (pointer:fine){.card:hover .card__cta .ar{transform:translateX(4px);}}
.card--muted{grid-column:1/-1;background-color:var(--panel-2);background-image:repeating-linear-gradient(116.565deg,rgba(21,43,33,.045) 0 1px,transparent 1px 9px);}
@media (hover:hover) and (pointer:fine){.card--muted:hover{background-color:var(--panel-2);}}
.card--muted .card__title{font-size:clamp(1.15rem,1.9vw,1.4rem);color:var(--muted);}
.card--muted .card__cta{color:var(--muted);}
.card--muted .card__bd{border-bottom:none;}
.card--muted .card__foot{padding-top:14px;}
/* text tlumené karty žije v patičce karty (v artefaktu inline styl) */
.card--muted .card__foot .card__text{margin-top:0;}

/* ============ CESTA (pravidla hry): citát + CTA vlevo, tři kroky vpravo ============ */
.cesta__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,80px);align-items:start;}
.cesta__note{color:var(--muted);font-size:14px;line-height:1.7;margin-top:22px;max-width:40ch;}
.cesta__note.quote{color:var(--ink);font-size:1.18rem;max-width:44ch;}
.cesta__cta{margin-top:36px;}
.steps{border:1px solid var(--line);background:var(--panel);}
.step{padding:clamp(24px,3vw,40px);border-top:1px solid var(--line);}
.step:first-child{border-top:none;}
.step__num{font-family:var(--display);font-size:12px;letter-spacing:.1em;color:var(--muted);font-weight:500;margin-bottom:12px;}
.step__num .sl{color:var(--brass);}
.step__title{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,2.5vw,2rem);color:var(--head);letter-spacing:.002em;}
.step__text{color:var(--muted);font-size:14px;line-height:1.65;margin-top:12px;}


/* ============ PROJEKTY (klubova listina: deska s paspartou a srafovanym ofsetem, ledger cislovani zapisu, plakety uzaverky) ============ */
/* mount = podklad se srafovanym ofsetem (svetla varianta motivu z .calwrap), deska ho prekryva a necha vykukovat vpravo dole */
.pref__mount{position:relative;}
.pref__mount::before{content:"";position:absolute;top:18px;left:18px;right:-13px;bottom:-13px;background:repeating-linear-gradient(116.565deg,rgba(21,43,33,.055) 0 1px,transparent 1px 9px);pointer-events:none;}
.pref__board{position:relative;background:var(--panel);border:1px solid var(--line);padding:clamp(18px,3.2vw,44px) clamp(16px,3.2vw,44px) clamp(18px,2.6vw,36px);}
.pref__board::before{content:"";position:absolute;top:-7px;left:50%;width:13px;height:13px;margin-left:-6.5px;background:var(--brass);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
.pref__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(22px,2.6vw,44px);}
@media (max-width:1280px){.pref__grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:1000px){.pref__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.pref__row{position:relative;display:flex;align-items:baseline;gap:clamp(14px,1.8vw,22px);padding:17px 2px;border-bottom:1px solid var(--line-soft);}
/* hover: mosazny hairline se kresli zleva pres spodni linku radku */
.pref__row:not(.pref__row--end)::before{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--brass);opacity:.75;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.pref__ico{flex:0 0 20px;display:flex;justify-content:center;transform:translateY(3px);--ill-sh:rgba(21,43,33,.14);}
.pref__ico svg{display:block;width:19px;height:19px;overflow:visible;fill:none;stroke:var(--soft-h);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;--ill-acc:var(--brass);transition:stroke .3s var(--ease);}
.pref__ico svg use.sh{stroke:var(--ill-sh);--ill-acc:var(--ill-sh);transform:translate(1.2px,1.7px);}
.pref__row--more{display:none;}
.proj--open .pref__row--more{display:flex;}
.pref__body{display:flex;flex-direction:column;gap:3px;min-width:0;}
.pref__name{white-space:nowrap;font-family:var(--serif);font-weight:600;font-size:clamp(.98rem,1.3vw,1.18rem);line-height:1.2;letter-spacing:-.005em;color:var(--head);transition:color .3s var(--ease);}
.pref__desc{position:relative;font-size:12.5px;line-height:1.5;color:var(--muted);min-height:3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pref__row.pref--full .pref__desc{display:block;overflow:visible;}
.pref__vic{position:absolute;right:0;bottom:0;display:inline-flex;align-items:center;background:linear-gradient(90deg,rgba(248,245,238,0),var(--panel) 38%);border:none;padding:0 0 0 14px;cursor:pointer;color:var(--brass);font-size:11px;line-height:inherit;}
.pref__vic i{font-style:normal;display:inline-block;transition:transform .3s var(--ease);}
.pref__row.pref--full .pref__vic i{transform:rotate(180deg);}
.pref__vic:hover{color:var(--brass-strong);}
/* uzaverka listiny: dve plne siroke plakety se srafovanim (motiv .card--muted), oddelene mezerou od mrizky */
.pref__row--end{grid-column:1/-1;padding:15px clamp(14px,2vw,22px);border:1px solid var(--line);background-color:var(--panel-2);background-image:repeating-linear-gradient(116.565deg,rgba(21,43,33,.045) 0 1px,transparent 1px 9px);transition:border-color .3s var(--ease);}
.pref__grid > :not(.pref__row--end) + .pref__row--end{margin-top:clamp(20px,3vw,32px);}
.pref__row--end + .pref__row--end{margin-top:10px;}
.pref__row--end .pref__body{flex-direction:row;align-items:baseline;column-gap:0;flex-wrap:wrap;}
.pref__row--end .pref__desc{min-height:0;}
.pref__row--end .pref__desc::before{content:"";display:inline-block;width:20px;height:1px;background:var(--brass);opacity:.55;vertical-align:middle;margin:0 12px;}
a.pref__row--end{color:inherit;}
.pref__ar{margin-left:auto;flex:0 0 auto;font-style:normal;color:var(--brass);font-size:15px;transition:transform .3s var(--ease);}
@media (hover:hover){
  .pref__row:not(.pref__row--end):hover .pref__name,a.pref__row--end:hover .pref__name{color:var(--brass);}
  .pref__row:not(.pref__row--end):hover .pref__ico svg,a.pref__row--end:hover .pref__ico svg{stroke:var(--brass);}
  .pref__row:not(.pref__row--end):hover::before{transform:scaleX(1);}
  a.pref__row--end:hover{border-color:var(--brass);}
  a.pref__row--end:hover .pref__ar{transform:translateX(4px);}
}
.pref__morewrap{margin-top:clamp(20px,2.8vw,32px);display:flex;align-items:center;gap:clamp(14px,2vw,24px);}
.pref__morewrap::before,.pref__morewrap::after{content:"";flex:1;height:1px;background:var(--line);}
.pref__more{padding:13px 24px;background:none;border:1px solid var(--line);cursor:pointer;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-strong);transition:border-color .3s var(--ease),color .3s var(--ease);}
.pref__more:hover{border-color:var(--brass);color:var(--head);}
/* mobil: listina je na výšku displeje dlouhá, proto se před rozbalením ukazuje
   jen prvních šest referencí a řádky jedou v kompaktní podobě (Filip 5.8.2026) */
@media (max-width:700px){
  .pref__grid > .pref__row:nth-child(n+7){display:none;}
  .proj--open .pref__grid > .pref__row{display:flex;}
  .pref__row{padding:13px 2px;}
  .pref__desc{font-size:12px;min-height:0;-webkit-line-clamp:2;}
}
@media (max-width:640px){.pref__grid{grid-template-columns:1fr;}.pref__desc{min-height:0;}.pref__row--end .pref__body{flex-direction:column;row-gap:3px;}.pref__row--end .pref__desc::before{display:none;}}


/* ============ VIDEOHOVOR (tmavá sekce, živý Calendly widget) ============ */
.sec--dark{margin-top:clamp(64px,8vw,116px);padding:clamp(60px,7.5vw,108px) 0;background:var(--dark);color:var(--on-dark);}
.sec--dark::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 70% at 70% 0%,rgba(30,66,52,.5) 0%,rgba(18,39,30,0) 60%);}
.sec--dark .wrap{position:relative;z-index:1;}
.sec--dark .lead{color:var(--on-dark-mut);}
.video__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,64px);align-items:start;}
.video__text{color:var(--on-dark);opacity:.9;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.7;margin-top:24px;max-width:46ch;}
/* první odstavec hned pod ilustrací (nahrazuje inline style artefaktu) */
.video__text--top{margin-top:0;}
.video__honest{color:var(--on-dark-mut);font-size:14px;line-height:1.7;margin-top:18px;max-width:46ch;}
.video__cta{margin-top:34px;}
/* Calendly inline widget + FF šrafování za panelem; výšku 630 px drží kontejner, iframe si widget vkládá sám */
.calwrap{position:relative;}
/* min-width 0: pevných 320 px přetékalo sloupec na displejích ~320 px a ořezávalo
   celou sekci (nález 3.8.2026); šířku řídí sloupec, widget se přizpůsobí */
.calendly-inline-widget{position:relative;min-width:0;max-width:100%;height:630px;min-height:320px;border:1px solid var(--on-dark-line);background:#12271e;transition:height .25s ease;}
.calwrap::before{content:"";position:absolute;top:18px;left:18px;right:-14px;bottom:-14px;background:repeating-linear-gradient(116.565deg,rgba(201,172,98,.16) 0 1px,transparent 1px 9px);pointer-events:none;}
.cal__alt{margin-top:14px;font-size:12.5px;text-align:center;color:var(--on-dark-mut);}
.cal__alt a{color:var(--champ);border-bottom:1px solid rgba(231,218,178,.4);}

/* ============ MARQUEE PRUH (Mivon vibe: běžící verzálky v champagne na tmavé, hexagonový mikromotiv; smyčka = zdvojený obsah, translateX(-50%)) ============ */
.marq{overflow:hidden;background:var(--dark-2);border-top:1px solid rgba(201,172,98,.28);border-bottom:1px solid rgba(201,172,98,.28);margin:calc(-1*clamp(60px,7.5vw,108px)) calc(var(--frame-in) + 1px) clamp(52px,6.5vw,92px);}
.marq__in{display:flex;align-items:center;width:max-content;padding:10px 0;animation:marq 40s linear infinite;will-change:transform;}
.marq__in > *{flex:0 0 auto;margin-right:clamp(34px,4vw,60px);}
.marq span{font-family:var(--display);font-weight:500;font-size:clamp(11px,1.1vw,13.5px);letter-spacing:.3em;text-transform:uppercase;color:var(--champ);white-space:nowrap;}
.marq__d{width:9px;height:9px;background:var(--gold);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
@keyframes marq{to{transform:translateX(-50%);}}

/* ============ DÍLČÍ ÚKOLY (skupiny štítků vlevo, Fluent Forms formulář vpravo; velká kresba dokumentu za hlavičkou) ============ */
.task__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,64px);align-items:start;}
#ukoly .shead{position:relative;}
#ukoly .wrap{position:relative;}
#ukoly .wrap::before{content:"";z-index:-1;position:absolute;right:clamp(-70px,-3vw,-16px);top:clamp(-20px,-1vw,0px);transform:rotate(6deg);width:clamp(280px,28vw,430px);aspect-ratio:420/520;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 520' fill='none' stroke='%23c9c3b2' stroke-width='2.5' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M110 60H268L330 122V460H110Z'/%3E%3Cpath d='M268 60V122H330'/%3E%3Cline x1='150' y1='176' x2='292' y2='176'/%3E%3Cline x1='150' y1='224' x2='292' y2='224'/%3E%3Cline x1='150' y1='272' x2='250' y2='272'/%3E%3Cline x1='150' y1='320' x2='214' y2='320'/%3E%3Cpath d='M300 330 348 358 348 414 300 442 252 414 252 358Z'/%3E%3Cpath d='M278 388 296 410 330 356'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;}
/* čtyři pojmenované skupiny úkolů; zavřené drží ~2 řádky štítků (72 px), rozbaluje je .tg2--open */
.tg2__stack{display:flex;flex-direction:column;gap:clamp(26px,3.2vw,38px);}
.tg2__title{margin:0;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--head);}
.tg2__note{margin:6px 0 0;font-size:12.5px;color:var(--muted);}
.tg2__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px;max-height:72px;overflow:hidden;}
.tg2--open .tg2__tags{max-height:none;}
.tg2__tag{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--white);padding:7px 13px;font-size:12.5px;line-height:1.2;color:var(--muted);white-space:nowrap;transition:color .3s var(--ease),border-color .3s var(--ease);}
@media (hover:hover){.tg2__tag:hover{color:var(--head);border-color:var(--brass);}}
/* vybraný štítek (předvyplní pole formuláře, dávka 20): stejný jazyk jako aktivní
   chip filtru novinek, jen bez změny řezu, aby se štítky nepřeskládaly do jiných řádků */
.tg2__tag[aria-pressed="true"]{color:var(--head);border-color:var(--brass);background:var(--panel);}
.tg2__more{margin-top:11px;padding:0;background:none;border:none;cursor:pointer;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-strong);}
.tg2__more:hover{color:var(--head);}

/* formulář: vzhled .form/.field z artefaktu přenesený na markup Fluent Forms;
   FF public CSS se načítá až po main.css, přepisy proto drží specificitu přes #ukoly/#dotaz
   (#dotaz = formulář Dotaz před objednávkou na podstránkách služeb, sdílí stejný vzhled) */
.form{border:1px solid var(--line);padding:clamp(26px,3vw,44px);background:var(--panel);}
#ukoly .ff-el-group,#dotaz .ff-el-group{margin-bottom:20px;}
#ukoly .ff-el-input--label,#dotaz .ff-el-input--label{padding:0;margin:0;}
#ukoly .ff-el-input--label label,#dotaz .ff-el-input--label label{display:block;font-family:var(--display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:500;margin-bottom:10px;line-height:inherit;}
/* povinná pole bez hvězdičky, artefakt ji nemá */
#ukoly .ff-el-input--label.ff-el-is-required.asterisk-right label:after,#dotaz .ff-el-input--label.ff-el-is-required.asterisk-right label:after{display:none;content:none;}
#ukoly .ff-el-form-control,#dotaz .ff-el-form-control{display:block;width:100%;max-width:100%;height:auto;font-family:var(--display);font-size:14px;line-height:1.5;color:var(--ink);background:#fbf9f2;border:1px solid #cfc7b2;border-radius:0;box-shadow:none;padding:14px 16px;transition:border-color .25s,background .25s;resize:vertical;-webkit-appearance:none;appearance:none;}
#ukoly .ff-el-form-control::placeholder,#dotaz .ff-el-form-control::placeholder{color:#807a68;opacity:1;}
#ukoly .ff-el-form-control:focus,#dotaz .ff-el-form-control:focus{outline:none;border-color:var(--accent);background:#fffdf7;box-shadow:none;}
/* odeslání = .btn--ink přes celou šířku; šipku artefaktu (<i>→</i>) nese ::after */
#ukoly .ff_submit_btn_wrapper,#dotaz .ff_submit_btn_wrapper{margin-bottom:0;}
#ukoly .ff-btn-submit,#dotaz .ff-btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.11em;text-transform:uppercase;line-height:1;background:var(--head);color:#f6f2e6;border:none;border-radius:0;padding:18px 27px;margin-top:4px;cursor:pointer;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 8px) 100%,0 100%);transition:background .3s var(--ease),color .3s var(--ease);}
#ukoly .ff-btn-submit::after,#dotaz .ff-btn-submit::after{content:"→";color:var(--gold);transition:transform .35s var(--ease);}
@media (hover:hover) and (pointer:fine){
  #ukoly .ff-btn-submit:hover,#dotaz .ff-btn-submit:hover{background:var(--accent);color:#f6f2e6;}
  #ukoly .ff-btn-submit:hover::after,#dotaz .ff-btn-submit:hover::after{transform:translateX(4px);}
}
#ukoly .ff-btn-submit:focus-visible,#dotaz .ff-btn-submit:focus-visible{outline:2px solid #f6f2e6;outline-offset:-5px;}
/* chybové hlášky (FF inline validace) v barvách webu */
#ukoly .ff-el-is-error .ff-el-form-control,#dotaz .ff-el-is-error .ff-el-form-control{border-color:#a04030;}
#ukoly .ff-el-group .text-danger,#dotaz .ff-el-group .text-danger{margin-top:8px;font-size:12px;line-height:1.5;color:#a04030;}
/* potvrzení po odeslání (FF success) = .form__msg.ok artefaktu */
#ukoly .ff-message-success,#dotaz .ff-message-success{margin-top:16px;font-size:13px;line-height:1.6;padding:14px 18px;border:1px solid var(--accent);border-radius:0;box-shadow:none;color:var(--ink);background:#fbf9f2;}
.form__note{margin-top:12px;font-size:11.5px;line-height:1.6;color:var(--muted);opacity:.85;}

/* ============ DÍLNA + SLOVNÍK (Klubovna: výpis článků vlevo, novinky vpravo, ochutnávka pojmů dole) ============ */
.dilna__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,72px);align-items:start;}
.subhead{font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.subhead b{color:var(--head);font-weight:700;}
.arts{border-top:1px solid var(--line);}
.art{display:flex;gap:16px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line);}
.art__i{font-family:var(--display);font-size:12px;color:var(--brass-strong);font-weight:700;flex:0 0 auto;}
/* line-height 1.3: dvouřádkové titulky měly mezi řádky děravou mezeru (výchozích 1.65, nález Filipa 4.8.2026) */
.art__b b{font-family:var(--serif);font-weight:600;font-size:1.25rem;line-height:1.3;color:var(--head);display:block;margin:0 0 4px;}
/* jen přímý potomek: uvnitř <b> jsou od dávky 20 dvě kopie titulku ve spanech */
.art__b>span{color:var(--muted);font-size:13px;}
/* ořez v sloupci Poslední z Klubovny (dávka 20, stejný princip jako hero panely):
   titulek i anotace nejvýš dva řádky (titulek dřív jeden, od 3.8.2026 dva:
   celé věty se na 3sloupcové mřížce ořezávaly příliš); min-height drží výšku
   bloku i u krátké anotace. Celý text zůstává vedle ve skryté kopii .vh, viditelnou kopii zkracuje
   na hranici slova main.js, line-clamp je pojistka bez JS. */
.art__clip{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:break-word;}
.art__clip--2{-webkit-line-clamp:2;line-clamp:2;min-height:3.3em;}
.glos2{margin-top:clamp(30px,3.8vw,46px);}
.glos2__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,44px);margin-top:15px;}
.glos2__col{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-content:flex-start;}
.glos2__col .glos2__lbl{grid-column:1/-1;}
@media (max-width:900px){.glos2__col{grid-template-columns:repeat(2,1fr);}}
.glos2__lbl{margin:0 0 3px;display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft-h);}
.glos2__lbl::before{content:"";width:16px;height:1px;background:var(--brass);}
@media (max-width:640px){.glos2__grid{grid-template-columns:1fr;}}
.glos2__box{position:relative;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);background:var(--white);padding:11px 34px 11px 14px;transition:border-color .3s var(--ease);color:inherit;}
.glos2__ar{position:absolute;top:11px;right:12px;font-style:normal;font-size:13px;color:var(--lt-dark);transition:color .3s var(--ease),transform .3s var(--ease);}
.glos2__box b{font-family:var(--display);font-weight:600;font-size:13.5px;letter-spacing:.04em;color:var(--accent);}
.glos2__box span{font-size:11.5px;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
@media (hover:hover){.glos2__box:hover{border-color:var(--brass);}.glos2__box:hover .glos2__ar{color:var(--brass);transform:translateX(2px);}}
/* šestý box ochutnávky: záměrně tlumený (rozhodnutí 4.8.2026), jen tichá pozvánka
   dál; vede na Slovník s předvybraným zaměřením sloupce */
.glos2__box--vice{flex-direction:row;align-items:center;justify-content:center;gap:8px;background:transparent;border-style:dashed;border-color:var(--line);padding:11px 14px;}
.glos2__box--vice b{color:var(--muted);font-weight:500;letter-spacing:.06em;}
.glos2__box--vice .glos2__ar{position:static;}
@media (hover:hover){.glos2__box--vice:hover b{color:var(--brass-strong);}}
.dilna__colcta{margin-top:clamp(16px,2vw,24px);align-self:flex-start;}

/* ============ NOVINKY (editorial výpis: mono meta s mosazným zdrojem, serif titulek, hover jemný jako u projektů) ============ */
.serv__list{max-width:980px;border-top:1px solid var(--line);}
.serv__item{display:block;padding:clamp(20px,2.6vw,28px) 0;border-bottom:1px solid var(--line);}
.serv__meta{display:block;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.05em;color:var(--muted);}
.serv__meta b{color:var(--brass-strong);font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.serv__t{display:inline-flex;align-items:baseline;gap:10px;margin-top:9px;font-family:var(--serif);font-weight:600;font-size:clamp(1.15rem,1.9vw,1.45rem);line-height:1.25;letter-spacing:-.005em;color:var(--head);transition:color .3s var(--ease);}
@media (hover:hover){
  .serv__item:hover .serv__t{color:var(--brass);}
}
.serv--side .serv__item{padding:13px 0;}
.serv--side .serv__t{font-size:.95rem;}
.serv--side .serv__meta{font-size:10px;}
.serv--side .serv__micro{margin-top:12px;font-size:11.5px;}
.serv__micro{margin-top:20px;font-size:12.5px;color:var(--muted);}

/* ============ BYZNYS CITÁT (pás mezi Klubovnou a O mně, obměna s článkem) ============ */
.qband{position:relative;margin-top:clamp(40px,5vw,64px);padding:clamp(36px,4.4vw,56px) clamp(20px,3vw,48px);background-color:var(--panel-2);background-image:repeating-linear-gradient(116.565deg,rgba(21,43,33,.045) 0 1px,transparent 1px 9px);border:1px solid var(--line);}
.qband::before{content:"";position:absolute;top:-7px;left:50%;width:13px;height:13px;margin-left:-6.5px;background:var(--brass);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
/* min-height 5.2em + flex centrování: výměna citátu nemění výšku pásu (layout neskáče) */
.qband__q{margin:0 auto;max-width:26ch;min-height:5.2em;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.3;letter-spacing:-.008em;color:var(--head);text-align:center;}
.qband__a{margin:18px auto 0;display:flex;align-items:center;justify-content:center;gap:11px;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.qband__a::before{content:"";width:16px;height:1px;background:var(--brass);}
/* ruční přepínání citátů: fade při výměně (JS třída qband--fade) + mosazná šipka v pravém dolním rohu */
.qband__q,.qband__a{transition:opacity .25s var(--ease);}
.qband--fade .qband__q,.qband--fade .qband__a{opacity:0;}
.qband__next{position:absolute;right:clamp(10px,1.6vw,18px);bottom:clamp(8px,1.4vw,14px);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:var(--brass);font-size:17px;line-height:1;cursor:pointer;transition:color .3s;}
.qband__next span{transition:transform .3s var(--ease);}
.qband__next:hover{color:var(--brass-strong);}
.qband__next:hover span{transform:translateX(4px);}

/* ============ O MNĚ (meta sloupec vlevo, editorial text, fotka s mosazným rámem vpravo) ============ */
/* placeholder fotky z kavárny (reálný snímek se doplní později obrázkem na .omne__photo): tón, tichý přísvit; rám i duotone vrstvy z artefaktu drží */
.omne__photo{position:relative;aspect-ratio:3/4;background-color:#182c22;background-image:linear-gradient(rgba(21,43,33,.14),rgba(21,43,33,.14)),url(../img/foto-omne.jpg);background-position:center 35%;background-size:cover;background-repeat:no-repeat;border:1px solid rgba(160,132,48,.55);box-shadow:0 34px 64px -40px rgba(21,43,33,.6);margin:0;}
@media (max-width:640px){.omne__photo{aspect-ratio:3/4;max-width:340px;}}
/* rámeček fotky podle brandu: mosazný hairline, posunuté zlaté šrafování (stejný motiv jako panel Calendly) a FF hexagon na horní lince */
.omne__photo::before{content:"";position:absolute;z-index:-1;top:18px;left:18px;right:-14px;bottom:-14px;background:repeating-linear-gradient(116.565deg,rgba(160,132,48,.28) 0 1px,transparent 1px 9px);pointer-events:none;}
.omne__photo::after{content:"";position:absolute;top:-7px;left:50%;width:13px;height:13px;margin-left:-6.5px;background:var(--brass);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
/* duotone jako hero (stíny do zelené, světla do šampaň/mosazi), pasparta a popisek */
.omne__photo-tone{position:absolute;inset:0;background:var(--dark);mix-blend-mode:lighten;pointer-events:none;}
.omne__photo-tone::after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,var(--champ),var(--gold));mix-blend-mode:multiply;opacity:.85;}
.omne__photo-mat{position:absolute;inset:10px;border:1px solid rgba(250,247,240,.5);pointer-events:none;}
.omne__photo-cap{position:absolute;top:100%;left:0;margin-top:12px;display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.omne__photo-cap .ffm{background:var(--brass);}
.omne__grid{display:grid;grid-template-columns:.58fr 1.12fr .72fr;gap:clamp(26px,4vw,56px);align-items:start;}
.omne__meta{display:flex;flex-direction:column;gap:22px;margin-top:30px;border-left:2px solid var(--brass);padding-left:clamp(18px,2vw,26px);}
/* jediný výskyt meta sloupce sedí u horní hrany (v artefaktu inline style) */
.omne__meta--top{margin-top:0;}
.omne__meta dt{font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.omne__meta dd{margin:6px 0 0;font-family:var(--serif);font-weight:600;color:var(--head);font-size:1.3rem;}
.omne__body p{color:var(--ink);font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.8;}
.omne__body p+p{margin-top:18px;}
.omne__body .mut{color:var(--muted);font-size:14px;}
.omne__facts{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);}
.omne__facts span{display:inline-block;font-family:var(--display);font-size:12px;letter-spacing:.02em;color:var(--muted);}
.omne__facts span::before{content:"";display:inline-block;width:14px;height:1px;background:var(--brass);margin-right:11px;vertical-align:middle;}
.omne__body .omne__facts{margin-top:20px;}
.omne__cta{margin-top:30px;}

/* ============ HIREUS (tmavá sekce: týmová fotka celoplošně pod duotone zelenou jako hero, sklo karty s mosazným hairline jako hero panel) ============ */
#hireus{overflow:hidden;}
/* fotka: z-index 0 tvoří stacking context, duotone pseudo-vrstvy se tak míchají jen s fotkou, ne s obsahem sekce */
.hireus__media{position:absolute;inset:0;z-index:0;pointer-events:none;}
/* placeholder týmové fotky (reálný snímek se doplní později obrázkem na .hireus__photo): jen podkladová zeleň s tichým přísvitem */
.hireus__photo{position:absolute;inset:0;background-color:var(--dark-2);background-image:url(../img/foto-hireus.jpg);background-size:cover;background-position:center 32%;filter:grayscale(1) contrast(1.02) brightness(1.02);}
/* duotone jako hero: stíny dorovnat do zelené (lighten), světla přitónovat do šampaň/mosazi (multiply) */
.hireus__media::before{content:"";position:absolute;inset:0;z-index:1;background:var(--dark);mix-blend-mode:lighten;}
.hireus__media::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(155deg,var(--champ),var(--gold));mix-blend-mode:multiply;}
/* čitelnost textu: overlay tmavé zelené (vlevo plnější, pod textem) + vignette hran v barvě sekce */
.hireus__tone{position:absolute;inset:0;z-index:3;background:linear-gradient(100deg,rgba(13,31,23,.86) 0%,rgba(13,31,23,.6) 52%,rgba(13,31,23,.38) 100%),radial-gradient(130% 100% at 50% 50%,rgba(13,31,23,0) 55%,rgba(13,31,23,.45) 100%);}
.hireus__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,64px);align-items:center;}
.hireus__text{color:var(--on-dark);opacity:.92;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.7;max-width:52ch;}
.hireus__cta{margin-top:34px;}
.hireus__cards{display:flex;flex-direction:column;gap:20px;}
/* karty jsou celé odkazy na hireus.club/.cloud (dle artefaktu): block + inherit, hover zvýrazní zlatou linku a zesvětlí sklo */
.hireus__card{position:relative;padding:clamp(20px,2.6vw,28px) clamp(20px,2.4vw,26px);border-top:1px solid rgba(201,172,98,.4);background:linear-gradient(180deg,rgba(24,51,41,.55),rgba(18,39,30,.32));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:block;color:inherit;transition:border-color .3s var(--ease),background .3s var(--ease);}
.hireus__card:hover{border-top-color:var(--gold);background:linear-gradient(180deg,rgba(24,51,41,.7),rgba(18,39,30,.45));}
.hireus__card::before{content:"";position:absolute;top:-6px;left:24px;width:11px;height:11px;background:var(--gold);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
.hireus__card-t{font-family:var(--serif);font-weight:600;font-size:1.15rem;letter-spacing:.01em;color:#fdfbf4;}
.hireus__card p{margin-top:8px;color:var(--on-dark-mut);font-size:13.5px;line-height:1.65;}

/* ============ VÝBAVA (editorial řádky nástrojů: mono label vlevo, položky se středovou tečkou v mosazi; kresba hráče s raketou za pravým okrajem) ============ */
#vybava .wrap{position:relative;}
#vybava .wrap::before{content:"";z-index:-1;position:absolute;right:clamp(-90px,-4vw,-24px);top:46%;transform:translateY(-50%) rotate(-7deg);width:clamp(300px,30vw,460px);aspect-ratio:420/620;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 620' fill='none' stroke='%23c9c3b2' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='210' cy='192' rx='58' ry='20'/%3E%3Cpath d='M158 199 C176 212 244 212 262 199'/%3E%3Cpath d='M152 194 C148 300 153 460 164 556'/%3E%3Cpath d='M268 194 C272 300 267 460 256 556'/%3E%3Cpath d='M164 556 C172 576 248 576 256 556'/%3E%3Cpath d='M156 246 C180 256 240 256 264 246'/%3E%3Cpath d='M186 184 L172 92'/%3E%3Cpath d='M172 92 C168 78 156 68 140 68 C120 68 108 82 112 98 C116 114 134 122 152 118 C164 115 170 106 172 92 Z'/%3E%3Cpath d='M234 184 L266 70'/%3E%3Cpath d='M266 70 C268 62 272 57 279 55 L307 48 C313 46 316 51 313 57 L302 74 C300 78 295 80 290 79 L269 74 C266 73 265 72 266 70 Z'/%3E%3Cpath d='M210 182 L210 122'/%3E%3Cpath d='M210 122 C210 114 206 111 202 105'/%3E%3Cpath d='M210 122 C210 114 214 111 218 105'/%3E%3Cellipse cx='210' cy='70' rx='30' ry='40'/%3E%3Crect x='168' y='392' width='88' height='98' rx='18'/%3E%3Cpath d='M168 418 C194 426 232 426 256 418'/%3E%3Cpath d='M267 246 C293 256 293 290 264 300'/%3E%3Cpath d='M154 262 C127 318 127 396 152 448'/%3E%3Cpath d='M162 268 C138 318 138 392 158 443'/%3E%3Cpath d='M154 262 L162 268'/%3E%3Cpath d='M152 448 L158 443'/%3E%3Cpath d='M158 486 C146 522 134 558 126 590'/%3E%3Cpath d='M262 486 C274 522 286 558 294 590'/%3E%3Cpath d='M118 592 L136 592'/%3E%3Cpath d='M286 592 L304 592'/%3E%3Ccircle cx='336' cy='586' r='15'/%3E%3Cpath d='M318 608 Q336 612 354 608'/%3E%3Cg stroke-width='1.4'%3E%3Cpath d='M200 38 L200 102'/%3E%3Cpath d='M220 38 L220 102'/%3E%3Cpath d='M184 58 L236 58'/%3E%3Cpath d='M184 82 L236 82'/%3E%3Cpath d='M282 61 L304 55'/%3E%3Cpath d='M122 84 C130 76 146 72 158 76'/%3E%3Cpath d='M326 580 Q329 577 332 580'/%3E%3Cpath d='M333 586 Q336 583 339 586'/%3E%3Cpath d='M340 592 Q343 589 346 592'/%3E%3Cpath d='M166 108 C156 114 145 116 136 114'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;}
.gear{max-width:980px;border-top:1px solid var(--line);}
.gear__row{display:grid;grid-template-columns:clamp(180px,22vw,240px) 1fr;gap:6px 26px;align-items:baseline;padding:clamp(16px,2vw,22px) 0;border-bottom:1px solid var(--line);}
.gear__lbl{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
/* flex-wrap: názvy a oddělovače jsou v textu slité bez mezer (oddělovač nese jen margin),
   flex z nich dělá položky a dává řádku místa zalomení; na desktopu (jeden řádek) vizuál beze změny */
.gear__items{display:flex;flex-wrap:wrap;align-items:baseline;font-family:var(--serif);font-weight:500;font-size:clamp(1rem,1.5vw,1.15rem);color:var(--head);line-height:1.7;}
.gear__d{font-style:normal;color:var(--brass);margin:0 10px;}
.gear__it{white-space:nowrap;}
.gear__micro{margin-top:20px;font-size:12.5px;color:var(--muted);}
@media (max-width:640px){.gear__row{grid-template-columns:1fr;}}

/* ============ FAQ (akordeon: mosazné plus v ikoně, výšku rozbalení nastavuje main.js, animuje CSS transition) ============ */
.faq{border-top:1px solid var(--line);}
.faq__item{border-bottom:1px solid var(--line);}
.faq__q{width:100%;display:flex;align-items:center;gap:clamp(14px,2vw,26px);text-align:left;background:transparent;border:none;padding:clamp(16px,2vw,24px) 0;}
/* pevná šířka čísla: text odpovědi pak zarovnává na levou hranu textu otázky (zrcadlí artefakt) */
.faq__n{font-family:var(--display);font-size:12px;color:var(--muted);font-weight:500;flex:0 0 28px;}
.faq__n .sl{color:var(--brass);}
.faq__qt{font-family:var(--serif);font-weight:600;font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--head);letter-spacing:.002em;line-height:1.1;flex:1;}
.faq__ic{flex:0 0 auto;width:30px;height:30px;position:relative;}
.faq__ic::before,.faq__ic::after{content:"";position:absolute;background:var(--brass);transition:transform .35s var(--ease);}
.faq__ic::before{left:5px;right:5px;top:14px;height:2px;}
.faq__ic::after{top:5px;bottom:5px;left:14px;width:2px;}
.faq__item[aria-expanded="true"] .faq__ic::after{transform:scaleY(0);}
.faq__a{overflow:hidden;height:0;transition:height .4s var(--ease);}
/* odpověď lícuje s otázkou na obou stranách: vlevo odsazení o číslo + mezeru,
   vpravo o ikonu + tutéž mezeru, text tedy nikdy neleze pod přepínací ikonu */
.faq__a-in{padding:0 calc(30px + clamp(14px,2vw,26px)) clamp(22px,2.6vw,30px) calc(28px + clamp(14px,2vw,26px));color:var(--muted);font-size:14.5px;line-height:1.75;}
.faq__cta{margin-top:clamp(28px,3.4vw,44px);}

/* ============ KONTAKT (dl kanály vlevo, tmavý boční box vpravo; praporek = zkosený spodní roh přes clip-path) ============ */
/* dekor praporku s trajektorii micku (prenos z artefaktu, nalez testu etapy 08) */
#kontakt .wrap::before{content:"";z-index:-1;position:absolute;right:clamp(30px,4vw,90px);bottom:6px;transform:rotate(-5deg);width:clamp(170px,15vw,230px);aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 420' fill='none' stroke='%23c9c3b2' stroke-width='2.5' stroke-linejoin='round' stroke-linecap='round'%3E%3Cline x1='224' y1='64' x2='224' y2='330'/%3E%3Cpath d='M224 64 318 96 224 128Z'/%3E%3Cellipse cx='224' cy='342' rx='52' ry='15'/%3E%3Cline x1='96' y1='362' x2='352' y2='362'/%3E%3Ccircle cx='118' cy='236' r='11'/%3E%3Cpath d='M132 248C160 274 188 306 206 330' stroke-dasharray='2 14'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;}
#kontakt .wrap{position:relative;}
.contact__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,72px);align-items:start;}
.contact__lead{color:var(--muted);font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.7;max-width:42ch;}
.contact__list{margin-top:28px;}
.cline{display:flex;align-items:center;gap:18px;padding:17px 0;border-top:1px solid var(--line);}
.cline:last-child{border-bottom:1px solid var(--line);}
.cline dt{font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);flex:0 0 96px;}
.cline dd{margin:0;font-family:var(--serif);font-weight:600;color:var(--head);font-size:clamp(1.15rem,1.9vw,1.5rem);letter-spacing:.002em;}
.cline dd a{transition:color .25s;}
@media (hover:hover) and (pointer:fine){.cline dd a:hover{color:var(--accent);}}
.socials{display:flex;gap:10px;margin-top:28px;}
.invoice{margin-top:24px;font-size:13px;color:var(--muted);}
.contact__side{position:relative;background:var(--dark);color:var(--on-dark);padding:clamp(28px,3.4vw,46px);clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 12px) 100%,0 100%);}
.contact__side::before{content:"";position:absolute;top:16px;right:16px;width:96px;height:62px;border-bottom:1px solid rgba(231,218,178,.2);border-left:1px solid rgba(231,218,178,.2);pointer-events:none;}
.contact__side::after{content:"";position:absolute;top:16px;right:16px;width:58px;height:38px;border-bottom:1px solid rgba(231,218,178,.13);border-left:1px solid rgba(231,218,178,.13);pointer-events:none;}
.contact__side>*{position:relative;z-index:1;}
.contact__side h3{font-family:var(--serif);font-style:normal;font-weight:650;color:var(--champ);font-size:2rem;line-height:1.15;letter-spacing:.002em;margin-bottom:14px;}
.contact__side p{color:rgba(240,237,226,.78);font-size:14px;line-height:1.7;margin-bottom:28px;}
/* inline styl artefaktu u CTA bočního boxu nahrazen pravidlem: tlačítko přes celou šířku */
.contact__side .btn{width:100%;justify-content:center;}
/* ============ STACKING PŘECHODY SEKCÍ (rozhodnutí 59 + 61: karty přes sebe jako klubová opona; sticky + JS dopočet top, --cov počítá rAF ze scrollTop, žádné transition) ============
   Rozhodnutí 61 (dávka 26): odcházející karta neztmavne do šedi, ale ustoupí dozadu = rovnoměrný klubový tón + rozostření (jazyk pasparty .scene__fade).
   Hloubku u hrany nese výhradně nastupující karta: mosazná dvojlinka + kontaktní stín, ten se objevuje sám s tím, jak karta stoupá. */
.stak--bg{background:var(--bg);}
.stak__veil{display:none;}
@media (min-width:701px){
  #kontakt{padding-bottom:clamp(64px,10vh,120px);}
  /* --veil-rgb: tón ustupující vrstvy; nad krémem klubová zelená, nad tmavými sekcemi hlubší zelenočerná.
     Pozor: karty NEpromovat na vlastní vrstvy (translateZ apod.); 13 vrstev přes celý viewport se při
     rychlém scrollu nestíhá rasterizovat a trhání je horší, ne lepší (ověřeno 3.8.2026) */
  .stacked .stak{--veil-rgb:18,39,30;position:-webkit-sticky;position:sticky;top:0;min-height:calc(100svh - 2*var(--frame) - 2px);border-top:1px solid rgba(160,132,48,.68);
    box-shadow:inset 0 4px 0 -3px rgba(160,132,48,.22),inset 0 30px 34px -32px rgba(160,132,48,.34),0 -18px 40px -22px rgba(9,20,14,.40),0 -110px 160px -62px rgba(9,20,14,.30);}
  .stacked .hero,.stacked .stak.sec--dark,.stacked footer.stak{--veil-rgb:4,13,9;}
  .stacked .stak:first-child{border-top:0;box-shadow:none;}
  .stacked footer.stak{display:flex;flex-direction:column;justify-content:center;}
  /* veil: rovnoměrný tón bez gradientu (vrstva vzadu, ne ztmavený snímek); náběh nese opacity celého prvku.
     Bez backdrop-filter: blur nad sticky kartou nechával v Chromu nepřekreslené výřezy pozadí,
     a to i s konstantním poloměrem (nálezy 3.8.2026), tón sám artefakty nedělá */
  .stacked .stak__veil{display:block;position:absolute;inset:0;z-index:8;background:rgba(var(--veil-rgb,18,39,30),.34);opacity:var(--cov,0);pointer-events:none;}
  .stacked .stak.is-under .stak__veil{will-change:opacity;}
  /* plně zakrytá karta se vůbec nekreslí: u paty stránky je jinak přilepených u horní hrany 11+ karet
     najednou a všechny se při každém snímku překreslují; při rychlém scrollu to Chrome nestíhá
     a kreslí staré snímky (roztrhané pásy, nálezy 3.8.2026). Kreslí se tak jen aktivní pár. */
  .stacked .stak.is-kryta{visibility:hidden;}
}

/* ============ PATIČKA (FF glitch podpis) ============ */
.footer{position:relative;overflow:hidden;margin-top:clamp(64px,8vw,116px);background:var(--dark);color:var(--on-dark);padding:clamp(48px,6vw,84px) 0 clamp(28px,3.4vw,44px);}
.footer::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 90% at 12% 10%,rgba(30,66,52,.45) 0%,rgba(18,39,30,0) 62%);}
.footer__ff{position:absolute;right:-80px;bottom:-80px;width:380px;height:380px;pointer-events:none;color:rgba(201,172,98,.14);}
.footer__bill{margin:14px 0 0;font-size:12px;line-height:1.9;color:var(--on-dark-mut);}
.footer__loc{margin-top:clamp(44px,5.6vw,72px);text-align:center;}
.footer__loc h5{font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-mut);margin:0 0 20px;font-weight:700;display:inline-flex;align-items:center;gap:14px;}
.footer__loc h5::before,.footer__loc h5::after{content:"";width:26px;height:1px;background:rgba(160,132,48,.55);}
.footer__loc-row{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(14px,2.2vw,30px);font-family:var(--serif);font-weight:600;font-size:clamp(1.02rem,1.5vw,1.25rem);letter-spacing:.01em;color:#fdfbf4;}
.footer__loc-d{width:8px;height:8px;background:var(--gold);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;opacity:.85;}
.footer__loc-g{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(14px,2.2vw,30px);}
.footer__loc-lbl{font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-mut);}
.footer__loc-sep{width:1px;height:22px;background:var(--on-dark-line);margin:0 clamp(4px,1vw,10px);}
@media (max-width:700px){
  .footer__loc-sep{width:60%;height:1px;margin:6px auto;}
  /* nadpis sezóny na samostatném řádku, města až pod ním (Filip 5.8.2026) */
  .footer__loc-g{flex-wrap:wrap;justify-content:center;gap:10px clamp(14px,4vw,30px);}
  .footer__loc-lbl{flex:0 0 100%;text-align:center;}
}
.footer__map{margin:clamp(14px,1.8vw,24px) auto 0;width:clamp(260px,30vw,400px);aspect-ratio:640/400;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 400' fill='none' stroke='%23e7dab2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M410.2 50 L487.7 82' stroke-dasharray='1.5 9'/%3E%3Cpath d='M516.4 88 L519.7 115' stroke-dasharray='1.5 9'/%3E%3Cpath d='M511.70000000000005 141 C359.70000000000005 257 230 265 68 341' stroke-dasharray='1.5 10'/%3E%3Cpath d='M514.4 84 C508.8 75.9 507.0 72.8 507.0 73.4 A7.38 7.38 0 1 1 521.8 73.4 C521.8 72.8 520.0 75.9 514.4 84Z'/%3E%3Ccircle cx='514.4' cy='73.4' r='2.8800000000000003' fill='%23e7dab2' stroke='none'/%3E%3Cpath d='M497.7 88 C492.1 79.9 490.3 76.8 490.3 77.4 A7.38 7.38 0 1 1 505.1 77.4 C505.1 76.8 503.3 79.9 497.7 88Z'/%3E%3Ccircle cx='497.7' cy='77.4' r='2.8800000000000003' fill='%23e7dab2' stroke='none'/%3E%3Cpath d='M402.2 46 C396.0 37.0 394.0 33.6 394.0 34.2 A8.2 8.2 0 1 1 410.4 34.2 C410.4 33.6 408.4 37.0 402.2 46Z'/%3E%3Ccircle cx='402.2' cy='34.2' r='3.2' fill='%23e7dab2' stroke='none'/%3E%3Cpath d='M519.7 137 C514.1 128.9 512.3 125.8 512.3 126.4 A7.38 7.38 0 1 1 527.1 126.4 C527.1 125.8 525.3 128.9 519.7 137Z'/%3E%3Ccircle cx='519.7' cy='126.4' r='2.8800000000000003' fill='%23e7dab2' stroke='none'/%3E%3Cpath d='M60 345 C53.8 336.0 51.8 332.6 51.8 333.2 A8.2 8.2 0 1 1 68.2 333.2 C68.2 332.6 66.2 336.0 60 345Z'/%3E%3Ccircle cx='60' cy='333.2' r='3.2' fill='%23e7dab2' stroke='none'/%3E%3Ctext x='388' y='52' font-family='ui-monospace,Menlo,monospace' font-size='13' letter-spacing='2' text-anchor='end' fill='%23e7dab2' stroke='none'%3EPRAHA%3C/text%3E%3Ctext x='486' y='108' font-family='ui-monospace,Menlo,monospace' font-size='13' letter-spacing='2' text-anchor='end' fill='%23e7dab2' stroke='none'%3EBRNO%3C/text%3E%3Ctext x='526' y='66' font-family='ui-monospace,Menlo,monospace' font-size='13' letter-spacing='2' text-anchor='start' fill='%23e7dab2' stroke='none'%3EVY%C5%A0KOV%3C/text%3E%3Ctext x='524' y='158' font-family='ui-monospace,Menlo,monospace' font-size='13' letter-spacing='2' text-anchor='start' fill='%23e7dab2' stroke='none'%3EBRATISLAVA%3C/text%3E%3Ctext x='80' y='351' font-family='ui-monospace,Menlo,monospace' font-size='13' letter-spacing='2' text-anchor='start' fill='%23e7dab2' stroke='none'%3EMARBELLA%3C/text%3E%3C/svg%3E") center/contain no-repeat;opacity:.42;pointer-events:none;}
.footer__ff svg{width:100%;height:100%;overflow:visible;}
/* width:100%: ve stacked režimu je patička flex a .wrap by se jako flex-item sázel na min-content
   binárního řádku (nowrap ~1400 px) a přetékal viewportem; definitivní šířka min-content vyřazuje */
.footer .wrap{position:relative;z-index:1;width:100%;}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(30px,4vw,64px);}
.footer__brand > .fflogo{width:38px;height:44px;color:var(--gold);margin-bottom:10px;}
.footer__est{display:block;font-family:var(--display);font-weight:500;font-size:8.5px;letter-spacing:.34em;text-indent:.17em;color:rgba(201,172,98,.8);margin-bottom:18px;}
.footer__brand h4{font-family:var(--serif);font-weight:600;color:#fdfbf4;font-size:1.5rem;margin-bottom:6px;}
.footer__brand p{color:var(--on-dark-mut);font-size:13.5px;line-height:1.7;max-width:32ch;}
.footer__col h5{font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-mut);margin:0 0 18px;font-weight:500;}
.footer__col a,.footer__col span{display:block;color:var(--on-dark);font-size:13.5px;padding:6px 0;transition:color .25s;}
@media (hover:hover) and (pointer:fine){.footer__col a:hover{color:var(--gold);}}
.footer__bottom{margin-top:clamp(40px,5vw,64px);}
.footer__code{margin:0 0 16px;text-align:center;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:9px;letter-spacing:.2em;color:rgba(240,237,226,.12);white-space:nowrap;overflow:hidden;}
.footer__final{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px;}
.footer__copy{color:var(--on-dark-mut);font-size:12.5px;}
.footer__final-right{justify-self:end;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:8px 20px;}
.footer__time{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11px;letter-spacing:.08em;color:var(--on-dark-mut);font-variant-numeric:tabular-nums;}
.footer__edition{font-family:var(--display);font-weight:500;font-size:10.5px;letter-spacing:.18em;text-indent:.09em;color:rgba(201,172,98,.6);}
.footer__socials{display:flex;gap:10px;margin-top:24px;}
/* ikony jsou od 4.8.2026 ve sloupci Kontakt: sloupcové odkazy mají display:block
   s paddingem, ikonové čtverce potřebují zpět flex centrování */
.footer__col .footer__socials a{display:inline-flex;padding:0;}

/* ============ REVEAL ============ */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.js .reveal.in{opacity:1;transform:none;}

/* ============ MOBIL: nativní scroll + pasparta jako pevný přesah (rozhodnutí 47) ============ */
@media (max-width:700px){
  html,body{overflow-x:hidden;background:var(--bg);}
  body{overflow-y:auto;}
  :root{--frame:12px;--nav-h:64px;}
  .scene{position:static;inset:auto;border:none;outline:none;overflow:visible;background:var(--bg);}
  .scene::after{display:none;}
  .scene::before{position:fixed;}
  .scroller{position:static;inset:auto;overflow:visible;}
  /* lišta na mobilu sedí plnou šířkou u pasparty, žádná mezera nad ní; maska není potřeba */
  .scene__fade{display:none;}
  html::after{content:"";position:fixed;inset:0;z-index:80;pointer-events:none;box-shadow:inset 0 0 0 var(--frame) var(--white);}
  @supports (height:100dvh){html::after{bottom:auto;height:100dvh;}}
  html::after{top:var(--vv-t,0px);height:var(--vv-h,100dvh);}
  /* mobil: dvojlinka v paspartě úměrně (vnější 2px zelená + vnitřní zelený hairline), mosaz na malé ploše sloučena, rozhodnutí 55 */
  body::before{content:"";position:fixed;inset:var(--frame);z-index:81;pointer-events:none;border:1px solid rgba(160,132,48,.55);}
  @supports (height:100dvh){body::before{bottom:auto;height:calc(100dvh - 2*var(--frame));}}
  body::before{top:calc(var(--vv-t,0px) + var(--frame));height:calc(var(--vv-h,100dvh) - 2*var(--frame));}
  /* mobil: hlavička po scrollu zůstává pruhem v paspartě, jen s mosazným hairline a stínem */
  /* trojice hamburger, logo, košík drží jednu osu a stejnou výšku 44 px:
     popisek MCMXCI se na mobilu vypouští, znak se dorovná na výšku boxů */
  .nav__est{display:none;}
  .nav__logo{gap:0;}
  .nav__logo .fflogo{width:38px;height:44px;}
  .nav-scrolled.hero-view .nav{background:rgba(18,36,28,.82);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);border-bottom-color:rgba(160,132,48,.4);}
  .nav-scrolled:not(.hero-view) .nav{top:calc(var(--frame) + 1px);left:calc(var(--frame) + 1px);right:calc(var(--frame) + 1px);padding:0 clamp(18px,3vw,42px);background:#faf7f0;border-color:transparent;border-bottom-color:rgba(160,132,48,.5);box-shadow:0 12px 26px -16px rgba(21,43,33,.28);}
  /* lišta lícuje s textovým sloupcem (.wrap): hamburger sedí pod nadpisem,
     košík na pravém okraji textu; platí v obou stavech lišty */
  .nav,
  .nav-scrolled:not(.hero-view) .nav{padding:0 calc(clamp(20px,4vw,64px) - var(--frame) + 4px) 0 calc(clamp(20px,4vw,64px) - var(--frame) - 2px);}
  .hero{min-height:100svh;}
}
/* střední šířky: pasparta úměrně menší */
@media (min-width:701px) and (max-width:1020px){
  :root{--frame:20px;--frame-in:12px;}
}

/* ============ RESPONZIVITA ============ */
@media (max-width:960px){
  .cesta__grid,.video__grid,.task__grid,.dilna__grid,.omne__grid,.hireus__grid,.contact__grid{grid-template-columns:1fr;}
  /* sloupce karet jsou tu užší než nejdelší CTA (371 px): povolit zalomení; zalomí se jen, když se nevejde */
  .card__cta{white-space:normal;}
  .footer__top{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1/-1;}
  /* konstrukční dekor jen na širokých plochách; v užší patičce by ležel pod odkazy */
  .footer__con{display:none;}
}

/* off-canvas menu do 1100 px (do 1090 px se plné menu překrývalo s logem, proto burger už od 1100 px) */
@media (max-width:1100px){
  /* backdrop-filter na .nav by dělal z hlavičky containing block pro fixed off-canvas menu; bez bluru proto plné pozadí */
  .nav{-webkit-backdrop-filter:none;backdrop-filter:none;}
  .nav-scrolled:not(.hero-view) .nav{background:#faf7f0;}
  .nav__menu{position:fixed;top:0;right:0;bottom:0;width:min(88vw,380px);z-index:45;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;background:var(--dark);color:var(--on-dark);padding:40px 36px;transform:translateX(100%);visibility:hidden;transition:transform .5s var(--ease),visibility .5s;border-left:1px solid var(--on-dark-line);}
  .nav--open .nav__menu{visibility:visible;}
  .nav__links{flex-direction:column;align-items:flex-start;gap:2px;}
  .nav__links a{font-size:21px;padding:11px 0;opacity:1;transform:translateX(18px);transition:transform .55s var(--ease),opacity .4s;}
  .js .nav--open .nav__links a{transform:translateX(0);}
  .nav__links a sup{color:var(--on-dark-mut);}
  .nav__links a::after{bottom:6px;}
  .nav__links a:nth-child(1){transition-delay:.06s;}
  .nav__links a:nth-child(2){transition-delay:.1s;}
  .nav__links a:nth-child(3){transition-delay:.14s;}
  .nav__links a:nth-child(4){transition-delay:.18s;}
  .nav__links a:nth-child(5){transition-delay:.22s;}
  .nav--open .nav__menu{transform:translateX(0);}
  .nav__burger{display:flex;z-index:46;}
  .nav--open .nav__burger span{background:transparent;}
  .nav--open .nav__burger span::before{top:0;transform:rotate(45deg);}
  .nav--open .nav__burger span::after{top:0;transform:rotate(-45deg);}
  .nav--open .nav__burger{color:var(--on-dark);border-color:var(--on-dark);}
  .nav__scrim{display:block;position:fixed;inset:0;background:rgba(7,16,11,.6);opacity:0;visibility:hidden;transition:.4s;z-index:44;}
  .nav--open .nav__scrim{opacity:1;visibility:visible;}
  /* otevřené menu zamyká scroll pozadí (třídu na <html> přepíná main.js); overflow:hidden
     drží scroll pozici, kryje okno (mobil, podstránky) i vnitřní scroller (701-1100 px) */
  .menu-lock,.menu-lock body{overflow:hidden;}
  .menu-lock .scroller{overflow:hidden;}
}

/* úzké displeje: CTA se z lišty stěhuje do off-canvas menu, v liště zůstává jen košík vpravo */
@media (max-width:600px){
  .nav__actions .btn-cta{display:none;}
  /* min-height 44 px: dotykový cíl v off-canvas menu (QA D3); výchozí padding dává jen ~42 px */
  .nav__m-cta{display:inline-flex;margin-top:30px;min-height:44px;}
}
@media (max-width:640px){
  .cards{grid-template-columns:1fr;}
  .calwrap::before{display:none;}
  .hero{padding-top:calc(var(--nav-h) + 30px);padding-bottom:44px;}
  .hero__eyebrow{letter-spacing:.18em;gap:6px 10px;}
  .hero__eyebrow::before{display:none;}
  .hero__scrollhint{display:none;}
  /* mobil (rozhodnutí 60): galerie se úměrně zmenší, jinak beze změn */
  .hero__media{max-width:100%;}
  /* mobil: jednodušší maska, jen vertikální fade; boky drží vignette */
  .hero__figure{margin-top:-12px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 72%,transparent 98%),linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 72%,transparent 98%),linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-composite:intersect;}
  /* bottom 30 %: na 320-414 px se počítadlo překrývalo s panelem Nejnovější
     z Klubovny (nález 3.8.2026); výš na fotce se s panelem nepotká */
  .hero__big{left:0;bottom:30%;}
  .hero__big-n{font-size:clamp(3.8rem,16vw,5.4rem);}
  .hero__panel{grid-template-columns:1fr;margin:-30px 0 0;}
  .hero__latest+.hero__latest{border-left:none;border-top:1px solid rgba(160,132,48,.35);}
  .eyebrow{letter-spacing:.2em;gap:12px;}
  .eyebrow::before,.eyebrow::after{width:18px;}
  /* značka přes celou šířku, mapa stránek a kontakt vedle sebe (Filip 5.8.2026) */
  .footer__top{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1 / -1;}
  .footer__col a,.footer__col span{font-size:13px;}
  /* dvouřádkový nadpis „Mapa stránek“ nesmí posunout start druhého sloupce */
  .footer__col h5{min-height:2.6em;margin-bottom:10px;}
  /* menší pečeť: 380 px zabírala většinu šířky patičky a ořezávala se o okraj */
  .footer__ff{width:240px;height:240px;right:-60px;bottom:-60px;}
  /* závěrečná linka na mobilu: sloupec © → čas/edice → binární podpis naposled */
  .footer__final{flex-direction:column;align-items:flex-start;gap:10px;}
  .footer__final-right{order:2;justify-self:start;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;}
  .omne__facts{flex-direction:column;gap:8px;}
  /* dlouhé hodnoty kontaktů (linkedin.com/in/filipfarnik) se na malých šířkách smí zalomit */
  .cline dd{overflow-wrap:anywhere;}
@media (max-width:640px){.cline dd{overflow-wrap:anywhere;}}
}
@media (max-width:400px){
  body{font-size:14.5px;}
}

/* ============ PODSTRÁNKY (etapa 10): scéna staticky jako na mobilu, na všech šířkách.
   Vnitřní stránky nepotřebují fixed-frame scroller: scroluje okno, pasparta je pevný přesah
   (html::after + body::before), sticky stacking a hero-view se nezapínají (main.js). ============ */
/* overflow-x:hidden jen na <html>: na body by z něj byl scroll container, který sám
   neroluje, a position:sticky (lišta rejstříku Slovníku, verzálky písmen) by se počítalo
   vůči němu a nikdy nepřilnulo (nález 4.8.2026); overflow:visible přebíjí i mobilní blok výše */
html.podstrana{overflow-x:hidden;background:var(--bg);}
html.podstrana body{overflow:visible;background:var(--bg);}
html.podstrana .scene{position:static;inset:auto;overflow:visible;}
html.podstrana .scene::after{display:none;}
html.podstrana .scene::before{position:fixed;}
html.podstrana .scroller{position:static;inset:auto;overflow:visible;}
/* horní blur maska jede i na podstránkách (obsah pod zmenšenou lištou se rozpouští jako na hlavní
   stránce); scéna je static, proto fixed vůči viewportu se stejným odsazením jako inset scény.
   Mobil (do 700 px) ji vypíná blok výše, spodní protějšek patří jen scrolleru hlavní stránky. */
html.podstrana .scene__fade{position:fixed;top:var(--frame);left:var(--frame);right:var(--frame);}
html.podstrana .scene__fade--btm{display:none;}
html.podstrana::after{content:"";position:fixed;inset:0;z-index:80;pointer-events:none;box-shadow:inset 0 0 0 var(--frame) var(--white);}
html.podstrana body::before{content:"";position:fixed;inset:var(--frame);z-index:81;pointer-events:none;border:1px solid rgba(160,132,48,.55);}
@supports (height:100dvh){@media (max-width:700px){html.podstrana body::before{bottom:auto;height:calc(100dvh - 2*var(--frame));}}}
@media (max-width:700px){html.podstrana body::before{top:calc(var(--vv-t,0px) + var(--frame));height:calc(var(--vv-h,100dvh) - 2*var(--frame));}}
/* obsah začíná pod fixní lištou; rozestup pak přidává .sec */
html.podstrana main{padding-top:calc(var(--frame) + var(--nav-h));}
/* podstránky bez nájezdových animací: obsah viditelný hned (main.js pro ně reveal observer neregistruje) */
html.podstrana .reveal{opacity:1;transform:none;transition:none;}

/* detail článku a pojmu: jeden sloupec textu (bez sidebaru); užší centrovaný
   wrap, ať na širokých monitorech nezeje pravá polovina prázdnotou (3.8.2026) */
.single-ff_clanek .sec .wrap,.single-ff_pojem .sec .wrap{max-width:1080px;}

/* společné prvky podstránek */
/* H1 detailu článku menší než sekční .h2 (dávka 30): titulky článků jsou celé věty
   a v plné velikosti braly na 1280 px čtyři řádky; cíl ~2 řádky na desktopu.
   Ostatní podstránky (archivy, slovník) zůstávají na .h2. */
.h2--clanek{font-size:clamp(2.1rem,4.3vw,3.5rem);line-height:1.12;}
.pod__zpet{margin-top:clamp(30px,4vw,48px);}
a.art{transition:background .3s var(--ease);}
a.art .art__b b{transition:color .3s var(--ease);}
@media (hover:hover) and (pointer:fine){a.art:hover .art__b b{color:var(--brass);}}
/* výpis Klubovny na podstránce: víc vzduchu než v úzkém sloupci hlavní stránky */
.arts--pod{max-width:980px;}
.arts--pod .art{padding:clamp(22px,2.8vw,30px) 0;}
/* volný text článku a výkladu pojmu (Gutenberg odstavce) */
.pod__text{max-width:68ch;color:var(--ink);font-size:15px;line-height:1.75;}
/* zvýrazněný panel v textu (ceník PPC: proč cena roste s útratou, 4.8.2026) */
.pod__text .zvyraz,.produkt__popis .zvyraz{position:relative;margin:1.4em 0;padding:16px 20px;background:var(--panel-2);border-left:2px solid var(--brass);color:var(--head);font-weight:600;font-size:15.5px;line-height:1.6;}
/* Tlačítko v ceníku (řádek [text](#kotva) ze zdroje, např. Individuální tarif → formulář). */
.produkt__popis .cenik-cta{margin:1.2em 0 .4em;}
.produkt__popis .cenik-cta .btn i{margin-left:8px;}
.pod__text p{margin:0 0 1.15em;}
.pod__text h2,.pod__text h3{font-family:var(--serif);font-weight:600;color:var(--head);line-height:1.2;margin:1.6em 0 .6em;}
.pod__text h2{font-size:1.6rem;}
.pod__text h3{font-size:1.25rem;}
.pod__text ul{list-style:disc;padding-left:1.25em;margin:0 0 1.15em;}
.pod__text ol{padding-left:1.25em;margin:0 0 1.15em;}
.pod__text li{margin:.35em 0;}
.pod__text a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.pod__text blockquote{margin:1.4em 0;padding-left:18px;border-left:2px solid var(--brass);color:var(--muted);}
/* vzoreček ve výkladu pojmu (PNO, ROAS, CPA, …): mono řádek na krémovém panelu s mosazným hairline vlevo */
.pod__text .vzorec{margin:1.15em 0;padding:12px 16px;background:var(--panel);border:1px solid var(--line-soft);border-left:2px solid var(--brass);font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:13px;letter-spacing:.02em;color:var(--head);overflow-x:auto;}
/* inline kód ve výkladu (utm_source, ad_user_data): tentýž mono jako vzoreček,
   overflow-wrap kvůli dlouhým zápisům na úzkém displeji */
/* inline kód: inline-block, aby se dlouhá ukázka nerozpadla na dva rámečky
   s osiřelým zbytkem na konci řádku (na 375 px zůstával samotný „?“); text
   uvnitř se láme, ale rámeček a podklad obalují celou ukázku */
.pod__text code{display:inline-block;max-width:100%;padding:1px 5px;background:var(--panel);border:1px solid var(--line-soft);font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.86em;letter-spacing:.02em;color:var(--head);overflow-wrap:anywhere;vertical-align:baseline;}
/* qband na podstránce článku stojí mimo .glos2, drží šířku textu výpisu */
.pod__qband{max-width:980px;}
/* ---- TIMELINE NOVINEK (prototyp grafika novinky_timeline.html): sezóny, filtr chipů + týdenní osa ---- */
/* sezóny: navigace archivu na baseline nadpisu, bez rámečků; aktivní sezóna
   pozná i čtečka (aria-current) a oko bez barvy (tučnější řez + mosazná linka) */
.nhead{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(16px,3vw,40px);flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px;}
.nhead .h2{margin:0;}
.sezony{display:flex;align-items:baseline;gap:clamp(10px,1.6vw,20px);flex-wrap:wrap;}
.sezony__lbl{font-family:var(--display);font-weight:700;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-right:2px;}
.sezony a{position:relative;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:13px;letter-spacing:.06em;color:var(--muted);padding:6px 2px;font-variant-numeric:tabular-nums;transition:color .3s var(--ease);}
/* dotykový cíl 44 px bez zásahu do sazby: neviditelná plocha přes ::before
   (::after nese podtržení a musí zůstat u textu), boky -6 px sedí na nejmenší
   mezeru mezi sezónami, cíle se tak nepřekrývají */
.sezony a::before{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:44px;transform:translateY(-50%);}
.sezony a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
@media (hover:hover){.sezony a:hover{color:var(--head);}.sezony a:hover::after{transform:scaleX(1);}}
.sezony a[aria-current="page"]{color:var(--head);font-weight:700;}
.sezony a[aria-current="page"]::after{transform:scaleX(1);}
.nlead b{color:var(--head);font-weight:600;}
/* filtr platforem: chipy ve stylu štítků úkolů, aktivní = mosazný rám + krémový podklad;
   kontrakt filtru: data-filter chipu ↔ data-plat položky (main.js). Chip nese počet
   v sezóně, platforma bez položek je neaktivní (na prázdný výsledek se nedá kliknout) */
.filtr{margin:0 0 clamp(30px,4vw,46px);max-width:980px;}
/* bez JS filtr nic nefiltruje (výpis zůstává celý), proto se ani nezobrazuje;
   druhý selektor drží pravidlo i pro spouštěč sbaleného režimu */
html:not(.js) .filtr,html:not(.js) .filtr__bar{display:none;}
.filtr__lbl{display:block;font-family:var(--display);font-weight:700;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.filtr__row{display:flex;flex-wrap:wrap;gap:8px;}
.filtr__chip{display:inline-flex;align-items:center;gap:7px;min-height:44px;border:1px solid var(--line);background:var(--white);padding:8px 13px;font-family:inherit;font-size:12.5px;line-height:1.2;color:var(--muted);white-space:nowrap;cursor:pointer;transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease);}
.filtr__chip .n{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums;}
@media (hover:hover){.filtr__chip:not([aria-disabled="true"]):hover{color:var(--head);border-color:var(--brass);}}
.filtr__chip[aria-pressed="true"]{color:var(--head);border-color:var(--brass);background:var(--panel);font-weight:600;}
.filtr__chip[aria-pressed="true"] .n{color:var(--brass-strong);}
/* platforma bez položek v sezóně: vypadá neaktivně, ale zůstává ve fokusu
   a čtečka ji ohlásí (aria-disabled místo HTML disabled), klik hlídá main.js */
.filtr__chip[aria-disabled="true"]{opacity:.55;cursor:not-allowed;border-style:dashed;border-color:var(--line-soft);}
/* ---- filtr: sbalený režim pod 700 px (prototyp grafika, dávka 17) ----
   Nad 700 px spouštěč neexistuje (display:none mimo media query, není tedy ani
   v tab pořadí) a .filtr__panel je jen průhledný obal chipů: chování a sazba
   filtru na desktopu zůstávají beze změny. Pod 700 px se celý blok smrskne na
   jeden hairline řádek 48 px, který nese stav filtru i sbalený. */
.filtr__bar{display:none;}
@media (max-width:700px){
  .filtr{margin-bottom:clamp(20px,3vw,26px);}
  /* návěští zůstává v DOM jako název skupiny chipů (aria-labelledby), jen se nekreslí */
  .filtr__lbl{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
  /* spouštěč a rychlé zrušení v jednom řádku */
  .filtr__bar{display:flex;align-items:stretch;gap:8px;max-width:520px;}
  .filtr__toggle{position:relative;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 13px;border:1px solid var(--line);background:var(--white);text-align:left;transition:border-color .3s var(--ease),background .3s var(--ease);}
  .filtr__toggle-lbl{flex:0 0 auto;font-weight:700;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);}
  .filtr__toggle-val{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;line-height:1.3;color:var(--head);}
  .filtr__toggle-n{flex:0 0 auto;padding-left:10px;border-left:1px solid var(--line);font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11px;letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;}
  /* šipka: dvě hairline hrany, otočení místo ikony */
  .filtr__toggle-ic{flex:0 0 auto;width:8px;height:8px;border-right:1px solid var(--brass);border-bottom:1px solid var(--brass);transform:translateY(-2px) rotate(45deg);transition:transform .34s var(--ease);}
  .filtr[data-open="true"] .filtr__toggle{border-color:var(--brass);}
  .filtr[data-open="true"] .filtr__toggle-ic{transform:translateY(2px) rotate(-135deg);}
  /* zapnutý filtr: mosazná hrana vlevo, tučnější název platformy, počet „N z M“ = výpis je zjevně dílčí */
  .filtr[data-filtr="on"] .filtr__toggle{background:var(--panel);border-color:var(--brass);}
  .filtr[data-filtr="on"] .filtr__toggle::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:2px;background:var(--brass);}
  /* návěští ustoupí jen tehdy, když by se dlouhý název platformy ořízl (v .vh zůstává pro čtečku) */
  .filtr[data-uzko="true"] .filtr__toggle-lbl{display:none;}
  .filtr[data-filtr="on"] .filtr__toggle-val{font-weight:600;}
  .filtr[data-filtr="on"] .filtr__toggle-n{color:var(--brass-strong);}
  .filtr__clear{display:none;}
  .filtr[data-filtr="on"] .filtr__clear{display:inline-flex;align-items:center;min-height:48px;padding:0 13px;border:1px solid var(--line);background:none;font-family:var(--display);font-weight:700;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-strong);white-space:nowrap;transition:color .3s var(--ease),border-color .3s var(--ease);}
  /* panel: výška 0fr → 1fr (animovatelné), visibility drží sbalené chipy mimo tab pořadí i mimo strom pro čtečku */
  .filtr__panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .34s var(--ease),visibility 0s linear .34s;}
  .filtr[data-open="true"] .filtr__panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .34s var(--ease),visibility 0s;}
  .filtr__panelin{min-height:0;overflow:hidden;}
  /* 5 px vůle uvnitř ořezu, aby se neořízl focus outline chipů */
  .filtr__panel .filtr__row{margin:0 -5px;padding:11px 5px 5px;}
  .filtr__chip{padding:10px 14px;font-size:13px;}
  /* prázdný stav: dotykový cíl 44 px */
  .tlempty__a button,.tlempty__a a{display:inline-flex;align-items:center;min-height:44px;}
}
@media (max-width:700px) and (hover:hover){
  .filtr__toggle:hover{border-color:var(--brass);}
  .filtr__clear:hover{color:var(--head);border-color:var(--brass);}
}
@media (prefers-reduced-motion:reduce){
  .filtr__panel,.filtr[data-open="true"] .filtr__panel,.filtr__toggle-ic{transition:none;}
}

/* ============ SLOVNÍK (/slovnik/): abecední rejstřík dle dema grafika (3.8.2026). Lepivá
   lišta písmen pod fixní navigací (podstránka scroluje oknem; --abc-top počítá s plovoucí
   zúženou lištou po odscrollování, do 700 px s mobilní lištou), sekce písmene s verzálkou
   sticky vlevo, vzdušné řádky pojmů ve 2 sloupcích; chipy filtru sdílí styl .filtr.
   Čtvereček zaměření: plný zlatý = Kampaně a inzerce, mosazný obrys = Ekonomika e-shopu ============ */
:root{--abc-h:58px;--abc-top:calc(var(--frame) + var(--frame-in) + 10px + var(--nav-h-s));}
/* mobil: nav drží top frame+1 a při scrollu snižuje výšku na --nav-h-s; lišta lepí
   na zmenšenou výšku (s plnou --nav-h vznikala 4px škvíra, nález 4.8.2026) */
@media (max-width:700px){:root{--abc-top:calc(var(--frame) + 1px + var(--nav-h-s));}}
/* plynulé kotvy rejstříku (jen bez omezení pohybu; hlavní stránka má smooth na .scroller) */
@media (prefers-reduced-motion:no-preference){html.podstrana{scroll-behavior:smooth;}}
/* filtr Zaměření: chipy jako u Novinek, bez sbaleného režimu; návěští zůstává viditelné i na mobilu */
.filtr--zam{max-width:none;margin:0 0 clamp(22px,3vw,32px);}
@media (max-width:700px){
  .filtr--zam .filtr__lbl{position:static;width:auto;height:auto;margin:0 0 10px;overflow:visible;clip:auto;clip-path:none;white-space:nowrap;}
}
/* značka zaměření: čtvereček v duchu chipů hero (ostré hrany), v chipu = legenda filtru */
.cat{display:inline-block;width:5px;height:5px;flex:0 0 auto;}
.cat--k{background:var(--gold);}
.cat--e{background:transparent;box-shadow:inset 0 0 0 1.2px var(--brass);}
.filtr__chip .cat{margin-right:2px;}
/* lepivá lišta rejstříku */
.abc{position:sticky;top:var(--abc-top);z-index:10;margin:0 0 clamp(8px,1.4vw,14px);background:rgba(244,241,234,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.abc__in{display:flex;align-items:center;gap:clamp(10px,1.6vw,20px);min-height:var(--abc-h);}
.abc__lbl{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft-h);white-space:nowrap;}
.abc__lbl::after{content:"";width:16px;height:1px;background:var(--brass);}
.abc__row{display:flex;align-items:center;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.abc__row::-webkit-scrollbar{display:none;}
.abc__l{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:44px;padding:0 2px;font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.06em;color:var(--head);transition:color .3s var(--ease);}
/* podtržení jako u odkazů navigace: mosaz, roste zleva */
.abc__l::after{content:"";position:absolute;left:6px;right:6px;bottom:9px;height:2px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);}
@media (hover:hover){a.abc__l:hover{color:var(--brass-strong);}}
a.abc__l[aria-current="true"]{color:var(--brass-strong);}
a.abc__l[aria-current="true"]::after{transform:scaleX(1);}
.abc__l--off{color:var(--line);font-weight:500;pointer-events:none;}
/* písmeno dočasně bez pojmů (aktivní filtr): stejné ztlumení jako trvale prázdné */
a.abc__l[aria-disabled="true"]{color:var(--line);font-weight:500;pointer-events:none;}
a.abc__l[aria-disabled="true"]::after{transform:scaleX(0);}
@media (pointer:coarse){.abc__l{min-width:44px;}}
@media (max-width:760px){
  .abc__lbl{display:none;}
  /* náběhy po krajích: pás jde na spad wrapu, ať je vidět, že roluje */
  .abc .wrap{padding:0;}
  .abc__row{padding:0 20px;}
}
/* sekce písmene: kotva vlevo (sticky pod lištou rejstříku), výpis vpravo */
.abc-sec{display:grid;grid-template-columns:clamp(72px,9vw,128px) 1fr;gap:0 clamp(20px,3.4vw,52px);padding:clamp(24px,3.2vw,38px) 0 clamp(18px,2.6vw,30px);border-top:1px solid var(--line);}
/* kotva počítá s navigací i lištou rejstříku; selektor section.abc-sec přebíjí obecné section[id] výše */
section.abc-sec{scroll-margin-top:calc(var(--abc-top) + var(--abc-h) + 14px);}
.abc-sec:first-of-type{border-top:0;}
.abc-sec[hidden]{display:none;}
.abc-sec__k{align-self:start;position:sticky;top:calc(var(--abc-top) + var(--abc-h) + 20px);}
.abc-sec__pis{font-family:var(--serif);font-weight:650;font-size:clamp(2.5rem,4.6vw,3.9rem);line-height:.95;letter-spacing:-.01em;color:var(--head);}
.abc-sec__meta{display:flex;align-items:center;gap:9px;margin-top:12px;}
/* podpisový mikromotiv: mini hexagon + mosazný hairline + mono počet pojmů */
.abc-sec__hex{width:11px;height:11px;background:var(--brass);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
.abc-sec__meta::after{content:"";width:22px;height:1px;background:var(--brass);opacity:.7;order:2;}
.abc-sec__n{order:3;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.05em;color:var(--soft-h);font-variant-numeric:tabular-nums;}
/* výpis: vzdušné řádky místo boxů glos2 (editorial rytmus jako Novinky) */
.abc-sec__list{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,3.4vw,52px);align-items:start;}
.abc-sec__list li[hidden]{display:none;}
.pjm{position:relative;display:flex;flex-direction:column;gap:3px;padding:13px 34px 13px 0;border-bottom:1px solid var(--line-soft);transition:border-color .3s var(--ease);}
.pjm__t{display:flex;align-items:baseline;gap:9px;font-family:var(--display);font-weight:600;font-size:14.5px;letter-spacing:.03em;line-height:1.35;color:var(--accent);transition:color .3s var(--ease);}
.pjm__cat{align-self:center;display:inline-block;width:5px;height:5px;flex:0 0 auto;font-style:normal;}
.pjm__cat--k{background:var(--gold);}
.pjm__cat--e{background:transparent;box-shadow:inset 0 0 0 1.2px var(--brass);}
.pjm__d{font-size:11.5px;line-height:1.5;color:var(--muted);padding-left:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pjm__ar{position:absolute;top:13px;right:6px;font-style:normal;font-size:13px;color:var(--lt-dark);transition:color .3s var(--ease),transform .3s var(--ease);}
@media (hover:hover){
  .pjm:hover{border-color:var(--brass);}
  .pjm:hover .pjm__t{color:var(--brass-strong);}
  .pjm:hover .pjm__ar{color:var(--brass);transform:translateX(3px);}
}
@media (max-width:900px){.abc-sec__list{grid-template-columns:1fr;}}
@media (max-width:760px){
  /* mobil: písmeno jako řádková kotva nad výpisem, bez lepení */
  .abc-sec{grid-template-columns:1fr;gap:0;}
  .abc-sec__k{position:static;display:flex;align-items:baseline;gap:12px;margin-bottom:4px;}
  .abc-sec__pis{font-size:1.9rem;}
  .abc-sec__meta{margin-top:0;align-self:center;}
}

/* osa: jeden souvislý hairline na kontejneru; vynechané týdny nevadí, linka běží dál */
.tl{position:relative;list-style:none;margin:0;padding:0;max-width:980px;}
.tl::before{content:"";position:absolute;left:200px;top:6px;bottom:6px;width:1px;background:var(--line);}
/* týden = položka vnějšího seznamu: mono návěští vlevo od osy, hexagonový uzel na ose */
.tlw{position:relative;display:grid;grid-template-columns:200px 1fr;padding:0 0 clamp(30px,4vw,44px);}
.tlw:last-child{padding-bottom:0;}
.tlw__label{grid-column:1;margin:0;padding-right:34px;text-align:right;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11px;letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.4;padding-top:2px;}
.tlw__label b{display:block;font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--head);margin-bottom:3px;}
/* uzel = hexagon na podložce v barvě pozadí: podložka přeruší osu (skrz otevřený
   hexagon dřív prosvítala linka a uzel se slil s čárkou první položky, nález 4.8.2026);
   střed uzlu lícuje s čárkami položek (y 11) */
.tlw__node{position:absolute;left:200px;top:0;width:21px;height:21px;transform:translateX(-50%);background:var(--bg);}
.tlw__node::after{content:"";position:absolute;inset:4px;background:var(--brass);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
/* položky týdne: vnitřní seznam vpravo od osy */
.tlw__items{grid-column:2;list-style:none;margin:0;padding:0 0 0 38px;display:grid;gap:clamp(16px,2vw,22px);}
.tli{position:relative;}
/* uzel položky: krátká mosazná hairline pomlčka od osy (motiv .ffm) */
.tli::before{content:"";position:absolute;left:-38px;top:11px;width:16px;height:1px;background:var(--brass);}
/* první položku týdne kotví přímo uzel na stejné výšce, čárka by se s ním bila */
.tlw__items .tli:first-child::before{display:none;}
.tli__meta{display:flex;align-items:center;gap:12px;margin:0;}
.tli__date{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11px;letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums;}
.tli__chip{display:inline-flex;align-items:center;border:1px solid var(--line);padding:4px 9px;font-family:var(--display);font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap;transition:color .3s var(--ease),border-color .3s var(--ease);}
@media (hover:hover){.tli:hover .tli__chip{color:var(--head);border-color:var(--brass);}}
.tli__title{margin:7px 0 0;font-weight:600;font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.4;letter-spacing:.002em;color:var(--head);max-width:60ch;text-wrap:balance;}
/* odkaz: hairline podtržení roste zleva (jazyk nav odkazů), šipka se posune */
.tli__title a{position:relative;display:inline;background:linear-gradient(var(--brass),var(--brass)) 0 100%/0 1px no-repeat;transition:background-size .4s var(--ease),color .3s;}
.tli__title a .ar{color:var(--brass);font-size:.88em;margin-left:8px;display:inline-block;transition:transform .3s var(--ease);}
@media (hover:hover) and (pointer:fine){
  .tli__title a:hover{background-size:100% 1px;}
  .tli__title a:hover .ar{transform:translateX(4px);}
}
/* filtr: skryté položky a prázdné týdny (display gridu by atribut hidden jinak přebil) */
.tli[hidden],.tlw[hidden]{display:none;}
/* prázdný výsledek filtru v sezóně (pojistka: chip s nulou je neaktivní) */
.tlempty{margin:clamp(20px,2.6vw,30px) 0 0;border:1px solid var(--line);background:var(--panel);padding:clamp(24px,4vw,36px);text-align:center;max-width:980px;}
.tlempty__t{margin:0;font-weight:600;font-size:1.05rem;color:var(--head);}
.tlempty__p{margin:8px 0 0;font-size:13.5px;color:var(--muted);}
.tlempty__a{margin:16px 0 0;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.tlempty__a button,.tlempty__a a{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-strong);background:none;border:none;padding:8px 2px;cursor:pointer;}
@media (hover:hover){.tlempty__a button:hover,.tlempty__a a:hover{color:var(--head);}}
/* mobil: osa k levé hraně, kompaktní */
@media (max-width:700px){
  .nhead{display:block;padding-bottom:12px;}
  .sezony{margin-top:14px;gap:12px;}
  .tl::before{left:8px;}
  .tlw{display:block;padding-bottom:30px;}
  .tlw__label{text-align:left;padding:0 0 12px 30px;}
  .tlw__label b{display:inline;margin:0 8px 0 0;}
  .tlw__node{left:8px;top:0;width:18px;height:18px;}
  .tlw__node::after{inset:3px;}
  /* na mobilu je uzel u návěští týdne, čárka první položky se s ním nepotká */
  .tlw__items .tli:first-child::before{display:block;}
  .tlw__items{padding-left:30px;gap:16px;}
  .tli::before{left:-30px;width:12px;}
  .tli__meta{flex-wrap:wrap;gap:8px;}
}
/* Novinky: dlouhé titulky musí zalamovat; inline-flex artefaktu se v úzkém
   sloupci nesmrští (šipka na hover zůstává inline za textem) */
html.podstrana .serv__t{display:block;}
/* stránkování archivů (WP the_posts_pagination) */
.pod__pager .nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(26px,3vw,40px);}
.pod__pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);font-family:var(--display);font-size:12px;letter-spacing:.08em;color:var(--ink);background:var(--white);transition:border-color .25s,color .25s;}
.pod__pager .page-numbers.current{border-color:var(--head);background:var(--head);color:#f6f2e6;}
@media (hover:hover) and (pointer:fine){.pod__pager a.page-numbers:hover{border-color:var(--brass);color:var(--brass);}}
.pod__pager .screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
/* stránka 404: velké číslo nad nadpisem, obrys drží barvu mosazi jako dekor */
.err404__num{font-family:var(--serif);font-weight:750;font-size:clamp(6.5rem,20vw,13rem);line-height:.95;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:2px var(--brass);margin-bottom:clamp(10px,2vw,22px);}
@supports not (-webkit-text-stroke:2px black){.err404__num{color:var(--brass);}}

/* ============ AUTOR (medailonek autora pod článkem, rozhodnutí Filipa 3.8.2026) ============
   Kolofon, ne panel: nad blokem jen mosazná hairline s FF hexagonem (citátový .qband nad ním už panel je).
   Foto přebírá jazyk .omne__photo (hairline rám, vnitřní pasparta, duotone, šrafování za rohem). */
.autor{position:relative;max-width:980px;margin-top:clamp(48px,6vw,76px);padding-top:clamp(44px,5.2vw,64px);background:linear-gradient(to right,rgba(160,132,48,.55),rgba(160,132,48,.55)) top right/calc(100% - 26px) 1px no-repeat;display:flex;align-items:flex-start;gap:clamp(24px,3.4vw,44px);}
.autor::before{content:"";position:absolute;top:-6.5px;left:0;width:13px;height:13px;background:var(--brass);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
.autor__foto{position:relative;flex:0 0 auto;width:clamp(108px,12vw,136px);aspect-ratio:1;border:1px solid rgba(160,132,48,.55);background-color:#182c22;background-image:url(../img/foto-omne.jpg);background-size:178% auto;background-position:41% 42%;background-repeat:no-repeat;}
.autor__foto::before{content:"";position:absolute;z-index:-1;top:10px;left:10px;right:-10px;bottom:-10px;background:repeating-linear-gradient(116.565deg,rgba(160,132,48,.28) 0 1px,transparent 1px 9px);pointer-events:none;}
.autor__foto-tone{position:absolute;inset:0;background:var(--dark);mix-blend-mode:lighten;pointer-events:none;}
.autor__foto-tone::after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,var(--champ),var(--gold));mix-blend-mode:multiply;opacity:.85;}
.autor__foto-mat{position:absolute;inset:6px;border:1px solid rgba(250,247,240,.5);pointer-events:none;}
.autor__eyebrow{font-family:var(--display);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 12px;}
.autor__jmeno{font-family:var(--serif);font-weight:600;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.2;letter-spacing:-.008em;color:var(--head);margin:0;text-wrap:balance;}
.autor__role{font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--muted);margin:7px 0 0;}
.autor__bio{max-width:56ch;margin:14px 0 0;font-size:15px;line-height:1.75;color:var(--ink);}
/* medailonek na stránkách služeb (Proč právě se mnou, 4.8.2026): místo bio seznam důvodů */
.autor--sluzba .autor__duvody{list-style:none;margin:12px 0 0;padding:0;}
.autor--sluzba .autor__duvody li{position:relative;padding:6px 0 6px 24px;font-size:13.5px;line-height:1.65;color:var(--muted);}
.autor--sluzba .autor__duvody li::before{content:"";position:absolute;left:0;top:15px;width:14px;height:1px;background:var(--brass);}
.autor__vic{margin:10px 0 0;}
.autor__vic a{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);transition:color .3s var(--ease);}
.autor__vic i{font-style:normal;color:var(--brass);transition:transform .3s var(--ease);}
@media (hover:hover) and (pointer:fine){
	.autor__vic a:hover{color:var(--brass-strong);}
	.autor__vic a:hover i{transform:translateX(4px);}
}
@media (prefers-reduced-motion:reduce){
	.autor__vic a,.autor__vic i{transition:none;}
}
@media (max-width:560px){
	.autor{flex-direction:column;gap:28px;}
	.autor__foto{width:112px;}
}

/* ============ SLUŽBA (produkt WooCommerce, etapa 13b): popis vlevo, objednávkový blok vpravo ============ */
.produkt__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(30px,5vw,80px);align-items:start;max-width:1080px;}
/* min-width:0: grid item drží jinak min-content šířku a tabulka Příkladů cen
   (hlavičky s white-space:nowrap) roztáhla sloupec na 355 px; na 360 px pak
   ořezávala poslední sloupec s cenami za pravou paspartou (nález QA 5.8.2026) */
.produkt__bd{min-width:0;}
.produkt__bd .card__lbl{margin-top:0;}
.produkt__popis{max-width:62ch;}
.produkt__popis ul{margin-top:8px;padding:0;list-style:none;}
.produkt__popis li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:14px;color:var(--muted);line-height:1.65;}
.produkt__popis li:last-child{border-bottom:none;}
.produkt__popis li::before{content:"";width:14px;height:1px;background:var(--brass);margin-top:11px;flex:0 0 auto;}
/* nadpisek Rozsah služby (h2 kvůli posloupnosti od h1) drží styl labelu Dostanete, podskupiny auditu (h3) jsou o stupeň tišší */
.produkt__popis h2{margin:30px 0 0;font-family:var(--display);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--head);font-weight:700;}
/* h3 popisu (podskupiny Rozsahu služby, oddíly ceníku): hairline s FF hexagonem odděluje bloky (4.8.2026) */
/* jen hexagon jako kotva oddílu, bez vodorovné čáry (rozhodnutí Filipa 4.8.2026) */
.produkt__popis h3{position:relative;margin:26px 0 0;padding-top:1.4em;font-family:var(--display);font-weight:600;font-size:14px;color:var(--head);letter-spacing:.01em;}
.produkt__popis h3::before{content:"";position:absolute;top:0;left:0;width:13px;height:13px;background:var(--brass);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;}
.produkt__popis p{margin:22px 0 0;color:var(--muted);font-size:13px;line-height:1.7;}
/* hero podstránky služby: H1 + perex vlevo, schválený SVG mockup vpravo (parts/mockupy-sluzby.php).
   Spodní odsazení hero nese obal (uvnitř mřížky by margin shead rozhodil optický střed kresby).
   Text se zarovnává k hornímu okraji (eyebrow začíná stejně vysoko jako na ostatních podstránkách,
   centrování vůči vysoké kresbě dělalo pod lištou zbytečnou mezeru); kresba se centruje sama. */
.produkt__hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,64px);align-items:start;margin:0 0 clamp(34px,4.6vw,60px);}
.produkt__hero .shead{margin-bottom:0;}
.produkt__ill{justify-self:center;align-self:center;position:relative;z-index:0;width:clamp(300px,34vw,460px);}
.produkt__ill svg{display:block;width:100%;height:auto;aspect-ratio:460/400;}
/* kreslicí jazyk .ill mockupů: inkoustový tah + stínová silueta + jeden mosazný akcent --acc
   (styly tady, ne v <style> uvnitř SVG: inline SVG <style> prosakuje do celého dokumentu) */
.produkt__ill .m{fill:none;stroke:var(--head);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;--acc:var(--brass);}
.produkt__ill .sh{fill:none;stroke:rgba(21,43,33,.14);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;--acc:rgba(21,43,33,.14);}
.produkt__ill .fine{stroke-width:1.4;}
.produkt__ill .hatch line{stroke:var(--gold);stroke-width:1;opacity:.55;}
@media (max-width:1020px){.produkt__ill{width:clamp(240px,30vw,340px);}}
@media (max-width:700px){.produkt__hero{grid-template-columns:1fr;}.produkt__ill{display:none;}}
/* decentní odkaz na videohovor zdarma (konzultace) */
.produkt__video{margin-top:18px;}
.produkt__video a{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--brass);padding-bottom:4px;}
.produkt__video .ar{color:var(--brass);font-size:15px;transition:transform .3s var(--ease);}
@media (hover:hover) and (pointer:fine){.produkt__video a:hover .ar{transform:translateX(4px);}}
/* objednávkový blok */
.produkt__box{border:1px solid var(--line);background:var(--panel);padding:clamp(24px,3vw,40px);}
.produkt__lbl{font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.produkt__cena{margin-top:8px;font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,2.6vw,2.2rem);color:var(--head);letter-spacing:-.01em;font-variant-numeric:tabular-nums;line-height:1.1;}
.produkt__cena .woocommerce-price-suffix{font-weight:400;font-size:.52em;color:var(--muted);letter-spacing:0;margin-left:4px;}
.produkt__jednotka{color:var(--muted);font-size:13px;line-height:1.6;margin-top:6px;}
.produkt__sazba{margin-top:2px;}
.produkt__form{margin-top:24px;padding-top:24px;border-top:1px solid var(--line-soft);}
.produkt__var{margin:0 0 18px;padding:0;border:none;}
.produkt__var legend{padding:0;margin-bottom:10px;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--head);font-weight:700;}
.produkt__var-opt{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);background:var(--white);cursor:pointer;font-size:14px;color:var(--ink);transition:border-color .25s,background .25s;}
.produkt__var-opt + .produkt__var-opt{margin-top:8px;}
.produkt__var-opt input{accent-color:var(--accent);width:16px;height:16px;margin:0;flex:0 0 auto;}
/* cena varianty vpravo v radiu (ceny per varianta dle md tabulky) */
.produkt__var-cena{margin-left:auto;font-weight:600;font-size:13px;color:var(--head);font-variant-numeric:tabular-nums;white-space:nowrap;}
.produkt__var-opt:has(input:checked){border-color:var(--head);background:var(--panel-2);}
@media (hover:hover) and (pointer:fine){.produkt__var-opt:hover{border-color:var(--brass);}}
.produkt__qty{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;}
.produkt__qty label{font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--head);font-weight:700;}
.produkt__qty input{width:92px;padding:12px 10px;border:1px solid var(--line);background:var(--white);font:inherit;font-variant-numeric:tabular-nums;text-align:center;color:var(--ink);}
.produkt__box .btn{width:100%;justify-content:center;}
.produkt__pozn{margin-top:14px;font-size:12.5px;line-height:1.6;color:var(--muted);}
/* blok důvěry pod objednávkou (Proč právě se mnou) */
/* decentní odkaz z boxu na formulář dotazu (obsah/01_spolecne/formular_dotaz_sluzby.md) */
.produkt__zeptat{margin-top:12px;text-align:center;font-size:12.5px;line-height:1.5;}
.produkt__zeptat a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:3px;transition:color .25s;}
@media (hover:hover) and (pointer:fine){.produkt__zeptat a:hover{color:var(--head);}}
/* blok Zeptejte se před objednávkou: pod mřížkou produktu, cíl kotvy #dotaz z boxu */
.produkt__dotaz{max-width:640px;margin-top:clamp(44px,6vw,72px);}
.produkt__dotaz-h,.produkt__faq-h{font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15;letter-spacing:-.01em;color:var(--head);}
.produkt__dotaz-p{margin:10px 0 22px;font-size:14.5px;line-height:1.7;color:var(--muted);max-width:52ch;}
/* Časté otázky služby: akordeon .faq__* jako na hlavní straně (styl i chování sdílí) */
.produkt__faq{max-width:760px;margin-top:clamp(44px,6vw,72px);}
.produkt__faq .faq{margin-top:18px;}
.produkt__faq .faq__qt{font-size:clamp(1rem,1.4vw,1.15rem);}
/* ceník (md sekce 💰 v popisu produktu): hairline tabulka, na úzkých displejích vlastní scroll */
.produkt__popis .cenik{margin-top:14px;overflow-x:auto;}
.produkt__popis .cenik table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.55;}
.produkt__popis .cenik th{font-family:var(--display);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:8px 14px 8px 0;border-bottom:1px solid var(--line);}
.produkt__popis .cenik td{padding:10px 14px 10px 0;border-bottom:1px solid var(--line-soft);color:var(--muted);vertical-align:top;}
.produkt__popis .cenik th:last-child,.produkt__popis .cenik td:last-child{padding-right:0;}
.produkt__popis .cenik td:first-child{color:var(--head);font-weight:600;}
.produkt__popis .cenik td:last-child{font-variant-numeric:tabular-nums;}
/* ---- sekce ceníku (seed-sluzby.php, jen Správa PPC): podnadpis + obsah v <section class="cenik-blok">.
   Varianty rozsahu jsou uzavřené karty: hlavní nabídka (--hlavni, Plné vedení) na hluboké
   zelené se zlatými akcenty, tišší varianta (--karta, Dohled) na krémovém panelu s hairline.
   Řádky složka/cena jedou jako definiční seznam (thead zůstává čtečkám, oku se skrývá).
   Ploché ceníky ostatních služeb sekce nemají a drží styl .cenik výše. ---- */
.produkt__popis .cenik-blok{margin-top:28px;}
/* nadpisy otevřených sekcí (Příklady cen, Proč cena roste) drží rytmus kapitálek hlaviček karet */
.produkt__popis .cenik-blok:not(.cenik-blok--karta) h3{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;}
.produkt__popis .cenik-blok--karta{border:1px solid var(--line);background:var(--panel);}
.produkt__popis .cenik-blok--karta + .cenik-blok--karta{margin-top:14px;}
.produkt__popis .cenik-blok--karta h3{display:flex;align-items:center;gap:10px;margin:0;padding:13px 20px;border-top:none;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;}
.produkt__popis .cenik-blok--karta h3::before{position:static;width:12px;height:12px;flex:0 0 auto;}
.produkt__popis .cenik-blok--tabulka th{white-space:nowrap;}
.produkt__popis .cenik-blok--karta p{margin:14px 20px 0;}
.produkt__popis .cenik-blok--karta p:last-child{margin-bottom:14px;}
.produkt__popis .cenik-blok--karta .cenik{margin:4px 20px 14px;}
.produkt__popis .cenik-blok--karta .cenik thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
.produkt__popis .cenik-blok--karta .cenik td:last-child{text-align:right;font-weight:600;color:var(--head);}
.produkt__popis .cenik-blok--karta .cenik tr:last-child td{border-bottom:none;}
/* hlavní varianta: hluboká zelená, šampaň číslice, zlatý hexagon */
.produkt__popis .cenik-blok--hlavni{background:var(--dark);border-color:var(--dark);}
.produkt__popis .cenik-blok--hlavni h3{color:var(--champ);border-bottom-color:var(--on-dark-line);}
.produkt__popis .cenik-blok--hlavni h3::before{background:var(--gold);}
.produkt__popis .cenik-blok--hlavni p{color:var(--on-dark-mut);}
.produkt__popis .cenik-blok--hlavni .cenik td{color:var(--on-dark-mut);border-bottom-color:var(--on-dark-line);}
.produkt__popis .cenik-blok--hlavni .cenik td:first-child{color:var(--on-dark);}
.produkt__popis .cenik-blok--hlavni .cenik td:last-child{color:var(--champ);}
/* přehled Příklady cen: rámovaná tabulka, zebra, hover řádku, sloupec Útrata oddělený hairline */
.produkt__popis .cenik-blok--tabulka .cenik{margin-top:14px;border:1px solid var(--line);background:var(--white);}
.produkt__popis .cenik-blok--tabulka .cenik th{padding:9px 14px;border-bottom:1px solid var(--line);}
.produkt__popis .cenik-blok--tabulka .cenik td{padding:9px 14px;transition:background .25s var(--ease);}
.produkt__popis .cenik-blok--tabulka .cenik th:not(:first-child),.produkt__popis .cenik-blok--tabulka .cenik td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;}
.produkt__popis .cenik-blok--tabulka .cenik th:first-child,.produkt__popis .cenik-blok--tabulka .cenik td:first-child{border-right:1px solid var(--line-soft);}
.produkt__popis .cenik-blok--tabulka .cenik tbody tr:nth-child(even) td{background:var(--bg);background:color-mix(in srgb,var(--panel-2) 45%,var(--white));}
.produkt__popis .cenik-blok--tabulka .cenik tbody tr:last-child td{border-bottom:none;}
@media (hover:hover) and (pointer:fine){.produkt__popis .cenik-blok--tabulka .cenik tbody tr:hover td{background:var(--hl);}}
@media (prefers-reduced-motion:reduce){.produkt__popis .cenik-blok--tabulka .cenik td{transition:none;}}
@media (max-width:700px){
	.produkt__popis .cenik-blok--karta h3{padding:12px 16px;}
	.produkt__popis .cenik-blok--karta p{margin:12px 16px 0;}
	.produkt__popis .cenik-blok--karta p:last-child{margin-bottom:12px;}
	.produkt__popis .cenik-blok--karta .cenik{margin:2px 16px 12px;}
	.produkt__popis .cenik-blok--tabulka .cenik th,.produkt__popis .cenik-blok--tabulka .cenik td{padding:8px 10px;}
}
/* responzivní přepis tady (blok 13b je v kaskádě až za společným pravidlem 960 px) */
@media (max-width:960px){.produkt__grid{grid-template-columns:1fr;}}
/* ---- konfigurátor objednávky (jen Správa PPC kampaní): kroky 01-04 + živý souhrn.
   Přepíná třída js na <html> (inline skript v head, bez bliknutí): bez JS zůstává
   záložní formulář s radii variant a poznámka o platbě, s JS jede konfigurátor. ---- */
html.js .produkt__form--zal,html.js .produkt__pozn--zal{display:none;}
.cfg{display:none;margin-top:24px;border-top:1px solid var(--line-soft);}
html.js .cfg{display:block;}
.cfg [hidden]{display:none!important;}
/* nadpisky kroků: odsazení nese margin fieldsetu (padding-top se nad legend nepočítá) */
/* nadpis konfigurátoru nad krokem 01 (4.8.2026) */
.cfg__nadpis{margin:22px 0 0;font-family:var(--serif);font-weight:600;font-size:1.3rem;color:var(--head);letter-spacing:.002em;}
.cfg fieldset{border:none;margin:26px 0 0;padding:0;min-width:0;}
.cfg legend{padding:0 0 12px;font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--head);}
.cfg legend .n{color:var(--muted);font-weight:500;letter-spacing:.1em;}
.cfg legend .sl{color:var(--brass);}
.cfg__hint{margin:0;font-size:12px;line-height:1.6;color:var(--muted);}
/* volby jako klubové karty: skrytý input, hairline rám, checked = mosazný rám + FF hexagon */
.opt{display:block;position:relative;}
.opt input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.opt__box{display:block;position:relative;border:1px solid var(--line);background:var(--white);padding:12px 14px 12px 36px;margin-top:8px;cursor:pointer;transition:border-color .3s var(--ease),background .3s var(--ease);}
/* Šestiúhelník opticky na středu prvního řádku textu (název 14 px, line-height 1.65 → střed 18px + půlka ikonky); u jednořádkových pásem na středu celé karty. */
.opt__box::before{content:"";position:absolute;left:13px;top:18px;width:13px;height:13px;background:var(--line);-webkit-mask:var(--ffhex) center/contain no-repeat;mask:var(--ffhex) center/contain no-repeat;transition:background .3s var(--ease);}
@media (hover:hover) and (pointer:fine){.opt:hover .opt__box{border-color:var(--brass);}}
.opt input:checked+.opt__box{border-color:var(--brass);background:var(--panel);}
.opt input:checked+.opt__box::before{background:var(--brass);}
.opt input:focus-visible+.opt__box{outline:2px solid var(--brass);outline-offset:2px;}
.opt__name{font-weight:600;color:var(--head);font-size:14px;}
.opt__pop{display:block;margin-top:3px;font-size:12.5px;line-height:1.55;color:var(--muted);}
.opt__cena{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:var(--brass-strong);font-variant-numeric:tabular-nums;}
/* pásma útraty na jeden řádek: písmeno pásma + rozsah + cena vpravo (na úzkém boxu se zalomí) */
/* úzké boxy: cena všech pásem jednotně na vlastním řádku (jinak se M/L zalomí
   a S ne, řádky jsou nevyrovnané); hexagon drží první řádek, ne střed karty */
@media (max-width:430px){
}
/* stepper množství se 44px dotykovými terči */
.qty{display:flex;align-items:center;gap:10px;margin-top:10px;}
.qty__btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--white);border:1px solid var(--line);font-family:var(--display);font-size:18px;line-height:1;color:var(--head);transition:border-color .3s var(--ease),color .3s var(--ease);}
@media (hover:hover) and (pointer:fine){.qty__btn:not(:disabled):hover{border-color:var(--brass);color:var(--brass-strong);}}
.qty__btn:disabled{opacity:.35;cursor:not-allowed;}
.qty input{width:64px;height:44px;text-align:center;font:inherit;font-weight:600;color:var(--head);background:var(--white);border:1px solid var(--line);font-variant-numeric:tabular-nums;}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.qty input[type=number]{-moz-appearance:textfield;appearance:textfield;}
/* útrata (krok 2): posuvník + svázané číselné pole a živý přepočet podílu */
.utr{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:14px;}
.utr__range{flex:1 1 140px;min-width:0;-webkit-appearance:none;appearance:none;height:4px;background:var(--line);border-radius:2px;cursor:pointer;}
.utr__range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--brass);border:none;cursor:pointer;transition:background .3s var(--ease);}
.utr__range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--brass);border:none;cursor:pointer;}
@media (hover:hover) and (pointer:fine){.utr__range:hover::-webkit-slider-thumb{background:var(--brass-strong);}}
.utr__range:focus-visible{outline:2px solid var(--brass);outline-offset:4px;}
.utr__cislo{display:inline-flex;align-items:center;gap:8px;}
.utr__cislo input{width:92px;height:44px;text-align:right;font:inherit;font-weight:600;color:var(--head);background:var(--white);border:1px solid var(--line);padding:0 10px;font-variant-numeric:tabular-nums;}
.utr__cislo input::-webkit-outer-spin-button,.utr__cislo input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.utr__cislo input[type=number]{-moz-appearance:textfield;appearance:textfield;}
.utr__kc{font-size:12.5px;color:var(--muted);}
.utr__vysv{margin-top:10px;}
/* doplněk: založení účtů (informační volba bez ceny) */
.chk{display:flex;align-items:flex-start;gap:10px;margin-top:10px;cursor:pointer;font-size:13.5px;line-height:1.55;color:var(--ink);}
.chk input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent);flex:0 0 auto;}
#cfgZalBox .cfg__hint{margin:8px 0 0 28px;}
.cfg__sub{margin:8px 0 0;padding:0 0 0 28px;display:grid;gap:0;}
.cfg__sub .chk{margin-top:6px;}
.cfg__subnote{margin:10px 0 0 28px;font-size:12px;line-height:1.6;color:var(--muted);}
/* souhrn: ledger řádky s tečkovaným vodicím rastrem, přepočet hlásí aria-live */
.sum{margin-top:24px;border-top:1px solid var(--line-soft);padding-top:16px;}
.sum__row{display:flex;align-items:baseline;gap:10px;font-size:13px;color:var(--muted);padding:3px 0;font-variant-numeric:tabular-nums;}
.sum__row .dots{flex:1 1 auto;border-bottom:1px dotted var(--line);transform:translateY(-4px);}
.sum__row b{color:var(--head);font-weight:600;white-space:nowrap;}
.sum__row--txt span{line-height:1.6;}
/* Řádek s výčtem (Založení účtů): hodnota se zalamuje uvnitř bloku, nepřetéká. */
.sum__row--zal b{white-space:normal;min-width:0;text-align:right;overflow-wrap:anywhere;line-height:1.5;}
.sum__total{display:flex;align-items:baseline;gap:10px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line-soft);}
.sum__total .lbl{font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--head);}
.sum__total .dots{flex:1 1 auto;border-bottom:1px dotted var(--line);transform:translateY(-4px);}
.sum__total b{font-weight:600;font-size:clamp(1.2rem,2vw,1.45rem);color:var(--head);letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;}
.sum__total small{font-size:11px;color:var(--muted);font-weight:400;}
/* poznámka pod souhrnem (čtvrtletní přepočet ceny podle skutečné útraty) */
.cfg .cfg__vat{margin-top:12px;font-size:11.5px;}
/* CTA: hlavní tlačítko, mikrocopy pod ním; individuální režim přepíná na poptávku (#dotaz) */
.cfg__cta{margin-top:18px;}
.cfg__cta .btn{width:100%;justify-content:center;}
.cfg__cta-pozn{margin-top:10px;text-align:center;}
.cfg .fade-in{animation:cfgin .35s var(--ease) both;}
@keyframes cfgin{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
/* ============ WOOCOMMERCE (etapa 13b): košík a pokladna ze shortcode markupu v tokenech webu.
   Woo general CSS se na stránkách obchodu načítá před main.css a drží responzivní kostru
   (smallscreen stohuje tabulku košíku), tady se přepisují barvy, typografie a tvary. ============ */
.stranka--woo{max-width:1080px;}
.stranka--woo p{margin:0 0 1em;}
.stranka--woo h2,.stranka--woo h3{font-family:var(--serif);font-weight:600;color:var(--head);line-height:1.2;margin:1.4em 0 .6em;letter-spacing:.002em;font-size:1.45rem;}
.stranka--woo h3{font-size:1.15rem;}
.stranka--woo a{color:var(--accent);}
/* hlášky (message/info/error): klubový panel s hairline, bez ikon Woo fontu */
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--panel);border:1px solid var(--line);border-top:none;border-left:3px solid var(--brass);border-radius:0;color:var(--ink);font-size:14px;padding:16px 20px!important;margin:0 0 clamp(22px,3vw,34px);list-style:none;}
.woocommerce-error{border-left-color:var(--red);}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none;}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{padding:10px 14px;font-size:11px;}
.woocommerce-notices-wrapper:empty{display:none;}
/* tabulky (košík, souhrn objednávky, přehled na děkovné stránce) */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:0;border-collapse:collapse;background:var(--panel);}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line-soft);padding:14px 16px;font-size:14px;color:var(--ink);}
.woocommerce table.shop_table thead th,.woocommerce table.shop_table tfoot th,.woocommerce table.shop_table tbody th{font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--head);font-weight:700;}
.woocommerce table.shop_table .amount{color:var(--head);font-variant-numeric:tabular-nums;}
.woocommerce table.shop_table td.product-name a{color:var(--head);font-weight:600;}
/* služby nemají fotky: sloupec náhledu v košíku pryč */
.woocommerce-cart table.cart .product-thumbnail{display:none;}
/* poznámka o uplatněné zvýhodněné sazbě pod názvem položky (konzultace od hranice množství) */
.woocommerce td.product-name .ff-sazba-pozn{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400;}
/* množství podílu na rozpočtu: needitovatelný prostý text (kusy určuje útrata) */
.woocommerce td.product-quantity .ff-podil-mnozstvi{font-weight:600;color:var(--head);font-variant-numeric:tabular-nums;}
/* zvolená varianta (Zaměření auditu) pod názvem položky */
.woocommerce td.product-name dl.variation{margin:6px 0 0;font-size:12.5px;color:var(--muted);}
.woocommerce td.product-name dl.variation dt{font-weight:600;color:var(--muted);margin:0 4px 0 0;padding:0;}
.woocommerce td.product-name dl.variation dd{margin:0;padding:0;}
.woocommerce td.product-name dl.variation dd p{margin:0;display:inline;}
/* odebrání položky: tichý čtverec, červená až na hover */
.woocommerce a.remove{color:var(--muted)!important;border:1px solid var(--line);border-radius:0;width:26px;height:26px;line-height:23px;font-weight:400;font-size:18px;transition:background .25s,color .25s,border-color .25s;}
.woocommerce a.remove:hover{background:var(--red);border-color:var(--red);color:#fff!important;}
/* množství v košíku */
.woocommerce .quantity .qty{width:74px;padding:10px 8px;border:1px solid var(--line);background:var(--white);border-radius:0;font:inherit;text-align:center;color:var(--ink);font-variant-numeric:tabular-nums;}
/* sold_individually (audit) má v buňce jen hidden input: na stohovaném mobilu
   by zůstal prázdný řádek s labelem Množství, na desktopu buňka nevadí */
@media (max-width:768px){
  .woocommerce-cart table.cart td.product-quantity:has(input[type="hidden"].qty){display:none;}
  /* dotykový cíl odebrání položky ≥ 44×44 px: neviditelný přesah, vzhled 26 px drží */
  .woocommerce a.remove{position:relative;}
  .woocommerce a.remove::after{content:"";position:absolute;inset:-9px;}
}
/* tlačítka Woo: základ = inkoustové .btn, aktualizace košíku linkové, pokladna a objednávka primární */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button{background:var(--head);color:#f6f2e6;border:1px solid transparent;border-radius:0;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.11em;text-transform:uppercase;line-height:1;padding:16px 24px;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s;}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--accent);color:#f6f2e6;}
.woocommerce button[name="update_cart"]{background:transparent;color:var(--ink);border-color:var(--head);}
.woocommerce button[name="update_cart"]:hover{background:var(--head);color:#f6f2e6;}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{background:transparent;color:var(--muted);border-color:var(--line);border-radius:0;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.11em;text-transform:uppercase;line-height:1;padding:16px 24px;opacity:1;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce #place_order{background:var(--accent);color:#f6f2e6;border:none;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 8px) 100%,0 100%);padding:18px 27px;font-size:12px;letter-spacing:.11em;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,.woocommerce #place_order:hover{background:var(--green-deep);color:#f6f2e6;}
.woocommerce #place_order{width:100%;}
/* souhrn košíku */
.woocommerce .cart_totals h2{font-size:1.3rem;margin:0 0 14px;}
/* formulářová pole pokladny */
.woocommerce form .form-row label{font-size:12.5px;color:var(--head);font-weight:600;letter-spacing:.02em;line-height:1.4;}
.woocommerce form .form-row .required{color:var(--red);text-decoration:none;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{border:1px solid var(--line);background:var(--white);border-radius:0;padding:12px 14px;font:inherit;color:var(--ink);line-height:1.4;}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:2px solid var(--brass);outline-offset:1px;}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--red);}
/* select zemí (selectWoo) ve stejném tvaru jako inputy */
.woocommerce .select2-container--default .select2-selection--single{border:1px solid var(--line);border-radius:0;background:var(--white);height:auto;padding:12px 14px;}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.4;padding:0;color:var(--ink);}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;top:0;right:10px;}
.select2-dropdown{border:1px solid var(--line);border-radius:0;background:var(--white);}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--head);}
.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid var(--line);padding:8px 10px;}
/* platba: panel BACS */
.woocommerce-checkout #payment{background:var(--panel-2);border:1px solid var(--line);border-radius:0;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line);padding:20px;}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600;color:var(--head);}
.woocommerce-checkout #payment div.payment_box{background:var(--panel);border-radius:0;color:var(--ink);font-size:13px;}
.woocommerce-checkout #payment div.payment_box::before{content:none;}
.woocommerce-checkout #payment div.form-row.place-order{padding:20px;}
.woocommerce-privacy-policy-text p{font-size:12.5px;color:var(--muted);}
/* děkovná stránka: přehled objednávky + pokyny k převodu */
.woocommerce ul.order_details{margin:0 0 clamp(22px,3vw,34px);padding:18px 0;border:1px solid var(--line);background:var(--panel);display:flex;flex-wrap:wrap;gap:10px 0;list-style:none;}
.woocommerce ul.order_details li{font-family:var(--display);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-right:1px dashed var(--line);margin:0;padding:0 20px;}
.woocommerce ul.order_details li:last-child{border-right:none;}
.woocommerce ul.order_details li strong{display:block;font-size:14.5px;color:var(--head);letter-spacing:.02em;text-transform:none;margin-top:6px;}
.woocommerce .wc-bacs-bank-details{list-style:none;margin:0 0 1.4em;padding:0;}
.woocommerce .wc-bacs-bank-details li{padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:14px;color:var(--muted);}
.woocommerce .wc-bacs-bank-details li strong{color:var(--head);}

/* ============ COOKIE LIŠTA (etapa 12): kompaktní karta v rohu u pasparty (krémový panel, hairline rám, mosazná horní linka), na mobilu úzký pás dole; zobrazuje main.js, reduced motion nastupuje bez animace (globální pravidlo níže) ============ */
.cbar{position:fixed;right:calc(var(--frame) + 12px);bottom:calc(var(--frame) + 12px);z-index:70;max-width:360px;background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--brass);box-shadow:0 16px 36px -20px rgba(21,43,33,.4);padding:13px 15px 12px;opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease);}
.cbar.cbar-in{opacity:1;transform:none;}
/* otevřené off-canvas menu (do 1100 px) leží z-indexem pod lištou (45 vs 70):
   po dobu otevřeného menu se lišta schová, ať mu nepřekrývá spodní část */
.menu-lock .cbar{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease),visibility .3s;}
.cbar__text{margin:0 0 10px;font-size:12.5px;line-height:1.5;color:var(--ink);}
.cbar__text a{color:#7a6320;text-decoration:underline;text-underline-offset:3px;transition:color .3s;}
.cbar__text a:hover{color:var(--head);}
.cbar__btns{display:flex;gap:8px;flex-wrap:wrap;}
.cbar__btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;line-height:1;cursor:pointer;background:transparent;color:var(--head);border:1px solid var(--line);transition:background .3s,color .3s,border-color .3s;}
.cbar__btn:hover{border-color:var(--brass);color:var(--brass-strong);}
.cbar__btn:focus-visible{outline:2px solid var(--brass);outline-offset:2px;}
.cbar__btn--ok{background:var(--head);color:#f6f2e6;border:none;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 5px) 100%,0 100%);}
.cbar__btn--ok:hover{background:var(--accent);color:#f6f2e6;}
.cbar__btn--ok:focus-visible{outline:2px solid #f6f2e6;outline-offset:-4px;}
@media (max-width:700px){
  .cbar{left:calc(var(--frame) + 8px);right:calc(var(--frame) + 8px);bottom:calc(var(--frame) + 8px);max-width:none;padding:11px 13px 10px;}
  .cbar__text{margin-bottom:8px;}
  .cbar__btn{flex:1 1 auto;}
}

/* nejužší displeje (~320 px): rekapitulace objednávky se vejde bez oříznutí hlavičky */
@media (max-width:360px){
  .woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:9px 6px;font-size:13px;}
  /* kontakt: popisek nad hodnotou, ať se e-mail a linkedin nelámou uprostřed slova */
  .cline{flex-direction:column;align-items:flex-start;gap:5px;padding:14px 0;}
  .cline dt{flex:0 0 auto;}
}
/* právní řádek v patičce: odkaz na ochranu údajů + tlačítko, které smaže volbu a znovu otevře lištu */
.footer__legal{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;color:var(--on-dark-mut);font-size:12.5px;}
.footer__legal a,.footer__legal button{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--on-dark-mut);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(169,171,156,.45);transition:color .25s;}
@media (hover:hover) and (pointer:fine){.footer__legal a:hover,.footer__legal button:hover{color:var(--gold);}}
.footer__legal a:focus-visible,.footer__legal button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.footer__legal i{font-style:normal;opacity:.55;}

/* ============ MOBIL: rytmus, hierarchie, provzdušnění (5.8.2026) ============
   Nález QA na 360/390/430 px: obsahu je na obrazovku moc a všechno má podobnou
   váhu, takže sekce splývají do jedné zdi textu. Princip nápravy: vzduch patří
   na švy (mezi sekce a skupiny), ne dovnitř bloků; sekundární texty se zmenšují
   nebo na mobilu mizí; každý blok má jeden zjevný vrchol hierarchie.
   Blok je záměrně na konci souboru, aby přebíjel dřívější mobilní pravidla.
   Nad 700 px se nemění nic. */
@media (max-width:700px){

  /* --- 1. rytmus sekcí: výraznější šev, ať je poznat, kde sekce končí --- */
  .sec{padding-top:84px;}
  .sec--band{margin-top:84px;padding:70px 0 76px;}
  .shead{margin-bottom:36px;}
  .shead .lead{margin-top:16px;}
  /* lead sekce je průvodní věta, ne hlavní sdělení: o stupeň menší než nadpis
     i než tělo výčtů, aby oko šlo nadpis → obsah a lead jen minulo */
  .lead{font-size:14.5px;line-height:1.6;}

  /* --- 2. karty služeb (nejdelší sekce, 4× stejná struktura) ---
     28px vnitřního odsazení bralo z 350px sloupce 56px a popisy se lámaly
     na tři řádky; užší odsazení dá řádku o dvě slova víc */
  .card{padding:26px 20px 28px;}
  .card__top{margin-bottom:16px;}
  /* ilustrace je dekor, ne obsah: menší nechá titulku celou šířku */
  .ill--card{width:78px;margin:2px 0 12px 16px;}
  .card__text{font-size:14.5px;line-height:1.6;margin-top:12px;}
  /* „Dostanete“ je rozhodovací obsah, dostává největší vzduch v kartě */
  .card__lbl{margin-top:26px;}
  .card__list{margin-top:6px;}
  .card__list li{padding:11px 0;font-size:13.5px;line-height:1.55;gap:10px;}
  .card__foot{padding-top:22px;}

  /* --- 3. výpis Klubovny: titulek nese téma sám ---
     perex se vešel jen na dva ořezané řádky s výpustkou a k rozhodnutí
     „otevřít, neotevřít“ nepřidával nic; text zůstává v HTML pro čtečky
     (sourozenec .vh) i pro desktop */
  #klubovna .art__b > span > .art__clip--2{display:none;}
  /* z položky zbyl dvouřádkový titulek, mezera pod ním by jinak zůstala po perexu */
  #klubovna .art{padding:18px 0;}
  #klubovna .art__b b{margin-bottom:0;}

  /* --- 4. výbava: srovnání hierarchie ---
     výčty nástrojů měly 16px, tedy víc než běžný text, přestože jsou to
     doplňkové informace; po zmenšení ubydou v sekci čtyři řádky */
  .gear__items{font-size:14.5px;line-height:1.85;}
  .gear__d{margin:0 8px;}
  .gear__row{padding:16px 0;gap:8px 0;}
  .gear__micro{margin-top:16px;}

  /* --- 5. dílčí úkoly: mezera mezi skupinami větší než uvnitř skupiny --- */
  .tg2__stack{gap:34px;}
  .tg2__note{margin-top:5px;}
  .tg2__tags{margin-top:12px;}

  /* --- 6. patička: dotykový cíl 44 px u odkazů mapy stránek ---
     jen přímé odkazy sloupce, ikonové čtverce v .footer__socials mají vlastní */
  .footer__col > a{min-height:44px;display:flex;align-items:center;padding:0;}
  .footer__bottom{margin-top:44px;}

  /* --- 7. švy skládaných sloupců (hlavní příčina „zdi textu“) ---
     mřížky mají gap laděný jako mezera mezi sloupci (30 px). Na mobilu se z něj
     stane mezera mezi bloky pod sebou, a tam je 30 px málo: Klubovna a Novinky,
     text a fotka nebo formulář a tagy pak splývají v jeden proud. */
  .cesta__grid,.video__grid,.task__grid,.dilna__grid,.hireus__grid,.contact__grid{row-gap:54px;}
  .omne__grid{row-gap:40px;}
  /* Slovník je třetí samostatný blok sekce, ne pokračování Novinek */
  .glos2{margin-top:54px;}

  /* --- 8. O mně: pět údajů zabíralo víc než celý text sekce ---
     hodnota o stupeň menší a poloviční mezera z nich dělá kompaktní tabulku
     faktů; ta se přečte pohledem, ne čtením řádek po řádku */
  .omne__meta{gap:15px;}
  .omne__meta dd{font-size:1.15rem;margin-top:4px;}
  /* delší odstavce: 1.8 rozpadalo sedmiřádkový blok, oko ztrácelo návaznost */
  .omne__body p{line-height:1.7;}
  .omne__body p+p{margin-top:16px;}
  .hireus__text{line-height:1.65;}

  /* --- 9. dolní hranice čitelnosti: doprovodné věty pod 13 px ---
     poznámky pod tlačítky nesou důvěryhodnostní informaci (nezávaznost,
     doba odpovědi), na mobilu je nesmí schovat velikost písma */
  .hero__cap,.btn-note,.cal__alt,.tg2__note,.serv--side .serv__micro,.serv__micro,.gear__micro,.omne__facts span{font-size:13px;}
}

/* užší displeje: dvousloupcové mřížky s textem už nemají na řádek místo */
@media (max-width:560px){
  /* ochutnávka Slovníku: dva sloupce daly boxu 165 px a definice se ořezávala
     uprostřed slova („podíl nákladů na obratu; hlídá se…“); přes celou šířku
     se vejde celá a z výpisu je čitelný seznam */
  .glos2__col{grid-template-columns:1fr;gap:8px;}
  /* pátý pojem skupiny se na mobilu vypouští, ať ochutnávka zůstane ochutnávkou;
     odkaz „Další pojmy“ i celý Slovník ho drží dál */
  .glos2__col .glos2__box:nth-of-type(5){display:none;}
  .glos2__box{padding:12px 34px 12px 14px;}
  /* z 11.5px na 13px: pod 13px byla definice na mobilu na hraně čitelnosti,
     přes celou šířku už na větší písmo je místo */
  .glos2__box span{font-size:13px;line-height:1.5;}

  /* tabulka Příkladů cen (stránky služeb): nowrap hlavičky si na 360 px řekly
     o 353 px a tabulka se musela odsouvat do strany. Zalomená hlavička
     („1 / SYSTÉM“) ji vejde celou, ceny zůstávají na jednom řádku */
  .produkt__popis .cenik-blok--tabulka th{white-space:normal;}
  .produkt__popis .cenik-blok--tabulka .cenik th,
  .produkt__popis .cenik-blok--tabulka .cenik td{padding:8px 7px;}
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .js .reveal{opacity:1!important;transform:none!important;}
  .js .pre{display:none;}
  .hero__slogan .caret{display:none;}
  .hero__scrollhint::before{animation:none;}
  .marq__in{animation:none;}
  .pre .fflogo,.pre__est,.pre__line,.pre .fflogo::before,.pre .fflogo::after,.nav__logo .fflogo::after{animation:none;}
  /* bez animace draw musí zlatá výplň monogramu stát v koncové poloze (plně vykresleno) */
  .pre .fflogo::before{background-position:0 0;}
  .nav__cart:hover .cart__item{animation:none;}
}


/* QR platba u bankovního převodu (děkovná stránka a detail objednávky). */
.qr-platba{margin:24px 0 0;padding:20px;background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--brass);max-width:320px;}
.qr-platba__nadpis{margin:0 0 14px;font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--head);}
.qr-platba__kod{width:190px;height:190px;background:#fff;padding:8px;box-sizing:content-box;}
.qr-platba__kod img,.qr-platba__kod canvas{display:block;width:190px;height:190px;}
.qr-platba__pozn{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--muted);}
