/* Základ a společná centrovaná mřížka */
:root{--orange:#F15A23;--ink:#2B2B2B;--muted:#65615e;--paper:#F7F5F2;--line:#E8E5E1;--link:#bb3a0c;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,system-ui,sans-serif;font-size:16px;line-height:1.55}img{max-width:100%;display:block;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--link);outline-offset:5px}p{margin:0 0 18px}h1,h2,h3{font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(44px,4.7vw,72px);letter-spacing:-3px}h2{font-size:clamp(30px,2.6vw,40px);letter-spacing:-1.2px}h3{font-size:20px;letter-spacing:-.4px}ul,ol{padding:0;margin:0;list-style:none}.container{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.orange{color:var(--orange)}.small{font-size:14px;color:var(--muted)}.micro,.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.eyebrow{margin-bottom:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 23px;background:var(--orange);border:1px solid var(--orange);color:#24160f;font-size:13px;font-weight:600;transition:background .2s,color .2s}.button:hover{background:#db4814;border-color:#db4814;color:#fff}.button-outline{background:transparent;color:var(--link)}.button-secondary{background:transparent;border-color:#a9a5a0;color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--link);font-size:14px;min-height:44px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.skip-link{position:fixed;left:20px;top:-70px;z-index:20;background:white;padding:12px}.skip-link:focus{top:10px}
/* Navigace */
.header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-block;flex-shrink:0}.brand img{width:230px;height:auto}.header nav{display:flex;gap:29px;font-size:12px}.header nav a{display:flex;align-items:center;min-height:44px}.header nav a:hover,.header nav a[aria-current]{color:var(--link)}.header-cta{min-height:42px;font-size:12px;padding:9px 16px}.menu-toggle{display:none}
/* Úvod */
.hero{background:var(--paper);overflow:hidden}.hero-grid{display:grid;grid-template-columns:5fr 7fr;min-height:600px;align-items:center}.hero-copy{position:relative;z-index:1;padding:62px 0}.hero-description{font-size:16px;max-width:450px;line-height:1.65;margin:27px 0 30px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-meta{margin:30px 0 0;font-size:10px;letter-spacing:1.5px}.hero-meta span{color:var(--orange);margin:0 6px}.hero-visual{align-self:stretch;position:relative;margin-right:calc((min(1280px,100vw - 80px) - 100vw)/2);margin-left:20px}.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-position:50% 50%}.image-caption{position:absolute;right:28px;bottom:28px;margin:0;border-left:2px solid var(--orange);padding-left:14px;color:var(--ink);background:#f7f5f2e6;padding-block:7px}
/* Číslované sekce */
.section{padding:82px 0}.editorial-grid{display:grid;grid-template-columns:2fr 10fr;gap:42px}.section-number{font-size:11px;letter-spacing:1px;margin:0 0 23px;border-left:1px solid #f5b89f;padding:5px 0 5px 18px;margin-left:-19px}.section-intro h2{font-size:clamp(28px,2.2vw,34px);margin-bottom:22px}.section-intro h2:after{content:"";display:block;width:40px;height:2px;background:var(--orange);margin-top:20px}.section-intro>p:not(.section-number){font-size:14px;line-height:1.65}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding-top:20px;text-align:center}.process-grid li{position:relative}.step-number{font-size:44px;font-weight:300;letter-spacing:-2px;color:#98928c;display:block;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.process-grid h3{font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}.process-grid p{font-size:14px;color:var(--muted);line-height:1.65}.services-section{padding-top:30px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{border:1px solid var(--line)}.service>img{width:100%;aspect-ratio:1.65;height:auto}.service-content{padding:21px}.service h3{margin-bottom:12px}.service p{font-size:14px;min-height:66px;margin-bottom:8px}.service ul{border-top:1px solid var(--line);padding-top:15px;margin-top:9px;font-size:12px;color:var(--muted);line-height:1.8}.portfolio-section{padding-top:15px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.portfolio-grid img{width:100%;aspect-ratio:1.1;height:auto}.portfolio-grid .micro{font-size:9px;letter-spacing:1px;margin:16px 0 8px}.portfolio-grid h3{font-size:17px;margin-bottom:10px}.portfolio-grid p:not(.micro){font-size:14px;color:var(--muted);margin-bottom:5px}.portfolio-grid .text-link{font-size:12px}.identity-crop{object-position:22% 50%}.sticker-crop{object-position:95% 50%}
/* Osobní příběh */
.about{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.workshop{margin:0;position:relative;min-height:590px}.workshop img{width:100%;height:100%;position:absolute;object-position:64% center}.workshop figcaption{position:absolute;bottom:18px;left:18px;right:18px;color:#fff;background:#27231fe6;padding:9px 13px;font-size:11px;letter-spacing:1px;display:flex;justify-content:space-between;gap:10px}.workshop figcaption span{font-size:9px;letter-spacing:0}.about-copy{position:relative;padding:57px 0}.about-copy h2{font-size:clamp(34px,3vw,46px);margin-bottom:25px}.about-copy>p:not(.eyebrow):not(.handwritten){font-size:15px;max-width:480px}.about-copy .eyebrow span{margin-right:12px}.handwritten{font-family:"Segoe Print","Bradley Hand",cursive;font-size:28px;line-height:1.3;transform:rotate(-9deg);font-weight:400}.about-copy .handwritten{position:absolute;right:8px;bottom:25px;font-size:23px}
/* FAQ */
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 52px;align-content:start;padding-top:28px}.faq-grid details{border-top:1px solid var(--line)}.faq-grid details:nth-last-child(-n+2){border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;position:relative;padding:19px 28px 19px 0;font-size:14px}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:2px;font-size:20px;line-height:1}details[open] summary:after{content:"−"}details[open] summary{color:var(--link)}details p{font-size:14px;color:var(--muted);padding-right:20px;line-height:1.7}
/* Poptávka */
.contact{background:var(--paper);padding:75px 0}.contact-grid{display:grid;grid-template-columns:4fr 8fr;gap:85px}.contact h2{font-size:50px;margin-bottom:20px}.contact-intro .handwritten{margin:55px 0 0 35px;font-size:34px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.full{grid-column:1/-1}label{display:block;font-size:13px;margin-bottom:7px}label span{color:var(--muted);font-size:11px}input,select,textarea{width:100%;border:1px solid #c9c4bd;border-radius:0;background:#ffffffb3;min-height:46px;padding:10px 12px;color:var(--ink)}textarea{resize:vertical;min-height:116px}input::placeholder,textarea::placeholder{color:#78716b;font-size:13px}.form-help{font-size:12px;color:var(--muted);margin:8px 0 0}.form-status{font-size:13px;margin:20px 0 16px;border-left:2px solid var(--orange);padding-left:12px}.button:disabled{cursor:not-allowed;background:#e5e0da;border-color:#d3cdc5;color:#65605a}
/* Patička */
footer{padding:43px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px}.footer-grid h3{font-size:13px;font-weight:600;margin:13px 0}.footer-grid>div>a:not(.brand),.footer-grid>div>p{display:block;font-size:12px;color:var(--muted);line-height:1.8}.footer-grid a:not(.brand):hover{color:var(--link)}.brand-motto{margin-left:43px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-block:22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
/* Responzivní varianty */
@media(min-width:1600px){.hero-visual{margin-right:0}.hero-grid{min-height:620px}}
@media(max-width:1100px){.header-inner{gap:18px}.header nav{gap:18px}.header-cta{display:none}.hero-grid{min-height:540px}.hero-actions{gap:10px}.hero-actions .button{font-size:12px;padding:12px 14px}.editorial-grid{grid-template-columns:2.2fr 9.8fr;gap:28px}.services-grid,.portfolio-grid{gap:16px}.service-content{padding:16px}.service p{min-height:88px}.about-grid{gap:40px}.contact-grid{gap:45px}.about-copy .handwritten{position:static;margin-top:28px}.process-grid{gap:20px}}
@media(max-width:800px){.container{width:calc(100% - 48px)}.header-inner{height:76px}.brand img{width:200px}.header nav{gap:13px;font-size:11px}.hero-grid{grid-template-columns:1fr 1fr;min-height:530px}.hero-copy{padding-block:42px}h1{font-size:46px;letter-spacing:-2px}.hero-description{font-size:14px}.hero-visual{margin-right:-24px;margin-left:12px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-meta{max-width:220px;line-height:1.8}.section{padding:58px 0}.editorial-grid{grid-template-columns:1fr;gap:30px}.section-intro{max-width:500px}.section-intro h2 br{display:none}.section-intro h2{margin-bottom:15px}.section-intro h2:after{margin-top:15px}.section-intro>p:not(.section-number){max-width:400px}.section-number{margin-left:0;margin-bottom:14px}.section-intro>p:last-child{margin-bottom:0}.process-grid{padding-top:0}.services-section,.portfolio-section{padding-top:15px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:30px 22px}.about-grid{gap:30px}.about-copy{padding-block:38px}.about-copy h2{font-size:34px}.workshop{min-height:630px}.workshop figcaption{display:block}.workshop figcaption span{display:block}.faq-grid{padding-top:0;gap:0 30px}.contact-grid{grid-template-columns:1fr 1.6fr;gap:30px}.contact h2{font-size:40px}.form-grid{grid-template-columns:1fr}.contact-intro .handwritten{font-size:28px;margin-left:0}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid .brand-motto{margin-bottom:0}}
@media(max-width:600px){.container{width:calc(100% - 40px)}html{scroll-padding-top:86px}.header-inner{height:auto;min-height:72px;flex-wrap:wrap;gap:0}.header .brand img{width:192px}.header nav{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--line);gap:5px 16px;padding-block:8px;font-size:13px}.js .menu-toggle{display:flex;align-items:center;gap:16px;min-height:44px;background:none;border:0;font-size:13px}.menu-toggle span{font-size:23px}.js .header nav{display:none}.js .header nav.is-open{display:flex}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:40px 0 32px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:22px}h1{font-size:clamp(43px,10.8vw,62px);letter-spacing:-2px}.hero-description{font-size:15px;max-width:400px;margin:23px 0}.hero-description br{display:none}.hero-actions{flex-direction:row;gap:10px}.hero-actions .button{font-size:11px;padding:11px 13px}.hero-meta{max-width:none;font-size:9px;margin-top:23px;letter-spacing:1px}.hero-visual{margin:0 -20px;height:340px}.hero-visual>img{object-position:50% 53%}.image-caption{font-size:9px;right:18px;bottom:18px}.section{padding:50px 0}.process-grid{grid-template-columns:1fr;text-align:left;gap:20px}.process-grid li{padding-left:64px;min-height:85px}.step-number{position:absolute;left:0;top:0;width:44px;font-size:32px;letter-spacing:-1px;padding-bottom:8px}.process-grid h3{margin:6px 0 10px}.process-grid p{margin:0}.services-section,.portfolio-section{padding-top:10px}.services-grid{grid-template-columns:1fr;gap:28px}.service>img{aspect-ratio:1.7}.service-content{padding:20px}.service p{min-height:0}.service ul{columns:2;column-gap:15px;font-size:12px}.portfolio-grid{gap:28px 16px}.portfolio-grid h3{font-size:17px}.portfolio-grid p:not(.micro){font-size:13px}.portfolio-grid .text-link{font-size:11px}.portfolio-grid .micro{letter-spacing:.6px;font-size:8px}.about-grid{grid-template-columns:1fr;gap:0}.workshop{min-height:360px;margin:0 -20px}.about-copy{padding:40px 0}.about-copy h2{font-size:36px}.about-copy .handwritten{margin-bottom:0;margin-left:20px}.faq-grid{grid-template-columns:1fr}.faq-grid details:nth-last-child(2){border-bottom:0}.faq-grid details:last-child{border-bottom:1px solid var(--line)}.contact{padding:48px 0}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-intro .handwritten{display:none}.contact h2{font-size:44px}.contact-intro .small{margin-bottom:0}.form-grid{gap:18px}.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:7px;font-size:10px}.full{min-width:0}}
.step-icon{width:46px;height:46px;margin:0 auto 14px}.step-number{font-size:11px;letter-spacing:1px;color:var(--muted);padding-bottom:15px;margin-bottom:17px}
@media(max-width:600px){.step-icon{position:absolute;left:0;top:0;width:35px;height:35px}.step-number{top:44px;font-size:10px;padding-bottom:5px;width:35px;text-align:center}.process-grid li{min-height:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Skutečné projekty a posuvná galerie */
.projects{min-width:0}.projects article+article{border-top:1px solid var(--line);margin-top:42px;padding-top:38px}.projects h3{font-size:28px;margin:8px 0 16px}.projects>article>p:not(.micro){max-width:760px}.projects .micro{margin:22px 0 8px}.book-images{display:grid;grid-template-columns:1fr 1.35fr;gap:18px;align-items:start}.book-images figure,.print-gallery figure{margin:0;min-width:0}.book-images img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f2f0ec}.book-images figure:nth-child(2) img{aspect-ratio:1.35}.book-images figcaption{font-size:12px;color:var(--muted);padding-top:9px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 16px}.gallery-toolbar p{margin:0}.gallery-controls:not([hidden]){display:flex;gap:8px}.gallery-controls button{width:44px;height:44px;border:1px solid #aaa39b;background:white;cursor:pointer;color:var(--ink);font-size:21px}.gallery-controls button:hover{border-color:var(--orange);color:var(--link)}.gallery-controls button:disabled{opacity:.35;cursor:default}.print-gallery{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:1px;padding:5px 1px 18px;scrollbar-color:#b8aaa0 #f2f0ec;scrollbar-width:thin}.print-gallery:focus-visible{outline:2px solid var(--link);outline-offset:4px}.print-gallery figure{flex:0 0 42%;scroll-snap-align:start}.print-gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f2f0ec}.print-gallery figcaption{padding:17px 0 0}.print-gallery .micro{display:block;margin:0 0 9px;font-size:10px;letter-spacing:1px}.print-gallery h4{font-size:18px;font-weight:400;margin:0 0 9px}.print-gallery p{font-size:14px;color:var(--muted);margin:0}.hero-visual{margin-left:32px;background:#f2f0ec}.hero-visual>img{object-fit:contain}.image-caption{right:24px;bottom:16px;font-size:9px}.faq-grid details:last-child{border-bottom:1px solid var(--line)}
@media(max-width:800px){.hero-visual{margin-left:12px}.projects h3{font-size:25px}}
@media(max-width:600px){.book-images{grid-template-columns:1fr;gap:22px}.book-images figure:nth-child(2) img{aspect-ratio:1.5}.print-gallery figure{flex-basis:84%}.print-gallery{gap:16px}.gallery-toolbar p{max-width:170px}.projects article+article{margin-top:30px;padding-top:28px}.hero-visual{margin-left:-20px;height:390px}.hero-visual>img{object-position:center}.image-caption{font-size:8px;bottom:10px}.projects h3{font-size:26px}}
.print-gallery .model-preview{display:flex;align-items:center;gap:12px;margin-top:15px;color:var(--link);font-size:13px;min-height:70px}.print-gallery .model-preview img{width:55px;height:74px;aspect-ratio:auto;object-fit:contain}.model-preview:hover span{text-decoration:underline}.book-images a,.print-gallery figure>a{cursor:zoom-in}.viewer-open{overflow:hidden}.photo-viewer{border:0;padding:55px 18px 18px;width:min(1200px,96vw);max-width:96vw;height:min(940px,94dvh);max-height:94dvh;background:#f7f5f2;color:var(--ink);overflow:hidden}.photo-viewer::backdrop{background:#151515e8}.viewer-stage{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;height:calc(100% - 90px)}.viewer-image{width:100%;height:100%;min-height:0;object-fit:contain}.photo-viewer button{width:44px;height:44px;border:1px solid #bbb4aa;background:#fff;color:var(--ink);font-size:23px;cursor:pointer}.viewer-close{position:absolute;right:15px;top:8px}.viewer-caption{text-align:center;margin:14px 0 4px;font-size:14px}.viewer-count{text-align:center;font-size:12px;color:var(--muted);margin:0}.photo-viewer button:hover{color:var(--link);border-color:var(--orange)}
@media(max-width:600px){.photo-viewer{width:100vw;max-width:100vw;height:94dvh;padding:55px 8px 12px}.viewer-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:3px;height:calc(100% - 110px)}.viewer-stage button{width:36px;height:44px}.viewer-caption{font-size:13px;padding-inline:10px}}
.print-gallery .model-preview[hidden]{display:none}.hero-visual>img{object-fit:cover}.hero-visual{background:#b8a38b}
.spam-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Jednotné jemné zaoblení všech tlačítek včetně odkazů ve stylu tlačítka. */
button,.button{border-radius:6px}
/* Doplňkové CAD náhledy zachovávají celý screenshot bez deformace. */
.print-gallery .cad-preview{display:block;width:110px;margin-top:16px;cursor:zoom-in;border:1px solid var(--line)}.print-gallery .cad-preview img{width:100%;height:82px;aspect-ratio:auto;object-fit:contain;background:#292929}.print-gallery .cad-main{object-fit:contain;background:#292929}
.project-thumbnails{display:flex;flex-wrap:wrap;gap:10px}.print-gallery .project-thumbnails .cad-preview{width:calc((100% - 20px)/3);max-width:110px}.print-gallery .project-thumbnails img{background:#f2f0ec}
.flyer-images{grid-template-columns:1fr 1fr}.flyer-images figure:nth-child(2) img{aspect-ratio:1}@media(max-width:600px){.flyer-images{grid-template-columns:1fr}}

.flyer-images{grid-template-columns:1fr;max-width:560px}
.tedom-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tedom-images figure{margin:0}.tedom-images figure:first-child{grid-row:span 2}.tedom-images img{width:100%;height:100%;object-fit:contain;background:#f2f0ec}.tedom-images a{display:block;height:100%;cursor:zoom-in}@media(max-width:600px){.tedom-images{grid-template-columns:1fr}.tedom-images figure:first-child{grid-row:auto}}
/* Shared print-preview height follows the square Letovice cover. */
.projects{container-type:inline-size;--print-preview-height:calc((100cqw - 18px)/2.35)}
.tedom-images{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.tedom-images figure:first-child{grid-row:auto}
.tedom-images a,.tedom-images img{height:var(--print-preview-height)}
.flyer-images{max-width:var(--print-preview-height)}
.flyer-images img{height:var(--print-preview-height);aspect-ratio:auto}
@media(max-width:600px){.projects{--print-preview-height:100cqw}.tedom-images{grid-template-columns:1fr;gap:22px}}
.tedom-images{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:#b8aaa0 #f2f0ec;padding-bottom:12px}
.tedom-images figure{flex:0 0 calc(var(--print-preview-height)*15/11);min-width:0;scroll-snap-align:start}
@media(max-width:600px){.tedom-images{display:grid;overflow:visible}.tedom-images figure{width:100%}}
.calendar-images{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:#b8aaa0 #f2f0ec;padding-bottom:12px}
.calendar-images figure{margin:0;flex:0 0 var(--print-preview-height);scroll-snap-align:start}
.calendar-images a{display:block;cursor:zoom-in}.calendar-images img{display:block;width:100%;height:var(--print-preview-height);object-fit:contain;background:#f2f0ec}
/* Introduce each project before showing its images. */
.projects>article>.micro:first-child{margin-top:0}
.projects>article>.book-images,.projects>article>.tedom-images,.projects>article>.calendar-images{margin-top:24px}
.projects>article>.text-link{display:inline-block;margin-top:20px}
.print-gallery figcaption{padding:0 0 18px}
/* Shared caption row keeps all main 3D photos aligned. */
.print-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:42%;grid-template-rows:auto auto auto;column-gap:20px;row-gap:0;align-items:start}
.print-gallery>figure{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-items:start}
.print-gallery>figure>figcaption{grid-row:1}
.print-gallery>figure>a:not(.cad-preview){grid-row:2}
.print-gallery>figure>.cad-preview,.print-gallery>figure>.project-thumbnails{grid-row:3}
@media(max-width:600px){.print-gallery{grid-auto-columns:84%;column-gap:16px}}

.viewer-status{position:absolute;top:14px;left:18px;right:70px;margin:0;font-size:12px;color:var(--muted)}
