/* 0. Barvy */
.color-primary-0 { color: #1DA0FD }	/* Main Primary color */
.color-primary-1 { color: #75C4FB }
.color-primary-2 { color: #49B2FD }
.color-primary-3 { color: #0896FB }
.color-primary-4 { color: #0175C7 }

.color-secondary-0 { color: #FF4F0E }

.color-terciary-0 { color: #FFC10E }


/* 1. Proměnné a reset */
:root { --cream:#f5f6f7; --sand:#cbd1d5; --beige:#e7eaec; --brown:#69727a; --olive:#669505; --ink:#30312f; --line:#e0e4e7; --button:#669505; --white:#fff; --shadow:0 8px 24px rgba(50,57,63,.08); --serif:Georgia,"Times New Roman",serif; --sans:Inter,"Segoe UI",Arial,sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-padding-top:6rem; } body { margin:0; color:var(--ink); background:var(--white); font:16px/1.65 var(--sans); overflow-x:hidden; } img { display:block; max-width:100%; } a { color:inherit; text-decoration:none; } ul,ol { margin:0; padding:0; list-style:none; }
h1,h2,h3,p { margin-top:0; } address { font-style:normal; }

/* 2. Typografie */
h1,h2,h3 { color:var(--olive); font-family:var(--serif); line-height:1.15; }
h1 { font-size:clamp(2.6rem,4.6vw,4.8rem); font-weight:400; letter-spacing:-.045em; white-space: nowrap;}
h2 { font-size:clamp(2rem,3vw,2.75rem); font-weight:400; letter-spacing:-.035em; }
h3 { font-size:1.3rem; }
.eyebrow,.category,time { color:var(--brown); font-size:.72rem; font-weight:650; letter-spacing:.075em; text-transform:uppercase; }
.lead { font-size:1.08rem; font-weight:600; line-height:1.65; }

/* 3. Layout */
.container { width:min(100%,1440px); margin-inline:auto; padding-inline:clamp(20px,5vw,80px); }
.section { padding-block:clamp(4.5rem,8vw,8rem); }
.section-heading { margin-bottom:2.2rem; }
.section-heading.centered { text-align:center; }
.heading-line { display:block; width:42px; height:1px; margin:1rem auto 0; background:var(--sand); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:1.25rem; min-height:46px; padding:.72rem 1.05rem; border:1px solid var(--button); border-radius:999px; background:var(--button); color:#fff; font-size:.8rem; font-weight:700; transition:transform .2s, background .2s, box-shadow .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 5px 13px rgba(71,117,27,.18); background:#385e10; }
.button b { font-size:1rem; }
.button-outline { background:transparent; color:var(--olive); border-color:#a8a88e; }
.button-outline:hover { color:#fff; background:var(--button); }
.button-small { min-height:37px; padding:.5rem .8rem; font-size:.68rem; }
.center-action { margin-top:2.6rem; text-align:center; }

/* Vnitřní stránky */
.page-intro { padding-block:clamp(2.8rem,5vw,5.2rem); border-bottom:1px solid var(--line); background:linear-gradient(115deg,var(--cream),#fff 68%); }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1rem; color:var(--brown); font-size:.75rem; }
.breadcrumbs a:hover { color:var(--olive); }
.breadcrumbs span[aria-hidden="true"] { color:var(--sand); }
.page-intro h1 { margin:0; color:var(--olive); white-space:normal; }
.page-content { min-height:clamp(20rem,45vw,35rem); padding-block:clamp(4.5rem,8vw,8rem); }

/* 4. Hlavička */
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94); border-bottom:1px solid transparent; transition:box-shadow .2s,border-color .2s; } .site-header.is-scrolled { border-color:var(--line); box-shadow:0 3px 16px rgba(50,45,34,.06); } .header-inner { min-height:61px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; } .brand { display:inline-flex; flex-shrink:0; align-items:center; gap:.65rem; color:var(--olive); font-size:.82rem; font-weight:700; letter-spacing:.07em; } .brand-mark { width:28px; height:28px; fill:var(--olive); }
.main-nav { display:flex; align-items:center; gap:clamp(.7rem,1.6vw,1.7rem); color:#2e4c12; font-family:var(--sans); font-size:.78rem; font-weight:600; } .main-nav a:not(.button):hover { color:var(--olive); } .language-switch { display:grid; grid-template-columns:1fr 1fr; min-width:74px; overflow:hidden; border:1px solid var(--button); border-radius:999px; background:var(--button); color:#fff; font-size:.68rem; font-weight:700; text-align:center; } .language-switch a { display:grid; min-height:35px; place-items:center; padding-inline:.6rem; color:inherit; } .language-switch a + a { border-left:1px solid rgba(255,255,255,.45); } .language-switch a:hover { background:#385e10; color:#fff!important; } .language-switch a:focus-visible { position:relative; outline-offset:-3px; } .menu-toggle { display:none; width:44px; height:44px; padding:10px; border:0; background:transparent; cursor:pointer; } .menu-toggle span { display:block; height:2px; margin:5px 0; background:var(--olive); transition:transform .2s,opacity .2s; }

/* 5. Hero */
/*.hero { background:linear-gradient(90deg,#fff 0%,#fff 50%,#f3eadb 100%); }*/
.hero { background:#fff; overflow:hidden; }
.hero .container { padding-right:0; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.03fr); align-items:stretch; min-height:clamp(490px,42vw,650px); }
.hero-copy { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center;
  padding:clamp(3.5rem,7vw,7rem) clamp(1.5rem,4vw,5rem) clamp(2.5rem,5vw,5rem) 0;
  color:#1f2529; } .hero-copy h1 { color:#fff; text-shadow:0 2px 10px rgba(25,30,34,.68); }
.hero-copy .eyebrow { color:#858585; font-size: 1rem; font-weight: 400; margin-bottom:1.1rem; }
.hero-copy h1 { color:#1da2fd; text-shadow:0 1px 6px rgba(25,30,34,.38); margin-bottom:.65rem; }
.hero-role { color:#1f2529; font-size: 1.2rem; font-weight: 450; margin-bottom:1.55rem; }
.hero-role span { margin-inline:.25rem; }
.hero-intro { max-width:33rem; margin-bottom:1.6rem; font-size:.92rem; }
.button-row { display:flex; flex-wrap:wrap; gap:.85rem; margin-bottom:2.4rem; }
.hero-points { display:flex; flex-wrap:wrap; gap:1rem; }
.hero-points li { display:flex; align-items:center; gap:.55rem; min-width:9.4rem; }
.hero-points strong,.hero-points small { display:block; line-height:1.35; }
.hero-points strong { font-size:.66rem; }
.hero-points small { font-size:.57rem; }
.point-icon { display:grid; place-items:center; flex:0 0 31px; width:31px; height:31px; border:1px solid var(--line); border-radius:50%; background:var(--cream); color:var(--olive); font-size:1rem; }
.hero-image { position:relative; z-index:1; min-height:100%; margin-right:min(0px,calc(720px - 50vw));
  margin-left:0; overflow:hidden; display:flex; align-items:flex-end; justify-content:flex-end; margin-left:0; }
/*.hero-image img { width:100%; height:100%; min-height:490px; object-fit:cover; object-position:center; }*/
.hero-image img { width:auto; height:100%; min-height:0; max-height:652px; object-fit:contain; transform:translate(-30%,24.67%); }

/* 6. Odbornosti */
.expertise { position:relative; overflow:hidden; background:linear-gradient(110deg,#fff 0%,var(--cream) 48%,#fff 100%); } .expertise-waves { position:absolute; z-index:0; inset:0; width:100%; height:100%; pointer-events:none; } .expertise-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; } .expertise-card { position:relative; z-index:1; display:flex; flex-direction:column; padding:2.3rem 2rem 2rem; background:rgba(255,255,255,.84); border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); text-align:center; transition:transform .22s, box-shadow .22s; } .expertise-card:hover { transform:translateY(-5px); box-shadow:0 15px 32px rgba(61,53,37,.12); } .circle-icon { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 1rem; border:1px solid #e3dac9; border-radius:50%; background:#f8f5ee; color:var(--olive); } .circle-icon.sigma { font:2rem var(--serif); } .circle-icon svg { width:42px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; } .expertise-card h3 { margin-bottom:.75rem; font-size:1.35rem; } .expertise-card p { min-height:4.5em; margin-bottom:1rem; font-size:.76rem; } .expertise-card ul { text-align:left; font-size:.72rem; line-height:1.8; } .expertise-card li { position:relative; padding-left:.9rem; } .expertise-card li::before { position:absolute; left:0; content:"•"; color:var(--olive); }

/* 7. Profil */
.profile-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:clamp(3rem,8vw,9rem); }
.profile p:not(.lead) { max-width:36rem; font-size:.88rem; }
.profile .button { margin-top:.65rem; }
.facts-panel { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem 2rem; padding:2rem; border:1px solid var(--line); border-radius:10px; background:var(--cream); box-shadow:var(--shadow); }
.fact { display:flex; gap:.75rem; }
.fact-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border:1px solid #ded4c4; border-radius:50%; color:var(--olive); font-size:.85rem; }
.fact h3 { margin-bottom:.15rem; font-family:var(--sans); font-size:.75rem; }
.fact p { margin:0; font-size:.68rem; line-height:1.5; }

/* 8. Časová osa */
.timeline-section { position:relative; overflow:hidden; background:var(--cream); } .timeline-section .container { position:relative; z-index:1; } .timeline { position:relative; isolation:isolate; max-width:1050px; margin:auto; } .timeline-waves { position:absolute; z-index:0; inset:0; width:100%; height:100%; pointer-events:none; } .timeline::before { position:absolute; z-index:1; top:0; bottom:0; left:50%; width:1px; content:""; background:#cfc5b1; } .timeline-item { position:relative; z-index:2; width:50%; padding:0 3rem 2rem; } .timeline-item::after { position:absolute; top:.3rem; width:20px; height:20px; border:4px solid #f5f0e6; border-radius:50%; background:#ff4f0e; box-shadow:0 3px 5px rgba(30,30,20,.2); content:""; } .timeline-item.left { text-align:right; } .timeline-item.left::after { right:-10px; } .timeline-item.right { margin-left:50%; } .timeline-item.right::after { left:-10px; } .timeline-content time { display:block; margin-bottom:.15rem; font-size:.65rem; } .timeline-content h3 { margin-bottom:.3rem; font-family:var(--sans); font-size:.84rem; } .timeline-content p { margin:0; font-size:.72rem; line-height:1.5; }

/* Odborný životopis */
.cv-page { background:var(--cream); }
.cv-page .container { max-width:1210px; }
.cv-timeline { max-width:980px; }
.cv-timeline .timeline-content { padding:1.2rem 1.35rem; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.82); box-shadow:var(--shadow); }
.cv-timeline .timeline-item { padding-bottom:2.4rem; }
.cv-timeline .timeline-item::after { background:#ff4f0e; }
.cv-timeline .timeline-content time { color:var(--olive); font-size:.72rem; }
.cv-timeline .timeline-content h3 { color:var(--ink); font-size:.95rem; font-weight:600; }
.cv-timeline .timeline-content p { font-size:.78rem; }
.cv-subsection { margin-top:clamp(2.5rem,6vw,5.5rem); padding:clamp(2.5rem,5vw,4.5rem) clamp(1rem,4vw,4rem); background:#fff; box-shadow:0 0 0 100vmax #fff; clip-path:inset(0 -100vmax); }
.cv-timeline--compact { max-width:860px; }
.cv-memberships { margin-top:clamp(2.5rem,6vw,5.5rem); }
.cv-other-memberships { margin-top:clamp(2.5rem,6vw,5.5rem); }
.cv-memberships__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:980px; margin:auto; }
.cv-memberships__grid li { display:flex; align-items:center; gap:1rem; min-height:110px; padding:1.3rem 1.4rem; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 5px 15px rgba(61,53,37,.06); font-size:.8rem; line-height:1.55; }
.cv-memberships__grid--simple li { padding-left:1.4rem; }
.membership-icon { flex:0 0 2.25rem; width:2.25rem; height:2.25rem; fill:none; stroke:#ff4f0e; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }

/* Přednášky */
.lectures-page { background:var(--cream); }
.lectures-page .container { max-width:1120px; }
.lectures-list { display:grid; gap:1rem; max-width:960px; margin:auto; }
.lecture-card { display:grid; grid-template-columns:minmax(9rem,11rem) minmax(0,1fr); gap:clamp(1rem,3vw,2.25rem); padding:1.4rem clamp(1.2rem,3vw,2rem); border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 5px 15px rgba(61,53,37,.06); }
.lecture-card time { align-self:start; padding:0; color:var(--brown); font-family:var(--sans); font-size:.65rem; font-weight:650; letter-spacing:.075em; line-height:1.35; text-align:left; text-transform:uppercase; }
.lecture-card h3 { margin-bottom:.4rem; color:var(--ink); font-family:var(--sans); font-size:1rem; font-weight:600; }
.lecture-card p { margin-bottom:0; font-size:.78rem; line-height:1.55; }
.lecture-card .lecture-authors { margin-bottom:.32rem; color:var(--brown); font-size:.72rem; font-weight:650; }
.faculty-lectures { margin-top:clamp(3rem,7vw,6rem); }

/* Publikace */
.publications-page { background:#fff; }
.publications-page .container { max-width:1120px; }
.publications-list { display:grid; gap:.8rem; max-width:980px; margin:auto; list-style:none; }
.publications-list li { display:grid; grid-template-columns:4.7rem minmax(0,1fr); gap:1rem; align-items:start; padding:1rem 1.25rem; border:1px solid var(--line); border-radius:8px; background:var(--cream); }
.publication-year { display:block; grid-column:1; padding:0; color:var(--brown); font-size:.65rem; font-weight:650; letter-spacing:.075em; line-height:1.35; text-transform:uppercase; }
.publications-list p { grid-column:2; margin:0; font-size:.78rem; line-height:1.6; }
.monographs-section { min-height:0; padding-top:0; }
.page-content.cv-memberships { min-height:0; margin-top:0; padding-top:clamp(2.5rem,6vw,5.5rem); }
.cv-page--overview,.page-content.cv-memberships:not(.cv-other-memberships) { padding-bottom:0; }
.page-content.faculty-lectures { min-height:0; margin-top:0; padding-top:clamp(3rem,7vw,6rem); }
.page-content.project-activities { min-height:0; margin-top:0; padding-top:clamp(3rem,7vw,6rem); }
.projects-page--overview { padding-bottom:0; }
.lectures-page--overview { padding-bottom:0; }

/* Kontakt */
.contact-page { display:grid; place-items:center; background:var(--cream); }
.contact-page .container { width:min(100%,960px); }
.contact-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:760px; margin:auto; }
.contact-card { display:flex; align-items:center; gap:1rem; min-height:130px; padding:1.5rem; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:var(--shadow); transition:transform .2s,box-shadow .2s; }
.contact-card:hover { transform:translateY(-3px); box-shadow:0 12px 25px rgba(61,53,37,.1); }
.contact-card svg { flex:0 0 2.5rem; width:2.5rem; height:2.5rem; fill:none; stroke:#ff4f0e; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.5; }
.contact-card small,.contact-card strong { display:block; }
.contact-card small { margin-bottom:.2rem; color:var(--brown); font-size:.68rem; font-style:normal; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
.contact-card strong { color:var(--ink); font-size:.9rem; font-style:normal; line-height:1.4; overflow-wrap:anywhere; }

/* Webdesign */
.webdesign-page { background:var(--cream); }
.webdesign-page .container { max-width:1240px; }
.webdesign-intro { max-width:780px; margin:0 auto clamp(3rem,6vw,5rem); color:var(--ink); font-size:.92rem; text-align:center; }
.webdesign-intro p { margin:0; }
.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.portfolio-card { padding:1.5rem; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 5px 15px rgba(61,53,37,.06); }
.portfolio-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.portfolio-card h3 { margin:0; color:var(--ink); font-family:var(--sans); font-size:1rem; font-weight:600; }
.portfolio-year { flex:0 0 auto; color:var(--brown); font-size:.65rem; font-weight:650; letter-spacing:.075em; line-height:1.35; text-transform:uppercase; }
.portfolio-card dl { display:grid; gap:.65rem; margin:0; }
.portfolio-card dl div { display:grid; grid-template-columns:4rem minmax(0,1fr); gap:.75rem; }
.portfolio-card dt { color:var(--brown); font-size:.68rem; font-weight:650; }
.portfolio-card dd { margin:0; font-size:.75rem; line-height:1.55; }
.portfolio-card dd a { color:#0175c7; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.15em; }
.portfolio-card dd a:hover { color:#ff4f0e; }


/* Projekty */
.projects-page { background:var(--cream); }
.projects-page .container { max-width:1240px; }
.grants-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.grant-card { display:flex; flex-direction:column; min-height:205px; padding:1.5rem; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 5px 15px rgba(61,53,37,.06); }
.grant-program { margin-bottom:.8rem; color:#7b858d; font-size:.68rem; font-weight:650; letter-spacing:.04em; line-height:1.45; text-transform:uppercase; }
.grant-card h3,.activity-card h3 { margin-bottom:.75rem; color:var(--ink); font-family:var(--sans); font-size:1rem; font-weight:600; }
.grant-team { margin:auto 0 0; padding-top:1rem; border-top:1px solid var(--line); color:var(--brown); font-size:.73rem; line-height:1.55; }
.project-activities { margin-top:clamp(3rem,7vw,6rem); }
.activities-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:980px; margin:auto; }
.activity-card { padding:1.5rem; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 5px 15px rgba(61,53,37,.06); }
.activity-card p,.activity-card li { margin:0; font-size:.78rem; line-height:1.6; }
.activity-card ul { display:grid; gap:.25rem; }
.activity-card li { position:relative; padding-left:1rem; }
.activity-card li::before { position:absolute; left:0; color:#ff4f0e; content:"•"; }


/* 9. Projekty */
.projects-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; } .project-card { display:flex; min-height:260px; flex-direction:column; padding:1.45rem; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 5px 15px rgba(61,53,37,.06); } .project-card .category { margin-bottom:.65rem; font-size:.62rem; } .project-card h3 { margin-bottom:.65rem; font-size:1.05rem; } .project-card > p:not(.category) { margin-bottom:1rem; font-size:.73rem; line-height:1.5; } .tags { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:auto; margin-bottom:1.1rem; } .tags span { padding:.16rem .42rem; border:1px solid #ddd4c5; border-radius:20px; background:#f9f6ef; color:var(--brown); font-size:.62rem; } .project-card > a { font-size:.7rem; font-weight:700; } .project-card > a b { margin-left:.4rem; font-size:.9rem; }

/* 10. Dovednosti */
.skills { position:relative; isolation:isolate; overflow:hidden; padding-block:3.2rem; border-block:1px solid var(--line); background:var(--cream); } .skills .container { position:relative; z-index:1; } .skills .section-heading { margin-bottom:1.35rem; } .skills-list { display:flex; flex-wrap:wrap; justify-content:center; gap:.65rem; } .skills-list li { padding:.4rem .7rem; border:1px solid #ded8ce; border-radius:5px; background:#fff; box-shadow:0 2px 4px rgba(61,53,37,.03); font-size:.72rem; font-weight:600; } .skills-list b { margin-left:.2rem; color:var(--olive); }

/* 11. Publikace a kontakt */
.bottom-info { position:relative; overflow:hidden; background:#fff; } .bottom-waves { position:absolute; z-index:0; inset:0; width:100%; height:100%; pointer-events:none; } .bottom-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; padding-right:0; } .publication-block,.contact-block { position:relative; min-height:330px; padding:clamp(3rem,5vw,5.5rem) clamp(20px,5vw,80px); overflow:hidden; } .publication-block { padding-left:clamp(20px,5vw,80px); background:transparent; } .bottom-content { position:relative; z-index:2; max-width:34rem; } .bottom-content h2 { margin-bottom:1.15rem; font-size:clamp(1.6rem,2.4vw,2.2rem); } .publication-block li { position:relative; margin:.42rem 0; padding-left:1rem; font-size:.73rem; } .publication-block li::before { position:absolute; left:0; content:"•"; color:var(--olive); } .publication-block .button { margin-top:1.2rem; } .contact-block { background:#fff; } .contact-block p { max-width:25rem; font-size:.78rem; } address { display:grid; gap:.55rem; margin-top:1.2rem; color:#535747; font-size:.76rem; } address a:hover { color:var(--brown); } .zen-decoration { position:absolute; right:4%; bottom:5%; width:220px; height:170px; } .zen-decoration::before { position:absolute; right:-38px; bottom:-30px; width:190px; height:95px; border:2px solid #e6dac5; border-radius:50%; box-shadow:0 0 0 12px #fff,0 0 0 14px #e6dac5,0 0 0 27px #fff,0 0 0 29px #e6dac5; content:""; } .stone { position:absolute; z-index:1; display:block; border-radius:50%; background:linear-gradient(145deg,#c4c3ba,#64645e); box-shadow:inset -7px -8px 10px rgba(0,0,0,.22),5px 8px 11px rgba(40,38,30,.15); } .stone-one { right:44px; bottom:37px; width:115px; height:46px; } .stone-two { right:65px; bottom:75px; width:79px; height:38px; } .stone-three { right:82px; bottom:108px; width:48px; height:25px; } .leaf { position:absolute; z-index:2; display:block; width:20px; height:65px; border-radius:100% 0 100% 0; background:linear-gradient(120deg,#56672c,#9cab49); transform:rotate(30deg); transform-origin:bottom; } .leaf-one { right:37px; top:5px; } .leaf-two { right:59px; top:18px; height:48px; transform:rotate(56deg); }

.contact-motiv { position:absolute; z-index:1; right:clamp(1rem,4vw,4rem); bottom:1.25rem; width:min(34%,200px); height:auto; object-fit:contain; }

/* 12. Patička */
.site-footer { border-top:1px solid var(--line); background:#fff; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:70px; }
.footer-inner p { margin:0; color:#808078; font-size:.66rem; text-align:center; }
.footer-inner .brand { font-size:.68rem; }
.footer-inner .brand-mark { width:22px; height:22px; }
.socials { display:flex; gap:1rem; }
.socials svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
.socials a:first-child svg { fill:currentColor; stroke:none; }

.to-top { position:fixed; z-index:15; right:clamp(1rem,2vw,2rem); bottom:clamp(1rem,2vw,2rem); display:inline-flex;
  align-items:center; gap:.4rem; min-height:42px; padding:.55rem .85rem;
  border:1px solid var(--button); border-radius:999px; background:var(--button); color:#fff;
  box-shadow:0 6px 18px rgba(29,162,253,.24); font-size:.72rem; font-weight:700;
  opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .2s,transform .2s,background .2s; }
.to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.to-top svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; }


/* Modré akcenty sjednocené s nadpisem hero */
:root { --olive:#1da2fd; --button:#1da2fd; }
.main-nav { color:#1da2fd; }
.button:hover,.language-switch a:hover,.to-top:hover { background:#1da2fd; }
.point-icon,.circle-icon,.fact-icon { color:#1da2fd; }
.leaf { background:#1da2fd; }
.header-inner { min-height:72px; }
.main-nav { color:var(--ink); }
.main-nav { font-weight:400; }
.brand { color:var(--ink); }
h1,h2,h3 { font-family:var(--sans); font-weight:300; }
.timeline-content h3 { font-size:.95rem; }
.point-icon,.circle-icon,.fact-icon,.socials a { color:#FF4F0E; }
.timeline-waves g { stroke:#d8dde1; }
.button:hover,.button-outline:hover,.language-switch a:hover,.to-top:hover { background:#0175C7; box-shadow:none; transform:none; }
.timeline-background-years { position:absolute; z-index:0; top:-2.5rem; right:3vw; width:min(48vw,580px); height:310px; color:rgba(105,114,122,.26); font-size:clamp(3.75rem,8vw,8rem); font-weight:300; letter-spacing:-.08em; line-height:1; pointer-events:none; }
.timeline-background-years span { position:absolute; }
.timeline-background-years span:nth-child(1) { top:0; left:0; font-size:.62em; transform:rotate(-12deg); }
.timeline-background-years span:nth-child(2) { top:.38em; left:.48em; font-size:.8em; transform:rotate(6deg); }
.timeline-background-years span:nth-child(3) { top:.82em; left:.06em; font-size:1em; transform:rotate(-5deg); }
.skills-background-icons { position:absolute; z-index:0; top:-1.6rem; left:clamp(4rem,12vw,14rem); display:flex; align-items:center; color:rgba(105,114,122,.26); pointer-events:none; transform:rotate(-12deg); }
.skills-background-icon { width:var(--skills-brain-size,140px); height:var(--skills-brain-size,140px); fill:none; stroke:currentColor; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.skills-background-icon--wrench { width:var(--skills-wrench-size,115px); height:var(--skills-wrench-size,115px); margin-left:-2.6rem; margin-top:3.5rem; transform:rotate(-12deg); }
.fact-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.point-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.contact-info-icon { width:1em; height:1em; margin-right:.3rem; vertical-align:-.15em; fill:none; stroke:#FF4F0E; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.skills-list li { display:inline-flex; align-items:center; gap:.4rem; }
.skill-logo { width:1.15rem; height:1.15rem; flex:0 0 auto; object-fit:contain; }
.skill-logo--sql { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.site-header { background:var(--cream); }
.expertise-background-icons { position:absolute; z-index:0; bottom:-5rem; left:-7rem; width:250px; height:220px; pointer-events:none; }
.expertise-background-icon { position:absolute; display:grid; place-items:center; border:2px solid currentColor; border-radius:50%; color:rgba(105,114,122,.26); }
.expertise-background-icon--sigma { right:0; bottom:0; width:170px; height:170px; font:6rem var(--serif); }
.expertise-background-icon--pulse { top:-20px; right:112px; width:142px; height:142px; }
.expertise-background-icon--web { right:126px; bottom:-9px; width:124px; height:124px; }
.expertise-background-icon svg { width:68%; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

/* 13. Responzivita */
@media (max-width:1199px) {
  .lectures-page .container { padding-inline:clamp(20px,4vw,48px); }
  .lectures-list,.faculty-lectures { width:100%; }
  .main-nav { gap:.85rem; font-size:.7rem; }
  .hero-copy { padding-right:2.5rem; }
  .projects-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.3rem; }
  .project-card { min-height:230px; }
  .bottom-grid { padding-right:clamp(20px,5vw,80px); }
  .publication-block,.contact-block { padding-inline:2rem; }
  .zen-decoration { transform:scale(.8); transform-origin:bottom right; }
}

@media (max-width:767px) {
  .lectures-page .container { padding-inline:20px; }
  body.menu-open { overflow:hidden; }
  .header-inner { min-height:62px; }
  .menu-toggle { display:block; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .main-nav { position:absolute; top:100%; right:0; left:0; display:none; max-height:calc(100vh - 62px); padding:1rem clamp(20px,5vw,80px) 1.5rem; overflow:auto; border-bottom:1px solid var(--line); background:#fff; box-shadow:0 12px 18px rgba(61,53,37,.08); font-family:var(--sans); font-size:1rem; }
  .main-nav.is-open { display:flex; flex-direction:column; align-items:stretch; }
  .main-nav .button { margin-top:.25rem; }
  .hero { background:#fff; }
  .hero-grid { grid-template-columns:1fr; padding:0; }
  .hero-copy { padding:4rem clamp(20px,5vw,80px) 3rem; }
  .hero-image { min-height:330px; margin-left:0; }
  .hero-image::after { background:linear-gradient(90deg,rgba(255,255,255,.12),transparent 45%); }
  .hero-image img { min-height:330px; }
  .hero-points { display:grid; grid-template-columns:1fr; gap:.8rem; }
  .hero-points li { min-width:0; }
  .expertise-grid,.profile-grid,.bottom-grid { grid-template-columns:1fr; }
  .expertise-grid { gap:1rem; }
  .expertise-card p { min-height:auto; }
  .profile-grid { gap:2rem; }
  .facts-panel { gap:1.1rem; padding:1.3rem; }
  .timeline::before { left:10px; }
  .timeline-item,.timeline-item.right { width:100%; margin-left:0; padding:0 0 1.6rem 2.3rem; text-align:left; }
  .timeline-item.left::after,.timeline-item.right::after { top:.25rem; right:auto; left:0; }
  .projects-grid { grid-template-columns:1fr; }
  .publication-block,.contact-block { min-height:290px; padding:3.5rem clamp(20px,5vw,80px); }
  .zen-decoration { right:-15px; bottom:-12px; transform:scale(.65); }
  .footer-inner { flex-direction:column; justify-content:center; padding-block:1rem; }

  .timeline-waves { transform:translateX(calc(-50% + 10px)); }
  .cv-timeline .timeline-item { padding-bottom:1.5rem; }
  .cv-memberships__grid { grid-template-columns:1fr; }
  .lecture-card { grid-template-columns:1fr; gap:.85rem; }
  .lecture-card time { justify-self:start; }
  .publications-list li { grid-template-columns:1fr; gap:.65rem; padding:.95rem 1rem; }
  .publication-year { justify-self:start; }
  .publications-list p { grid-column:1; }
  .grants-grid,.activities-grid { grid-template-columns:1fr; }
  .contact-details { grid-template-columns:1fr; }
  .portfolio-grid { grid-template-columns:1fr; }
  .hero-points { display:flex; flex-wrap:wrap; gap:.8rem; } .hero-points li { min-width:9.4rem; }
  .skills-background-icons { top:auto; bottom:-1rem; left:-1rem; --skills-brain-size:96px; --skills-wrench-size:78px; }
  .timeline-background-years { right:-1rem; }

  .header-inner { min-height:72px; }
  .main-nav { max-height:calc(100vh - 72px); }
  .hero-image { align-items:flex-start; justify-content:center; margin-right:0; }
  .hero-image img { max-width:78vw; max-height:250px; transform:none; }
  .hero-copy .eyebrow { font-size: .75rem; }
}

@media (max-width:420px) {
  .brand { font-size:.66rem; }
  .facts-panel { grid-template-columns:1fr; }
  .button-row { flex-direction:column; align-items:stretch; }
  .hero-role__separator { display:none; }
  .hero-role { display:grid; gap:.1rem; }
  h1 { white-space: normal; }
}

/* 14. Přístupnost */
:focus-visible { outline:3px solid #b18a52; outline-offset:3px; }
.skip-link { position:absolute; z-index:100; top:-4rem; left:1rem; padding:.65rem .9rem; background:var(--olive); color:#fff; }
.skip-link:focus { top:1rem; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
