:root{--ink:#cd036c;--paper:#fff6ee;--orange:#ffa63d;--pink:#ffd6e8;--acid:#ff4d00;--line:rgba(205,3,108,.22);--muted:#8c4869}
*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{margin:0;max-width:100%;background:var(--paper);color:var(--ink);font-family:amifer,sans-serif;font-size:16px;overflow-x:hidden}button,a{font:inherit}a{color:inherit}img,video,svg{max-width:100%}p,a{overflow-wrap:anywhere}h1,h2,h3,strong{overflow-wrap:normal;word-break:normal}.noise{position:fixed;inset:0;pointer-events:none;opacity:.025;z-index:99;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.nav{height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,246,238,.92);backdrop-filter:blur(14px);z-index:20}.brand{font-family:valnera-variable,sans-serif;font-variation-settings:"DSTN" 100,"ROTN" 100,"wght" 1000;font-size:1.15rem;line-height:1;text-decoration:none;letter-spacing:-.03em}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{text-decoration:none;font-size:.9rem}.pill{border:1px solid var(--ink);border-radius:999px;padding:10px 16px;transition:.2s}.pill:hover{background:var(--ink);color:var(--paper)}.menu{display:none;border:0;background:none;font-size:1.5rem;color:var(--ink)}
.hero{min-height:auto;padding:clamp(2.5rem,4vw,4.5rem) 4vw clamp(3rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);gap:4vw;position:relative;align-items:center}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:600}.dot{width:9px;height:9px;border-radius:50%;background:var(--acid);animation:pulse 1.8s infinite}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(255,77,0,.15)}}h1,h2,h3{font-family:valnera-variable,sans-serif;font-variation-settings:"DSTN" 100,"ROTN" 100,"wght" 1000;margin:0;letter-spacing:-.035em}h1{font-size:clamp(3.5rem,8vw,8rem);line-height:.78;margin:clamp(2rem,4vh,3.5rem) 0}h1 span{display:block}.hero-title-word{overflow-wrap:normal;word-break:normal}.hero-title-studio{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}.outline{-webkit-text-stroke:2px var(--ink);color:transparent}.hero-copy{max-width:580px;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.5}.hero-side{display:flex;flex-direction:column;justify-content:center;align-items:flex-end}.orbit{width:min(27vw,360px);aspect-ratio:1;border:1px solid var(--ink);border-radius:50%;position:relative;margin-bottom:clamp(1.5rem,3vh,3rem);animation:rotate 18s linear infinite}.orbit:before,.orbit:after{content:"";position:absolute;border-radius:50%}.orbit:before{inset:13%;background:var(--orange)}.orbit:after{width:25%;height:25%;background:var(--pink);right:-3%;top:12%;border:1px solid var(--ink)}.orbit-label{position:absolute;inset:0;display:grid;place-items:center;z-index:2;color:var(--paper);font-family:valnera-variable,sans-serif;font-variation-settings:"DSTN" 100,"ROTN" 100,"wght" 1000;font-size:clamp(1rem,2vw,1.6rem);text-align:center;transform:rotate(-10deg)}@keyframes rotate{to{transform:rotate(360deg)}}.scroll{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.marquee{overflow:hidden;background:var(--pink);color:var(--ink);padding:16px 0;white-space:nowrap}.track{display:inline-block;font-family:valnera-variable,sans-serif;font-variation-settings:"DSTN" 0,"ROTN" 0,"wght" 600;font-size:1rem;animation:marquee 22s linear infinite}.track span{padding-right:2rem}.track b{color:var(--acid)}@keyframes marquee{to{transform:translateX(-50%)}}
section{padding:8vw 4vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:3.5rem;border-bottom:1px solid var(--line);padding-bottom:1.5rem}.section-head h2{font-size:clamp(2.8rem,7vw,6rem)}.section-head p{max-width:390px;color:var(--muted);line-height:1.5}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2rem}.filter{border:1px solid var(--ink);background:transparent;border-radius:999px;padding:9px 15px;cursor:pointer;transition:.2s}.filter:hover,.filter.active{background:var(--ink);color:var(--paper)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.3rem}.card{grid-column:span 6;border:1px solid var(--ink);background:var(--paper);cursor:pointer;transition:transform .25s,box-shadow .25s;overflow:hidden;text-align:left;padding:0;color:inherit}.card:nth-child(3n){grid-column:span 7}.card:nth-child(3n+1):not(:first-child){grid-column:span 5}.card:hover{transform:translateY(-6px);box-shadow:8px 8px 0 var(--ink)}.visual{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.visual strong{font-family:valnera-variable,sans-serif;font-variation-settings:"DSTN" 100,"ROTN" 100,"wght" 1000;font-size:clamp(2rem,5vw,5rem);letter-spacing:-.05em;z-index:2}.v1{background:var(--orange);color:var(--paper)}.v1:after{content:"";width:55%;aspect-ratio:1;border:2px solid currentColor;border-radius:50%;position:absolute;right:-10%;top:-30%}.v2{background:var(--pink)}.v2 strong{transform:rotate(-8deg)}.v2:after{content:"✦";font-size:12rem;position:absolute;color:var(--orange);right:4%;opacity:.8}.v3{background:var(--acid);color:var(--paper)}.v3:after{content:"";position:absolute;inset:12%;border:1px solid var(--paper);border-radius:50% 50% 45% 55%}.v4{background:var(--ink);color:var(--paper)}.v4:after{content:"↗";position:absolute;font-size:8rem;right:8%;bottom:-10%;color:var(--pink)}.card-info{padding:1.2rem 1.3rem 1.4rem;display:flex;justify-content:space-between;align-items:end}.card-info h3{font-size:1.5rem;margin-bottom:.35rem}.meta{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.arrow{font-size:1.8rem}.card[hidden]{display:none}

.visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:3;transition:transform .45s ease}.card:hover .visual img{transform:scale(1.04)}.visual:has(img:not([style*="display: none"])) strong{opacity:0}.visual:has(img:not([style*="display: none"])):after{opacity:0}
.v5{background:var(--orange);color:var(--paper)}.v6{background:var(--pink)}.v7{background:var(--acid);color:var(--paper)}
.about{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.portrait{min-height:520px;background:var(--orange);position:relative;overflow:hidden;display:flex;align-items:end;padding:2rem}.portrait:before{content:"CZ";position:absolute;font-family:valnera-variable,sans-serif;font-variation-settings:"DSTN" 100,"ROTN" 100,"wght" 1000;font-size:15rem;line-height:.8;top:8%;left:-5%;color:transparent;-webkit-text-stroke:2px var(--paper);opacity:.65}.portrait p{position:relative;max-width:240px;line-height:1.5}.about h2{font-size:clamp(3rem,7vw,6rem);margin-bottom:2rem}.about-copy>p{font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.45}.skills{display:grid;grid-template-columns:1fr 1fr;margin-top:3rem;border-top:1px solid rgba(255,246,238,.3)}.skills div{padding:1.2rem 0;border-bottom:1px solid rgba(255,246,238,.3)}.skills div:nth-child(even){padding-left:1rem}
.contact{text-align:center;min-height:72vh;display:grid;place-items:center}.contact h2{font-size:clamp(3.4rem,9vw,8rem);line-height:.9;max-width:1050px}.contact a{display:inline-block;margin-top:2.3rem;background:var(--orange);color:#fff;border:1px solid var(--ink);border-radius:999px;padding:17px 25px;text-decoration:none;box-shadow:5px 5px 0 var(--ink);transition:.2s}.contact a:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.contact-email{margin:1.4rem 0 0;color:var(--muted)}footer{padding:2rem 4vw;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:.85rem}
dialog{width:min(760px,calc(100% - 2rem));max-height:90vh;border:1px solid var(--ink);padding:0;background:var(--paper);box-shadow:12px 12px 0 var(--ink)}dialog::backdrop{background:rgba(21,21,21,.68);backdrop-filter:blur(4px)}.modal-top{height:12px;background:var(--orange)}.modal-content{padding:clamp(1.5rem,5vw,3.5rem)}.modal-close{float:right;border:1px solid var(--ink);background:transparent;border-radius:50%;width:42px;height:42px;cursor:pointer;font-size:1.2rem}.modal-content h3{font-size:clamp(2.3rem,6vw,4.5rem);margin:2rem 0 1rem}.modal-content p{line-height:1.65;max-width:600px}.modal-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:2rem}.modal-tags span{border:1px solid var(--ink);border-radius:99px;padding:7px 11px;font-size:.8rem}

.modal-link{display:inline-flex;align-items:center;gap:.7rem;margin-top:2rem;padding:13px 19px;border-radius:999px;background:var(--ink);color:var(--paper);text-decoration:none;transition:transform .2s,box-shadow .2s}.modal-link:hover{transform:translateY(-2px);box-shadow:4px 4px 0 var(--orange)}

.inner-hero{padding:8vw 4vw 5vw;border-bottom:1px solid var(--line)}.inner-hero .back-link{display:inline-block;margin-bottom:3rem;text-decoration:none}.inner-hero h1{font-size:clamp(3.5rem,9vw,8rem);line-height:.9;margin:0;max-width:1100px}.inner-intro{max-width:720px;margin-top:2rem;font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.55}.about-page{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw}.about-page .portrait{min-height:560px}.about-details h2,.project-section h2{font-size:clamp(2.5rem,5vw,4.8rem);margin-bottom:1.5rem}.about-details>p,.project-section p{max-width:760px;font-size:1.1rem;line-height:1.7}.about-subtitle{margin-top:4rem}.about-label{margin-top:3rem;font-size:1.35rem;letter-spacing:0}.availability{margin-top:3rem;padding:1.5rem;background:var(--pink);border:1px solid var(--line)}.availability>strong{font-family:valnera-variable,sans-serif;font-size:1.35rem}.availability p{margin-bottom:0;color:var(--muted)}.education{margin-top:3rem;border-top:1px solid var(--line)}.education article{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.education h3{font-size:1.3rem;margin-bottom:.35rem}.education p{margin:0;color:var(--muted)}

.project-hero .modal-tags{margin-top:2rem}.project-cover-shell{position:relative;overflow:hidden;background:var(--pink)}.project-cover{position:relative;z-index:2;width:100%;aspect-ratio:16/8;object-fit:cover;display:block}.cover-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:2rem;text-align:center;font:1000 clamp(3rem,9vw,9rem) valnera-variable,sans-serif;color:var(--ink)}.project-section{padding-top:5vw;padding-bottom:5vw}.project-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.project-facts{border-top:1px solid var(--line)}.project-facts div{padding:1rem 0;border-bottom:1px solid var(--line);line-height:1.5}.project-facts strong{display:block;font-family:valnera-variable,sans-serif;margin-bottom:.3rem}.project-story{display:grid;gap:3.5rem}.project-story article h2{margin-bottom:1rem}.gallery-placeholders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin-top:5rem}.gallery-placeholders figure{margin:0}.gallery-placeholders img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--pink);display:block}.gallery-placeholders figcaption{font-size:.85rem;color:var(--muted);padding-top:.6rem}.project-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;border-top:1px solid var(--line);background:var(--pink)}.project-navigation a{display:flex;flex-direction:column;justify-content:center;min-height:150px;padding:2rem 4vw;text-decoration:none}.project-navigation a:last-child{text-align:right;align-items:flex-end}.project-navigation span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.5rem}.project-navigation strong{font:1000 clamp(1.35rem,2.7vw,2.8rem) valnera-variable,sans-serif}.project-navigation .all-projects{min-height:auto;align-self:center;padding:1rem;border:1px solid var(--ink);border-radius:999px;white-space:nowrap;text-align:center}
@media(max-width:760px){.nav{height:68px}.menu{display:block}.nav-links{position:fixed;top:68px;left:0;right:0;background:var(--paper);padding:2rem 4vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--ink);transform:translateY(-150%);transition:.25s;z-index:-1}.nav-links.open{transform:translateY(0)}.hero{min-height:auto;grid-template-columns:1fr;padding-top:12vw}.hero-side{display:none}h1{font-size:20vw;line-height:.8;margin:12vh 0 7vh}.section-head{display:block}.section-head p{margin-top:1rem}.grid{display:block}.card{width:100%;margin-bottom:1.2rem}.about,.about-page,.project-layout{grid-template-columns:1fr}.portrait,.about-page .portrait{min-height:350px}.skills{grid-template-columns:1fr}.skills div:nth-child(even){padding-left:0}.education article{grid-template-columns:1fr}.gallery-placeholders{grid-template-columns:1fr}.project-cover{aspect-ratio:4/3}.next-project{gap:1rem}footer{gap:1rem;flex-direction:column}.outline{-webkit-text-stroke:1px var(--ink)}}

