@font-face{font-family:Display;src:url('assets/anton.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Body;src:url('assets/body.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#0c0d0e;--text:#f5f1e9;--muted:#b7b8bc;--red:var(--accent);--accent:#ff3447;--glow:#b30726;--glow-soft:#6a071b;--button:#ec2338;--button-hover:#c51028;--line:#343434;--display:Display,'Arial Narrow',sans-serif;--body:Body,Arial,sans-serif;--h1:clamp(3.6rem,6.6vw,6.5rem);--h2:clamp(2.55rem,4.3vw,4rem);--h3:clamp(1.8rem,3vw,2.65rem);--h4:clamp(1.4rem,2vw,1.9rem);--h5:clamp(1.2rem,1.5vw,1.5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:radial-gradient(ellipse 700px 490px at 100% 0%,var(--glow) 0%,color-mix(in srgb,var(--glow-soft) 25%,transparent) 50%,transparent 80%),var(--bg);color:var(--text);font:18px/1.55 var(--body);min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,h4,h5{font-family:var(--display);font-weight:400;line-height:1.04;margin:0 0 .35em;letter-spacing:-.015em;text-wrap:balance}h1{font-size:var(--h1)}h2{font-size:var(--h2)}h3{font-size:var(--h3)}h4{font-size:var(--h4)}h5{font-size:var(--h5)}p{margin:0 0 1.2em}h1 span,.accent,.breadcrumb span{color:var(--red)}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.header{height:100px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.brand{font:400 29px/1 var(--display);white-space:nowrap}.header nav{display:flex;gap:38px}.header nav a{font-size:16px;padding:8px 0;position:relative}.header nav a:hover,.header nav a[aria-current]{color:var(--red)}.header nav a[aria-current]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red)}.menu-toggle{display:none}.hero{position:relative;min-height:660px;display:flex;align-items:center}.hero-copy{position:relative;z-index:2;width:61%;padding:45px 0 70px;pointer-events:none}.hero-copy a{pointer-events:auto}.hero .eyebrow{font-size:13px}.eyebrow{color:var(--red);font-size:13px;letter-spacing:.21em;margin-bottom:20px}.hero h1{font-size:clamp(4rem,6.2vw,6.1rem);line-height:.99;letter-spacing:-.025em}.lead{font-size:clamp(1.15rem,1.7vw,1.5rem);color:#d3d2d0;line-height:1.5}.hero .lead{max-width:500px;margin:24px 0 30px}.button{background:var(--button);border:1px solid var(--button);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:15px 26px;font-size:16px;transition:background .2s,transform .2s}.button:hover{background:var(--button-hover);transform:translateY(-2px)}.section-head{display:flex;align-items:center;gap:28px;margin:0 0 28px}.section-head h2{margin:0;white-space:nowrap}.rule{height:1px;background:var(--line);flex:1}.section-head .accent{font-size:15px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 26px}.card-image{aspect-ratio:16/9;overflow:hidden;background:#202020;position:relative}.card-image img{height:100%;object-fit:cover;transition:transform .45s}.project-card:hover img{transform:scale(1.035)}.card-arrow{position:absolute;bottom:15px;right:15px;background:var(--bg);width:40px;height:40px;text-align:center;line-height:40px;transition:background .2s}.project-card:hover .card-arrow{background:var(--red)}.card-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.card-title h3{font-size:var(--h4);margin:0}.archive{font-size:12px;color:var(--muted)}.project-card p{font-size:16px;color:var(--muted);margin:4px 0 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:80px;padding:60px 0}.about p:not(.eyebrow){color:var(--muted)}.text-link{color:var(--red);border-bottom:1px solid var(--red);padding-bottom:5px}.cta{padding:65px 0}.cta h2{margin-bottom:20px}.email{font:400 clamp(1.8rem,3.5vw,3rem)/1.2 var(--display);color:var(--red)}.footer{padding:30px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:13px;color:var(--muted)}.brand.small{font-size:20px}.page-intro{padding:32px 0 36px}.breadcrumb{font-size:15px;margin-bottom:24px;color:var(--muted)}.page-intro .lead{margin:12px 0 0}.zoom{padding:0;border:0;display:block;position:relative;background:#171717;color:#fff;width:100%;overflow:hidden}.zoom-icon{position:absolute;bottom:10px;right:10px;background:#0c0d0ecc;width:34px;line-height:34px;opacity:0;transition:opacity .2s}.zoom:hover .zoom-icon,.zoom:focus-visible .zoom-icon{opacity:1}.banner{aspect-ratio:16/9}.banner img{width:100%;height:100%;object-fit:cover}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.detail-grid .zoom{aspect-ratio:1}.detail-grid img{height:100%;object-fit:cover}.project-summary{padding:70px 0 38px}.project-summary .eyebrow{margin-bottom:12px}.story{display:grid;gap:44px}.story-row{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:64px}.story-row .zoom{aspect-ratio:1}.story-row img{height:100%;object-fit:contain}.story-row.reverse .zoom{order:2}.story-copy{padding:18px 0}.story-copy h3{margin-bottom:20px}.story-copy p:not(.eyebrow){font-size:20px;color:var(--muted);max-width:460px}.story-copy .eyebrow{letter-spacing:.1em;margin-bottom:14px}.project-nav{border-top:1px solid var(--line);padding:32px 0;margin-top:65px;display:flex;justify-content:space-between;gap:25px;color:var(--red);font-size:17px}.contact-page .page-intro{padding:55px 0 65px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin:15px 0 90px}.contact-grid h2{font-size:var(--h3);margin-bottom:25px}.contact-info>p{color:var(--muted);max-width:420px}.contact-email{display:block;font:400 clamp(1.8rem,3vw,2.7rem)/1.3 var(--display);color:var(--red);margin:30px 0 12px;overflow-wrap:anywhere}.copy-email{background:none;border:0;border-bottom:1px solid #777;padding:0 0 4px;color:var(--muted);font-size:15px}.contact-info dl{margin-top:45px}.contact-info dt{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-top:22px}.contact-info dd{margin:4px 0 0}label{display:block;font-size:16px;margin:20px 0 8px}label span{color:var(--muted);font-size:13px}input,textarea,select{width:100%;background:#151618;border:1px solid #444;color:var(--text);padding:14px;border-radius:0;font-size:16px}textarea{resize:vertical;min-height:140px}input::placeholder,textarea::placeholder{color:#999}form .button{margin-top:10px}.form-note{font-size:14px;color:var(--muted);margin:18px 0 8px}.status{font-size:14px;color:var(--muted);margin-top:12px}dialog{padding:55px 18px 15px;border:1px solid #444;background:#121315;color:#fff;max-width:95vw;max-height:95dvh;width:max-content}dialog::backdrop{background:#000e}dialog img{width:auto;max-width:88vw;max-height:75dvh;object-fit:contain}dialog p{font-size:14px;margin:12px 0 0}.close{position:absolute;right:15px;top:12px;background:none;border:0;color:#fff;padding:5px 10px}body.modal-open{overflow:hidden}:focus-visible{outline:2px solid #fff;outline-offset:5px}.skip{position:fixed;left:20px;top:-100px;background:var(--red);padding:12px;z-index:10}.skip:focus{top:15px}
@media(min-width:1600px){.hero{min-height:720px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{min-height:570px}.hero-copy{width:66%}.hero h1{font-size:clamp(3.4rem,7vw,5.2rem)}.hero .lead{max-width:360px}.story-row{gap:34px}.contact-grid{gap:45px}.archive{display:none}.about{gap:35px}}
@media(max-width:650px){body{font-size:17px;background:radial-gradient(ellipse 400px 410px at 110% 0%,var(--glow-soft),transparent 80%),var(--bg)}.wrap{width:calc(100% - 40px)}.header{height:82px}.brand{font-size:24px}.menu-toggle{display:flex;align-items:center;gap:10px;background:none;color:var(--text);border:1px solid var(--line);padding:8px 12px;font-size:14px}.header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#131416;border:1px solid var(--line);padding:18px;gap:0;box-shadow:0 10px 25px #0008}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:14px 8px}.header nav a[aria-current]:after{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0}.hero-copy{padding:28px 0 10px;width:100%}.hero h1{font-size:clamp(3.15rem,10.5vw,4.8rem)}.hero .eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:18px}.hero .lead{max-width:100%;font-size:18px;margin:22px 0}.section-head{gap:12px;margin-top:10px}.section-head .accent{display:none}.work-grid{grid-template-columns:1fr;gap:30px}.card-title h3{font-size:28px}.archive{display:block}.about{grid-template-columns:1fr;gap:20px;margin-top:50px;padding:40px 0}.about h2 br{display:none}.cta{padding:40px 0}.footer{flex-direction:column;align-items:flex-start;gap:14px;padding:25px 0}.page-intro{padding:25px 0}.page-intro h1{font-size:clamp(3.1rem,11vw,4.4rem)}.breadcrumb{margin-bottom:18px}.detail-grid{gap:8px;margin-top:8px}.zoom-icon{display:none}.project-summary{padding:42px 0 24px}.project-summary .lead{font-size:18px}.story{gap:40px}.story-row{grid-template-columns:1fr;gap:22px}.story-row.reverse .zoom{order:0}.story-copy{padding:0}.story-copy h3{font-size:var(--h3)}.story-copy p:not(.eyebrow){font-size:18px}.story-copy .eyebrow{font-size:12px}.project-nav{font-size:14px;margin-top:35px;align-items:center}.project-nav a{max-width:48%}.project-nav a:last-child{text-align:right}.contact-page .page-intro{padding:30px 0 40px}.contact-grid{grid-template-columns:1fr;gap:40px;margin-bottom:50px}.contact-info dl{margin-top:20px}.contact-form{border-top:1px solid var(--line);padding-top:35px}.button{min-height:48px}.contact-email{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Tři palety sdílejí typografii i kompozici. */
:root[data-theme="copper"]{--accent:#d88465;--glow:#79472c;--glow-soft:#52301e;--button:#ae513b;--button-hover:#913e2c}
:root[data-theme="blue"]{--accent:#579bff;--glow:#174c8d;--glow-soft:#17385d;--button:#245fc1;--button-hover:#194b9c}
.theme-switch{display:flex;gap:3px;padding-left:24px;margin-left:28px;border-left:1px solid var(--line)}
.header nav{margin-left:auto}.theme-switch button{width:36px;height:38px;display:grid;place-items:center;background:none;border:0;padding:0;border-radius:50%}.theme-switch button span{width:15px;height:15px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #ffffff20}.theme-switch button[data-theme-option="copper"]{--swatch:#d88465}.theme-switch button[data-theme-option="blue"]{--swatch:#579bff}.theme-switch button[data-theme-option="red"]{--swatch:#ff3447}.theme-switch button[aria-pressed="true"] span{outline:1px solid var(--text);outline-offset:4px}.theme-switch button:hover span{transform:scale(1.15)}
.hero{min-height:620px;isolation:isolate}.hero:before{content:'';position:absolute;z-index:-1;inset:-100px -48px 0 30%;background:radial-gradient(ellipse at 85% 25%,color-mix(in srgb,var(--glow) 68%,transparent),transparent 65%);pointer-events:none}.hero-copy{width:62%;padding:42px 0 55px}.hero h1{font-size:clamp(3.6rem,6.1vw,6rem);line-height:1.07;letter-spacing:-.015em;font-weight:400;text-wrap:initial}.hero .lead{font-size:21px;max-width:475px}.hero-copy .eyebrow{letter-spacing:.23em}.brand{letter-spacing:.01em}.card-title h3{font-size:var(--h4)}
@media(min-width:1600px){.hero{min-height:660px}}
@media(min-width:651px) and (max-width:1000px){.hero{min-height:545px}.hero h1{font-size:clamp(3.3rem,6.4vw,4.8rem)}.hero-copy{width:66%}.hero .lead{max-width:350px;font-size:19px}.header nav{gap:20px}.theme-switch{margin-left:15px;padding-left:15px}.brand{font-size:25px}}
@media(max-width:650px){.header{height:112px;flex-wrap:wrap;align-content:center;gap:12px}.header .brand{font-size:22px}.menu-toggle{margin-left:auto}.theme-switch{order:4;flex-basis:100%;justify-content:flex-end;padding:0;margin:0;border:0;gap:5px;height:25px}.theme-switch:before{content:'Barevná verze';color:var(--muted);font-size:12px;align-self:center;margin-right:8px}.theme-switch button{width:32px;height:28px}.theme-switch button span{width:12px;height:12px}.header nav{top:105px}.hero{min-height:0;display:flex;flex-direction:column}.hero:before{inset:0 -20px 0 0;background:radial-gradient(ellipse at 100% 55%,color-mix(in srgb,var(--glow) 60%,transparent),transparent 70%)}.hero-copy{width:100%;padding:24px 0 10px}.hero h1{font-size:clamp(2.75rem,10.1vw,4.2rem);line-height:1.1}.hero .lead{font-size:18px;max-width:100%;margin:22px 0}.eyebrow{font-size:11px}.hero .eyebrow{letter-spacing:.14em}.section-head{margin-top:14px}}
@media(min-width:651px){.hero:before{right:calc((1280px - 100vw)/2);mask-image:none}}
@media(min-width:651px) and (max-width:1000px){.hero:before{right:-28px}}

/* Celý horní trup a paže: měřítko odpovídá schváleným náhledům. */
.portrait{position:absolute;right:0;bottom:0;width:60%;height:calc(100% + 60px);overflow:visible;pointer-events:none;mask-image:none;mask-composite:add}
.portrait img{position:absolute;right:0;bottom:0;top:auto;width:auto;height:100%;max-width:none;object-fit:contain;transform:none;filter:none}
@media(min-width:651px) and (max-width:1000px){.portrait{height:calc(100% + 35px);width:57%}.portrait img{height:100%;right:-10px}}
@media(max-width:650px){.portrait{position:relative;right:auto;width:100%;height:auto;aspect-ratio:1;overflow:visible;margin-top:14px;mask-image:none}.portrait img{position:relative;right:auto;bottom:auto;top:auto;transform:none;width:100%;height:auto;max-width:100%;object-fit:contain}}

.portrait img{opacity:0;transition:opacity .18s ease}
:root[data-theme="red"] .portrait img[data-portrait-theme="red"],:root[data-theme="blue"] .portrait img[data-portrait-theme="blue"],:root[data-theme="copper"] .portrait img[data-portrait-theme="copper"]{opacity:1}
@media(max-width:650px){.portrait img{position:absolute;width:100%;height:100%;inset:0}}
@media(min-width:651px) and (max-width:1000px){.portrait{height:100%;width:57%}.portrait img{height:auto;width:100%;right:0;bottom:0}}

/* Kompaktní volba palety hned za jménem. */
.header .theme-switch{order:0;flex-basis:auto;justify-content:flex-start;gap:0;padding:0 0 0 14px;margin:0 0 0 18px;border-left:1px solid var(--line);height:auto}
.header .theme-switch:before{display:none}
.header .theme-switch button{width:28px;height:32px}
.header .theme-switch button span{width:10px;height:10px}
.header .theme-switch button[aria-pressed="true"] span{outline-offset:3px}
@media(max-width:650px){.header{height:90px;flex-wrap:nowrap;gap:0}.header .brand{font-size:20px}.header .theme-switch{margin-left:10px;padding-left:8px}.header .theme-switch button{width:24px;height:32px}.header .theme-switch button span{width:9px;height:9px}.header nav{top:80px}.menu-toggle{font-size:12px;padding:7px 9px;gap:6px}}
@media(max-width:360px){.header .brand{font-size:18px}.header .theme-switch{margin-left:7px;padding-left:5px}.header .theme-switch button{width:21px}.menu-toggle{padding:7px;font-size:11px;gap:3px}}

.about-links{grid-column:1/-1;border-top:1px solid var(--line);padding-top:38px}
.about-links-intro{display:flex;justify-content:space-between;align-items:baseline;gap:32px;margin-bottom:22px}
.about-links-intro h3{margin:0}.about .links-note{font-size:14px;max-width:440px;margin:0;color:var(--muted)}
.channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px}
.channel-link{padding:22px 0;border-top:1px solid var(--line);display:block;min-width:0}
.channel-kind{font-size:11px;letter-spacing:.15em;color:var(--accent);display:block;margin-bottom:10px}
.channel-link h4{font-size:26px;line-height:1.15;margin:0 0 10px;overflow-wrap:anywhere}
.about .channel-link p{font-size:15px;line-height:1.5;margin:0;color:var(--muted)}
.channel-link .link-end{display:block;color:var(--accent);font-size:13px;margin-top:14px}
.channel-link:hover h4{color:var(--accent)}.channel-link:hover .link-end{transform:translateX(3px)}
@media(max-width:1000px){.channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.about-links-intro{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:650px){.about-links{padding-top:28px}.channel-grid{grid-template-columns:1fr;gap:0}.channel-link{padding:22px 0}.channel-link h4{font-size:25px}.about-links-intro h3{font-size:var(--h3)}}

.catalog-page{padding-bottom:80px}.catalog-page .page-intro{padding-bottom:50px}.catalog-page .lead{max-width:750px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.catalog-grid .card-title{align-items:flex-start}.catalog-grid .card-title h3{font-size:27px}.catalog-grid .archive{display:none}.catalog-grid .project-card p{font-size:15px}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.catalog-grid{grid-template-columns:1fr;gap:30px}.catalog-page{padding-bottom:45px}.catalog-page .page-intro{padding-bottom:30px}}

/* Ostré spodní zakončení portrétu bez prolínání. */
.portrait,.hero:before{mask-image:none;-webkit-mask-image:none}

/* Ukázky užití vizuální identity v závěru case study. */
.application-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.application-card{min-width:0}.application-card .zoom{width:100%;aspect-ratio:1}.application-card img{width:100%;height:100%;object-fit:contain}.application-card h3{font-size:var(--h4);margin:18px 0 8px}.application-card p{color:var(--muted);margin:0}@media(max-width:650px){.application-grid{grid-template-columns:1fr;gap:32px}}

.auto-sm-manual{margin-top:44px}


.charitas-web-story{margin-top:64px}@media(max-width:650px){.charitas-web-story{margin-top:40px}}
/* Theme swatches follow the capital height of the adjacent wordmark. */
.header{--brand-size:29px}.header .brand{font-size:var(--brand-size)}.header .theme-switch{font:400 var(--brand-size)/1 var(--display)}.header .theme-switch button{font:inherit;width:calc(1cap + 10px);height:36px;border-radius:0}.header .theme-switch button span{width:1cap;height:1cap;border-radius:0}.header .theme-switch button:hover span{transform:none}
@media(min-width:651px) and (max-width:1000px){.header{--brand-size:25px}}
@media(max-width:650px){.header{--brand-size:20px}.header .theme-switch button{width:calc(1cap + 6px);height:32px}}
@media(max-width:360px){.header{--brand-size:18px}.header .theme-switch button{width:calc(1cap + 5px)}}
/* Indicate the selected theme only by a smaller swatch. */
.header .theme-switch button[aria-pressed="true"] span{outline:none;transform:scale(.78)}
.header .theme-switch button[aria-pressed="true"]:hover span{transform:scale(.78)}
/* Keep images clickable while preventing drag and mobile save callouts. */
img,[data-image],.card-image,.portrait{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
img{-webkit-user-drag:none}
