@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@500;700;800&display=swap');

:root {
  --ink: #05070b;
  --brand: #146cdf;
  --brand-bright: #1577ec;
  --brand-deep: #071a36;
  --paper: #f1f0ea;
  --line: rgba(5,7,11,.18);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; margin-top:0 !important; padding-top:0 !important; }
body { margin:0 !important; padding-top:0 !important; overflow-x:hidden; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > * { margin-block-start:0 !important; }
.wp-site-blocks > header.wp-block-template-part:first-child { margin-top:0 !important; margin-block-start:0 !important; }
.kuik-theme #main,
.kuik-theme #main > article,
.kuik-theme .kuik-pl-canvas,
.kuik-theme .kuik-pl-canvas > .pagelayer-row,
.kuik-theme .kuik-pl-canvas > .pagelayer-row > .pagelayer-row-holder,
.kuik-theme .kuik-pl-canvas .pagelayer-col-holder,
.kuik-theme .kuik-pl-canvas .pagelayer-text-holder { width:100%; max-width:none; margin:0 !important; padding:0 !important; }
.kuik-theme .kuik-pl-canvas .pagelayer-col-holder > div:not(:last-child) { margin-bottom:0 !important; }
.kuik-theme .kuik-pl-canvas .pagelayer-text-holder > :first-child { margin-top:0 !important; }
.kuik-theme .kuik-pl-canvas .pagelayer-text-holder > :last-child { margin-bottom:0 !important; }
.hero,.ticker,.intro,.work,.services,.filmStrip,.cta,.contactPage { max-width:none !important; margin:0 !important; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; height:100%; object-fit:cover; }

.nav {
  position:absolute; z-index:20; inset:0 0 auto; top:0 !important; margin-top:0 !important; display:grid;
  grid-template-columns:1fr auto 1fr; align-items:center; padding:22px 3vw;
  color:white; border-bottom:1px solid rgba(255,255,255,.24);
}
body.admin-bar #wpadminbar { display:none !important; }

/* Keep Kuik typography authoritative if PageLayer remains installed. */
body.pagelayer-body { font-family:"DM Sans",sans-serif; color:var(--ink); }
body.pagelayer-body .heroTitle h1,
body.pagelayer-body .heroTitle h2,
body.pagelayer-body .cta h2 {
  font-family:Manrope,sans-serif;
  font-size:clamp(88px,14.7vw,230px);
  font-weight:800;
  line-height:.82;
  letter-spacing:-.065em;
  color:inherit;
}
body.pagelayer-body .heroTitle h2 em,
body.pagelayer-body .cta h2 em {
  font-family:Georgia,serif;
  font-weight:400;
  letter-spacing:inherit;
  color:var(--brand-bright);
}
body.pagelayer-body .intro h2,
body.pagelayer-body .servicesTitle h2,
body.pagelayer-body .filmCopy h2 {
  font-family:Manrope,sans-serif;
  font-size:clamp(70px,10vw,155px);
  font-weight:800;
  line-height:.88;
  letter-spacing:-.055em;
  color:inherit;
}
body.pagelayer-body .workTitle h2,
body.pagelayer-body .workTitle h3 {
  font-family:Manrope,sans-serif;
  font-size:clamp(90px,16vw,245px);
  font-weight:800;
  line-height:.78;
  letter-spacing:-.07em;
}
body:not(.home):not(.page-template-contact) .nav { background:var(--ink); }
.brand { display:inline-flex; width:148px; }
.brand img { width:100%; height:auto; object-fit:contain; }
.nav .custom-logo-link,
.footer .custom-logo-link { display:block; width:148px; flex:0 0 148px; }
.nav .custom-logo-link img,
.footer .custom-logo-link img { display:block; width:100%; height:auto; max-height:82px; object-fit:contain; object-position:left center; }
.nav .wp-block-site-logo { width:148px; margin:0; }
.nav .wp-block-site-logo img { width:100%; height:auto; object-fit:contain; }
.navLinks { display:flex; gap:10px; padding:0; margin:0; list-style:none; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.navLinks li { margin:0; padding:0; list-style:none; }
.navLinks a { padding:10px 14px; border:1px solid transparent; border-radius:999px; transition:.25s; }
.navLinks a:hover { border-color:rgba(255,255,255,.55); }
.navLinks > li { position:relative; }
.navLinks .sub-menu {
  position:absolute; z-index:30; left:0; top:100%; min-width:250px;
  margin:8px 0 0; padding:10px; list-style:none; border:1px solid rgba(255,255,255,.18);
  border-radius:14px; background:rgba(5,7,11,.96); box-shadow:0 18px 50px rgba(0,0,0,.3);
  opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s;
}
.navLinks li:hover > .sub-menu,.navLinks li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:none; }
.navLinks .sub-menu a { display:block; padding:11px 12px; border-radius:8px; white-space:nowrap; }
.menuToggle {
  display:none; width:48px; height:48px; padding:12px; border:1px solid rgba(255,255,255,.5);
  border-radius:50%; background:rgba(5,7,11,.2); color:white; cursor:pointer;
}
.menuToggle > span:not(.screen-reader-text) { display:block; width:100%; height:2px; margin:4px 0; background:currentColor; transition:.25s; }
.menuToggle.is-open > span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.menuToggle.is-open > span:nth-child(2) { opacity:0; }
.menuToggle.is-open > span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.pill {
  border-radius:999px; background:var(--brand); color:white; padding:17px 26px;
  display:inline-flex; align-items:center; justify-content:center; font-weight:700;
  transition:transform .25s, background .25s;
}
.pill:hover { transform:translateY(-3px); background:var(--brand-bright); }
.pill.small { justify-self:end; padding:12px 18px; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.nav > .wp-block-buttons { justify-self:end; }
.nav .pill.small { padding:0; background:transparent; }
.nav .pill.small .wp-block-button__link { border-radius:999px; background:var(--brand); color:white; padding:12px 18px; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }

.hero {
  min-height:100svh; position:relative; overflow:hidden; display:flex; flex-direction:column;
  justify-content:flex-end; padding:150px 3vw 34px; background:var(--brand-deep); color:white;
}
.heroVideo { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.heroOverlay {
  position:absolute; z-index:1; inset:0;
  background:linear-gradient(90deg,rgba(3,8,16,.87) 0%,rgba(4,15,32,.52) 50%,rgba(3,8,16,.2) 100%);
}
.hero > :not(.heroVideo):not(.heroOverlay) { z-index:2; }
.hero:before {
  content:""; position:absolute; z-index:2; width:42vw; height:42vw; right:-8vw; top:11vh;
  border:1px solid rgba(255,255,255,.27); border-radius:50%;
  box-shadow:0 0 0 7vw rgba(20,108,223,.07),0 0 0 14vw rgba(20,108,223,.035);
  animation:pulse 5s ease-in-out infinite;
}
.eyebrow { margin:0 0 20px; font-size:11px; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow:before {
  content:""; width:9px; height:9px; border-radius:50%; display:inline-block; margin-right:8px;
  background:var(--brand-bright); box-shadow:0 0 18px var(--brand-bright);
}
.heroTitle h1,.heroTitle h2,.cta h2 {
  position:relative; margin:0; font-family:Manrope,sans-serif; font-weight:800;
  font-size:clamp(88px,14.7vw,230px); line-height:.82; letter-spacing:-.065em; text-transform:uppercase;
}
.heroTitle h1,.heroTitle h2 { display:block; white-space:nowrap; }
.heroTitle h2 { margin-left:10vw; }
.heroTitle h2 em,.cta h2 em {
  color:var(--brand-bright); font-family:Georgia,serif; font-weight:400; text-transform:lowercase;
}
.heroBottom {
  position:relative; display:grid; grid-template-columns:1fr auto; align-items:end;
  padding-top:32px; border-top:1px solid rgba(255,255,255,.35); margin-top:38px;
}
.heroBottom p { max-width:510px; margin:0; font-size:17px; line-height:1.45; color:rgba(255,255,255,.82); }
.circleLink {
  width:86px; height:86px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.65);
  border-radius:50%; font-size:34px; transition:.35s;
}
.circleLink:hover { background:var(--brand); border-color:var(--brand); transform:rotate(-45deg) scale(1.05); }
.orbit {
  position:absolute; border:1px solid rgba(71,153,255,.7); color:#8fc3ff; border-radius:50%;
  display:grid; place-items:center; font-size:9px; letter-spacing:.28em; backdrop-filter:blur(5px);
}
.orbitOne { width:152px; height:152px; right:8vw; top:22vh; animation:float 5s ease-in-out infinite; }
.orbitTwo { width:72px; height:72px; right:31vw; top:15vh; animation:float 4s ease-in-out infinite reverse; }

.ticker {
  overflow:hidden; background:var(--brand); color:white; padding:24px 0;
  font-family:Manrope,sans-serif; font-size:clamp(25px,3vw,50px); line-height:1;
  font-weight:800; letter-spacing:-.05em; white-space:nowrap; text-transform:uppercase;
}
.ticker div { width:max-content; animation:marquee 18s linear infinite; }
.ticker span { padding:0 30px; color:var(--ink); }
.sectionTag { margin:0; font-size:11px !important; letter-spacing:.12em; font-weight:700; text-transform:uppercase; }

.intro {
  min-height:100vh; padding:130px 3vw 90px; display:grid; grid-template-columns:180px 1fr;
  gap:30px; align-content:center; position:relative; overflow:hidden;
}
.intro:after {
  content:""; position:absolute; z-index:-1; right:-4vw; bottom:-2vw;
  width:76vw; height:27vw; background:url("../images/kuik-media-logo-blue.png") center/contain no-repeat;
  opacity:.07;
}
.intro h2,.servicesTitle h2,.filmCopy h2 {
  margin:0; font-family:Manrope,sans-serif; font-size:clamp(70px,10vw,155px);
  line-height:.88; letter-spacing:-.055em; font-weight:800; text-transform:uppercase;
}
.intro h2 em,.servicesTitle h2 em { color:var(--brand); font-family:Georgia,serif; font-style:italic; font-weight:400; }
.introCopy {
  grid-column:2; display:grid; grid-template-columns:minmax(280px,650px) auto; gap:50px;
  align-items:end; margin-top:70px; padding-top:25px; border-top:1px solid var(--line);
}
.introCopy p { margin:0; font-size:21px; line-height:1.45; color:#30343a; }
.textLink { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; border-bottom:1px solid; padding-bottom:8px; white-space:nowrap; }

.work { padding:90px 3vw 150px; background:var(--brand); color:white; overflow:hidden; }
.sectionHead { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:40px; }
.sectionHead > p:last-child { margin:0; max-width:330px; font-size:14px; line-height:1.5; }
.workTitle {
  margin:0 -1vw 80px; font-family:Manrope,sans-serif; font-weight:800; font-size:clamp(90px,16vw,245px);
  line-height:.78; letter-spacing:-.07em; text-transform:uppercase;
}
.workTitle h2,.workTitle h3 { display:block; white-space:nowrap; margin:0; font:inherit; letter-spacing:inherit; line-height:inherit; }
.workTitle h3 { color:var(--ink); margin-left:8vw; }
.projectGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.projectGrid { padding:0; margin:0; list-style:none; counter-reset:kuik-project; }
.projectGrid > li { list-style:none; counter-increment:kuik-project; }
.project { width:100%; min-width:0; outline:none; }
.projectImage {
  display:block; width:100%; min-width:0; aspect-ratio:1/1;
  overflow:hidden; position:relative; background:var(--brand-deep);
}
.projectImage > img {
  position:absolute; inset:0; display:block; width:100%; height:100%;
  object-fit:cover;
}
.projectImage > .wp-block-post-featured-image { position:absolute; inset:0; width:100%; height:100%; margin:0; }
.projectImage > .wp-block-post-featured-image a,.projectImage > .wp-block-post-featured-image img { width:100%; height:100%; display:block; object-fit:cover; }
.projectImage:before {
  content:counter(kuik-project,decimal-leading-zero); position:absolute; z-index:4; right:15px; top:13px;
  width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.75);
  border-radius:50%; color:white; font-size:10px; font-weight:700; backdrop-filter:blur(8px);
}
.projectImage:after {
  content:""; position:absolute; z-index:1; inset:0;
  background:rgba(3,7,14,.38);
  opacity:0; transition:opacity .38s;
}
.projectImage img { transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .45s; filter:saturate(.82) contrast(1.05); }
.project:hover img,.project:focus img { transform:scale(1.07); filter:saturate(1.08) contrast(1.08); }
.project:hover .projectImage:after,.project:focus .projectImage:after { opacity:1; }
.index {
  position:absolute; z-index:3; right:15px; top:13px; width:36px; height:36px;
  display:grid; place-items:center; border:1px solid rgba(255,255,255,.75); border-radius:50%;
  color:white; font-size:10px; font-weight:700; backdrop-filter:blur(8px);
}
.projectOverlay {
  position:absolute; z-index:3; inset:0; width:100%; min-width:0; padding:28px;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start;
  color:white; transform:translateY(22px); opacity:0; transition:opacity .35s,transform .35s;
}
.project:hover .projectOverlay,.project:focus .projectOverlay { opacity:1; transform:translateY(0); }
.projectOverlay p { margin:0 0 10px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#a9cbff; }
.projectOverlay h3 {
  margin:0 0 12px; max-width:90%; font-family:Manrope,sans-serif;
  font-size:clamp(24px,2.7vw,43px); line-height:.95; letter-spacing:-.045em; text-transform:uppercase;
}
.projectOverlay .projectCategory { width:100%; max-width:none; margin:0 0 10px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#a9cbff; }
.projectOverlay .projectTitle {
  display:block; width:100%; max-width:none; margin:0 0 12px; font-family:Manrope,sans-serif;
  font-size:clamp(24px,2.7vw,43px); font-weight:800; line-height:.95; letter-spacing:-.045em; text-transform:uppercase;
}
.projectOverlay .projectExcerpt { display:block; width:100%; max-width:360px; font-size:13px; line-height:1.45; color:rgba(255,255,255,.88); }
.projectOverlay span { display:block; max-width:330px; font-size:13px; line-height:1.45; color:rgba(255,255,255,.78); }
.projectOverlay b { display:inline-block; margin-top:18px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.projectOverlay .wp-block-post-excerpt__excerpt { margin:0; }
.projectOverlay .wp-block-read-more { display:inline-block; margin-top:18px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }

.services {
  min-height:100vh; padding:130px 3vw; display:grid; grid-template-columns:.8fr 1.2fr;
  gap:8vw; background:var(--ink); color:white;
}
.servicesTitle { position:sticky; top:50px; align-self:start; }
.servicesTitle h2 { font-size:clamp(64px,7.5vw,118px); margin-top:45px; }
.serviceList article {
  display:grid; grid-template-columns:45px 1fr 1fr 30px; gap:22px; align-items:start;
  padding:35px 0; border-top:1px solid rgba(255,255,255,.35); transition:.3s;
}
.serviceList article:last-child { border-bottom:1px solid rgba(255,255,255,.35); }
.serviceList article:hover { color:var(--brand-bright); transform:translateX(14px); }
.serviceList .serviceNumber,.serviceList article > p { margin:0; font-size:12px; line-height:1.5; color:#9da4ae; }
.serviceList h3 { margin:0; font-family:Manrope,sans-serif; font-size:clamp(25px,3vw,46px); line-height:.95; letter-spacing:-.05em; text-transform:uppercase; }
body.pagelayer-body .serviceList h3 {
  margin:0; font-family:Manrope,sans-serif; font-size:clamp(25px,3vw,46px);
  font-weight:800; line-height:.95; letter-spacing:-.05em; text-transform:uppercase; color:inherit;
}
.workIntro { padding-bottom:0; }
.workGridOnly { padding-top:0; }

.filmStrip { min-height:90vh; display:grid; grid-template-columns:1.25fr .75fr; background:var(--paper); color:var(--ink); }
.filmImage { min-height:700px; overflow:hidden; clip-path:polygon(0 0,100% 0,88% 100%,0 100%); }
.filmImage img { filter:saturate(.72) contrast(1.12); transition:transform 1s; }
.filmStrip:hover .filmImage img { transform:scale(1.035); }
.filmCopy { padding:8vw 5vw 8vw 3vw; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.filmCopy h2 { margin:35px 0; font-size:clamp(58px,7vw,108px); }
.filmCopy > p:not(.sectionTag) { margin:0 0 32px; color:#454b55; font-size:17px; line-height:1.55; }
.pill.light { background:var(--brand); color:white; }
.filmCopy .pill.light { padding:0; background:transparent; }
.filmCopy .pill.light .wp-block-button__link { border-radius:999px; background:var(--brand); color:white; padding:17px 26px; font-weight:700; }

.cta {
  min-height:100vh; padding:120px 3vw 70px; display:flex; flex-direction:column; justify-content:center;
  background:var(--brand); color:white; text-align:left; position:relative; overflow:hidden;
}
.cta:after {
  content:"↗"; position:absolute; right:-2vw; bottom:-12vw; color:rgba(255,255,255,.1);
  font-family:Manrope,sans-serif; font-size:56vw; line-height:1;
}
.cta h2 { z-index:1; font-size:clamp(100px,16vw,245px); }
.cta h2 em { color:var(--ink); }
.ctaButton {
  z-index:1; display:inline-flex; align-self:flex-end; align-items:center; gap:55px; margin-top:55px;
  background:var(--ink); color:white; border-radius:999px; padding:18px 20px 18px 34px;
  font-weight:700; text-transform:uppercase; letter-spacing:.05em;
}
.ctaButton span { width:48px; height:48px; display:grid; place-items:center; background:white; color:var(--ink); border-radius:50%; font-size:20px; }

footer {
  display:grid; grid-template-columns:1.4fr 1fr 1fr auto; gap:40px; align-items:start;
  background:var(--ink); color:white; padding:75px 3vw 38px; border-top:1px solid rgba(255,255,255,.2);
}
.footerBrand { width:205px; }
.footerBrand img { width:205px; height:auto; object-fit:contain; }
footer p,footer a { margin:0; font-size:12px; line-height:1.75; color:#a7adb6; }
footer div { display:flex; flex-direction:column; }
.copyright { align-self:end; }
.backToTop {
  position:fixed; z-index:50; right:24px; bottom:24px; width:58px; height:58px;
  display:grid; place-items:center; border:1px solid rgba(255,255,255,.55);
  border-radius:50%; background:var(--brand); color:white !important; font-size:24px;
  box-shadow:0 12px 35px rgba(0,0,0,.25); opacity:0; visibility:hidden;
  transform:translateY(14px); transition:.25s;
}
.backToTop.is-visible { opacity:1; visibility:visible; transform:none; }
.backToTop:hover { background:var(--ink); transform:translateY(-3px); }

.contactPage { background:var(--brand); color:white; }
.contactNav { position:absolute; }
.contactHero {
  min-height:100svh; padding:170px 3vw 70px; display:flex; flex-direction:column;
  justify-content:flex-end; position:relative; overflow:hidden; background:var(--brand);
}
.contactHero:after {
  content:"↗"; position:absolute; right:-5vw; top:2vw; color:rgba(255,255,255,.08);
  font-family:Manrope,sans-serif; font-size:55vw; line-height:1; pointer-events:none;
}
.contactHero h1 {
  z-index:1; margin:35px 0 0; font-family:Manrope,sans-serif; font-size:clamp(92px,15vw,230px);
  font-weight:800; line-height:.82; letter-spacing:-.065em; text-transform:uppercase;
}
.contactHero h1 em { color:var(--ink); font-family:Georgia,serif; font-weight:400; text-transform:lowercase; }
.contactIntro {
  z-index:1; align-self:flex-end; max-width:550px; margin:45px 0 0; padding-top:22px;
  border-top:1px solid rgba(255,255,255,.65); font-size:20px; line-height:1.5;
}
.contactDetails { padding:110px 3vw; background:var(--paper); color:var(--ink); }
.contactPrimary {
  display:grid; grid-template-columns:1fr auto 70px; gap:30px; align-items:center;
  padding:32px 0; border-top:2px solid var(--ink); border-bottom:2px solid var(--ink);
}
.contactPrimary .contactLabel { margin:0; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.contactPrimary h2 {
  margin:0;
  font-family:Manrope,sans-serif; font-size:clamp(30px,5vw,76px);
  line-height:1; letter-spacing:-.055em; text-transform:none;
}
.contactPrimary .contactArrow {
  margin:0;
  width:62px; height:62px; display:grid; place-items:center; border-radius:50%;
  background:var(--brand); color:white; font-size:25px; transition:transform .3s;
}
.contactPrimary:hover .contactArrow { transform:rotate(45deg); }
.contactGrid { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:18px; margin-top:85px; }
.contactGrid article { min-height:330px; padding:28px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); }
.contactGrid article:nth-child(2) { background:var(--ink); color:white; }
.contactGrid article:nth-child(3) { background:var(--brand-deep); color:white; }
.contactGrid h2,.contactGrid a {
  margin:0; font-family:Manrope,sans-serif; font-size:clamp(24px,3vw,45px);
  line-height:1.05; letter-spacing:-.045em; text-transform:uppercase; font-weight:800;
}

@keyframes marquee { to { transform:translateX(-50%); } }
@keyframes float { 50% { transform:translateY(18px) rotate(10deg); } }
@keyframes pulse { 50% { transform:scale(1.045); opacity:.7; } }

@media (max-width:800px) {
  .nav { grid-template-columns:1fr auto; padding:18px 5vw; }
  .menuToggle { display:block; grid-column:2; grid-row:1; }
  .nav > .pill.small { display:none; }
  .primaryNav {
    position:absolute; z-index:40; left:0; right:0; top:100%; grid-column:1/-1;
    max-height:0; overflow:hidden; visibility:hidden; background:rgba(5,7,11,.98);
    border-top:1px solid rgba(255,255,255,.16); transition:max-height .35s ease,visibility .35s;
  }
  .primaryNav.is-open { max-height:calc(100vh - 84px); overflow-y:auto; visibility:visible; }
  .navLinks { display:flex; flex-direction:column; gap:0; padding:22px 5vw 28px; }
  .navLinks > li { border-bottom:1px solid rgba(255,255,255,.14); }
  .navLinks a { display:block; padding:15px 0; border:0; border-radius:0; font-size:15px; }
  .navLinks .sub-menu {
    position:static; min-width:0; margin:0; padding:0 0 12px 18px; border:0;
    border-radius:0; background:transparent; box-shadow:none; opacity:1;
    visibility:visible; transform:none;
  }
  .navLinks .sub-menu a { padding:10px 0; font-size:13px; color:#9fc5ff; white-space:normal; }
  body.menu-open { overflow:hidden; }
  .brand,.nav .wp-block-site-logo,.nav .custom-logo-link { width:112px; flex-basis:112px; }
  .hero { min-height:820px; padding:130px 5vw 30px; }
  .heroTitle h1,.heroTitle h2 { font-size:17vw; line-height:.9; letter-spacing:-.055em; }
  .heroTitle h2 { margin-left:0; }
  .heroBottom { grid-template-columns:1fr auto; gap:20px; }
  .heroBottom p { font-size:14px; }
  .circleLink { width:62px; height:62px; }
  .orbitOne { right:-60px; top:18vh; }
  .orbitTwo { display:none; }
  .ticker { padding:17px 0; }
  .intro { min-height:auto; grid-template-columns:1fr; padding:100px 5vw; }
  .intro h2 { margin-top:35px; font-size:18vw; }
  .introCopy { grid-column:1; grid-template-columns:1fr; margin-top:45px; }
  .work { padding:80px 5vw 110px; }
  .sectionHead { gap:25px; }
  .workTitle { margin:50px -1vw 65px; font-size:20vw; }
  .workTitle h2,.workTitle h3 { white-space:normal; }
  .workTitle h3 { margin-left:0; }
  .projectGrid { grid-template-columns:1fr; gap:14px; }
  .projectImage { aspect-ratio:4/5; }
  .projectImage:after { opacity:1; }
  .projectOverlay { padding:24px; opacity:1; transform:none; }
  .services { min-height:auto; grid-template-columns:1fr; padding:100px 5vw; }
  .servicesTitle { position:static; }
  .serviceList article { grid-template-columns:32px minmax(0,1fr) 24px; gap:14px; }
  .serviceList article .serviceNumber { grid-column:1; grid-row:1; }
  body.pagelayer-body .serviceList article h3 {
    grid-column:2; grid-row:1; min-width:0; font-size:clamp(24px,8vw,38px);
    line-height:1; letter-spacing:-.045em; overflow-wrap:anywhere;
  }
  .serviceList article > p:not(.serviceNumber):not(.serviceArrow) { grid-column:2; grid-row:2; }
  .serviceList article .serviceArrow { grid-column:3; grid-row:1; }
  .filmStrip { grid-template-columns:1fr; }
  .filmImage { min-height:520px; clip-path:none; }
  .filmCopy { padding:90px 5vw; }
  .cta { min-height:760px; padding:100px 5vw 60px; }
  .cta h2 { font-size:22vw; }
  .ctaButton { align-self:flex-start; }
  footer { grid-template-columns:1fr 1fr; padding:65px 5vw 35px; }
  .footerBrand { width:160px; }
  .contactHero { min-height:780px; padding:135px 5vw 55px; }
  .contactHero h1 { font-size:21vw; line-height:.86; }
  .contactIntro { align-self:flex-start; font-size:16px; }
  .contactDetails { padding:80px 5vw; }
  .contactPrimary { grid-template-columns:1fr 50px; gap:20px; }
  .contactPrimary .contactLabel { grid-column:1/-1; }
  .contactPrimary h2 { font-size:8vw; overflow-wrap:anywhere; }
  .contactPrimary .contactArrow { width:48px; height:48px; }
  .contactGrid { grid-template-columns:1fr; margin-top:55px; }
  .contactGrid article { min-height:260px; }
  .backToTop { right:16px; bottom:16px; width:50px; height:50px; }
}

@media (max-width:800px) {
  body.pagelayer-body .heroTitle h1,
  body.pagelayer-body .heroTitle h2 { font-size:17vw; line-height:.9; letter-spacing:-.055em; }
  body.pagelayer-body .intro h2 { font-size:18vw; }
  body.pagelayer-body .workTitle h2,
  body.pagelayer-body .workTitle h3 { font-size:20vw; }
  body.pagelayer-body .cta h2 { font-size:22vw; }
}

.kuik-page-shell,.kuik-project-single,.kuik-project-archive { padding:150px 3vw 100px; min-height:75vh; }
.kuik-project-single > .wp-block-post-title,.kuik-project-archive .kuik-archive-title {
  font-family:Manrope,sans-serif; font-size:clamp(72px,12vw,180px); line-height:.84; letter-spacing:-.06em; text-transform:uppercase;
}
.kuik-project-single > .wp-block-post-featured-image { margin:60px 0; }

.standardPage { min-height:75vh; padding:160px 3vw 100px; background:var(--paper); }
.singleProject,.archiveProjects { min-height:75vh; padding:170px 3vw 110px; background:var(--paper); }
.singleProject h1,.archiveProjects h1 {
  margin:35px 0 60px; font-family:Manrope,sans-serif; font-size:clamp(72px,12vw,180px);
  font-weight:800; line-height:.84; letter-spacing:-.06em; text-transform:uppercase;
}
.singleProjectImage { max-height:80vh; margin-bottom:60px; overflow:hidden; }
.singleProjectContent { max-width:800px; font-size:20px; line-height:1.55; }
.contactPage { min-height:100svh; padding:170px 3vw 90px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; }
.contactPage:after {
  content:"↗"; position:absolute; right:-5vw; top:2vw; color:rgba(255,255,255,.08);
  font-family:Manrope,sans-serif; font-size:55vw; line-height:1; pointer-events:none;
}
.contactPage h1 {
  z-index:1; margin:35px 0 0; font-family:Manrope,sans-serif; font-size:clamp(92px,15vw,230px);
  font-weight:800; line-height:.82; letter-spacing:-.065em; text-transform:uppercase;
}
body.pagelayer-body .contactPage h1 {
  z-index:1; margin:35px 0 0; font-family:Manrope,sans-serif;
  font-size:clamp(92px,15vw,230px); font-weight:800; line-height:.82;
  letter-spacing:-.065em; text-transform:uppercase; color:white;
}
.contactPage h1 em { color:var(--ink); font-family:Georgia,serif; font-weight:400; text-transform:lowercase; }
.contactPage > p:not(.sectionTag) { z-index:1; align-self:flex-end; max-width:550px; margin:45px 0 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.65); font-size:20px; line-height:1.5; }
.contactPage .ctaButton { align-self:flex-end; }

@media (max-width:800px) {
  .contactPage { min-height:780px; padding:135px 5vw 55px; }
  body.pagelayer-body .contactPage h1 { font-size:18vw; line-height:.88; letter-spacing:-.055em; }
  .contactPage > p:not(.sectionTag) { align-self:flex-start; font-size:16px; }
}

@media (prefers-reduced-motion:reduce) {
  * { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
  .heroVideo { display:none; }
}
