:root{
  --paper:#ffffff;--white:#fff;--ink:#0b0c0d;--blue:#00588f;--electric:#00a8df;--ice:#dff7ff;
  --line:rgba(11,12,13,.17);--line-light:rgba(255,255,255,.2);
  --serif:"Iowan Old Style","Baskerville","Bodoni 72","Times New Roman",serif;
  --sans:"Aptos","Helvetica Neue",Helvetica,Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}figure{margin:0}::selection{background:var(--electric);color:white}
.skip{position:fixed;left:16px;top:-80px;z-index:300;background:var(--ink);color:white;padding:11px 17px;border-radius:999px}.skip:focus{top:16px}
.grain{position:fixed;inset:0;z-index:150;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.scroll-progress{position:fixed;left:0;top:0;z-index:200;width:0;height:2px;background:var(--electric)}
.page-transition{position:fixed;inset:0;z-index:250;display:grid;place-items:center;overflow:hidden;background:rgba(4,6,9,.72);backdrop-filter:blur(10px) saturate(.68);transform:translateY(0);transition:transform .92s var(--ease),background .55s ease;pointer-events:none}.page-transition::before{content:"";position:absolute;width:min(62vw,760px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(0,168,223,.32) 0,rgba(0,88,143,.14) 34%,transparent 70%);filter:blur(22px);opacity:.86;transform:scale(.76);animation:transition-halo 2.8s ease-in-out infinite}.ready .page-transition{transform:translateY(-101%)}body.leaving .page-transition{transform:translateY(0);background:rgba(4,6,9,.78)}.transition-brand{position:relative;z-index:2;width:clamp(112px,13vw,196px);opacity:.76;transform:translateY(0) scale(1);transition:opacity .48s ease,transform .86s var(--ease)}.transition-brand::before{content:"";position:absolute;inset:-42%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 65%);filter:blur(18px)}.transition-brand img{position:relative;width:100%;filter:grayscale(1) brightness(0) invert(1);opacity:.94}.ready .transition-brand{opacity:0;transform:translateY(-18px) scale(.92)}body.leaving .transition-brand{opacity:.76;transform:translateY(0) scale(1)}@keyframes transition-halo{0%,100%{transform:scale(.76);opacity:.52}50%{transform:scale(1.06);opacity:.92}}
.site-header{--header-fg:var(--ink);position:fixed;top:0;left:0;right:0;z-index:120;height:84px;padding:18px clamp(18px,3.2vw,52px);display:grid;grid-template-columns:1fr auto 1fr;align-items:start;pointer-events:none;color:var(--header-fg);transition:color .4s var(--ease)}.site-header[data-surface="dark"],.site-header[data-surface="blue"]{--header-fg:#fff}
.site-header>*{pointer-events:auto}.header-meta,.header-contact{font-size:.72rem;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;font-weight:400}.header-contact{text-align:right}
.header-tools{position:relative;display:flex;justify-content:flex-end;gap:18px}.tool-button{appearance:none;position:relative;border:0;border-radius:0;background:transparent;color:inherit;padding:7px 0 6px;cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;transition:opacity .25s,color .4s var(--ease)}.tool-button::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.tool-button:hover::after,.tool-button:focus-visible::after,.tool-button[aria-expanded="true"]::after{transform:scaleX(1);transform-origin:left}.tool-button:hover,.tool-button:focus-visible,.tool-button[aria-expanded="true"]{background:transparent;color:inherit;opacity:.72}.header-popover{position:absolute;right:0;top:43px;min-width:178px;padding:7px;border-radius:16px;background:rgba(247,248,248,.97);color:var(--ink);box-shadow:0 18px 55px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s var(--ease);text-align:left;letter-spacing:0;text-transform:none}.header-popover.lang-popover{right:73px;min-width:122px}.header-popover.open{opacity:1;visibility:visible;transform:none}.header-popover a{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-radius:10px;font-size:.76rem;letter-spacing:.04em}.header-popover a:hover,.header-popover a.active{background:var(--ink);color:white}.header-popover a::after{content:"↗";opacity:.45}.header-popover a[data-set-lang]::after{content:""}
.logo-link{--logo-accent:#00addf;transform:translateY(-120px);opacity:0;animation:logo-drop 1.1s .15s var(--ease) forwards}.site-header[data-surface="dark"] .logo-link{--logo-accent:#ffffff}.site-header[data-surface="blue"] .logo-link{--logo-accent:#ff7a45}.logo-mark{position:relative;display:block;width:139px;aspect-ratio:1190.55/850.39}.logo{width:100%;height:100%;object-fit:contain;filter:none}.logo-accent{position:absolute;inset:0;background:var(--logo-accent);-webkit-mask:url("../images/cdc-logo-accent.svg") center/contain no-repeat;mask:url("../images/cdc-logo-accent.svg") center/contain no-repeat;transition:background .45s var(--ease)}
@keyframes logo-drop{0%{transform:translateY(-120px);opacity:0}65%{opacity:1}100%{transform:translateY(0);opacity:1}}
:root .logo-link{--logo-accent:#00adef}
main{min-height:100svh}.shell{padding-left:clamp(18px,3.2vw,52px);padding-right:clamp(18px,3.2vw,52px)}
.display-xl,.page-title,.section-title{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;text-transform:uppercase}.display-xl{font-size:clamp(4rem,8.2vw,8.8rem);line-height:.82}.page-title{font-size:clamp(3.8rem,7.1vw,7.7rem);line-height:.86}.section-title{font-size:clamp(2.9rem,5.2vw,5.6rem);line-height:.92}.italic{font-style:italic;color:var(--blue)}.outline{color:transparent;-webkit-text-stroke:1px currentColor}.eyebrow{display:flex;align-items:center;gap:11px;margin:0;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}.eyebrow::before{content:"";width:30px;height:1px;background:currentColor}
.home-hero{--home-frame:min(calc(86vw + 150px),1600px);min-height:112svh;padding-top:112px;padding-bottom:56px;overflow:hidden}.display-xl.home-title{position:relative;z-index:2;width:var(--home-frame);margin:0 auto;text-align:center;white-space:nowrap;font-size:clamp(1rem,5.9vw,7.65rem);line-height:.86;letter-spacing:-.06em}.home-title-line{display:block;width:100%;overflow:hidden}.home-title i{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:baseline;justify-content:space-between;font-style:normal;transform:translateY(112%);animation:line-up 1s var(--ease) forwards}.home-title em{font-style:inherit;color:inherit}
@keyframes line-up{to{transform:translateY(0)}}.home-media{position:relative;width:var(--home-frame);height:min(62vw,720px);margin:14px auto 0;overflow:hidden;background:#111;clip-path:inset(0 50%);animation:media-open 1.25s .3s var(--ease) forwards}.home-media>img{width:100%;height:112%;object-fit:cover;object-position:center;transform:translateY(var(--parallax,0)) scale(1.02)}.home-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.45))}
@keyframes media-open{to{clip-path:inset(0)}}.media-caption{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;gap:20px;color:white;font-size:.73rem;letter-spacing:.11em;text-transform:uppercase}.media-caption strong{font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none}
.intro-copy{width:min(750px,88vw);margin:42px auto 0;text-align:center;font-family:var(--serif);font-size:clamp(1.65rem,2.8vw,3rem);line-height:1.08;letter-spacing:-.025em}
.intro-copy em{color:var(--blue);font-weight:400}
.marquee{height:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;overflow:hidden}.marquee-track{display:flex;flex:0 0 auto;width:max-content;will-change:transform;transform:translate3d(0,0,0);animation:marquee-loop 24s linear infinite}.marquee span{display:flex;flex:0 0 auto;align-items:center;gap:22px;padding:0 22px;white-space:nowrap;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.marquee span::after{content:"✦";color:var(--blue)}@keyframes marquee-loop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.section{padding-top:clamp(90px,11vw,170px);padding-bottom:clamp(90px,11vw,170px)}.dark{background:var(--ink);color:white}.blue{background:var(--blue);color:white}.paper{background:var(--paper)}.white{background:white}
.split-intro{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(40px,7vw,120px);align-items:start}.sticky-note{position:sticky;top:130px;max-width:320px;color:rgba(11,12,13,.62)}.dark .sticky-note{color:rgba(255,255,255,.58)}.sticky-note p{margin:18px 0 0}.statement{margin:0;font-family:var(--serif);font-size:clamp(2.8rem,5.6vw,6rem);font-weight:400;line-height:.93;letter-spacing:-.045em}.statement em{font-weight:400;color:var(--electric)}
.statement-copy{max-width:720px;margin:40px 0 0 auto;color:rgba(255,255,255,.66);font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.65}
.link-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:80px}.dark .link-row{border-color:var(--line-light)}.feature-link{position:relative;min-height:250px;padding:25px clamp(24px,2.25vw,38px) 28px;border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;align-items:start;gap:28px;transition:background .38s var(--ease),color .38s var(--ease)}.dark .feature-link{border-color:var(--line-light)}.feature-link:last-child{border-right:0}.feature-link:hover,.feature-link:focus-visible{background:var(--blue);color:white;outline:none}.feature-link small{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;opacity:.55}.feature-link strong{align-self:center;max-width:92%;font-family:var(--serif);font-size:clamp(1.8rem,3vw,3.2rem);font-weight:400;line-height:.95;letter-spacing:-.035em}.feature-link i{justify-self:end;align-self:end;width:50px;height:50px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-style:normal;font-size:1.08rem;line-height:1;transition:background .32s var(--ease),border-color .32s var(--ease),transform .32s var(--ease)}.feature-link:hover i,.feature-link:focus-visible i{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.48);transform:translateX(4px)}
.featured-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:46px}.featured-head h2{margin:0}.featured-head p{max-width:390px;margin:20px 0 0;color:rgba(11,12,13,.62)}.dark .featured-head p,.blue .featured-head p{color:rgba(255,255,255,.65)}
.services-home{border-top:1px solid var(--line)}.services-home>a{display:grid;grid-template-columns:70px 1fr 1fr auto;align-items:center;gap:24px;min-height:112px;border-bottom:1px solid var(--line);transition:padding .35s var(--ease),background .35s,color .35s}.services-home>a:hover{padding-left:22px;padding-right:22px;background:var(--ink);color:white}.services-home span{font-size:.68rem;letter-spacing:.13em;color:var(--blue)}.services-home strong{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3.2rem);font-weight:400;line-height:1}.services-home em{font-style:normal;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.55}.services-home>a::after{content:"↗";font-size:1.2rem}
.poster-rail{overflow:hidden;padding-bottom:14px}.poster-track{display:flex;width:max-content;will-change:transform;animation:poster-loop 82s linear infinite}.poster-rail:hover .poster-track,.poster-rail:focus-within .poster-track{animation-play-state:paused}.poster-set{display:flex;flex:none;align-items:flex-start;gap:12px;padding-right:12px}.poster-card{position:relative;flex:0 0 min(29vw,400px);width:min(29vw,400px);height:min(43vw,580px);overflow:hidden;background:#111}.poster-set .poster-card:nth-child(even){margin-top:48px}.poster-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.poster-card:hover img{transform:scale(1.045)}.poster-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.9));pointer-events:none}.poster-card figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:white}.poster-card small{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.65}.poster-card strong{display:block;margin-top:4px;font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.7rem);font-weight:400;line-height:.98}@keyframes poster-loop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.format-switch{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.28)}.format-switch a{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:15px;min-height:150px;padding:22px 20px 24px 0;border-right:1px solid rgba(255,255,255,.28);transition:.3s}.format-switch a:last-child{border-right:0}.format-switch a:hover{padding-left:20px;background:white;color:var(--ink)}.format-switch small{font-size:.65rem;letter-spacing:.12em;opacity:.6}.format-switch strong{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,3rem);font-weight:400;line-height:1}.security-home{display:grid;grid-template-columns:.55fr 1.45fr;gap:clamp(40px,8vw,150px);align-items:start;background:var(--paper)}.security-mark{position:sticky;top:130px;font-family:var(--serif);font-size:clamp(8rem,18vw,20rem);line-height:.65;color:var(--blue)}.security-home-copy>p:not(.eyebrow){max-width:650px;margin:42px 0 0;color:rgba(11,12,13,.62);font-size:1.08rem}.text-link{display:inline-block;margin-top:35px;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.cta-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;padding-top:80px;padding-bottom:118px}.cta-band h2{margin:0;max-width:1200px}.security-cta .statement{font-size:clamp(2.45rem,5vw,5.4rem)}.circle-arrow{width:74px;height:74px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;transition:.3s}.circle-arrow:hover{background:var(--electric);color:white;border-color:var(--electric);transform:rotate(-45deg)}
.page-hero{min-height:90svh;padding-top:145px;padding-bottom:60px;display:grid;align-content:space-between}.page-hero h1{margin:40px auto 0;text-align:center;max-width:1200px}.page-lead{max-width:740px;margin:54px auto 0;text-align:center;font-family:var(--serif);font-size:clamp(1.45rem,2.3vw,2.4rem);line-height:1.15}.page-image{height:min(64vw,720px);margin-top:70px;overflow:hidden}.page-image img{width:100%;height:100%;object-fit:cover}
.timeline{border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:140px 1fr 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.timeline-row time{font-family:var(--serif);font-size:2rem}.timeline-row h3{margin:0;font-weight:400;font-size:1.2rem}.timeline-row p{margin:0;color:rgba(11,12,13,.62)}
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.person{min-height:190px;padding:25px;background:var(--paper);display:flex;flex-direction:column;justify-content:space-between}.person span{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}.person strong{font-family:var(--serif);font-size:2rem;font-weight:400;line-height:1}
.page-body-copy{max-width:720px;margin:42px 0 0 auto;color:rgba(11,12,13,.64);font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.65}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:70px;background:var(--line-light);border:1px solid var(--line-light)}.values-grid article{min-height:310px;padding:28px;background:var(--ink);display:flex;flex-direction:column;justify-content:space-between}.values-grid small{color:var(--electric);letter-spacing:.12em}.values-grid h3{margin:auto 0 18px;font-family:var(--serif);font-size:clamp(2rem,3vw,3.3rem);font-weight:400;line-height:1}.values-grid p{margin:0;color:rgba(255,255,255,.6)}
.service-chapter{display:grid;grid-template-columns:1fr 1fr;min-height:72svh;border-top:1px solid var(--line)}.service-chapter:nth-child(even) .service-photo{order:2}.service-photo{overflow:hidden;background:#111}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.service-chapter:hover .service-photo img{transform:scale(1.025)}.service-copy{padding:clamp(35px,5vw,78px);display:flex;flex-direction:column;justify-content:space-between}.service-copy>div:first-child{position:relative;z-index:2}.service-copy small{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.service-copy h2{margin:25px 0 28px;font-family:var(--serif);font-size:clamp(2.7rem,4.8vw,5.2rem);font-weight:400;line-height:.94;letter-spacing:-.04em}.service-copy p{max-width:600px;margin:0;color:rgba(11,12,13,.7);font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.68}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:32px}.chip{padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:.72rem}
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.work-tile{position:relative;min-height:62vw;max-height:820px;overflow:hidden;background:#111}.work-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.work-tile:hover img{transform:scale(1.04)}.work-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.88))}.work-tile figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:white}.work-tile small{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;opacity:.64}.work-tile strong{display:block;font-family:var(--serif);font-size:clamp(2rem,4vw,4.5rem);font-weight:400;line-height:.95}
.archive-intro{padding-top:140px;padding-bottom:54px}.archive-intro h1{margin:38px 0 26px;max-width:960px}.archive-intro .page-lead{margin:0;max-width:720px;text-align:left}.catalog-section{padding-top:34px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,34px)}.catalog-card{display:flex;flex-direction:column;min-width:0;border-top:1px solid var(--line);padding-top:12px}.catalog-poster{position:relative;aspect-ratio:2/3;overflow:hidden;background:#111}.catalog-poster img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s}.catalog-card:hover .catalog-poster img{transform:scale(1.035);filter:saturate(1.08)}.catalog-index{position:absolute;left:14px;top:14px;z-index:2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);font-size:.66rem;letter-spacing:.08em}.catalog-meta{margin-top:17px;font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.catalog-card h2{margin:8px 0 9px;font-family:var(--serif);font-size:clamp(1.65rem,2.35vw,2.8rem);font-weight:400;letter-spacing:-.035em;line-height:.95}.catalog-card p{margin:0 0 20px;color:rgba(11,12,13,.65);font-size:.94rem;line-height:1.5}.trailer-link{display:inline-flex;align-items:center;justify-content:space-between;margin-top:auto;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.trailer-link:hover{color:var(--blue)}.archive-switch{display:flex;gap:7px;flex-wrap:wrap;margin-top:34px}.archive-switch a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;font-size:.72rem}.archive-switch a.active,.archive-switch a:hover{background:var(--ink);color:white;border-color:var(--ink)}
.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.security-card{min-height:360px;padding:32px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.security-card .star{font-family:var(--serif);font-size:5rem;color:var(--blue)}.security-card h3{margin:0;font-family:var(--serif);font-size:2.4rem;font-weight:400}.security-card p{margin:18px 0 0;color:rgba(11,12,13,.62)}
.contact-hero{min-height:100svh;padding-top:145px;padding-bottom:135px;display:flex;flex-direction:column;justify-content:space-between}.contact-hero h1{margin:0;max-width:1150px}.contact-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line-light);padding-top:26px;color:rgba(255,255,255,.62)}.contact-list b{display:block;margin-bottom:10px;color:white;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.contact-email{display:inline-block;margin-top:45px;font-family:var(--serif);font-size:clamp(2rem,4.8vw,5.1rem);font-weight:400;line-height:1;border-bottom:2px solid var(--electric)}
.site-footer{background:var(--paper);padding:20px;color:#fff}.footer-stage{--footer-x:50%;--footer-y:55%;position:relative;isolation:isolate;min-height:min(920px,92svh);padding:clamp(72px,8vw,120px) clamp(18px,3vw,44px) 30px;overflow:hidden;background:#090b0d url("../images/studio-hero.jpg") center/cover no-repeat;display:grid;grid-template-rows:auto 1fr auto}.footer-stage::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(4,6,8,.72),rgba(4,6,8,.43) 45%,rgba(4,6,8,.92))}.footer-stage::after{content:"";position:absolute;inset:-10%;z-index:-1;background:radial-gradient(circle at var(--footer-x) var(--footer-y),rgba(0,168,223,.38),rgba(0,88,143,.13) 22%,transparent 46%);transition:background .18s linear;pointer-events:none}.footer-glow{position:absolute;left:var(--footer-x);top:var(--footer-y);z-index:-1;width:32vw;height:32vw;min-width:240px;min-height:240px;border-radius:50%;background:rgba(255,54,112,.18);filter:blur(75px);transform:translate(-50%,-50%);transition:left .16s linear,top .16s linear;pointer-events:none}.footer-heading{text-align:center}.footer-heading .eyebrow{justify-content:center;color:rgba(255,255,255,.65)}.footer-heading h2{margin:35px auto 0;max-width:1100px;font-family:var(--serif);font-size:clamp(3rem,7vw,7.8rem);font-weight:400;letter-spacing:-.055em;line-height:.88;text-transform:uppercase}.footer-heading h2 em{font-weight:400;color:var(--electric)}.footer-console{align-self:end;width:min(600px,92%);margin:70px auto 90px;padding:19px;border:1px solid rgba(255,255,255,.25);border-radius:22px;background:rgba(10,12,14,.7);backdrop-filter:blur(18px);box-shadow:0 25px 90px rgba(0,0,0,.3)}.footer-console>p{margin:0 0 14px;color:rgba(255,255,255,.55);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.footer-main-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.08);font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.9rem);transition:background .3s,transform .3s}.footer-main-link:hover,.footer-main-link:focus-visible{background:var(--electric);transform:translateY(-2px)}.footer-main-link b{font-family:var(--sans);font-size:1rem;font-weight:400}.footer-quick-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.footer-quick-links a{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.065);color:rgba(255,255,255,.75);font-size:.72rem;transition:background .25s,color .25s}.footer-quick-links a:hover,.footer-quick-links a:focus-visible{background:#fff;color:var(--ink)}.footer-bottom{align-self:end;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;color:rgba(255,255,255,.58);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:8px 17px}.footer-legal nav,.footer-social{display:flex;flex-wrap:wrap;gap:8px 17px}.footer-agency{text-align:right}.footer-bottom a{transition:color .25s,transform .25s}.footer-bottom a:hover,.footer-bottom a:focus-visible{color:#fff;transform:translateY(-1px)}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(35px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.js .reveal.visible{opacity:1;transform:none}
.menu-shade{position:fixed;inset:0;z-index:125;background:rgba(3,5,7,.62);backdrop-filter:blur(7px);opacity:0;pointer-events:none;transition:opacity .4s}.menu-open .menu-shade{opacity:1;pointer-events:auto}
.command-wrap{position:fixed;z-index:140;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(790px,calc(100vw - 28px));pointer-events:none}
.command{pointer-events:auto;width:350px;margin:0 auto;border:1px solid rgba(255,255,255,.6);border-radius:35px;background:rgba(245,246,246,.86);color:var(--ink);backdrop-filter:blur(24px) saturate(1.2);box-shadow:0 18px 70px rgba(0,0,0,.26);overflow:hidden;transition:width .6s var(--ease),border-radius .6s var(--ease)}.command.open{width:100%;border-radius:25px;background:rgba(247,248,248,.97)}
.command-bar{height:68px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px 9px 8px 24px}.command-prompt{display:flex;align-items:center;gap:11px;font-size:.88rem;font-weight:400}.command-prompt::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--electric);box-shadow:0 0 0 5px rgba(0,168,223,.14)}.command.open .command-prompt{opacity:.35}
.menu-toggle{appearance:none;width:50px;height:50px;border:0;border-radius:50%;background:rgba(11,12,13,.07);display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s,transform .42s var(--ease)}.menu-toggle:hover,.menu-toggle:focus-visible{background:var(--ink);color:#fff;transform:scale(.94)}.menu-toggle i{position:relative;display:block;width:18px;height:18px}.menu-toggle i::before,.menu-toggle i::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:1.5px;border-radius:2px;background:currentColor;transition:transform .42s var(--ease),opacity .25s}.menu-toggle i::before{transform:translate(-50%,-50%) rotate(90deg)}.menu-toggle i::after{opacity:0;transform:translate(-50%,-50%) rotate(0)}.command.open .menu-toggle i::before{transform:translate(-50%,-50%) rotate(45deg)}.command.open .menu-toggle i::after{opacity:1;transform:translate(-50%,-50%) rotate(-45deg)}.command.open .menu-toggle:hover,.command.open .menu-toggle:focus-visible{transform:rotate(90deg) scale(.88)}
.command-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .58s var(--ease)}.command.open .command-panel{grid-template-rows:1fr}.command-inner{min-height:0;overflow:hidden}.menu-preview{position:relative;height:0;margin:0 13px;overflow:hidden;border-radius:17px;background:#111;transition:height .58s var(--ease),margin .58s var(--ease)}.command.open .menu-preview{height:170px;margin-bottom:9px}.menu-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.62);opacity:1;transform:scale(1.01);transition:opacity .28s var(--ease),transform .55s var(--ease),filter .45s}.menu-preview.is-switching img{opacity:.12;transform:scale(1.045);filter:saturate(.45) brightness(.42)}.menu-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.08))}.preview-copy{position:absolute;z-index:2;left:22px;bottom:18px;color:white}.preview-copy small{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ice)}.preview-copy strong{display:block;margin-top:3px;font-family:var(--serif);font-size:1.9rem;font-weight:400;line-height:.98}
.menu-links{display:block;padding:0 13px 13px}.menu-link{border-radius:14px;background:rgba(11,12,13,.05);padding:13px 12px;text-align:left;transition:.25s}.menu-link:hover,.menu-link:focus-visible,.menu-link.active{background:var(--ink);color:white;transform:translateY(-2px)}.menu-link small{display:block;margin-bottom:6px;font-size:.58rem;letter-spacing:.12em;color:var(--blue)}.menu-link span{font-size:.8rem;font-weight:400}
@media(max-width:900px){.split-intro{grid-template-columns:1fr}.sticky-note{position:static}.link-row{grid-template-columns:1fr}.feature-link{border-right:0;border-bottom:1px solid var(--line);min-height:180px;padding:23px clamp(20px,5vw,34px) 25px}.feature-link strong{max-width:82%}.services-home>a{grid-template-columns:50px 1fr auto}.services-home em{display:none}.format-switch{grid-template-columns:1fr}.format-switch a{border-right:0;border-bottom:1px solid rgba(255,255,255,.28)}.security-home{grid-template-columns:1fr}.security-mark{position:static}.values-grid{grid-template-columns:1fr}.service-chapter{grid-template-columns:1fr}.service-chapter:nth-child(even) .service-photo{order:0}.service-photo{height:58vw}.people-grid{grid-template-columns:repeat(2,1fr)}.security-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:100px 1fr}.timeline-row p{grid-column:2}.contact-list{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .site-header{height:72px;padding:14px 17px}.logo-mark{width:108px}.logo{width:100%}.header-meta span{display:none}.header-contact{font-size:.61rem}.header-tools{gap:13px}.tool-button{padding:6px 0 5px;font-size:.58rem}.header-popover{top:38px}.header-popover.lang-popover{right:61px}
  .display-xl{font-size:15vw}.page-title{font-size:14vw}.section-title{font-size:11.5vw}
  .home-hero{min-height:auto;padding-top:92px;padding-bottom:68px}.home-media{width:100%;height:69svh;margin-top:14px}.media-caption{left:15px;right:15px;bottom:14px}.media-caption span{display:none}.intro-copy{font-size:1.9rem;margin-top:30px}
  .section{padding-top:82px;padding-bottom:82px}.statement{font-size:12vw}.statement-copy{margin-top:28px}.services-home>a{grid-template-columns:38px 1fr auto;gap:12px;min-height:92px}.services-home strong{font-size:1.65rem}.poster-card{flex-basis:78vw;height:112vw}.poster-card:nth-child(even){margin-top:36px}.featured-head{align-items:flex-start;flex-direction:column}
  .cta-band{grid-template-columns:1fr;padding-top:65px;padding-bottom:100px}.circle-arrow{width:62px;height:62px}
  .page-hero{min-height:78svh;padding-top:110px}.page-lead{font-size:1.6rem;margin-top:38px}.page-image{height:70svh;margin-top:44px}
  .people-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr}.timeline-row p{grid-column:1}.service-photo{height:72vw}.service-copy{padding:34px 18px 56px}.service-copy h2{font-size:12vw}
  .work-grid{grid-template-columns:1fr}.work-tile{min-height:138vw}.catalog-grid{grid-template-columns:1fr}.archive-intro{padding-top:108px;padding-bottom:30px}.catalog-card h2{font-size:2.15rem}.contact-hero{padding-top:115px}.contact-list{gap:22px}.contact-email{font-size:8vw}
  .site-footer{padding:8px}.footer-stage{min-height:92svh;padding:68px 14px 22px}.footer-heading h2{font-size:12.5vw}.footer-console{width:100%;margin:55px auto 82px;padding:13px}.footer-bottom{grid-template-columns:1fr;gap:14px}.footer-legal,.footer-legal nav,.footer-social{justify-content:flex-start}.footer-agency{text-align:left}.footer-glow{filter:blur(48px)}.command-wrap{width:calc(100vw - 18px);bottom:max(9px,env(safe-area-inset-bottom))}.command{width:100%}.command.open{border-radius:21px}.command-bar{height:62px}.menu-toggle{width:46px;height:46px}.command.open .menu-preview{height:145px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.page-transition{display:none}}

/* WordPress integration */
.admin-bar .site-header{top:32px}.admin-bar .scroll-progress{top:32px}
.dock-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0;margin:0;list-style:none;width:100%}.dock-links li{margin:0;min-width:0}.dock-links a{display:block;min-height:64px;border-radius:14px;background:rgba(11,12,13,.05);padding:13px 12px;transition:.25s}.dock-links a:hover,.dock-links a:focus-visible,.dock-links li.is-active>a,.dock-links .current-menu-item>a{background:var(--ink);color:#fff;transform:translateY(-2px)}.dock-links small{display:block;margin-bottom:6px;font-size:.58rem;letter-spacing:.12em;color:var(--blue)}.dock-links span,.dock-links a{font-size:.8rem;font-weight:400}.menu-links>.dock-links{width:100%}
.header-popover ul{list-style:none;margin:0;padding:0}.header-popover li{margin:0}.header-popover li.current-lang a,.header-popover a[aria-current="page"]{background:var(--ink);color:#fff}
.entry-content{font-family:var(--serif);font-size:clamp(1.2rem,1.8vw,1.7rem);line-height:1.45}.entry-content>*{max-width:900px}.entry-content h2,.entry-content h3{font-weight:400;letter-spacing:-.03em}.entry-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.production-single{min-height:100svh;padding-top:145px;padding-bottom:130px;display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:clamp(40px,7vw,110px);align-items:start}.single-poster{position:sticky;top:120px}.single-poster img{width:100%;height:auto}.single-copy{padding-top:30px}.single-copy h1{margin:34px 0}.single-copy .entry-content{font-family:var(--sans);font-size:1.05rem;color:rgba(11,12,13,.72)}.trailer-button{display:inline-flex;margin-top:30px;padding:14px 20px;border-radius:999px;background:var(--blue);color:#fff;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.nav-links{display:flex;gap:8px;justify-content:center;margin-top:60px}.nav-links a,.nav-links span{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.nav-links .current{background:var(--ink);color:#fff}
@media(max-width:782px){.admin-bar .site-header{top:46px}.admin-bar .scroll-progress{top:46px}}
@media(max-width:640px){.dock-links{grid-template-columns:repeat(2,1fr)}.production-single{grid-template-columns:1fr;padding-top:105px}.single-poster{position:static}.single-copy{padding-top:0}}

/* Release 1.4.0: globally unified controls and expanded editorial sections */
.logo-mark{width:167px}
.site-header .tool-button{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important}
.site-header .tool-button:hover,.site-header .tool-button:focus-visible,.site-header .tool-button[aria-expanded="true"]{background:transparent!important;color:inherit!important;opacity:.68}
.site-header .header-popover{padding:9px 0;border:0;border-radius:0;background:transparent!important;color:inherit;box-shadow:none;backdrop-filter:none;text-shadow:0 1px 14px rgba(255,255,255,.36)}
.site-header[data-surface="dark"] .header-popover,.site-header[data-surface="blue"] .header-popover{text-shadow:0 1px 14px rgba(0,0,0,.38)}
.header-popover a{position:relative;border-radius:0;background:transparent!important;color:inherit!important;transition:opacity .25s}
.header-popover a:hover,.header-popover a:focus-visible,.header-popover a.active,.header-popover a[aria-current="page"],.header-popover li.current-lang a{background:transparent!important;color:inherit!important;opacity:.55}
.header-popover a::before{content:"";position:absolute;left:11px;right:11px;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.header-popover a:hover::before,.header-popover a:focus-visible::before,.header-popover a[aria-current="page"]::before,.header-popover li.current-lang a::before{transform:scaleX(1);transform-origin:left}

.format-switch a{min-height:178px;padding:25px clamp(24px,2.25vw,38px) 28px;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:start;gap:24px;transition:background .38s var(--ease),color .38s var(--ease)}
.format-switch a:hover,.format-switch a:focus-visible{padding-left:clamp(24px,2.25vw,38px);background:white;color:var(--ink);outline:none}
.format-switch strong{align-self:end}
.format-switch span{grid-column:2;grid-row:1/3;align-self:end;width:50px;height:50px;border:1px solid rgba(255,255,255,.32);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:1.08rem;transition:background .32s var(--ease),border-color .32s var(--ease),transform .32s var(--ease)}
.format-switch a:hover span,.format-switch a:focus-visible span{background:rgba(0,88,143,.09);border-color:rgba(0,88,143,.25);transform:translateX(4px)}

.command .menu-toggle{border:0!important;background:rgba(11,12,13,.07)!important;color:var(--ink)!important}
.command .menu-toggle:hover,.command .menu-toggle:focus-visible{background:var(--ink)!important;color:#fff!important}
.command.open .menu-toggle:hover,.command.open .menu-toggle:focus-visible{background:rgba(11,12,13,.09)!important;color:var(--ink)!important;transform:rotate(90deg) scale(.88)}

.security-manifesto{min-height:86svh;padding-top:clamp(90px,10vw,155px);padding-bottom:clamp(90px,10vw,155px);display:grid;grid-template-columns:minmax(320px,.82fr) 1.18fr;gap:clamp(55px,9vw,150px);align-items:center}
.security-visual{position:relative;isolation:isolate;width:min(38vw,510px);aspect-ratio:1;margin:auto;border:1px solid rgba(0,88,143,.2);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(0,168,223,.15),rgba(0,88,143,.045) 45%,transparent 68%)}
.security-visual::before,.security-visual::after{content:"";position:absolute;inset:10%;z-index:-1;border:1px solid rgba(0,88,143,.16);border-radius:50%}
.security-visual::after{inset:24%;border-style:dashed;animation:security-spin 22s linear infinite reverse}
.security-orbit{position:absolute;inset:3%;border-radius:50%;border-top:1px solid var(--blue);border-right:1px solid transparent;animation:security-spin 16s linear infinite}
.security-orbit::after{content:"";position:absolute;right:12%;top:9%;width:12px;height:12px;border-radius:50%;background:var(--electric);box-shadow:0 0 0 9px rgba(0,168,223,.12)}
.security-orbit.orbit-b{inset:17%;animation-duration:11s;animation-direction:reverse;border-top-color:transparent;border-bottom:1px solid var(--blue)}
.security-orbit.orbit-b::after{right:auto;left:5%;top:64%;width:8px;height:8px}
.security-core{width:42%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);color:white;box-shadow:0 30px 80px rgba(0,88,143,.22)}
.security-core span{font-size:.6rem;letter-spacing:.22em;color:rgba(255,255,255,.55)}
.security-core b{margin:8px 0;font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,2.4rem);font-weight:400;letter-spacing:.04em}
.security-visual>small{position:absolute;bottom:8%;font-size:.56rem;letter-spacing:.2em;color:var(--blue)}
.security-manifesto-copy .page-body-copy{margin-left:0}
.security-principles{padding-top:clamp(95px,11vw,170px);padding-bottom:clamp(95px,11vw,170px)}
.security-principles-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:70px}
.security-principles-head h2{margin:0;max-width:850px;text-align:right;font-family:var(--serif);font-size:clamp(3rem,6.2vw,6.8rem);font-weight:400;line-height:.88;letter-spacing:-.05em;text-transform:uppercase}
.security-principles-head h2 em{color:var(--electric);font-weight:400}
.security-principles .security-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line-light);border-left:1px solid var(--line-light)}
.security-principles .security-card{position:relative;min-height:390px;padding:28px;border:0;border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:background .42s var(--ease),color .42s var(--ease),transform .42s var(--ease)}
.security-principles .security-card::before{content:"";position:absolute;inset:auto -20% -55% 20%;height:75%;border-radius:50%;background:var(--blue);filter:blur(70px);opacity:0;transition:opacity .45s var(--ease)}
.security-principles .security-card:hover{background:rgba(255,255,255,.045);transform:translateY(-7px)}
.security-principles .security-card:hover::before{opacity:.48}
.security-card-top{display:flex;align-items:center;justify-content:space-between;color:var(--electric);font-size:.72rem;letter-spacing:.15em}
.security-card-top i{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 7px rgba(0,168,223,.12)}
.security-principles .security-card h3{position:relative;margin:0;color:white;font-family:var(--serif);font-size:clamp(2rem,3vw,3rem);font-weight:400;line-height:.96}
.security-principles .security-card p{position:relative;margin:20px 0 0;color:rgba(255,255,255,.58);line-height:1.6}

.contact-email{margin-top:38px;font-size:clamp(1.3rem,2.6vw,2.8rem);line-height:1.05;border-bottom-width:1px}
.contact-list{gap:0;border-top:1px solid var(--line-light);padding-top:0}
.location-link{position:relative;min-height:170px;padding:26px 62px 22px 0;border-right:1px solid var(--line-light);display:flex;flex-direction:column;justify-content:flex-end;transition:padding .35s var(--ease),background .35s var(--ease),color .35s var(--ease)}
.location-link:not(:first-child){padding-left:26px}
.location-link:last-child{border-right:0}
.location-link:hover,.location-link:focus-visible{padding-right:72px;background:rgba(255,255,255,.055);color:white;outline:none}
.location-link small{position:absolute;top:24px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--electric)}
.location-link:first-child small{left:0}.location-link:not(:first-child) small{left:26px}
.location-link strong{font-family:var(--serif);font-size:clamp(1.35rem,2.1vw,2.1rem);font-weight:400;line-height:1}
.location-link span{margin-top:8px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.location-link i{position:absolute;right:22px;bottom:24px;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;font-style:normal;transition:transform .3s var(--ease),background .3s}
.location-link:hover i,.location-link:focus-visible i{transform:translate(3px,-3px);background:rgba(255,255,255,.1)}

.client-stage{padding:clamp(90px,10vw,150px) 0;overflow:hidden;border-bottom:1px solid var(--line-light)}
.client-stage-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:70px}
.client-stage-head h2{margin:0;font-family:var(--serif);font-size:clamp(3.6rem,7.5vw,8rem);font-weight:400;line-height:.82;letter-spacing:-.055em;text-transform:uppercase}
.client-marquee{overflow:hidden;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.client-track{display:flex;width:max-content;will-change:transform;animation:client-loop 42s linear infinite}
.client-marquee:hover .client-track,.client-marquee:focus-within .client-track{animation-play-state:paused}
.client-set{display:flex;flex:none}
.client-set a{min-width:280px;height:112px;padding:0 28px;border-right:1px solid var(--line-light);display:flex;align-items:center;justify-content:space-between;gap:28px;color:rgba(255,255,255,.62);transition:background .3s,color .3s}
.client-set a:hover,.client-set a:focus-visible{background:white;color:var(--ink);outline:none}
.client-set span{font-family:var(--serif);font-size:clamp(1.45rem,2.2vw,2.35rem);white-space:nowrap}
.client-set i{font-style:normal;font-size:.9rem;transition:transform .3s var(--ease)}
.client-set a:hover i,.client-set a:focus-visible i{transform:translate(3px,-3px)}

.related-work{padding-top:clamp(90px,10vw,150px);padding-bottom:clamp(110px,12vw,180px)}
.related-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:55px}
.related-head h2{margin:0;font-family:var(--serif);font-size:clamp(3rem,6vw,6.4rem);font-weight:400;letter-spacing:-.05em;line-height:.9;text-transform:uppercase}
.related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,28px)}
.related-card{min-width:0}
.related-card a{display:block}
.related-card figure{aspect-ratio:2/3;overflow:hidden;background:#151719}
.related-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}
.related-card a:hover img,.related-card a:focus-visible img{transform:scale(1.04);filter:saturate(1.08)}
.related-card>a>div{position:relative;padding:17px 40px 0 0}
.related-card small{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--electric)}
.related-card h3{margin:7px 0 0;font-family:var(--serif);font-size:clamp(1.35rem,2vw,2.05rem);font-weight:400;line-height:1}
.related-card span{position:absolute;right:2px;top:20px;width:30px;height:30px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;font-size:.72rem;transition:transform .3s,background .3s}
.related-card a:hover span,.related-card a:focus-visible span{transform:translate(3px,-3px);background:rgba(255,255,255,.1)}

