:root{--paper:#f8f9f6;--ink:#17201e;--muted:#59615c;--line:#dce0d8;--lime:#c5f36b;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #729c25;outline-offset:5px}.wrap{max-width:1360px;margin:auto;padding:0 64px}.skip{position:fixed;top:-100px;left:16px;background:var(--lime);padding:14px;z-index:30}.skip:focus{top:12px}
header{background:rgba(248,249,246,.95);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:13px;font-weight:700;font-size:16px}.brand-mark{background:var(--ink);color:var(--lime);width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:20px;font-weight:800;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.nav-links a:not(.nav-cta):hover{color:#477018}.nav-cta{background:var(--ink);color:white;padding:13px 20px;border-radius:7px}.nav-cta:hover{background:#344339}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:7px;padding:10px 14px;font-size:14px}
.eyebrow{font-family:'Courier New',monospace;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:700;display:flex;align-items:center;gap:11px}.eyebrow:before{content:'';width:22px;height:2px;background:currentColor;flex-shrink:0}.hero{padding-top:86px}.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center}.hero h1{font-size:clamp(64px,7.6vw,112px);font-weight:700;line-height:1.02;letter-spacing:-.065em;margin:27px 0 30px}.hero h1 span{color:#5f6b63}.hero-copy{font-size:18px;line-height:1.65;max-width:460px;color:var(--muted);margin:0}.hero-copy strong{color:var(--ink);font-weight:600}.actions{display:flex;gap:15px;align-items:center;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:15px 24px;border-radius:7px;font-size:14px;font-weight:700;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--ink);color:var(--paper)}.primary:hover{background:#344339}.secondary{border-color:#bdc5b9;background:transparent}.secondary:hover{background:#eaf0e3}
.work-card{background:var(--ink);color:#fff;border-radius:18px;padding:28px 30px 24px;box-shadow:0 25px 45px -35px #17201e99;transform:rotate(2deg);min-width:0}.work-top{display:flex;justify-content:space-between;gap:20px;font-size:12px;font-family:'Courier New',monospace;color:#b8c0b8;border-bottom:1px solid #3a453e;padding-bottom:23px}.work-top span:last-child{color:var(--lime)}.work-title{font-size:34px;line-height:1.13;letter-spacing:-.04em;margin:37px 0 24px;max-width:310px}.work-title span{color:var(--lime)}.code{background:#101714;padding:22px 18px;border:1px solid #334139;border-radius:10px;font:14px/1.9 'Courier New',monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.code .c{color:#a2b0a6}.code .k{color:#c5f36b}.work-bottom{display:flex;justify-content:space-between;gap:16px;padding-top:23px;color:#b8c0b8;font-size:12px;letter-spacing:.05em;font-family:'Courier New',monospace}.tiny-cross{font-size:24px;line-height:16px;color:var(--lime)}.hero-bottom{margin-top:76px;border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted)}.hero-bottom strong{color:var(--ink);font-weight:500}.hero-tags{display:flex;gap:23px;flex-wrap:wrap}.hero-tags span+span:before{content:'/';margin-right:23px;color:#959d91}
section{padding:94px 0;scroll-margin-top:88px}.section-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:42px}h2{font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-.045em;margin:18px 0 0;font-weight:600}.section-intro{max-width:350px;font-size:16px;line-height:1.65;color:var(--muted);margin:0}.services{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service{padding:30px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;flex-direction:column;min-height:288px;transition:border-color .2s}.service:hover{border-color:#8e9d80}.service-num{font:12px 'Courier New',monospace;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.service-symbol{font-size:24px;color:var(--ink)}.service h3{font-size:23px;line-height:1.2;letter-spacing:-.025em;margin:38px 0 14px}.service p{font-size:16px;line-height:1.6;color:var(--muted);margin:0;flex:1}.service-foot{margin-top:26px;padding-top:19px;border-top:1px solid var(--line);font-size:12px;font-family:'Courier New',monospace;color:#526047;line-height:1.6}
.experience{background:var(--ink);color:var(--paper)}.experience-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.experience .eyebrow{color:var(--lime)}.experience h2{max-width:470px}.experience-description{font-size:18px;line-height:1.65;color:#b7c2b8;margin:26px 0 0;max-width:430px}.experience-note{font:12px/1.5 'Courier New',monospace;letter-spacing:.06em;color:#a3b0a4;margin-top:44px}.experience-list{border-top:1px solid #425046;margin:8px 0 0}.experience-row{padding:24px 0;border-bottom:1px solid #425046;display:grid;grid-template-columns:42px 1fr;gap:14px}.experience-row .num{font:12px 'Courier New',monospace;color:var(--lime);padding-top:5px}.experience-row h3{font-size:22px;letter-spacing:-.03em;margin:0 0 10px;font-weight:500}.experience-row p{color:#b7c2b8;font-size:16px;line-height:1.6;margin:0;max-width:410px}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.identity{display:flex;align-items:center;gap:22px;margin-top:32px}.monogram{width:80px;height:80px;border:1px solid var(--line);background:var(--lime);display:grid;place-items:center;border-radius:18px;font-size:28px;font-weight:700;letter-spacing:-.06em;flex-shrink:0}.identity strong{font-size:19px;display:block}.identity span{display:block;color:var(--muted);font-size:14px;margin-top:8px}.about-copy{font-size:19px;line-height:1.7;margin:12px 0 0;color:var(--muted)}.about-copy strong{color:var(--ink);font-weight:500}.about-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.tag{border:1px solid var(--line);border-radius:5px;padding:9px 13px;font-size:14px;background:white}.approach{margin-top:66px;padding-top:28px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.step-num{font:12px 'Courier New',monospace;color:var(--muted)}.step h3{font-size:18px;font-weight:600;margin:14px 0 9px;letter-spacing:-.02em}.step p{font-size:16px;line-height:1.6;margin:0;color:var(--muted)}
.contact{background:#e8efdf;border-top:1px solid #d3deca}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:clamp(42px,5vw,64px);line-height:1.1;max-width:410px}.contact-intro{font-size:18px;line-height:1.65;color:var(--muted);max-width:390px;margin:26px 0 0}.contact-small{margin-top:45px;font-family:'Courier New',monospace;font-size:12px;color:#526047;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.field label{font-size:14px;font-weight:600}.field input,.field textarea,.field select{border:1px solid #b7c3ab;border-radius:7px;padding:13px 14px;background:#f8fbf3;color:var(--ink);font-size:16px;width:100%;min-height:49px}.field textarea{resize:vertical;min-height:130px;line-height:1.55}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #739649;outline-offset:1px}.field textarea::placeholder,.field input::placeholder{color:#64705d;opacity:1}.privacy{font-size:12px;line-height:1.65;color:#4d5c45;margin:0 0 19px}.send{width:100%;border:0;min-height:51px}.form-status{font-size:14px;line-height:1.6;margin:14px 0 0}.form-status:empty{display:none}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.success{padding:34px 28px;background:#f8fbf3;border:1px solid #a8bf91;border-radius:14px}.success h3{font-size:28px;letter-spacing:-.04em;margin:20px 0 14px}.success p{font-size:16px;line-height:1.6;color:var(--muted)}.success .button{margin-top:16px}[hidden]{display:none!important}
footer{border-top:1px solid var(--line);padding:30px 0}.footer{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:12px;color:var(--muted)}.footer-name{font-size:14px;font-weight:600;color:var(--ink)}.footer-meta{display:flex;gap:25px}.footer a:hover{text-decoration:underline}
@media(max-width:1100px){.wrap{padding:0 36px}.hero-grid{gap:35px}.hero h1{font-size:80px}.work-card{padding:25px}.experience-grid,.about-grid,.contact-grid{gap:48px}.nav-links{gap:22px}.brand-full{display:none}.service{padding:24px}}
@media(max-width:760px){.wrap{padding:0 24px}.nav{min-height:74px}.brand-full{display:inline}.menu-toggle{display:block}.nav-links{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 24px 24px;display:none;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}.nav-links.is-open{display:flex}.nav-links a{padding:14px 8px}.nav-links .nav-cta{text-align:center;margin-top:8px}.hero{padding-top:49px}.hero-grid{grid-template-columns:1fr;gap:48px}.hero h1{font-size:clamp(58px,12.5vw,88px);margin-top:22px}.hero-copy{font-size:17px;max-width:470px}.work-card{transform:none;max-width:500px;width:100%;padding:24px}.work-title{margin-top:28px;font-size:30px;max-width:100%}.code{font-size:13px}.hero-bottom{margin-top:38px;flex-direction:column;gap:14px;padding:23px 0}.hero-tags{gap:14px}.hero-tags span+span:before{margin-right:14px}.hero-bottom>span{font-size:12px}section{padding:64px 0}.section-top{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:30px}.section-intro{max-width:500px}.service-grid{grid-template-columns:1fr}.service{min-height:auto;padding:26px}.service h3{margin-top:24px}.service-foot{margin-top:22px}.experience-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:36px}.experience-description{font-size:17px}.experience-note{margin-top:25px}.experience-list{margin:0}.about-copy{font-size:18px;margin:0}.approach{grid-template-columns:1fr;gap:26px;margin-top:39px}.step{display:grid;grid-template-columns:30px 1fr;column-gap:14px}.step-num{padding-top:4px}.step h3{margin-top:0}.step p{grid-column:2}.contact-small{margin-top:25px}.contact-intro{font-size:17px}.footer{align-items:flex-start;flex-direction:column;gap:18px}.footer-meta{width:100%;justify-content:space-between;flex-wrap:wrap}.form-grid{gap:14px}.actions .button{padding:14px 20px}}
@media(max-width:390px){.wrap{padding:0 19px}.brand{font-size:14px;gap:10px}.brand-mark{width:34px;height:34px}.menu-toggle{padding:9px 11px}.hero h1{font-size:57px}.actions{gap:9px}.actions .button{padding:13px 16px}.form-grid{grid-template-columns:1fr;gap:0}.hero-tags{gap:10px;font-size:13px}.hero-tags span+span:before{margin-right:10px}.work-top{gap:8px}.brand-full{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Content and typographic refinement from the supplied Figma reference. */
.hero h1{font-size:clamp(3.2rem,5.8vw,5.2rem);font-weight:500;line-height:1.08;letter-spacing:-.055em}.hero h1 span{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;color:#486d2b;letter-spacing:-.055em}.hero-grid{grid-template-columns:1.3fr 1fr;gap:64px}.hero-copy{max-width:530px}.work-card{transform:none;border-radius:10px;padding:28px 32px}.work-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.5rem,4vw,3.4rem);line-height:1.12;font-weight:400;margin:26px 0 28px}.work-bottom{line-height:1.7}.focus-list{margin:0}.focus-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid #3d4941}.focus-list dt{font-size:14px;color:#b7c2b8}.focus-list dd{font-size:16px;margin:0;font-weight:500;text-align:right}.hero-bottom{margin-top:60px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service{min-height:260px;padding:30px 32px}.service h3{margin-top:27px}.service p{max-width:460px}.experience{background:#eef1ea;color:var(--ink)}.experience .eyebrow{color:#4f6d3b}.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.partner{background:#fff;border:1px solid #d7ded2;min-height:220px;padding:28px 30px;display:flex;flex-direction:column;justify-content:space-between}.partner-meta{display:flex;justify-content:space-between;gap:16px;font:12px 'Courier New',monospace;color:#566b47;letter-spacing:.04em}.partner-meta span:last-child{text-transform:uppercase}.partner h3{font-size:clamp(1.7rem,3vw,2.2rem);text-align:center;letter-spacing:-.035em;font-weight:600;margin:34px 0;line-height:1.2}.partner-rule{display:block;width:30px;height:2px;background:#739d4c}.project-link{display:inline-block;margin-top:28px;font-size:14px;font-weight:600;border-bottom:1px solid #839d70;padding-bottom:7px}.project-link:hover{color:#477018}.employment{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-top:45px;margin-top:55px;border-top:1px solid #cfd9c7}.employment h3{font-size:30px;font-weight:500;letter-spacing:-.04em;line-height:1.2;margin:15px 0 0}.employment-detail{padding-left:32px;border-left:1px solid #cfd9c7}.employment-kind{font:12px 'Courier New',monospace;color:#566b47;letter-spacing:.06em}.employment h4{font-size:21px;letter-spacing:-.03em;margin:13px 0 10px}.employment p{font-size:16px;line-height:1.65;color:var(--muted);margin:0;max-width:450px}.technologies{border-top:1px solid var(--line);background:#fff}.technology-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.technology{border-top:2px solid #a4b594;padding-top:21px}.tech-index{font:12px 'Courier New',monospace;color:#617450}.technology h3{font-size:21px;letter-spacing:-.025em;margin:25px 0 14px;line-height:1.2}.technology p{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 22px;min-height:78px}.technology ul{list-style:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}.technology li{font-size:14px;background:#f0f4ea;border:1px solid #dae3d0;border-radius:5px;padding:8px 12px}.contact h2{font-size:clamp(2.5rem,4.5vw,3.7rem)}
@media(max-width:1100px){.hero-grid{gap:34px}.hero h1{font-size:clamp(3.2rem,5.6vw,4.5rem)}.nav-links{gap:20px}.technology-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}.technology p{min-height:0}.employment{gap:32px}.brand-full{display:none}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;gap:38px}.hero h1{font-size:clamp(2.8rem,8.2vw,4.4rem);line-height:1.12}.hero h1 span{display:inline-block}.hero .eyebrow{font-size:12px;letter-spacing:.06em;line-height:1.6}.work-card{max-width:none;padding:28px}.work-title{font-size:2.8rem}.focus-list dd{font-size:16px}.hero-bottom{margin-top:38px}.service-grid{grid-template-columns:1fr}.service{min-height:0;padding:26px}.partner{min-height:190px;padding:22px}.partner h3{font-size:1.6rem;margin:28px 0}.partner-meta{font-size:12px;gap:8px}.partner-meta span:last-child{display:none}.employment{grid-template-columns:1fr;gap:25px;padding-top:30px;margin-top:40px}.employment-detail{padding-left:0;border-left:0}.technology-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.technology h3{font-size:19px}.technology p{font-size:16px}.brand-full{display:inline}}
@media(max-width:480px){.partner-grid{grid-template-columns:1fr}.partner{min-height:178px}.partner h3{font-size:1.9rem}.partner-meta span:last-child{display:inline}.technology-grid{grid-template-columns:1fr;gap:30px}.technology h3{margin-top:18px}.technology p{margin-bottom:17px}.hero-tags{gap:12px}.hero-tags span+span:before{margin-right:12px}.hero h1{font-size:clamp(2.35rem,9.3vw,2.8rem)}.hero-grid{gap:35px}.hero-copy{font-size:17px}.brand-full{display:none}.work-card{padding:24px}.focus-list>div{gap:10px}.hero-bottom>span{line-height:1.7}}

/* Brand mark, contact details, and a content hierarchy without decorative numbers. */
.brand{padding:4px 0;min-height:48px}.brand-svg{display:block;width:74px;height:48px;flex-shrink:0}.brand:hover{color:#486d2b}.monogram .brand-svg{width:68px;height:44px}.footer-brand .brand-svg{width:62px;height:40px}.service h3{margin-top:0}.partner{justify-content:center;position:relative;padding:38px 30px}.partner h3{margin:0;flex:1;display:grid;place-items:center}.partner-rule{margin-top:30px}.technology h3{margin-top:0}.step-icon{width:24px;height:24px;color:#486d2b}.contact-details{margin:34px 0 0;padding-top:24px;border-top:1px solid #c0cdb3}.contact-details>div{margin-bottom:21px}.contact-details dt{font-size:14px;color:#526047;margin-bottom:8px}.contact-details dd{font-size:18px;margin:0;color:var(--ink)}.contact-details a{border-bottom:1px solid #a4b98c;padding-bottom:3px;display:inline-block}.contact-details a:hover{color:#486d2b}.footer-meta{font-size:14px;align-items:center;gap:24px;flex-wrap:wrap}.footer{gap:32px}
@media(max-width:760px){.brand-svg{width:65px;height:42px}.step-icon{margin-top:2px}.partner{min-height:170px;padding:32px 24px}.partner h3{margin:0}.technology h3{margin-top:0}.contact-details{margin-top:28px}.footer{flex-direction:row;align-items:flex-start}.footer-meta{width:auto;flex:1;justify-content:flex-end;gap:14px 22px}}
@media(max-width:480px){.footer{flex-direction:column;gap:22px}.footer-meta{width:100%;justify-content:flex-start;gap:16px 24px}.partner h3{margin:0}}

/* E-mail a telefon mají stejnou velikost; IČO zůstává menší. */
.contact-details dd a {
    font-size: 22px;
    line-height: 1.4;
    letter-spacing: -.02em;
    max-width: 100%;
    overflow-wrap: anywhere;
}


/* Loga spoluprací: odkazem je celá karta. */
.partner { padding: 0; min-height: 0; border-radius: 12px; overflow: hidden; }
.partner-link { display: flex; flex-direction: column; height: 100%; }
.partner-logo { display: flex; align-items: center; justify-content: center; height: 150px; padding: 26px 32px; background: #fff; }
.partner-logo--dark { background: #17201e; }
.partner-logo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 86px; object-fit: contain; }
.partner-caption { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-top: 1px solid var(--line); }
.partner .partner-name { display: block; flex: initial; margin: 0; font-size: 17px; line-height: 1.35; font-weight: 600; letter-spacing: -.02em; text-align: left; }
.partner-arrow { font-size: 22px; line-height: 1; color: #486d2b; transition: transform .2s; }
.partner-link:hover .partner-arrow { transform: translate(2px, -2px); }
.partner-link:hover .partner-caption { background: #f0f5e9; }
.partner-link:focus-visible { outline-offset: -4px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 760px) { .partner-logo { height: 140px; padding: 24px; } .partner-caption { padding: 18px 20px; } }
@media (prefers-reduced-motion: reduce) { .partner-arrow { transition: none; } }

.employer-logo {
    display: block;
    box-sizing: content-box;
    width: 180px;
    max-width: calc(100% - 36px);
    height: auto;
    padding: 14px 18px;
    background: #17201e;
    border-radius: 8px;
}

.about-cv-link {
    display: inline-block;
    margin-top: 24px;
    color: #456b2c;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

.about-cv-link:hover {
    color: #263f18;
}

.about-cv-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 6px;
    border-radius: 2px;
}