/* Adaptation des pages aux ordinateurs portables et tablettes */
@media(max-width:1100px){
  .nav{padding-inline:3vw}
  .hero{grid-template-columns:1.15fr .65fr;gap:3vw;padding-inline:5vw}
  .orbit{width:min(32vw,320px)}
  section,.inner-hero{padding-left:5vw;padding-right:5vw}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card,.card:nth-child(3n),.card:nth-child(3n+1):not(:first-child){grid-column:auto}
  .about-page{gap:5vw}
  .project-layout{grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:5vw}
  .home-downloads{padding-left:5vw!important;padding-right:5vw!important}
}

/* Tablettes et téléphones */
@media(max-width:760px){
  .nav{padding-inline:20px}
  .brand{max-width:70%;font-size:1rem}
  .menu{min-width:44px;min-height:44px;cursor:pointer}
  .nav-links{max-height:calc(100vh - 68px);overflow-y:auto;padding:1.5rem 20px 2rem;gap:18px;z-index:19}
  .nav-links a{font-size:1rem}
  .nav-links .pill{width:100%;text-align:center}
  .hero{padding:10vw 20px 12vw}
  .hero h1{font-size:clamp(3.2rem,19vw,7rem);margin:10vh 0 6vh}
  .hero-copy{font-size:1.05rem}
  .eyebrow{font-size:.7rem;line-height:1.4}
  section,.inner-hero{padding-left:20px;padding-right:20px}
  section{padding-top:64px;padding-bottom:64px}
  .inner-hero{padding-top:48px;padding-bottom:48px}
  .inner-hero .back-link{margin-bottom:2rem}
  .inner-hero h1{font-size:clamp(3rem,15vw,5.5rem)}
  .section-head{margin-bottom:2rem}
  .section-head h2{font-size:clamp(2.7rem,14vw,4.5rem)}
  .filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .filter{flex:0 0 auto;min-height:42px}
  .grid{display:grid;grid-template-columns:1fr;gap:1.2rem}
  .card,.card:nth-child(3n),.card:nth-child(3n+1):not(:first-child){grid-column:auto;width:100%;margin:0}
  .card:hover{transform:none;box-shadow:none}
  .visual strong{font-size:clamp(2rem,12vw,4rem);text-align:center;padding:1rem}
  .card-info{align-items:center;gap:1rem}
  .card-info h3{font-size:1.3rem}
  .about-page{gap:3rem}
  .about-page .portrait,.portrait{min-height:320px}
  .portrait:before{font-size:10rem}
  .about-details>p,.project-section p{font-size:1rem}
  .project-layout{grid-template-columns:1fr;gap:3rem}
  .gallery-placeholders{grid-template-columns:1fr;gap:1.5rem}
  .project-cover{height:auto;min-height:240px;aspect-ratio:4/3}
  .project-navigation{grid-template-columns:1fr 1fr}
  .project-navigation a{min-height:120px;padding:1.5rem 20px}
  .project-navigation .all-projects{grid-column:1/-1;grid-row:2;justify-self:center;margin:1rem 0;min-height:auto;padding:.8rem 1.2rem}
  .next-project{padding:2rem 20px;align-items:flex-start}
  dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto;box-shadow:6px 6px 0 var(--ink)}
  .modal-content{padding:1.4rem}
  .modal-content h3{margin-top:1.5rem}
  .contact{min-height:auto;text-align:center}
  .contact h2{font-size:clamp(3rem,15vw,5.5rem)}
  .contact a{max-width:100%;overflow-wrap:anywhere}
  footer{padding:1.6rem 20px}
  .home-downloads,.download-actions{display:flex!important;flex-direction:column!important;gap:12px!important;padding-left:20px!important;padding-right:20px!important}
  .download-actions{padding-left:0!important;padding-right:0!important}
  .download-button{width:100%!important;min-height:48px;text-align:center}
}