@keyframes security-spin{to{transform:rotate(360deg)}}
@keyframes client-loop{to{transform:translate3d(-50%,0,0)}}

@media(max-width:900px){
  .security-manifesto{grid-template-columns:1fr}.security-visual{width:min(72vw,500px)}.security-principles-head{display:block}.security-principles-head h2{margin-top:28px;text-align:left}.security-principles .security-grid{grid-template-columns:repeat(2,1fr)}
  .location-link,.location-link:not(:first-child){min-height:140px;padding:24px 62px 22px 0;border-right:0;border-bottom:1px solid var(--line-light)}.location-link:not(:first-child) small{left:0}
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .logo-mark{width:148px}.security-manifesto{padding-top:90px}.security-visual{width:min(84vw,430px)}.security-principles-head h2{font-size:12vw}.security-principles .security-grid{grid-template-columns:1fr}.security-principles .security-card{min-height:290px}
  .client-stage-head{display:block;margin-bottom:45px}.client-stage-head h2{margin-top:28px;font-size:14vw}.client-set a{min-width:230px;height:96px;padding:0 20px}.related-head{display:block}.related-head h2{margin-top:25px;font-size:12vw}.related-grid{grid-template-columns:1fr}.contact-email{font-size:clamp(1.15rem,5.4vw,1.65rem)}
}

