@charset "UTF-8";
:root{--red:#e52320;--ink:#171717;--muted:#656565;--line:#d6d6d6;--gutter:clamp(22px,3.3vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;overscroll-behavior-y:none}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip;max-width:100%;overscroll-behavior-y:none}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:7px}::selection{background:var(--red);color:white}h1,h2,h3,p{margin:0}a,summary{touch-action:manipulation}.skip{position:absolute;top:-100px;padding:12px;background:white;z-index:20}.skip:focus{top:10px}.header{padding:30px var(--gutter);display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px}.brand{display:block;width:clamp(160px,17vw,246px)}.brand img{display:block;width:100%;height:auto}.header-note{font-size:14px;line-height:1.35;margin-left:16%}.header nav{display:flex;justify-content:flex-end;gap:30px;font-size:16px}.header nav a{position:relative;padding:8px 0}.header nav a:after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after{transform:scaleX(1)}.hero{padding:52px var(--gutter) 76px}.eyebrow,.section-label{font-size:14px;font-weight:400}.hero-label{display:flex;justify-content:space-between;margin-bottom:33px}.hero-label span:last-child{color:var(--red)}h1{font-size:clamp(56px,8.75vw,172px);font-weight:500;letter-spacing:-.075em;line-height:1.015}.headline-line{display:block;position:relative;width:fit-content;animation:arrive .9s both cubic-bezier(.18,.65,.2,1)}.headline-line:nth-child(2){animation-delay:.08s}.headline-line:nth-child(3){animation-delay:.16s}.headline-line:nth-child(4){animation-delay:.24s}.headline-line.offset{margin-left:22.5%}.final-line{margin-left:49%}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.085em}.hero em{color:var(--red)}.hero-bottom{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:24px}.hero-bottom p{max-width:550px;font-size:clamp(16px,1.55vw,23px);line-height:1.35;letter-spacing:-.025em}.text-link{width:fit-content;font-size:16px;border-bottom:1px solid var(--ink);padding-bottom:9px}.text-link span{margin-left:50px}.text-link:hover{color:var(--red);border-color:var(--red)}.work{padding:0 var(--gutter) 66px}.section-label{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.section-label h2{font-size:14px;font-weight:400}.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 28px;padding-top:40px;align-items:start}.project{min-width:0}.project-main{grid-column:1/9}.project-image{position:relative;overflow:hidden;background:#eee}.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.project-main .project-image{aspect-ratio:1.43}.project:hover .project-image img{transform:scale(1.035)}.project-caption{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding-top:16px}.project-caption h3{font-size:25px;font-weight:400;letter-spacing:-.04em}.project-caption span{font-size:14px;color:var(--muted)}.project-image::after{content:"";position:absolute;inset:0;background:rgba(229,35,32,.55);opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:1}.project:hover .project-image::after,.project:focus-visible .project-image::after{opacity:1}.project-hover{position:absolute;z-index:2;bottom:24px;left:24px;padding:9px 0;border-bottom:1px solid white;color:white;font-size:16px;opacity:0;transform:translateY(7px);transition:.25s;text-shadow:none}.project:hover .project-hover,.project:focus-visible .project-hover{opacity:1;transform:none}.work-aside{grid-column:10/13;align-self:center;padding-bottom:30px}.work-statement{font-size:clamp(26px,3.12vw,58px);letter-spacing:-.05em;line-height:1.08}.work-statement span{color:var(--red)}.small-note{display:block;margin-top:25px;font-size:14px;color:var(--muted)}.project-small{grid-column:1/7;margin-top:56px}.project-small .project-image{aspect-ratio:1/1.02}.project-wide{grid-column:7/13;margin-top:120px}.project-wide .project-image{aspect-ratio:1.25}.about{background:var(--red);color:white;padding:32px var(--gutter) 92px}.about .section-label{border-color:#ffffff6b}.about h2{font-size:clamp(50px,7.8vw,148px);font-weight:400;line-height:1.02;letter-spacing:-.065em;padding:82px 0 75px}.about h2>span{margin-left:16%}.about-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6%;padding-top:30px;border-top:1px solid #ffffff6b}.about-bottom p{font-size:15px;line-height:1.5;max-width:400px}.about-bottom .about-side{font-size:24px;line-height:1.2;letter-spacing:-.025em}.services{padding:135px var(--gutter) 75px;display:grid;grid-template-columns:1fr 1.35fr;gap:55px 8%}.services-intro h2{font-size:clamp(43px,4.9vw,90px);line-height:1.03;letter-spacing:-.06em;font-weight:400;margin:35px 0 32px}
.services-intro h2 em{color:var(--red);letter-spacing:-.04em}.services-intro p{font-size:18px;line-height:1.4;color:var(--muted)}.service-list{padding-top:4px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:23px;list-style:none;padding:26px 0;cursor:pointer}summary::-webkit-details-marker{display:none}.number{font-size:14px;align-self:flex-start;padding-top:7px;color:var(--red)}summary h3{font-size:clamp(31px,3.25vw,60px);font-weight:400;letter-spacing:-.045em}.toggle{width:18px;height:18px;position:relative;margin-left:auto;flex-shrink:0}.toggle:before,.toggle:after{content:'';position:absolute;top:8px;left:0;height:1px;width:18px;background:var(--ink)}.toggle:after{transform:rotate(90deg);transition:transform .2s}details[open] .toggle:after{transform:rotate(0deg)}details[open] summary h3{color:var(--red)}details p{margin:0 35px 30px 40px;font-size:18px;line-height:1.5;color:var(--muted);max-width:475px}.ai-note{grid-column:1/-1;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:22px;margin-top:32px;font-size:16px;line-height:1.4}.ai-note>span{white-space:nowrap}.ai-note p{max-width:435px;color:var(--muted)}.contact{padding:62px var(--gutter) 0;margin-top:45px;overflow:hidden;background:#f3f3f3}.contact .section-label{border:0;padding:0}.contact .section-label a{font-size:14px}.contact h2{font-size:clamp(65px,10.7vw,200px);line-height:.99;font-weight:400;letter-spacing:-.075em;margin-top:76px}.contact h2 em{color:var(--red)}.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-top:62px}.contact-bottom p{font-size:18px;line-height:1.4}.contact-link{font-size:clamp(24px,3vw,50px);letter-spacing:-.04em;padding-bottom:10px;border-bottom:1px solid var(--ink)}.contact-link span{display:inline-block;margin-left:45px;transition:transform .25s}.contact-link:hover{color:var(--red);border-color:var(--red)}.contact-link:hover span{transform:translate(4px,-4px)}.footer-meta{display:grid;grid-template-columns:1fr 1fr auto auto;gap:28px;margin-top:95px;padding-top:22px;border-top:1px solid var(--line);font-size:14px}.footer-meta a:hover{text-decoration:underline}.footer-word{font-weight:700;letter-spacing:-.085em;font-size:18.9vw;line-height:1.05;margin:60px 0 -2.7vw -1vw;color:var(--red)}@keyframes arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.hero,.work,.services{max-width:2200px;margin-inline:auto}}
@media(max-width:900px){.header{grid-template-columns:1fr auto}.header-note{display:none}.header nav{gap:22px}.hero{padding-top:38px}.headline-line.offset{margin-left:12%}.final-line{margin-left:45%}.hero-bottom p{font-size:20px}.work-aside{grid-column:10/13}.project-caption{display:block}.project-caption span{display:block;margin-top:6px}.project-small{margin-top:44px}.project-wide{margin-top:78px}.about h2{padding:65px 0}.about-bottom{grid-template-columns:1fr 1fr;gap:30px}.about-side{grid-column:1/-1}.services{gap:50px 35px;padding-top:90px;grid-template-columns:1fr 1.4fr}summary{gap:14px}.footer-meta{grid-template-columns:1fr auto auto}.footer-meta>span:nth-child(2){display:none}}
@media(max-width:600px){.header{padding-top:24px;gap:15px}.brand{width:153px}.header nav{gap:14px;font-size:14px}.header nav{grid-column:1/-1;justify-content:flex-start;gap:24px}.header nav a{padding:5px 0}.hero{padding-top:29px;padding-bottom:55px}.hero-label{font-size:13px;margin-bottom:32px}.hero-label span:last-child{display:none}h1{font-size:clamp(38px,9.6vw,58px);letter-spacing:-.065em;line-height:1.08}.headline-line.offset{margin-left:5%}.final-line{margin-left:44%}.hero-bottom{grid-template-columns:1fr;gap:27px;margin-top:35px}.hero-bottom p{grid-row:1;max-width:360px;font-size:18px}.hero-bottom .text-link{font-size:14px}.work{padding-bottom:65px}.work-grid{gap:35px 0;padding-top:26px;grid-template-columns:1fr}.project-main,.project-small,.project-wide{grid-column:1;margin:0}.project-main .project-image{aspect-ratio:1.15}.work-aside{grid-column:1;padding:15px 0 15px 20%;grid-row:2}.work-statement{font-size:43px}.small-note{margin-top:15px}.project-small{width:82%}.project-small .project-image{aspect-ratio:1.05}.project-wide{width:90%;justify-self:end;margin-top:14px}.project-caption{display:flex}.project-caption h3{font-size:24px}.project-caption span{font-size:13px;margin:0}.about{padding-top:25px;padding-bottom:56px}.about .section-label span:last-child{font-size:13px}.about h2{font-size:clamp(36px,9.5vw,57px);padding:50px 0;letter-spacing:-.06em}.about h2>span{margin-left:5%}.about-bottom{display:block;padding-top:24px}.about-bottom p{font-size:16px;margin-bottom:23px}.about-bottom .about-side{font-size:24px}.about-bottom p:last-child{margin:0}.services{display:block;padding-top:65px;padding-bottom:35px}.services-intro h2{font-size:52px;margin:23px 0}.services-intro p{display:none}.service-list{margin-top:38px}summary{padding:23px 0;gap:20px}summary h3{font-size:38px}details p{font-size:16px;margin-left:35px}.ai-note{display:block;margin-top:40px;padding-top:23px;font-size:16px}.ai-note p{margin-top:13px}.contact{margin-top:25px;padding-top:30px}.contact .section-label{align-items:start;font-size:13px}.contact .section-label a{white-space:nowrap;font-size:13px}.contact h2{font-size:clamp(48px,12.8vw,77px);margin-top:52px}.contact-bottom{align-items:start;flex-direction:column;margin-top:38px;gap:27px}.contact-bottom p{font-size:16px}.contact-link{font-size:30px}.contact-link span{margin-left:25px}.footer-meta{font-size:13px;margin-top:60px;gap:15px;grid-template-columns:1fr auto}.footer-meta>span:first-child{grid-column:1/-1}.footer-meta a:last-child{justify-self:end}.footer-word{font-size:18.1vw;margin-top:40px;margin-bottom:-2vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:360px){h1{font-size:10vw}.headline-line.offset{margin-left:0}.final-line{margin-left:38%}.project-caption{display:block}.project-caption span{margin-top:5px}}

/* Scroll-driven composition. The unenhanced headline stays readable. */
.headline-line,.hero-word{animation:none}
.hero-word{display:inline-block;transform-origin:center}
.hero.scroll-scene{padding:0;height:var(--scene-height);position:relative;overflow:clip;overflow-clip-margin:0}
.scroll-scene .hero-stage{position:sticky;top:0;min-height:100svh;padding:28px var(--gutter);display:flex;flex-direction:column;justify-content:center}
.scroll-scene h1{font-size:min(8.75vw,12svh)}
.scroll-scene .hero-label{margin-bottom:35px}
.scroll-scene .hero-bottom{margin-top:76px}
.scroll-scene .hero-word,.compact-scene .hero-word{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}
@media(max-width:600px){.scroll-scene .hero-stage{padding:24px var(--gutter)}.scroll-scene h1{font-size:min(9.6vw,9svh)}.scroll-scene .hero-label{margin-bottom:32px}.scroll-scene .hero-bottom{margin-top:32px}.scroll-scene .hero-bottom p{font-size:16px}.scroll-scene .hero-bottom{gap:20px}}
@media(prefers-reduced-motion:reduce){.hero.scroll-scene{height:auto}.scroll-scene .hero-stage{position:static;min-height:0}.hero-word{transform:none!important;animation:none!important;will-change:auto}}

/* Persistent navigation: only the logo scales, keeping scene geometry stable. */
:root{--nav-height:100px}
html{scroll-padding-top:calc(var(--nav-height) + 24px)}
body{padding-top:var(--nav-height)}
.header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.header .brand{transform-origin:left center;transition:transform .525s cubic-bezier(.2,.7,.2,1)}
.header.is-scrolled .brand{transform:scale(.602)}
.skip{position:fixed;z-index:110}
.scroll-scene .hero-stage{top:var(--nav-height);min-height:calc(100svh - var(--nav-height))}
.scroll-scene h1{font-size:min(7vw,8.1svh)}
@media(max-width:600px){:root{--nav-height:128px}.header{padding-top:18px;padding-bottom:18px;row-gap:18px}.scroll-scene h1{font-size:min(9.6vw,8svh)}}

.footer-logo{margin:60px 0 0;padding-bottom:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.footer-logo img{display:block;width:clamp(108px,21.6%,260px);height:auto;margin-bottom:8px}
.footer-legal{display:flex;gap:26px;font-size:13px;padding-bottom:8px;flex-shrink:0}
.footer-legal a{color:var(--red);opacity:1}
.footer-legal a:hover{opacity:1}
.footer-legal a:hover{color:var(--ink);text-decoration:underline}
@media(max-width:600px){.footer-logo{margin-top:40px;padding-bottom:calc(28px + env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start;gap:18px}.footer-logo img{width:137px;margin-bottom:0}.footer-legal{gap:20px;padding-bottom:0}}

.footer-meta{grid-template-columns:1fr auto auto}.footer-socials{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:flex-end}
@media(max-width:600px){.footer-meta{grid-template-columns:1fr}.footer-socials{justify-content:flex-start;gap:16px 24px}}

.about{overflow:clip}
.about h2>.about-line{display:block;margin-left:0}
.about h2>.about-offset{margin-left:16%}
.about-word{display:inline-block;transform-origin:center}
@media(max-width:600px){.about h2>.about-offset{margin-left:5%}}
@media(prefers-reduced-motion:reduce){.about-word{transform:none!important}}

.client-strip{padding:30px 0 62px;color:#000}
.client-strip-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 var(--gutter) 26px;color:var(--muted);font-size:13px}
.marquee-toggle{border:0;border-bottom:1px solid currentColor;background:none;padding:5px 0;font:inherit;color:inherit;cursor:pointer}
.marquee-toggle:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.client-marquee{overflow:hidden;padding:12px 0;display:flex;flex-direction:column;gap:30px}
.client-track{display:flex;width:max-content;animation:client-drift 35s linear infinite}
.client-track-rev{animation-direction:reverse;animation-duration:44s}
.client-group{display:flex;flex-shrink:0;align-items:center;width:max-content;gap:96px;padding:0 48px}
.client-mark{display:block;white-space:nowrap;font-size:34px;line-height:1.3;user-select:none}
.client-logo{display:block;flex-shrink:0;height:46px;width:auto;max-width:160px;object-fit:contain}
.client-logo.is-tall{height:60px}
.client-logo.is-wide{height:33px;max-width:225px}
.mark-nord{font-weight:800;font-size:26px;letter-spacing:-.06em}.mark-forma{font-family:Georgia,serif;font-style:italic;font-size:44px;letter-spacing:-.06em}.mark-axis{font-weight:900;letter-spacing:.16em}.mark-velora{font-family:Georgia,serif;letter-spacing:-.05em;font-size:39px}.mark-mono{font-family:'Courier New',monospace;font-weight:700;font-size:27px;letter-spacing:-.07em}.mark-teren{font-size:42px;font-weight:700;letter-spacing:-.07em}
.client-strip.is-paused .client-track{animation-play-state:paused}
@keyframes client-drift{to{transform:translateX(-50%)}}
@media(max-width:600px){.client-strip{padding:18px 0 40px}.client-strip-meta{font-size:13px;margin-bottom:16px}.client-group{gap:60px;padding:0 30px}.client-mark{font-size:28px}.client-logo{height:38px;max-width:120px}.client-logo.is-tall{height:50px}.mark-nord{font-size:22px}.mark-forma,.mark-teren{font-size:36px}.mark-mono{font-size:23px}.client-track{animation-duration:32s}}
@media(prefers-reduced-motion:reduce){.client-track{animation:none;width:100%}.client-track-rev{display:none}.client-group{width:100%;flex-wrap:wrap;gap:24px;padding:0 var(--gutter)}.client-group[aria-hidden]{display:none}.marquee-toggle{display:none}}

.client-strip-meta{font-size:14px;font-weight:400;color:var(--ink)}

/* Native vector cursor: precise tracking with no JavaScript delay. */
@media (hover:hover) and (pointer:fine) and (forced-colors:none){
  html,body,body *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='6' fill='%23e52320'/%3E%3C/svg%3E") 15 15,auto!important}
}

/* Footer: rolling line reveal and a red ink wipe, driven by page scroll. */
.contact-mask{display:block;padding:.16em .06em .19em;margin:-.16em -.06em -.19em}
.contact-reveal{display:block;transform-origin:50% 100%}
.contact-title.has-reveal .contact-mask{overflow:hidden}
.contact-title.has-reveal .direction-fill{position:relative;display:inline-block;color:transparent;-webkit-text-stroke:1px var(--red)}
.contact-title.has-reveal .direction-fill::after{content:attr(data-word);position:absolute;inset:0;color:var(--red);-webkit-text-stroke:0;clip-path:inset(0 calc(100% - var(--ink-progress,100%)) 0 -.08em)}
@media(prefers-reduced-motion:reduce){.contact-reveal{transform:none!important}.contact-title.has-reveal .direction-fill{color:var(--red);-webkit-text-stroke:0}.contact-title.has-reveal .direction-fill::after{display:none}}

.footer-meta{grid-template-columns:1fr auto}
@media(max-width:600px){.footer-meta{grid-template-columns:1fr}}

.about h2>.about-line{padding:.16em .06em .19em;margin-top:-.16em;margin-bottom:-.19em}
.about h2.has-line-reveal>.about-line{overflow:hidden}
.about-reveal{display:block}
.about-fill{display:inline-block;position:relative;font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:-.03em}
.has-line-reveal .about-fill{color:transparent;-webkit-text-stroke:1px white}
.has-line-reveal .about-fill::after{content:attr(data-word);position:absolute;inset:0;color:white;-webkit-text-stroke:0;clip-path:inset(0 calc(100% - var(--about-ink,100%)) 0 -.08em)}
@media(prefers-reduced-motion:reduce){.about-reveal{transform:none!important}.has-line-reveal .about-fill{color:white;-webkit-text-stroke:0}.has-line-reveal .about-fill::after{display:none}}

/* A discrete studio photograph integrated with the headline. */
.hero{background:#fff}
.hero-stage{position:relative;isolation:isolate}
.hero-composition{position:relative;isolation:isolate}
.hero-photo{position:absolute;right:0;top:0;width:36%;height:auto;aspect-ratio:3/2;object-fit:cover;z-index:-1}
@media(max-width:600px){.hero-photo{top:0;width:38%;aspect-ratio:1/1.15;object-position:42% center}}

/* Mobile and tablet hero stay content-sized without headline collisions. */
@media(max-width:900px){
 .hero{padding:24px var(--gutter) 38px}
 .hero-stage{display:block;min-height:0}
 .hero-label{display:flex;flex-direction:column;gap:9px;margin-bottom:28px}
 .hero-label span:last-child{display:block}
 .hero-composition{display:flex;flex-direction:column}
 .hero-composition h1{order:-1;font-size:11.4vw;line-height:1.52;letter-spacing:-.055em}
 .hero-photo{position:static;width:72%;height:auto;aspect-ratio:3/2;margin:22px 0 0 auto;z-index:auto;object-position:center}
 .headline-line.offset{margin-left:5%}
 .final-line{margin-left:38%}
 .hero-bottom{margin-top:26px;gap:23px}
 .hero-bottom p{max-width:none;font-size:18px}
}

/* Restore the original desktop type scale and compact space below navigation. */
@media(min-width:901px){
 .scroll-scene .hero-stage{justify-content:flex-start;padding-top:38px}
 .scroll-scene h1{font-size:clamp(56px,8.75vw,172px)}
 .hero{padding-top:38px}
}

@media(min-width:901px){.scroll-scene .hero-stage{top:var(--scene-top,var(--nav-height))}}

/* Distribute the desktop hero across the available viewport height. */
@media(min-width:901px){
 .scroll-scene .hero-stage{justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px}
 .scroll-scene .hero-label{margin-bottom:0}
 .scroll-scene .hero-bottom{margin-top:0}
 .scroll-scene .hero-composition{margin-block:auto}
}

.header nav{align-items:center}.header nav>*{white-space:nowrap}.nav-pending{padding:8px 0}
@media(max-width:600px){.header nav{flex-wrap:wrap;column-gap:20px;row-gap:2px}.nav-pending{padding:5px 0}}

.project-story{margin-top:44px;padding-left:12%}.project-story .small-note{margin-top:22px}
@media(max-width:600px){.project-story{margin-top:28px;padding-left:0}.project-story .work-statement{font-size:38px}.project-story .small-note{margin-top:16px}}

@media(max-width:900px){.hero.compact-scene{height:var(--scene-height);position:relative}.compact-scene .hero-stage{position:sticky;top:calc(var(--nav-height) + 24px)}}

/* Keep paragraph margins contained before, during and after accordion motion. */
.service-list details{display:flow-root;overflow:hidden}

/* Contact page: the homepage typography becomes a direct, spatial address. */
.header nav .is-active:after{transform:scaleX(1)}
.contact-page-hero{min-height:calc(100svh - var(--nav-height));padding:38px var(--gutter) 58px;display:flex;flex-direction:column}
.contact-page-label{display:grid;grid-template-columns:1fr 1fr;gap:30px;font-size:14px;line-height:1.35}
.contact-page-label span:last-child{justify-self:end;text-align:left;min-width:32%}
.contact-page-hero h1{margin:auto 0;font-size:clamp(76px,13.5vw,250px);line-height:.88;font-weight:400;letter-spacing:-.08em}
.contact-page-hero h1 em{color:var(--red)}
.contact-page-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6%;border-top:1px solid var(--line);padding-top:22px}
.contact-page-grid>div{display:block}
.contact-index{display:block;font-size:14px;color:var(--red);margin-bottom:16px}
.contact-page-grid p{margin:0;font-size:clamp(23px,2.4vw,44px);line-height:1.13;letter-spacing:-.045em}
.contact-page-direct{justify-self:start;min-width:0}
.contact-page-direct a{position:relative}
.contact-page-direct a:after{content:'';position:absolute;left:0;bottom:-.08em;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.contact-page-direct a:hover:after{transform:scaleX(1)}
.contact-form-section{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:#f3f3f3}
.contact-form-photo{margin:0;min-height:760px;overflow:hidden}
.contact-form-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:46% center;filter:grayscale(1)}
.contact-form-panel{padding:34px var(--gutter) 72px}
.contact-form-panel h2{margin:68px 0 82px;font-size:clamp(58px,7vw,130px);font-weight:400;line-height:.92;letter-spacing:-.07em}
.contact-form-panel h2 em{color:var(--red)}
#contact-form{display:grid;gap:34px}
#contact-form label{display:grid;gap:12px;border-bottom:1px solid #aaa;padding-bottom:12px;font-size:14px;color:var(--muted)}
#contact-form label span{font-size:12px}
#contact-form input,#contact-form textarea{width:100%;border:0;outline:0;background:transparent;padding:0;border-radius:0;color:var(--ink);font:400 22px/1.25 Arial,Helvetica,sans-serif;resize:vertical}
#contact-form label:focus-within{border-color:var(--red);color:var(--red)}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.contact-form-submit{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:16px}
.contact-form-submit p{max-width:220px;color:var(--muted);font-size:13px;line-height:1.4}
.contact-form-submit button{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:0 0 10px;color:var(--ink);font:400 clamp(22px,2vw,34px)/1 Arial,Helvetica,sans-serif;letter-spacing:-.035em;cursor:pointer}
.contact-form-submit button span{display:inline-block;margin-left:28px;transition:transform .25s}
.contact-form-submit button:hover,.contact-form-submit button:focus-visible{color:var(--red);border-color:var(--red)}
.contact-form-submit button:hover span{transform:translate(4px,-4px)}
.contact-form-submit button:focus-visible{outline:2px solid var(--red);outline-offset:7px}
.contact-arrival{display:grid;grid-template-columns:1fr 1fr;background:var(--red);color:white;padding:32px var(--gutter) 110px;gap:30px}
.contact-arrival>div{display:grid;grid-template-columns:60px 1fr;gap:20px;border-top:1px solid #ffffff70;padding-top:20px}
.contact-arrival .contact-index{color:white}
.contact-arrival h2{font-size:clamp(30px,4vw,76px);font-weight:400;letter-spacing:-.055em;line-height:1.05}
.contact-arrival p{grid-column:2;margin-top:40px;font-size:18px;line-height:1.4}
@media(max-width:900px){
 .contact-page-hero{min-height:auto;padding-top:34px}
 .contact-page-hero h1{font-size:17vw;margin:16vh 0 18vh}
 .contact-page-label span:last-child{min-width:0}
 .contact-page-grid{grid-template-columns:1fr;gap:48px}
 .contact-page-direct{justify-self:stretch;min-width:0}
 .contact-form-section{grid-template-columns:1fr}
 .contact-form-photo{min-height:0;aspect-ratio:3/2}
 .contact-form-panel{padding-top:28px}
 .contact-form-panel h2{margin:55px 0 65px}
 .contact-arrival{padding-bottom:75px}
}
@media(max-width:600px){
 .contact-page-hero{padding:28px var(--gutter) 42px}
 .contact-page-label{grid-template-columns:1fr;gap:18px;font-size:13px}
 .contact-page-label span:last-child{justify-self:start}
 .contact-page-hero h1{font-size:20vw;margin:80px 0 105px}
 .contact-arrival>div{grid-template-columns:32px 1fr;gap:12px}
 .contact-page-grid p{font-size:28px}
 .contact-page-direct p{font-size:clamp(21px,7.2vw,28px)}
 .contact-form-photo{aspect-ratio:1.18}
 .contact-form-panel{padding:24px var(--gutter) 55px}
 .contact-form-panel h2{font-size:18vw;margin:55px 0 60px}
 .contact-form-row{grid-template-columns:1fr;gap:30px}
 #contact-form{gap:30px}
 #contact-form input,#contact-form textarea{font-size:20px}
 .contact-form-submit{align-items:flex-start;flex-direction:column;gap:30px}
 .contact-form-submit button{font-size:28px}
 .contact-arrival{grid-template-columns:1fr;padding-top:24px;padding-bottom:55px;gap:55px}
 .contact-arrival h2{font-size:36px}
 .contact-arrival p{grid-column:2;margin-top:22px;font-size:16px}
}

/* ---- Podstránka „Co děláme" ---- */
.cd-hero{padding:8px var(--gutter) 42px;margin-top:-30px}
.cd-hero-label{font-size:14px;line-height:1.35}
.cd-hero-title{font-size:clamp(54px,9.4vw,168px);line-height:.9;font-weight:400;letter-spacing:-.072em;margin:3.5vh 0 8vh}
.cd-offset{margin-left:16%}
.cd-hero-title em,.cd-belief-title em{letter-spacing:-.012em}
.cd-hero-title em{color:var(--red)}
.cd-belief-title em{color:#fff}
.cd-hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:end;border-top:1px solid var(--line);padding-top:22px}
.cd-hero-bottom p{max-width:520px;font-size:clamp(18px,1.7vw,24px);line-height:1.4;letter-spacing:-.02em}
.cd-hero-aside{justify-self:end;color:var(--muted)}

.cd-services{padding:112px var(--gutter) 96px}
.cd-service{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:30px 7%;align-items:start;padding:54px 0;border-top:1px solid var(--line)}
.cd-service:last-child{border-bottom:1px solid var(--line)}
.cd-index{font-family:Georgia,'Times New Roman',serif;display:block;font-size:clamp(64px,9vw,150px);line-height:.85;letter-spacing:-.04em;color:#c0c0c0;transition:color .4s;will-change:transform}
.cd-service:hover .cd-index{color:var(--red)}
.cd-service-body h2{font-size:clamp(30px,3.9vw,62px);font-weight:400;letter-spacing:-.05em;line-height:1.03}
.cd-service-body>p{margin-top:22px;font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:var(--muted);max-width:520px}
.cd-tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;margin:28px 0 0;padding:0;font-size:13px;color:var(--muted)}
.cd-tags li{position:relative;padding-left:16px}
.cd-tags li:before{content:'';position:absolute;left:0;top:.6em;width:9px;height:1px;background:var(--red)}

.cd-belief{background:var(--red);color:#fff;padding:clamp(72px,9vw,148px) var(--gutter) clamp(86px,10.8vw,178px);margin-top:44px;overflow:clip}
.cd-belief-inner{max-width:1240px;margin:0 auto}
.cd-belief .section-label{border-color:#ffffff54;color:#fff}
.cd-belief-body{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(48px,6vw,116px);align-items:end;padding-top:clamp(44px,5vw,76px)}
.cd-belief-title{font-size:clamp(42px,5.4vw,96px);font-weight:400;line-height:1.04;letter-spacing:-.05em;margin:0}
.cd-belief-aside{padding-top:30px;border-top:1px solid #ffffff54}
.cd-belief-grid{display:grid;grid-template-columns:1fr;gap:22px}
.cd-belief-text{font-size:clamp(17px,1.35vw,21px);line-height:1.5;color:#fffffff0;max-width:44ch}

/* rolující se řádky + fade (aktivní jen když JS přidá .cd-ready) */
.cd-line{display:block;overflow:hidden;padding:.14em .06em .2em;margin:-.14em -.06em -.2em}
.cd-line-in{display:block}
.cd-ready .cd-line-in{transform:translateY(112%);transition:transform .95s cubic-bezier(.2,.7,.2,1)}
.cd-ready .cd-line.in .cd-line-in{transform:none}
.cd-ready [data-reveal]:not(.cd-line){opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.cd-ready [data-reveal]:not(.cd-line).in{opacity:1;transform:none}

@media(max-width:900px){
 .cd-service{grid-template-columns:1fr;gap:18px;padding:44px 0}
 .cd-index{font-size:clamp(56px,15vw,110px)}
 .cd-belief-body{grid-template-columns:1fr;gap:36px;align-items:start;padding-top:44px}
}
@media(max-width:600px){
 .cd-hero{padding:10px var(--gutter) 34px}
 .cd-hero-label{font-size:13px}
 .cd-hero-title{font-size:clamp(57px,17vw,96px);margin:60px 0 66px;letter-spacing:-.06em}
 .cd-offset{margin-left:6%}
 .cd-hero-bottom{grid-template-columns:1fr;gap:22px}
 .cd-hero-aside{justify-self:start;font-size:20px}
 .cd-services{padding:70px var(--gutter) 64px}
 .cd-service{padding:36px 0}
 .cd-service-body h2{font-size:31px}
 .cd-service-body>p{font-size:16px;margin-top:16px}
 .cd-tags{gap:8px 20px;margin-top:22px}
 .cd-belief{margin-top:28px}
 .cd-belief-title{font-size:clamp(38px,10vw,58px)}
 .cd-belief-text{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
 .cd-ready .cd-line-in{transform:none!important}
 .cd-ready [data-reveal]:not(.cd-line){opacity:1!important;transform:none!important}
 .cd-index{will-change:auto}
}

/* ---- Kontakt: úpravy ---- */
.contact-page-body .contact-page-hero h1{font-size:clamp(56px,10.5vw,190px);line-height:.94}
.contact-page-body .contact{margin-top:0}
.contact-about{background:var(--red);color:#fff;padding:74px var(--gutter) 130px}
.contact-about .section-label{border-color:#ffffff6b;color:#fff}
.contact-about-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6%;padding-top:34px}
.contact-about-side{font-size:31px;line-height:1.2;letter-spacing:-.025em}
.contact-about-grid p{font-size:18px;line-height:1.45;max-width:400px}
@media(max-width:900px){.contact-about-grid{grid-template-columns:1fr 1fr;gap:30px}.contact-about-side{grid-column:1/-1}}
@media(max-width:600px){.contact-about{padding:44px var(--gutter) 84px}.contact-about-grid{grid-template-columns:1fr;gap:24px;padding-top:24px}.contact-about-grid p{font-size:16px}.contact-about-side{font-size:29px}}

/* Kontakt hero: nadpis ve stylu patičky */
.contact-page-body .contact-page-hero h1.contact-title{margin:auto 0;font-size:clamp(65px,10.7vw,200px);line-height:.99;font-weight:400;letter-spacing:-.075em}
@media(max-width:600px){.contact-page-body .contact-page-hero h1.contact-title{font-size:clamp(48px,12.8vw,77px)}}

/* Kontakt: oprava responzivní mezery pod nadpisem + menší mezera v patičce */
@media(max-width:900px){
 .contact-page-body .contact-page-hero h1.contact-title{margin:7vh 0 9vh}
}
@media(max-width:600px){
 .contact-page-body .contact-page-hero h1.contact-title{margin:52px 0 60px}
}
.contact-page-body .footer-meta{margin-top:18px}

/* ---- Úvodní hero: video na pozadí (zkušební verze) ---- */
.hero-video-bg{position:fixed;top:0;left:0;width:100%;height:100svh;z-index:-1;overflow:hidden;background:#111}
.hero-video-bg video{width:100%;height:100%;object-fit:cover;display:block}
.hero-video-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.18) 45%,rgba(0,0,0,.5))}
.hero-video{background:transparent}
.hero-video .hero-label span{color:#fff}
.hero-video h1{color:#fff}
.hero-video .hero em{color:var(--red)}
.hero-video .hero-bottom p{color:#fff}
.hero-video .text-link{color:#fff;border-color:#fff}
.hero-video .text-link:hover{color:#fff;border-color:#fff;opacity:.75}
.hero-actions{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.showreel-btn{display:inline-flex;align-items:center;gap:12px;background:none;border:0;border-bottom:1px solid #fff;color:#fff;font:inherit;font-size:16px;padding:0 0 9px;cursor:pointer;letter-spacing:-.01em}
.showreel-btn span{color:var(--red)}
.showreel-btn:hover{opacity:.8}
.showreel-btn:focus-visible{outline:2px solid #fff;outline-offset:6px}

/* Navigace přes video: průhledná se světlým textem; po odscrollování bílá lišta */
.home-hero-video .header{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .3s}
.home-hero-video .header nav a,.home-hero-video .header-note,.home-hero-video .nav-pending{color:#fff}
.home-hero-video .header nav a:after{background:#fff}
.home-hero-video .header.is-scrolled{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.home-hero-video .header.is-scrolled nav a,.home-hero-video .header.is-scrolled .header-note,.home-hero-video .header.is-scrolled .nav-pending{color:var(--ink)}
.home-hero-video .header.is-scrolled nav a:after{background:var(--red)}

/* Lightbox – showreel */
.lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,60px)}
.lightbox[hidden]{display:none}
.lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lightbox-dialog{position:relative;width:min(1100px,100%);z-index:1}
.lightbox-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.lightbox-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lightbox-close{position:absolute;top:-48px;right:0;width:40px;height:40px;background:none;border:0;color:#fff;font-size:36px;line-height:1;cursor:pointer}
.lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:600px){.lightbox-close{top:-42px}}
body.no-scroll{overflow:hidden}

/* ---- Homepage video hero: opravy (tmavé menu od začátku, padding, sekce) ---- */
.home-hero-video{background:transparent}
.home-hero-video .client-strip,.home-hero-video .work,.home-hero-video .services{background:#fff}
.home-hero-video .hero.scroll-scene .hero-stage{padding-top:56px;padding-bottom:58px}
.home-hero-video .hero.compact-scene .hero-stage{padding-top:56px}
@media(max-width:900px){.home-hero-video .hero.scroll-scene .hero-stage,.home-hero-video .hero.compact-scene .hero-stage{padding-top:34px}}
/* Velké monitory: menší headline a víc místa k popisku */
@media(min-width:1300px){.scroll-scene #hero-title{margin-left:clamp(0px,calc((100vw - 1300px) * 0.38),135px)}}
@media(min-width:1400px){.home-hero-video .scroll-scene h1{font-size:min(9.2vw,11.5svh,186px)}.home-hero-video .scroll-scene .hero-bottom{margin-top:92px}}
@media(min-width:1900px){.home-hero-video .scroll-scene h1{font-size:min(9vw,12svh,224px)}}

/* Mobilní/responzivní hero úvodní stránky: vyplnit výšku prohlížeče a rozprostřít obsah */
@media(max-width:900px){
  .home-hero-video .hero-stage{
    display:flex;flex-direction:column;
    min-height:calc(100svh - var(--nav-height) - 36px);
    padding-bottom:40px;
  }
  .home-hero-video .hero-composition{margin:auto 0;transform:translateY(-42px)}
  .home-hero-video .hero-bottom{margin-top:0}
}

/* ---- Sekce „Dimension v číslech" (jedna šedá sekce, mřížka 2×2, velká čísla) ---- */
.stats{background:#f2f2f2;padding:96px var(--gutter) 108px}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:26px}
.stat-card{padding:52px clamp(28px,4vw,72px);display:flex;flex-direction:column;min-height:clamp(260px,24vw,340px)}
.stat-card:nth-child(n+3){border-top:1px solid #d9d9d9}
.stat-card:nth-child(even){border-left:1px solid #d9d9d9}
.stat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.stat-label{font-size:15px;letter-spacing:0;color:var(--muted);padding-top:.7em;max-width:42%;line-height:1.3}
.stat-num{font-weight:400;font-size:clamp(66px,8vw,150px);letter-spacing:-.04em;line-height:.82;color:var(--ink);white-space:nowrap}
.stat-desc{margin-top:36px;font-size:clamp(16px,1.4vw,19px);line-height:1.45;color:var(--ink);max-width:340px}
@media(max-width:900px){.stats{padding:76px var(--gutter) 84px}.stat-card{min-height:0;padding:40px 24px}.stat-desc{margin-top:26px;max-width:none}.stat-num{font-size:clamp(54px,12vw,96px)}}
@media(max-width:600px){.stats{padding:58px var(--gutter) 62px}.stat-card{padding:24px 14px}.stat-top{flex-direction:column;align-items:flex-start;gap:6px}.stat-label{max-width:none;font-size:13px;padding-top:0;order:2}.stat-num{font-size:clamp(52px,15vw,66px);line-height:.9;order:1}.stat-desc{font-size:15px;margin-top:22px}}
.stats-anim .stat-card{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.stats-anim.in .stat-card{opacity:1;transform:none}
.stats-anim.in .stat-card:nth-child(2){transition-delay:.08s}
.stats-anim.in .stat-card:nth-child(3){transition-delay:.16s}
.stats-anim.in .stat-card:nth-child(4){transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.stats-anim .stat-card{opacity:1!important;transform:none!important}}

/* Celošířkový fotopruh mezi službami a patičkou (nahrazuje prosvítající video) */
.photo-band{height:500px;overflow:hidden;background:#111;line-height:0}
.photo-band img{width:100%;height:100%;object-fit:cover;display:block}
.video-band{height:500px;overflow:hidden;background:#111;line-height:0}
.video-band video{width:100%;height:100%;object-fit:cover;display:block}
.video-band + .contact{margin-top:0}
@media(max-width:600px){.video-band{height:325px}}
.home-hero-video .contact{margin-top:0}
@media(max-width:600px){.photo-band{height:325px}}
@media(min-width:1400px){.photo-band,.video-band{height:640px}}
@media(min-width:1900px){.photo-band,.video-band{height:760px}}

/* Větší eyebrow v hero (+2px) */
.hero-label{font-size:16px}
@media(max-width:600px){.hero-label{font-size:15px}}

/* ---- Stránka O nás (vzdušný layout, velká typografie) ---- */
/* O nás hero – výrazně větší mezery mezi nadpisem, textem a červenou sekcí */
.cd-hero-lg{padding-bottom:12vh}
.cd-hero-lg .cd-hero-title{margin:9vh 0 13vh}
.cd-hero-lg .cd-hero-bottom{padding-top:36px}
@media(max-width:600px){.cd-hero-lg{padding-bottom:9vh}.cd-hero-lg .cd-hero-title{margin:6vh 0 9vh}}
.an-eyebrow{display:block;font-size:14px;color:var(--muted);margin-bottom:30px}
.an-manifest{padding:15vh var(--gutter) 14vh}
.an-manifest h2{margin:0;font-size:clamp(46px,8.6vw,172px);line-height:.98;letter-spacing:-.05em;font-weight:400;color:var(--ink);max-width:15ch}
.an-manifest em{color:var(--red)}
.an-manifest-alt{padding:7vh var(--gutter)}
.an-manifest-alt[aria-label="Naše přesvědčení"]{padding-top:14vh;padding-bottom:11.2vh}
.an-manifest-alt h2{max-width:18ch}
.an-manifest-lead{margin:36px 0 0;font-size:clamp(18px,1.7vw,25px);line-height:1.5;letter-spacing:-.01em;color:var(--muted);max-width:680px}
/* První prohlášení „Pro koho jsme" – červený pás */
.an-manifest:not(.an-manifest-alt){background:var(--red);color:#fff}
.an-manifest:not(.an-manifest-alt) .an-eyebrow{color:#ffffffbf}
.an-manifest:not(.an-manifest-alt) h2,.an-manifest:not(.an-manifest-alt) h2 em{color:#fff}
.an-manifest:not(.an-manifest-alt) .an-manifest-lead{color:#ffffffe0}
/* Kinetický reveal slov (červený nadpis „Nejsme tu pro všechny.") */
.rw{display:inline-block;overflow:hidden;vertical-align:top;padding:.09em .05em;margin:-.09em -.05em}
.rw-in{display:inline-block;transform:translateY(115%) rotate(3deg);opacity:0;filter:blur(8px);transition:transform .9s cubic-bezier(.19,1,.22,1),opacity .7s ease,filter .7s ease;will-change:transform,opacity,filter}
.rw.in .rw-in{transform:none;opacity:1;filter:blur(0)}
.rw-in.is-em{font-family:Georgia,'Times New Roman',serif;font-style:italic;letter-spacing:-.03em;color:var(--red)}
.an-manifest:not(.an-manifest-alt) .rw-in.is-em,.cd-belief-title .rw-in.is-em{color:#fff}

.an-clients-named{padding:9vh var(--gutter) 3vh}
.an-clients-lead{margin:28px 0 0;font-size:clamp(27px,4.4vw,72px);line-height:1.1;letter-spacing:-.03em;font-weight:400;color:var(--ink);max-width:20ch}
.an-clients-lead .hl{color:var(--red)}

.an-team{padding:7vh var(--gutter) 40px}
.an-team-grid{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 6%;border-top:1px solid var(--line)}
.an-team-grid li{padding:26px 4px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:5px}
.an-team-name{font-size:clamp(20px,2vw,27px);letter-spacing:-.02em;color:var(--ink)}
.an-team-role{font-size:14px;color:var(--muted)}
.an-team-more .an-team-name{color:var(--muted)}

.an-principles{padding:44px var(--gutter) 52px}
.an-principles-grid{margin-top:22px;border-bottom:1px solid var(--line)}
.an-principle{display:grid;grid-template-columns:1fr minmax(220px,340px);gap:6%;align-items:center;padding:6vh 0;border-top:1px solid var(--line)}
.an-principle-head{display:flex;align-items:baseline;gap:clamp(18px,2.4vw,44px)}
.an-principle-num{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--red);font-size:clamp(28px,3.2vw,52px);line-height:1}
.an-principle h3{margin:0;font-size:clamp(32px,5.2vw,84px);font-weight:400;letter-spacing:-.035em;line-height:1;color:var(--ink)}
.an-principle p{margin:0;font-size:clamp(16px,1.4vw,20px);line-height:1.5;color:var(--muted)}
/* Hover efekty na velkých nadpisech */
.an-manifest h2,.an-clients-lead{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.an-manifest h2:hover,.an-clients-lead:hover{transform:translateX(clamp(6px,1.4vw,22px))}
.an-principle h3,.an-principle-num{transition:color .3s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
.an-principle:hover h3{color:var(--red);transform:translateX(12px)}
.an-principle:hover .an-principle-num{transform:translateX(-4px)}
@media(prefers-reduced-motion:reduce){.an-manifest h2:hover,.an-clients-lead:hover,.an-principle:hover h3,.an-principle:hover .an-principle-num{transform:none}}

/* O nás – sekce čísel jako na HP (2×2, velká čísla), ale na červené */
.an-stats{background:var(--red);color:#fff;padding:96px var(--gutter) 108px}
.an-stats .section-label{border-color:#ffffff59}
.an-stats .section-label span{color:#fff}
.an-stats .section-label span:last-child{color:#ffffffbf}
.an-stats .stat-card:nth-child(n+3){border-top-color:#ffffff59}
.an-stats .stat-card:nth-child(even){border-left-color:#ffffff59}
.an-stats .stat-num{color:#fff}
.an-stats .stat-label{color:#ffffffd9}
.an-stats .stat-desc{color:#fff}

@media(max-width:900px){
  .an-manifest{padding:10vh var(--gutter) 9vh}
  .an-manifest-alt{padding:11vh var(--gutter)}
  .an-principle{grid-template-columns:1fr;gap:12px;align-items:start;padding:5vh 0}
  .an-team-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.an-team-grid{grid-template-columns:1fr}}

/* ---- Fade-in-down hlavních nadpisů při načtení (O nás, Co děláme, Kontakt) ---- */
@keyframes heroFadeDown{from{opacity:0;transform:translateY(-42px)}to{opacity:1;transform:translateY(0)}}
.cd-hero-title,.contact-page-hero .contact-title{animation:heroFadeDown .95s cubic-bezier(.2,.7,.2,1) .05s both}
.cd-hero-title .cd-line-in{transform:none!important}
.contact-page-hero .contact-title .contact-reveal{transform:none!important}
@media(prefers-reduced-motion:reduce){.cd-hero-title,.contact-page-hero .contact-title{animation:none}}
/* Kontakt hero – typewriter na posledním slově */
#contact-page-title .direction-fill,footer .direction-fill{color:var(--red)!important;-webkit-text-stroke:0!important}
#contact-page-title .direction-fill::after,footer .direction-fill::after{display:none!important}
.tw-caret{display:inline-block;width:.055em;height:.74em;background:var(--red);margin-left:.04em;vertical-align:-.04em;animation:twBlink 1.05s steps(1) infinite}
@keyframes twBlink{50%{opacity:0}}

/* ---- Právní podstránky (Cookies, Ochrana osobních údajů) ---- */
.legal{padding:46px var(--gutter) 96px;max-width:820px;margin:0 auto;text-align:center}
.legal-eyebrow{font-size:14px;color:var(--muted);display:block}
.legal h1{font-size:clamp(40px,6vw,84px);line-height:1;letter-spacing:-.04em;font-weight:400;margin:14px 0 18px}
.legal-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--muted);max-width:660px;margin:0 auto}
.legal h2{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;font-weight:400;margin:46px 0 12px}
.legal h3{font-size:17px;font-weight:600;margin:24px 0 8px}
.legal p{font-size:16px;line-height:1.62;color:var(--ink);max-width:700px;margin:0 auto 14px}
.legal ul{margin:0 auto 14px;padding-left:0;max-width:700px;list-style:none;text-align:center}
.legal li{font-size:16px;line-height:1.6;color:var(--ink);margin-bottom:7px}
.legal a{color:var(--red)}
.legal a:hover{text-decoration:underline}
.legal-contact{margin-top:12px;font-size:16px;line-height:1.7;color:var(--ink)}
.legal-updated{font-size:14px;color:var(--muted);margin-top:44px;border-top:1px solid var(--line);padding-top:16px}
@media(max-width:600px){.legal{padding:30px var(--gutter) 70px}}

/* ---- Podstránka „Případové studie" – tlačítko zpět (jen šipka) ---- */
.soon-back{display:inline-flex;align-items:center;gap:12px;color:var(--ink);transition:color .2s,gap .2s}
.soon-back-arrow{transition:transform .25s}
.soon-back:hover{color:var(--red);gap:16px}
.soon-back:hover .soon-back-arrow{transform:translateX(-4px)}
.soon-back:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.soon-ref{color:var(--red);border-bottom:1px solid currentColor;padding-bottom:1px;white-space:nowrap;transition:opacity .2s}
.soon-ref:hover{opacity:.7}
.soon-ref:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* ---- Sekce „Co o nás říkají klienti" (jedna velká citace uprostřed, auto + šipky) ---- */
.refs{background:#fff;padding:56px var(--gutter) 64px;text-align:center}
.ref-quote{display:block;font-family:Georgia,"Times New Roman",serif;font-size:96px;line-height:.4;height:.42em;color:var(--red);margin:8px 0 30px}
.refs-stage{margin:0 auto;max-width:1100px;display:grid}
.ref-slide{grid-area:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s ease;pointer-events:none}
.ref-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.ref-text{margin:0;font-size:clamp(19px,2.2vw,31px);line-height:1.34;letter-spacing:-.02em;color:var(--ink);max-width:940px;text-wrap:balance}
.ref-meta{display:flex;flex-direction:column;gap:3px;margin-top:34px}
@media(prefers-reduced-motion:reduce){.ref-slide{transition:none}}
.ref-name{font-size:17px;color:var(--ink)}
.ref-firm{font-size:14px;color:var(--muted)}
.refs-nav{display:flex;gap:12px;justify-content:center;margin-top:44px}
.refs-arrow{border:0;background:none;border-radius:0;padding:8px;font-size:25px;line-height:1;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,transform .2s}
.refs-arrow:hover{color:var(--red)}
.refs-arrow[data-prev]:hover{transform:translateX(-3px)}
.refs-arrow[data-next]:hover{transform:translateX(3px)}
.refs-arrow:focus-visible{outline:2px solid var(--red);outline-offset:2px}
@media(max-width:900px){.refs{padding-top:40px;padding-bottom:52px}.ref-quote{font-size:78px}}
@media(max-width:600px){.refs-nav{margin-top:34px}.refs-arrow{font-size:23px}}

/* ---- Cookie lišta (GDPR) ---- */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:2000;display:none;background:#fff;border-top:1px solid var(--line);box-shadow:0 -12px 44px rgba(0,0,0,.09);padding:20px var(--gutter)}
.cc.is-open{display:block}
.cc-inner{display:flex;align-items:center;gap:26px;max-width:1240px;margin:0 auto;flex-wrap:wrap}
.cc-text{flex:1 1 360px;min-width:240px}
.cc-title{font-size:14px;font-weight:700;letter-spacing:.02em;display:block;margin-bottom:4px}
.cc-text p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.cc-text a{color:var(--red);border-bottom:1px solid currentColor}
.cc-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cc-btn{font:inherit;font-size:14px;line-height:1;padding:12px 22px;border-radius:100px;border:1px solid var(--ink);background:none;color:var(--ink);cursor:pointer;transition:color .2s,background .2s,border-color .2s;white-space:nowrap}
.cc-ghost:hover{border-color:var(--red);color:var(--red)}
.cc-primary{background:var(--ink);border-color:var(--ink);color:#fff}
.cc-primary:hover{background:var(--red);border-color:var(--red)}
.cc-btn:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.cc-panel{max-width:1240px;margin:14px auto 0;border-top:1px solid var(--line);padding-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px 32px;align-items:start}
.cc-panel[hidden]{display:none}
.cc-row{display:flex;justify-content:flex-start;align-items:flex-start;gap:12px;font-size:13.5px;line-height:1.4}
.cc-panel-actions{grid-column:auto;justify-self:end}
.cc-row span{color:var(--muted)}
.cc-row strong{color:var(--ink);font-weight:600}
.cc-row input{margin-top:1px;width:18px;height:18px;accent-color:var(--red);flex:none}
.cc-fixed input{opacity:.45}
.cc-panel-actions{display:flex;justify-content:flex-start}
.footer-cc-link{font:inherit;background:none;border:0;padding:0;color:inherit;cursor:pointer;text-align:left}
.footer-cc-link:hover{color:var(--red)}
@media(max-width:700px){.cc{padding:16px var(--gutter)}.cc-actions{width:100%}.cc-actions .cc-btn{flex:1 1 auto;text-align:center}.cc-row{gap:14px}.cc-panel{grid-template-columns:1fr;gap:12px}.cc-panel-actions{justify-self:start}}
.legal-cc-btn{font:inherit;font-size:15px;cursor:pointer;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:100px;padding:12px 24px;transition:background .2s,border-color .2s}
.legal-cc-btn:hover{background:var(--red);border-color:var(--red)}
.legal-cc-btn:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.legal code{background:#f2f2f2;padding:1px 6px;border-radius:4px;font-size:.92em}
/* Psací stroj na slově „odpovědnost." v sekci O nás na HP – plné bílé písmo místo obrysového efektu */
#about-title .about-fill{color:#fff;-webkit-text-stroke:0}
#about-title .about-fill::after{display:none}
#about-title .tw-caret{background:#fff}