.project-image img{width:100%;height:100%;object-fit:cover}.context-badge{position:absolute;left:16px;top:16px;z-index:3;padding:7px 10px;border:1px solid var(--ink);border-radius:999px;background:var(--paper);font-size:.72rem;font-weight:700;letter-spacing:.02em}.secondary-project{margin-top:clamp(1rem,3vw,2.5rem)}.secondary-project .card-info{opacity:.86}.video-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink);margin-top:3rem}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.project-note{padding:1rem 1.2rem;border-left:4px solid var(--orange);background:rgba(255,77,0,.08);line-height:1.55}

/* Petits téléphones */
@media(max-width:420px){
  body{font-size:15px}
  .hero h1{font-size:18vw}
  .marquee{padding:12px 0}
  .track{font-size:.85rem}
  section{padding-top:52px;padding-bottom:52px}
  .visual{aspect-ratio:4/3}
  .card-info{padding:1rem}
  .card-info .arrow{font-size:1.4rem}
  .skills{margin-top:2rem}
  .education article{padding:1.1rem 0}
  .next-project{flex-direction:column}
  .next-project strong{font-size:1.6rem}
  .project-navigation{grid-template-columns:1fr}
  .project-navigation a,.project-navigation a:last-child{align-items:flex-start;text-align:left;min-height:105px}
  .project-navigation .all-projects{grid-column:1;grid-row:auto;justify-self:stretch;align-items:center;text-align:center;margin:0 20px 1.5rem}
  .modal-tags{gap:6px}
  .modal-tags span{font-size:.72rem}
}

/* Désactive les effets de survol sur les écrans tactiles */
@media(hover:none){
  .card:hover{transform:none;box-shadow:none}
  .card:hover .visual img{transform:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