/* Release 1.4.1: coordinated hero and official client marks */
.hero-partner{position:absolute;right:clamp(18px,2vw,32px);bottom:clamp(72px,7vw,98px);z-index:3;width:clamp(108px,9vw,132px);aspect-ratio:1;overflow:hidden;display:block;filter:drop-shadow(0 14px 28px rgba(0,0,0,.3))}
.hero-partner img{width:auto;height:100%;max-width:none;object-fit:initial;object-position:left center;transform:none!important}
.client-set a{min-width:390px;height:138px;padding:0 28px;display:grid;grid-template-columns:116px minmax(120px,1fr) auto;align-items:center;justify-content:initial;gap:24px;color:rgba(255,255,255,.72)}
.client-set a:hover,.client-set a:focus-visible{background:rgba(255,255,255,.07);color:white}
.client-logo{width:116px;height:72px;padding:9px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035)}
.client-logo img{width:auto;height:auto;max-width:100%;max-height:54px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.88;transition:opacity .3s var(--ease),transform .35s var(--ease)}
.client-set a:hover .client-logo img,.client-set a:focus-visible .client-logo img{opacity:1;transform:scale(1.045)}
.client-set strong{font-family:var(--sans);font-size:.7rem;font-weight:400;line-height:1.35;letter-spacing:.12em;text-transform:uppercase}

@media(max-width:900px){
  .home-hero{--home-frame:100%}.display-xl.home-title{font-size:clamp(1rem,5.9vw,3.4rem)}
}
@media(max-width:640px){
  .display-xl.home-title{font-size:5.75vw}.hero-partner{right:14px;bottom:62px;width:96px}.client-set a{min-width:310px;height:116px;padding:0 18px;grid-template-columns:88px minmax(105px,1fr) auto;gap:16px}.client-logo{width:88px;height:62px;padding:8px}.client-logo img{max-height:46px}.client-set strong{font-size:.61rem;letter-spacing:.1em}
}

/* Release 1.4.2: full partner lockup and gapless services ribbon */
.hero-partner{width:clamp(250px,22vw,372px);height:auto;aspect-ratio:auto;overflow:visible}
.hero-partner img{width:100%;height:auto;max-width:100%;object-fit:contain}
.marquee-group{display:flex;flex:none;width:max-content}
.marquee-track{animation-duration:34s}
@media(max-width:640px){.hero-partner{right:14px;bottom:58px;width:230px}.marquee-track{animation-duration:28s}}

/* Gold Star Shield: one mark with a centered caption on the hero image. */
.hero-partner{width:clamp(145px,12vw,205px);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.hero-partner img{display:block;width:min(100%,160px);height:auto;max-height:160px;object-fit:contain}
.hero-partner-label{display:block;max-width:100%;color:#fff;font-size:clamp(.48rem,.68vw,.66rem);font-weight:700;line-height:1.3;letter-spacing:.12em;text-shadow:0 2px 9px rgba(0,0,0,.9)}
@media(max-width:640px){.hero-partner{width:132px;right:12px;bottom:60px;gap:6px}.hero-partner img{max-height:106px}.hero-partner-label{font-size:.45rem;letter-spacing:.07em}}

/* Release 1.4.2: one menu icon language on every template, including Contact. */
.menu-toggle i::before,.menu-toggle i::after{opacity:1;transform:translate(-50%,calc(-50% - 4px)) rotate(0)}
.menu-toggle i::after{transform:translate(-50%,calc(-50% + 4px)) rotate(0)}
.command.open .menu-toggle i::before{transform:translate(-50%,-50%) rotate(45deg)}
.command.open .menu-toggle i::after{opacity:1;transform:translate(-50%,-50%) rotate(-45deg)}

/* Release 1.4.3: balanced hero, responsive brand scale and cinematic film rail. */
.logo-mark{width:200px}
.js .poster-track .poster-card{opacity:1;transform:none}
.command .menu-toggle,.command.open .menu-toggle{width:50px;height:50px;min-width:50px;aspect-ratio:1;border-radius:50%!important;clip-path:circle(50%);overflow:hidden}
.command.open .menu-toggle{background:rgba(11,12,13,.07)!important}
@media(max-width:900px){.logo-mark{width:172px}}
@media(max-width:640px){.logo-mark{width:148px}.menu-toggle,.command .menu-toggle,.command.open .menu-toggle{width:46px;height:46px;min-width:46px}.poster-card{flex-basis:72vw;width:72vw;height:106vw}.poster-track{animation-duration:68s}}
@media(max-width:380px){.logo-mark{width:132px}.display-xl.home-title{font-size:5.45vw}}

/* Release 1.4.4: larger brand and a more generous opening offset. */
.home-hero{padding-top:142px}
.logo-mark{width:240px}
@media(max-width:900px){.logo-mark{width:206px}}
@media(max-width:640px){.home-hero{padding-top:122px}.logo-mark{width:178px}}
@media(max-width:380px){.logo-mark{width:158px}}

/* Release 1.4.5: optical centering of the enlarged header mark. */
.logo-link{position:relative;top:-30px}
@media(max-width:900px){.logo-link{top:-25px}}
@media(max-width:640px){.logo-link{top:-20px}}
@media(max-width:380px){.logo-link{top:-16px}}

/* Release 1.4.6: a further 20% scale-up while preserving the optical centre. */
.logo-mark{width:288px}
.logo-link{top:-47px}
@media(max-width:900px){.logo-mark{width:247px}.logo-link{top:-40px}}
@media(max-width:640px){.logo-mark{width:214px}.logo-link{top:-33px}}
@media(max-width:380px){.logo-mark{width:190px}.logo-link{top:-28px}}

/* Release 1.4.7: consistent spacing of the homepage statement on all screens. */
.display-xl.home-title{letter-spacing:.012em;font-size:clamp(1rem,5.9vw,6.6rem)}
.home-title i{justify-content:center;gap:.42em}
@media(max-width:900px){.display-xl.home-title{font-size:clamp(1rem,5.9vw,3.4rem)}}
@media(max-width:640px){.display-xl.home-title{font-size:5.75vw}}
@media(max-width:380px){.display-xl.home-title{font-size:5.45vw}}

/* Release 1.4.8: tablet, landscape and narrow-screen layout. */
html{overflow-x:clip}
.home-hero{--home-frame:min(100%,1600px);padding-top:195px}
.home-title-line{overflow:visible}
.display-xl.home-title{max-width:100%;white-space:normal;line-height:1.02;font-size:clamp(1rem,5.1vw,6.2rem)}
.home-title i{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:.12em;min-width:0}
.home-title i span{min-width:0;white-space:nowrap}
.home-media{max-width:100%}
.shell>*{min-width:0}
.split-intro,.security-home,.security-manifesto,.service-chapter,.production-single{min-width:0}
.statement,.page-title,.section-title,.footer-heading h2,.contact-email,.entry-content{overflow-wrap:anywhere}
.contact-email{max-width:100%}
.service-photo img,.work-tile img,.catalog-poster img,.poster-card img{max-width:none}
.command.open{max-height:calc(100dvh - 24px);display:flex;flex-direction:column}
.command.open .command-bar{flex:none}
.command.open .command-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.command.open .command-inner{min-height:0}
@media(min-width:641px) and (max-width:1100px){
  .home-hero{padding-top:190px}
  .display-xl.home-title{font-size:clamp(1rem,5vw,3.8rem)}
  .split-intro{grid-template-columns:1fr;gap:34px}
  .sticky-note{position:static;max-width:650px}
  .link-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-link{min-height:220px}
  .feature-link:nth-child(2){border-right:0}
  .feature-link:last-child{grid-column:1/-1;border-top:1px solid var(--line-light)}
  .format-switch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .format-switch a:nth-child(2){border-right:0}
  .format-switch a:last-child{grid-column:1/-1;border-top:1px solid var(--line-light)}
  .services-home>a{grid-template-columns:52px minmax(0,1fr) auto;gap:16px}
  .services-home em{display:none}
  .security-principles .security-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .security-manifesto{grid-template-columns:1fr;gap:35px}
  .security-visual{width:min(55vw,500px)}
  .production-single{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px}
  .footer-bottom{grid-template-columns:1fr 1fr}
  .footer-agency{grid-column:2;text-align:right}
}
@media(min-width:641px) and (max-width:900px){
  .service-photo{height:clamp(320px,52vw,530px)}
  .service-copy{gap:35px}
  .timeline-row{grid-template-columns:100px minmax(0,1fr)}
  .page-hero{padding-top:180px}
  .contact-hero{padding-top:180px}
  .archive-intro{padding-top:180px}
}
@media(max-width:640px){
  .home-hero{padding-top:160px}
  .site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .logo-mark{width:clamp(142px,43vw,190px)}
  .logo-link{top:-22px}
  .header-meta{min-width:0}
  .header-tools{gap:10px}
  .display-xl.home-title{font-size:clamp(1rem,4.75vw,2.3rem)}
  .home-title i{gap:.1em}
  .home-media{height:clamp(360px,69svh,650px)}
  .hero-partner{max-width:min(230px,65%)}
  .media-caption{max-width:calc(100% - 30px)}
  .footer-stage{min-height:0}
  .footer-main-link{overflow-wrap:anywhere}
  .entry-content img,.entry-content iframe,.entry-content video{max-width:100%;height:auto}
}
@media(max-width:380px){
  .display-xl.home-title{font-size:4.55vw}
  .logo-mark{width:142px}
  .logo-link{top:-15px}
  .header-meta{font-size:.6rem}
  .header-tools{gap:9px}
  .dock-links{grid-template-columns:1fr 1fr;gap:5px}
  .dock-links a{padding:9px;min-height:54px}
}
@media(max-height:650px){
  .command.open .menu-preview{height:0;margin-bottom:0}
  .command.open .command-panel{scrollbar-width:thin}
  .footer-stage{min-height:0}
}

/* Release 1.4.9: contact copy control and tablet hero rhythm. */
.contact-email-block{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}
.contact-email{align-self:flex-start}
.contact-copy-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;max-width:100%;margin-top:15px}
.contact-copy-button{appearance:none;cursor:pointer;font-family:var(--sans);font-size:.7rem;letter-spacing:.15em;line-height:1;text-transform:uppercase}
.contact-copy-status{font-size:.78rem;color:#fff;line-height:1.35}
@media(min-width:641px) and (max-width:1100px){
  .home-hero{min-height:0;padding-bottom:clamp(60px,8vw,90px)}
  .home-media{height:clamp(360px,50vw,640px)}
  .intro-copy{width:min(750px,100%)}
}
@media(max-width:640px){
  .contact-copy-row{margin-top:13px}
}

/* Release 1.4.10: text-only copy action and balanced homepage title. */
.contact-copy-button{position:relative;min-height:0;padding:7px 0 6px;border:0;border-radius:0;background:transparent;color:inherit;transition:opacity .25s,color .4s var(--ease)}
.contact-copy-button::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.contact-copy-button:hover::after,.contact-copy-button:focus-visible::after,.contact-copy-button.is-copied::after{transform:scaleX(1);transform-origin:left}
.contact-copy-button:hover,.contact-copy-button:focus-visible,.contact-copy-button.is-copied{background:transparent;color:inherit;border-color:transparent;opacity:.72}
.contact-copy-button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.home-hero{padding-top:170px}
.display-xl.home-title{letter-spacing:.018em}
.home-title i{justify-content:center;gap:.32em}
@media(min-width:641px) and (max-width:1100px){.home-hero{padding-top:165px}}
@media(max-width:640px){.home-hero{padding-top:135px}.home-title i{gap:.26em}}

/* Release 1.4.11: prevent WordPress button styles from painting behind COPIA. */
body .contact-hero button.contact-copy-button,
body .contact-hero button.contact-copy-button:hover,
body .contact-hero button.contact-copy-button:focus,
body .contact-hero button.contact-copy-button:active,
body .contact-hero button.contact-copy-button.is-copied{
  width:auto!important;min-width:0!important;
  background:none!important;background-color:transparent!important;background-image:none!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  color:#fff!important;text-shadow:none!important;
}

/* Home: white background and dark controls for Storie in scena. */
.stories-home{color:var(--ink)}
.stories-home .format-switch{border-top-color:var(--line)}
.stories-home .format-switch a{border-right-color:var(--line)}
.stories-home .format-switch a:hover{background:var(--ink);color:#fff}

/* Release 1.4.13: spazio tra numero e titolo nel menu inferiore. */
.command .menu-links .dock-links small,
.command .menu-links .menu-link small{margin-bottom:0;padding-bottom:10px}

/* Contact hierarchy and identical number spacing on every page. */
.contact-hero h1.page-title{margin-top:clamp(26px,3vw,46px);max-width:980px;font-size:clamp(3rem,5.25vw,5.8rem);line-height:.96}
.command .menu-links .dock-links a{display:grid;grid-template-rows:auto auto;align-content:center;row-gap:10px}
.command .menu-links .dock-links a small{margin:0;padding:0;line-height:1}
.command .menu-links .dock-links a span{display:block;line-height:1.25}
@media(max-width:640px){.contact-hero h1.page-title{margin-top:28px;font-size:clamp(2.6rem,10vw,4rem);line-height:1}.command .menu-links .dock-links a{row-gap:8px}}

/* 1.4.18 — one circular arrow, traced from the supplied reference. */
.circle-arrow,.feature-link i,.format-switch span,.location-link i,.related-card span{font-size:0;line-height:0;flex:none;overflow:hidden;border:0;background:transparent;box-shadow:none;transition:color .32s var(--ease),transform .32s var(--ease)}
.circle-arrow::before,.feature-link i::before,.format-switch span::before,.location-link i::before,.related-card span::before{content:"";display:block;width:100%;height:100%;background:currentColor;-webkit-mask:url("../images/arrow-in-circle.svg") center/contain no-repeat;mask:url("../images/arrow-in-circle.svg") center/contain no-repeat;transform:rotate(-90deg)}
.circle-arrow.arrow-down::before,.feature-link i::before{transform:none}
.circle-arrow:hover,.circle-arrow:focus-visible,.feature-link:hover i,.feature-link:focus-visible i,.format-switch a:hover span,.format-switch a:focus-visible span,.location-link:hover i,.location-link:focus-visible i,.related-card a:hover span,.related-card a:focus-visible span{background:transparent;border:0;box-shadow:none;transform:scale(1.07)}
.circle-arrow:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.inline-arrow{display:inline-block;width:26px;height:26px;flex:none;vertical-align:middle;background:currentColor;-webkit-mask:url("../images/arrow-in-circle.svg") center/contain no-repeat;mask:url("../images/arrow-in-circle.svg") center/contain no-repeat;transform:rotate(-90deg)}
.inline-arrow.arrow-down{transform:none}
.featured-head>a,.footer-agency,.trailer-button{display:inline-flex;align-items:center;gap:10px}
.featured-head>a .inline-arrow{width:24px;height:24px}
.client-set i.inline-arrow{width:27px;height:27px;font-size:0}
.footer-main-link b.inline-arrow{width:34px;height:34px;font-size:0}
.footer-agency .inline-arrow{width:17px;height:17px}
.trailer-link b.inline-arrow{width:25px;height:25px}
.trailer-button .inline-arrow{width:22px;height:22px}
.services-home>a::after{content:"";width:39px;height:39px;background:currentColor;-webkit-mask:url("../images/arrow-in-circle.svg") center/contain no-repeat;mask:url("../images/arrow-in-circle.svg") center/contain no-repeat;transform:rotate(-90deg)}
.header-popover a::after{content:"";width:17px;height:17px;flex:none;background:currentColor;-webkit-mask:url("../images/arrow-in-circle.svg") center/contain no-repeat;mask:url("../images/arrow-in-circle.svg") center/contain no-repeat;transform:rotate(-90deg)}
.header-popover a[data-set-lang]::after{display:none}
.page-title,.section-title,.statement,.footer-heading h2,.service-copy h2,.work-tile strong,.catalog-card h2,.related-card h3{line-height:1.08;overflow-wrap:normal;word-break:normal;hyphens:auto}
.page-hero,.contact-hero{height:auto}
.service-copy,.service-copy>div,.feature-link,.featured-head>div,.format-switch strong,.footer-main-link span{min-width:0}
.service-copy h2,.work-tile strong{overflow-wrap:anywhere}
.command{background:rgba(250,251,251,.97)}
.command-prompt{min-width:0;line-height:1.25}
.command-prompt::before{flex:none}
.command-bar{gap:10px;grid-template-columns:minmax(0,1fr) auto}
.command.open{background:rgba(250,251,251,.985)}
.theme-filters{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.site-header[data-surface="dark"] .logo,.site-header[data-surface="blue"] .logo{filter:brightness(0) invert(1)}
.hero-partner{padding:10px 11px;border:1px solid rgba(255,255,255,.72);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(0,0,0,.23);filter:none;backdrop-filter:blur(10px)}
.hero-partner-label{color:#1b3450;text-shadow:none;letter-spacing:.07em}
@media(min-width:1101px){.hero-partner{width:clamp(106px,8vw,128px);gap:6px}.hero-partner img{max-height:110px}.hero-partner-label{font-size:.49rem}}
@media(min-width:641px) and (max-width:1100px){
  .logo-mark{width:296px}
  .home-hero{padding-top:188px}
  .site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .page-hero,.contact-hero{min-height:0;gap:clamp(40px,8vw,90px)}
  .page-title{font-size:clamp(3.3rem,7vw,5.8rem)}
  .statement{font-size:clamp(2.9rem,5.5vw,5rem)}
  .service-copy h2{font-size:clamp(2.8rem,5.5vw,4.5rem)}
  .hero-partner{width:clamp(115px,12vw,142px);right:20px;bottom:80px;gap:5px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0;filter:drop-shadow(0 2px 5px rgba(0,0,0,.72))}
  .hero-partner img{max-height:92px}
  .hero-partner img{filter:url(#tpn-white-shield)}
  .hero-partner-label{font-size:.53rem;color:#fff;text-shadow:0 2px 7px rgba(0,0,0,.9)}
}
@media(max-width:640px){
  .logo-mark{width:clamp(210px,66vw,257px)}
  .logo-link{position:relative;z-index:1;top:-38px}
  .site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  .header-meta,.header-tools{position:relative;z-index:2}
  .header-meta{font-size:.59rem;line-height:1.3}
  .header-tools{gap:8px}
  .tool-button{font-size:.57rem}
  .home-hero{padding-top:158px}
  .display-xl.home-title{font-size:clamp(.9rem,4.5vw,1.9rem);line-height:1.2}
  .home-title i{flex-wrap:wrap;column-gap:.28em;row-gap:0;justify-content:center}
  .home-media{margin-top:18px}
  .page-hero,.contact-hero{min-height:0;gap:clamp(34px,9vw,56px);padding-top:158px;padding-bottom:76px}
  .page-hero h1{margin-top:0}
  .page-title{font-size:clamp(2.5rem,10vw,4.1rem);line-height:1.08;letter-spacing:-.04em}
  .contact-hero h1.page-title{margin-top:26px;font-size:clamp(2.45rem,9vw,3.8rem);line-height:1.1}
  .section-title{font-size:clamp(2.7rem,10vw,4rem)}
  .statement{font-size:clamp(2.65rem,10.3vw,4.6rem);line-height:1.1;letter-spacing:-.04em}
  .service-copy h2{font-size:clamp(2.6rem,10vw,4rem);line-height:1.1}
  .intro-copy,.page-lead{line-height:1.25}
  .feature-link{min-height:0;gap:20px;padding:24px 14px 26px}
  .feature-link strong{font-size:clamp(1.75rem,7vw,2.5rem);line-height:1.12}
  .format-switch a{min-height:120px;gap:16px}
  .format-switch strong{line-height:1.12}
  .footer-heading h2{font-size:clamp(2.6rem,10.5vw,4.2rem)}
  .footer-main-link{gap:14px}
  .contact-email{font-size:clamp(1.55rem,6.4vw,2.8rem);line-height:1.18;overflow-wrap:anywhere}
  .contact-list{margin-top:16px}
  .circle-arrow{width:64px;height:64px;min-width:64px;min-height:64px}
  .command-bar{padding-left:17px}
  .command-prompt{font-size:.8rem;letter-spacing:-.01em}
  .hero-partner{width:108px;max-width:34%;right:12px;bottom:96px;gap:4px;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.75))}
  .hero-partner img{max-height:72px;filter:url(#tpn-white-shield)}
  .hero-partner-label{font-size:.46rem;line-height:1.18;letter-spacing:.015em;color:#fff;text-shadow:0 2px 7px rgba(0,0,0,.9)}
}
@media(max-width:380px){
  .logo-mark{width:228px}
  .logo-link{top:-33px}
  .home-hero{padding-top:150px}
  .header-meta{font-size:.53rem}
  .header-tools{gap:6px}
  .tool-button{font-size:.54rem}
  .display-xl.home-title{font-size:4.4vw}
  .page-title{font-size:10vw}
  .contact-hero h1.page-title{font-size:8.9vw}
  .hero-partner{width:100px;bottom:92px}
}

/* 1.4.19 — fluid IT/EN typography and clear space around every text block. */
.page-title,.section-title,.statement,.security-principles-head h2,
.footer-heading h2,.feature-link strong,.format-switch strong,
.service-copy h2,.work-tile strong,.catalog-card h2,.related-card h3{
  line-height:1.12;
  overflow-wrap:break-word;
}
.page-hero,.contact-hero{min-width:0}
.page-hero h1,.page-hero .page-lead{width:100%;max-width:min(100%,1100px)}
.split-intro>*,.featured-head>*,.security-home>*,.security-manifesto>*,
.security-principles-head>*,.cta-band>*,.service-chapter>*,.format-switch a>*{min-width:0}
.feature-link strong{max-width:100%}
.format-switch a{grid-template-columns:minmax(0,1fr) auto}
.format-switch strong{overflow-wrap:anywhere}
.security-principles-head h2{line-height:1.1}
.security-card h3{line-height:1.15;overflow-wrap:break-word}
.footer-heading h2{line-height:1.08}
.circle-arrow,.feature-link i,.format-switch span,.location-link i,.related-card span{aspect-ratio:1;min-width:0;min-height:0}
.feature-link i,.format-switch span{justify-self:end}
@media(min-width:641px) and (max-width:1100px){
  .site-header{gap:12px}
  .logo-mark{width:clamp(210px,26vw,260px)}
  .logo-link{top:-14px}
  .page-hero,.contact-hero{padding-top:clamp(190px,25vw,235px)}
  .page-hero{gap:clamp(45px,7vw,85px)}
  .security-principles-head h2{font-size:clamp(3rem,6vw,5.3rem)}
  .format-switch a{min-height:170px}
}
@media(max-width:640px){
  .site-header{height:82px;padding:14px 12px;gap:5px}
  .header-meta{font-size:.56rem;letter-spacing:.06em;line-height:1.25}
  .header-tools{gap:7px}
  .logo-link{top:-12px}
  .logo-mark{width:clamp(158px,48vw,210px)}
  .home-hero,.page-hero,.contact-hero{padding-top:clamp(168px,45vw,205px)}
  .page-hero,.contact-hero{gap:clamp(42px,11vw,68px)}
  .page-hero h1,.page-hero .page-lead{margin:0 auto}
  .page-title{font-size:clamp(2.35rem,9.4vw,3.8rem)}
  .statement{font-size:clamp(2.4rem,9.5vw,4.2rem)}
  .section-title{font-size:clamp(2.6rem,9.5vw,4rem)}
  .security-principles-head h2{font-size:clamp(2.45rem,9.5vw,4rem)}
  .featured-head{gap:22px}
  .link-row{margin-top:52px}
  .feature-link{display:grid;grid-template-columns:minmax(0,1fr) 48px;grid-template-rows:auto auto;gap:16px;min-height:0}
  .feature-link small{grid-column:1/-1}
  .feature-link strong{grid-column:1;grid-row:2;align-self:center}
  .feature-link i{grid-column:2;grid-row:2;width:46px;height:46px;align-self:center}
  .format-switch{grid-template-columns:1fr}
  .format-switch a,.format-switch a:last-child{grid-column:auto;grid-template-columns:minmax(0,1fr) 46px;min-height:112px;gap:14px}
  .format-switch span{width:46px;height:46px}
  .security-manifesto{gap:42px}
  .security-principles-head{margin-bottom:42px}
  .security-principles .security-card{min-height:250px}
  .contact-hero h1.page-title{margin-top:0;font-size:clamp(2.35rem,8.8vw,3.55rem)}
  .footer-console{margin-top:45px;margin-bottom:70px}
}
@media(max-width:360px){
  .site-header{padding-left:9px;padding-right:9px}
  .header-meta{font-size:.5rem}
  .tool-button{font-size:.52rem}
  .logo-mark{width:150px}
  .page-title,.statement,.section-title,.security-principles-head h2{overflow-wrap:anywhere}
}

/* 1.4.20 — stable logo, unbroken company heading and 20% smaller round arrows. */
.company-hero .page-title{font-size:clamp(2.2rem,6.7vw,6.45rem)}
.company-hero .hero-line{display:inline-block;white-space:nowrap;hyphens:none;overflow-wrap:normal;word-break:normal}
.circle-arrow{width:59px;height:59px;min-width:59px;min-height:59px}
.feature-link i,.format-switch span{width:40px;height:40px}
.location-link i{width:30px;height:30px}
.related-card span{width:24px;height:24px}
.services-home>a::after{width:31px;height:31px}
.inline-arrow{width:21px;height:21px}
.featured-head>a .inline-arrow{width:19px;height:19px}
.client-set i.inline-arrow{width:22px;height:22px}
.footer-main-link b.inline-arrow{width:27px;height:27px}
.footer-agency .inline-arrow{width:14px;height:14px}
.trailer-link b.inline-arrow{width:20px;height:20px}
.trailer-button .inline-arrow{width:18px;height:18px}
.header-popover a::after{width:14px;height:14px}
@media(min-width:641px) and (max-width:1100px){
  .company-hero .page-title{font-size:clamp(2.4rem,6.5vw,5.3rem)}
}
@media(max-width:640px){
  .company-hero .page-title{font-size:clamp(1.85rem,7.5vw,3.1rem)}
  .circle-arrow{width:51px;height:51px;min-width:51px;min-height:51px}
  .feature-link{grid-template-columns:minmax(0,1fr) 37px}
  .feature-link i{width:37px;height:37px}
  .format-switch a,.format-switch a:last-child{grid-template-columns:minmax(0,1fr) 37px}
  .format-switch span{width:37px;height:37px}
}
@media(max-width:360px){
  .company-hero .page-title{font-size:clamp(1.7rem,7.6vw,1.85rem)}
}

/* 1.4.21 — complete typography audit: wrap at word boundaries on every page. */
.page-title,.section-title,.statement,.security-principles-head h2,
.footer-heading h2,.feature-link strong,.format-switch strong,
.services-home strong,.service-copy h2,.work-tile strong,
.catalog-card h2,.poster-card strong,.related-card h3,
.security-card h3,.values-grid h3,.person strong,
.client-stage-head h2,.related-head h2,.preview-copy strong,
.footer-main-link,.dock-links span,.page-lead,
.entry-content h2,.entry-content h3{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.page-title,.section-title,.statement,.security-principles-head h2,
.footer-heading h2,.service-copy h2,.work-tile strong,
.catalog-card h2,.poster-card strong,.related-card h3{
  line-height:1.14;
}
.company-hero .hero-line{white-space:nowrap}
.contact-email,.entry-content a{overflow-wrap:anywhere}
.entry-content p,.entry-content li{overflow-wrap:normal;word-break:normal;hyphens:none}
.client-set span{white-space:normal;line-height:1.2}
@media(max-width:640px){
  .feature-link strong,.format-switch strong,.services-home strong{font-size:clamp(1.6rem,6.8vw,2.25rem)}
  .security-card h3,.values-grid h3{font-size:clamp(1.85rem,8vw,2.5rem)}
  .catalog-card h2,.poster-card strong{font-size:clamp(1.65rem,7.4vw,2.25rem)}
  .footer-heading h2,.security-principles-head h2{font-size:clamp(2.35rem,8.8vw,3.9rem)}
  .company-hero .page-title{font-size:clamp(1.85rem,7.5vw,3.1rem)}
}
@media(max-width:360px){
  .company-hero .page-title{font-size:clamp(1.7rem,7.6vw,1.85rem)}
}
