@font-face {
  font-family:lausanne;
  src:url(/assets/fonts/TWKLausanne_300-s.p.3pv05iqjudn76.woff2)format("woff2");
  font-display:swap;
  font-weight:300
}

@font-face {
  font-family:lausanne Fallback;
  src:local(Arial);
  ascent-override:90.65%;
  descent-override:19.92%;
  line-gap-override:0.0%;
  size-adjust:100.51%
}

.lausanne_ab5f6f82-class-name {
  font-family:lausanne,lausanne Fallback;
  font-weight:300
}

.lausanne_ab5f6f82-variable {
  --font-twk-lausanne:"lausanne", "lausanne Fallback"
}

@font-face {
  font-family:manier;
  src:url(/assets/fonts/Manier_Regular-s.p.3klf7f_7o4i94.woff2)format("woff2");
  font-display:swap;
  font-weight:400;
  font-style:normal
}

@font-face {
  font-family:manier;
  src:url(/assets/fonts/Manier_Italic-s.p.0q50xu3c2d0qv.woff2)format("woff2");
  font-display:swap;
  font-weight:400;
  font-style:italic
}

@font-face {
  font-family:manier Fallback;
  src:local(Arial);
  ascent-override:89.39%;
  descent-override:26.61%;
  line-gap-override:0.0%;
  size-adjust:106.63%
}

.manier_e4673499-class-name {
  font-family:manier,manier Fallback
}

.manier_e4673499-variable {
  --font-manier:"manier", "manier Fallback"
}

.contact-modal-overlay {
  z-index:9990;
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  opacity:0;
  background:#12121233;
  justify-content:center;
  align-items:center;
  padding:2rem;
  transition:opacity .35s;
  display:flex;
  position:fixed;
  inset:0
}

.contact-modal-overlay.contact-modal-open {
  opacity:1
}

.contact-modal-modal {
  color:#121212;
  background:#fff;
  border:.0625rem solid #eaeaea;
  border-radius:1rem;
  width:85.75rem;
  max-width:100%;
  max-height:92vh;
  padding:2.625rem;
  transition:transform .4s cubic-bezier(.22,1,.36,1);
  position:relative;
  overflow:hidden auto;
  transform:translateY(1.5rem)scale(.985)
}

.contact-modal-overlay.contact-modal-open .contact-modal-modal {
  transform:translateY(0)scale(1)
}

.contact-modal-grabber {
  display:none
}

.contact-modal-close {
  color:#121212;
  z-index:2;
  justify-content:center;
  align-items:center;
  width:2rem;
  height:2rem;
  transition:transform .3s,opacity .3s;
  display:flex;
  position:absolute;
  top:2rem;
  right:2rem
}

.contact-modal-close svg {
  width:100%;
  height:100%
}

.contact-modal-close:hover {
  transform:rotate(90deg)
}

.contact-modal-header {
  text-align:center;
  flex-direction:column;
  align-items:center;
  gap:2rem;
  display:flex
}

.contact-modal-title {
  font-family:var(--font-sans);
  color:#121212;
  font-size:3.125rem;
  font-weight:300;
  line-height:1.1
}

.contact-modal-title em {
  font-family:var(--font-display);
  font-style:italic;
  font-weight:400
}

.contact-modal-subtitle {
  color:#727272;
  width:34.5rem;
  max-width:100%;
  font-size:1.125rem;
  font-weight:300;
  line-height:1.6
}

.contact-modal-form {
  flex-direction:column;
  gap:1.5rem;
  margin-top:2.5rem;
  display:flex
}

.contact-modal-row {
  grid-template-columns:1fr 1fr;
  gap:6.25rem;
  display:grid
}

.contact-modal-field {
  border-bottom:.0625rem solid #dcdcdc;
  padding-top:1.9rem;
  padding-bottom:1.5rem;
  transition:border-color .2s;
  position:relative
}

.contact-modal-control:focus,.contact-modal-control:focus-visible {
  outline:none
}

.contact-modal-field:focus-within {
  border-bottom-color:#121212
}

.contact-modal-field label {
  color:#727272;
  pointer-events:none;
  transform-origin:0 0;
  font-size:1.625rem;
  font-weight:300;
  line-height:1;
  transition:transform .2s,top .2s,font-size .2s;
  position:absolute;
  top:1.9rem;
  left:0
}

.contact-modal-field .contact-modal-req {
  color:#121212
}

.contact-modal-control {
  width:100%;
  font-family:var(--font-sans);
  color:#121212;
  resize:none;
  background:0 0;
  border:none;
  outline:none;
  padding:0;
  font-size:1.125rem;
  font-weight:300;
  line-height:1.5
}

.contact-modal-control::placeholder {
  color:#0000
}

.contact-modal-field .contact-modal-control:focus+label,.contact-modal-field .contact-modal-control:not(:placeholder-shown)+label {
  font-size:1rem;
  top:0
}

textarea.contact-modal-control {
  min-height:1.6875rem;
  overflow:hidden
}

.contact-modal-field.contact-modal-error {
  border-bottom-color:#ff6262
}

.contact-modal-field.contact-modal-error label {
  font-size:1rem;
  top:0
}

.contact-modal-error-msg {
  color:#ff6262;
  margin-top:.5rem;
  font-size:1rem;
  font-weight:300
}

.contact-modal-chips-field {
  padding-top:.5rem
}

.contact-modal-chips-label {
  color:#727272;
  font-size:1.625rem;
  font-weight:300
}

.contact-modal-chips-label .contact-modal-req {
  color:#121212
}

.contact-modal-chips {
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1.5rem;
  display:flex
}

.contact-modal-chip {
  font-family:var(--font-sans);
  color:#121212;
  white-space:nowrap;
  border:.0625rem solid #121212;
  border-radius:9999px;
  justify-content:center;
  align-items:center;
  padding:.875rem 1.5rem;
  font-size:1.125rem;
  font-weight:300;
  line-height:1;
  transition:background-color .2s,color .2s;
  display:inline-flex
}

.contact-modal-chip:hover {
  background:#1212120f
}

.contact-modal-chip[aria-pressed=true] {
  color:#fff;
  background:#121212
}

.contact-modal-send-row {
  flex-direction:column;
  align-items:center;
  gap:1rem;
  margin-top:1.5rem;
  display:flex
}

.contact-modal-form-error {
  color:#ff6262;
  text-align:center;
  font-size:1rem;
  font-weight:300
}

.contact-modal-send {
  align-items:center;
  gap:0;
  transition:transform .16s cubic-bezier(.22,1,.36,1);
  display:inline-flex
}

.contact-modal-send:active {
  transform:scale(.97)
}

.contact-modal-send:disabled {
  opacity:.55;
  cursor:default
}

.contact-modal-send-label {
  height:4.5625rem;
  font-family:var(--font-sans);
  color:#121212;
  white-space:nowrap;
  border:.09375rem solid #121212;
  border-radius:4.125rem;
  justify-content:center;
  align-items:center;
  padding:0 2rem;
  font-size:1.5rem;
  font-weight:300;
  line-height:1;
  transition:background-color .3s,color .3s,border-color .3s;
  display:inline-flex
}

.contact-modal-send-disc {
  border:.09375rem solid #121212;
  border-radius:50%;
  flex-shrink:0;
  justify-content:center;
  align-items:center;
  width:4.5625rem;
  height:4.5625rem;
  transition:background-color .3s,border-color .3s;
  display:inline-flex
}

.contact-modal-send-disc img {
  filter:invert();
  width:1.5rem;
  height:1.5rem;
  transition:filter .3s
}

.contact-modal-send:not(:disabled):hover .contact-modal-send-label,.contact-modal-send:not(:disabled):hover .contact-modal-send-disc {
  color:#fff;
  background:#121212;
  border-color:#121212
}

.contact-modal-send:not(:disabled):hover .contact-modal-send-disc img {
  filter:invert(0)
}

.contact-modal-sent {
  text-align:center;
  flex-direction:column;
  align-items:center;
  padding:3rem 0 1rem;
  display:flex
}

.contact-modal-sent-glyphs {
  gap:1.75rem;
  margin-bottom:3rem;
  display:flex
}

.contact-modal-sent-glyph {
  background:#d4d4d4;
  width:6rem;
  height:6rem;
  -webkit-mask-position:50%;
  mask-position:50%;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat
}

.contact-modal-sent-glyph:nth-child(2) {
  background:#727272
}

.contact-modal-sent-title {
  font-family:var(--font-sans);
  color:#121212;
  font-size:3.125rem;
  font-weight:300;
  line-height:1.1
}

.contact-modal-sent-body {
  color:#727272;
  width:47.75rem;
  max-width:100%;
  margin-top:2rem;
  font-size:1.125rem;
  font-weight:300;
  line-height:1.6
}

.contact-modal-sent-body p+p {
  margin-top:1rem
}

.contact-modal-close-btn {
  height:4.5625rem;
  font-family:var(--font-sans);
  color:#121212;
  border:.09375rem solid #121212;
  border-radius:4.125rem;
  justify-content:center;
  align-items:center;
  margin-top:3rem;
  padding:0 2.5rem;
  font-size:1.5rem;
  font-weight:300;
  line-height:1;
  transition:background-color .3s,color .3s;
  display:inline-flex
}

.contact-modal-close-btn:hover {
  color:#fff;
  background:#121212
}

@media (prefers-reduced-motion:reduce) {
.contact-modal-overlay,.contact-modal-modal {
  transition:none
}

.contact-modal-close:hover {
  transform:none
}
}

@media (max-width:768px) {
.contact-modal-overlay {
  align-items:flex-end;
  padding:0
}

.contact-modal-modal {
  border:none;
  border-radius:24px 24px 0 0;
  width:100%;
  max-width:none;
  max-height:94vh;
  padding:40px 16px;
  transform:translateY(100%)
}

.contact-modal-grabber {
  background:#dcdcdc;
  border-radius:999px;
  width:44px;
  height:5px;
  margin:0 auto 20px;
  display:block
}

.contact-modal-close {
  top:24px;
  right:16px
}

.contact-modal-header {
  gap:24px;
  padding:0 8px
}

.contact-modal-title {
  font-size:32px
}

.contact-modal-subtitle {
  width:100%;
  font-size:18px
}

.contact-modal-form {
  gap:8px;
  margin-top:32px
}

.contact-modal-row {
  grid-template-columns:1fr;
  gap:8px
}

.contact-modal-field {
  padding-top:30px;
  padding-bottom:16px
}

.contact-modal-field label {
  font-size:20px;
  top:30px
}

.contact-modal-field .contact-modal-control:focus+label,.contact-modal-field .contact-modal-control:not(:placeholder-shown)+label,.contact-modal-field.contact-modal-error label {
  font-size:14px
}

.contact-modal-control {
  font-size:18px
}

.contact-modal-error-msg {
  font-size:14px
}

.contact-modal-chips-field {
  padding-top:20px
}

.contact-modal-chips-label {
  font-size:20px
}

.contact-modal-chips {
  margin-top:16px
}

.contact-modal-chip {
  border-radius:12px;
  padding:8px 12px;
  font-size:16px
}

.contact-modal-send-row {
  margin-top:32px
}

.contact-modal-send-label {
  border-width:.0625rem;
  height:56px;
  padding:0 32px;
  font-size:18px
}

.contact-modal-send-disc {
  border-width:.0625rem;
  width:56px;
  height:56px
}

.contact-modal-send-disc img {
  width:20px;
  height:20px
}

.contact-modal-sent {
  padding:24px 0
}

.contact-modal-sent-glyphs {
  gap:16px;
  margin-bottom:32px
}

.contact-modal-sent-glyph {
  width:64px;
  height:64px
}

.contact-modal-sent-title {
  font-size:32px
}

.contact-modal-sent-body {
  width:100%;
  font-size:16px
}

.contact-modal-close-btn {
  border-width:.0625rem;
  height:56px;
  padding:0 40px;
  font-size:18px
}
}

:root {
  --bg:#121212;
  --text-headline:#fff;
  --text-large:#828282;
  --text-body:#b8b8b8;
  --stroke:#4e4e4e;
  --green:#6fff54;
  --green-grad:linear-gradient(114.41deg, #0ae448 0%, #66ea22 50%, #a9fc83 100%);
  --green-noise:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
  --font-sans:var(--font-twk-lausanne), system-ui, sans-serif;
  --font-display:var(--font-manier), Georgia, serif
}

html[data-theme=light] {
  --bg:#fcfcfc;
  --text-headline:#121212;
  --text-large:#727272;
  --text-body:#5b5b5b;
  --stroke:#e6e6e6
}

* {
  box-sizing:border-box;
  margin:0;
  padding:0
}

html {
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  font-size:clamp(10px,.833333vw,24px)
}

html::-webkit-scrollbar {
  width:0;
  height:0
}

::view-transition-old(root) {
  animation-duration:.45s;
  animation-timing-function:cubic-bezier(.22,1,.36,1)
}

::view-transition-new(root) {
  animation-duration:.45s;
  animation-timing-function:cubic-bezier(.22,1,.36,1)
}

html,body {
  background:var(--bg);
  color:var(--text-headline);
  font-family:var(--font-sans);
  -webkit-font-smoothing:antialiased;
  font-weight:300
}

img,svg {
  max-width:100%;
  display:block
}

a {
  color:inherit;
  text-decoration:none
}

button {
  cursor:pointer;
  font:inherit;
  color:inherit;
  background:0 0;
  border:none
}

:focus-visible {
  outline:2px solid var(--green);
  outline-offset:3px;
  border-radius:2px
}

.sr-only {
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  position:absolute;
  overflow:hidden
}

.greenGrain {
  background-image:var(--green-noise), var(--green-grad);
  background-blend-mode:overlay, normal;
  background-size:200px 200px,cover
}

@media (pointer:fine) {
* {
  cursor:none!important
}
}

:root {
  --pt-panel:#0f0f0f;
  --pt-duration:.9s;
  --pt-shift:.15s;
  --pt-ease:cubic-bezier(.6, 0, .3, 1)
}

.pt-overlay {
  z-index:10000;
  pointer-events:none;
  grid-template-columns:repeat(6,1fr);
  display:grid;
  position:fixed;
  inset:-2px -1px
}

.pt-panel {
  background:var(--pt-panel);
  width:100%;
  height:100%;
  box-shadow:0 0 0 1px var(--pt-panel);
  animation-timing-function:var(--pt-ease);
  animation-play-state:paused;
  animation-fill-mode:both;
  transform:translateY(100%)
}

.pt-panel:first-child {
  animation-duration:var(--pt-duration);
  animation-delay:0s
}

.pt-panel:nth-child(2) {
  animation-duration:calc(var(--pt-duration) - var(--pt-shift));
  animation-delay:var(--pt-shift)
}

.pt-panel:nth-child(3) {
  animation-duration:calc(var(--pt-duration) - (var(--pt-shift) * 2));
  animation-delay:calc(var(--pt-shift) * 2)
}

.pt-panel:nth-child(4) {
  animation-duration:calc(var(--pt-duration) - (var(--pt-shift) * 3));
  animation-delay:calc(var(--pt-shift) * 3)
}

.pt-panel:nth-child(5) {
  animation-duration:calc(var(--pt-duration) - (var(--pt-shift) * 4));
  animation-delay:calc(var(--pt-shift) * 4)
}

.pt-panel:nth-child(6) {
  animation-duration:calc(var(--pt-duration) - (var(--pt-shift) * 5));
  animation-delay:calc(var(--pt-shift) * 5)
}

@keyframes pt-cover {
  0%{transform:translateY(100%)}to{transform:translateY(0)}
}

@keyframes pt-reveal {
  0%{transform:translateY(0)}to{transform:translateY(100%)}
}

.pt-overlay.is-covering .pt-panel {
  animation-name:pt-cover;
  animation-play-state:running
}

.pt-overlay.is-revealing .pt-panel {
  animation-name:pt-reveal;
  animation-play-state:running
}

html[data-pt-cover="1"] .pt-panel {
  animation:none;
  transform:translateY(0)
}

@media (prefers-reduced-motion:reduce) {
html {
  scroll-behavior:auto
}

.pt-panel {
  animation:none!important
}
}

@media (max-width:768px) {
html,body {
  overflow-x:clip
}
}
:root { --font-twk-lausanne: "lausanne", "lausanne Fallback"; --font-manier: "manier", "manier Fallback"; }


.about-quote-quote {
  height:61.1875rem;
  padding:6.25rem 0 12.5rem;
  position:relative;
  overflow:hidden
}

.about-quote-content {
  width:130.188rem;
  height:42.4375rem;
  margin-left:-8.3125rem;
  position:relative
}

.about-quote-line {
  color:var(--text-headline);
  white-space:nowrap;
  will-change:transform;
  font-size:13.75rem;
  font-weight:300;
  line-height:normal;
  position:absolute
}

.about-quote-line-serif {
  font-family:var(--font-display);
  font-style:normal;
  font-weight:400
}

.about-quote-icon {
  will-change:transform;
  width:9.625rem;
  height:9.625rem;
  position:absolute
}

@media (max-width:768px) {
.about-quote-quote {
  height:auto;
  padding:80px 0 96px
}

.about-quote-content {
  width:100%;
  height:240px;
  margin-left:0
}

.about-quote-line {
  letter-spacing:-.02em;
  font-size:60px
}

.about-quote-line-serif {
  font-size:60px
}

.about-quote-content p:first-of-type {
  top:37px!important;
  left:70px!important
}

.about-quote-content p:nth-of-type(2) {
  top:97px!important;
  left:109px!important
}

.about-quote-content p:nth-of-type(3) {
  top:158px!important;
  left:109px!important
}

.about-quote-icon {
  width:56px;
  height:56px
}

.about-quote-icon:nth-of-type(4) {
  top:43px!important;
  left:6px!important
}

.about-quote-icon:nth-of-type(2) {
  top:43px!important;
  left:515px!important
}

.about-quote-icon:nth-of-type(3) {
  top:105px!important;
  left:45px!important
}

.about-quote-icon:nth-of-type(6) {
  top:105px!important;
  left:529px!important
}

.about-quote-icon:nth-of-type(8) {
  top:174px!important;
  left:45px!important
}

.about-quote-icon:nth-of-type(5) {
  top:175px!important;
  left:351px!important
}

.about-quote-icon:first-of-type {
  top:174px!important;
  left:415px!important
}

.about-quote-icon:nth-of-type(7) {
  display:none
}
}

.hero-hero {
  background:var(--bg);
  isolation:isolate;
  height:67.5rem;
  position:relative;
  overflow:hidden
}

.hero-shader {
  width:100%;
  height:100%;
  display:block;
  position:absolute;
  inset:0
}

.hero-bottom-highlight {
  background:linear-gradient(to top, var(--bg) 5.135%, transparent);
  height:6.75rem;
  position:absolute;
  top:60.8125rem;
  left:0;
  right:0
}

.hero-bottom-fade {
  background:linear-gradient(to top, var(--bg) 13.158%, color-mix(in srgb, var(--bg) 75%, transparent) 30%, color-mix(in srgb, var(--bg) 25%, transparent) 50%, color-mix(in srgb, var(--bg) 8%, transparent) 62%, transparent 100%);
  height:21.375rem;
  position:absolute;
  top:46.1875rem;
  left:0;
  right:0
}

.hero-logo {
  width:3.125rem;
  height:3.125rem;
  position:absolute;
  top:3.5625rem;
  left:50%;
  transform:translate(-50%)
}

.hero-banner {
  color:var(--text-headline);
  white-space:nowrap;
  font-size:6.25rem;
  line-height:normal;
  position:absolute;
  inset:0
}

.hero-line-sans {
  left:var(--ml,var(--l));
  top:var(--mt,var(--t));
  font-family:var(--font-sans);
  font-weight:300;
  position:absolute
}

.hero-line-display {
  left:var(--ml,var(--l));
  top:var(--mt,var(--t));
  font-family:var(--font-display);
  font-style:italic;
  font-weight:400;
  position:absolute
}

.hero-glyph {
  width:2rem;
  height:2rem;
  position:absolute
}

.hero-cta {
  display:inline-flex;
  position:absolute;
  top:37.25rem;
  left:79.79%;
  transform:translate(-50%)
}

.hero-cta-inner {
  width:12.75rem;
  color:var(--text-headline);
  white-space:nowrap;
  background:0 0;
  border:.09375rem solid #fff;
  border-radius:4.125rem;
  justify-content:center;
  align-items:center;
  padding:1.5rem 1.5rem 1.375rem;
  font-size:1.5rem;
  font-weight:300;
  transition:background .3s,color .3s,transform .16s cubic-bezier(.22,1,.36,1);
  display:flex
}

.hero-cta:hover .hero-cta-inner {
  color:#121212;
  background:#fff
}

.hero-cta:active .hero-cta-inner {
  transform:scale(.97)
}

.hero-tagline {
  text-align:center;
  color:var(--text-headline);
  opacity:.7;
  will-change:filter, opacity;
  font-size:1.125rem;
  font-weight:300;
  line-height:1.625rem;
  position:absolute;
  top:50.25rem
}

.hero-tagline-left {
  text-wrap:balance;
  width:22rem;
  left:23.5%
}

.hero-tagline-right {
  width:16.3125rem;
  left:60.57%
}

.hero-nav {
  justify-content:space-between;
  align-items:center;
  width:100%;
  max-width:85.75rem;
  display:flex;
  position:absolute;
  top:64.1875rem;
  left:50%;
  transform:translate(-50%)
}

.hero-nav-icon-box {
  align-items:center;
  width:5rem;
  display:flex
}

.hero-nav-icon {
  flex-direction:column;
  align-items:center;
  width:2.25rem;
  padding:.375rem .25rem;
  display:flex
}

.hero-nav-icon img {
  width:1.5rem;
  height:1.5rem
}

.hero-nav-item {
  color:var(--text-headline);
  white-space:nowrap;
  padding:0 .5rem;
  font-size:1.125rem;
  font-weight:300
}

.hero-nav-item-active {
  text-underline-position:from-font;
  text-decoration:underline
}

.hero-nav-talk {
  align-items:center;
  gap:.5rem;
  display:flex
}

.hero-nav-talk img {
  width:.8125rem;
  height:.8125rem
}

:is(html[data-theme=light] .hero-banner,html[data-theme=light] .hero-cta-inner,html[data-theme=light] .hero-tagline) {
  color:#fff
}

@media (max-width:768px) {
.hero-hero {
  height:100svh;
  min-height:640px
}

.hero-logo {
  width:48px;
  height:48px;
  top:56px
}

.hero-banner {
  font-size:45px
}

.hero-banner p:first-child {
  --ml:calc(50% - 174px);
  --mt:192px
}

.hero-banner p:nth-child(2) {
  --ml:198px;
  --mt:240px
}

.hero-banner p:nth-child(3) {
  --ml:16px;
  --mt:293px;
  white-space:normal;
  width:330px
}

.hero-banner p:nth-child(4) {
  --ml:96px;
  --mt:345px
}

.hero-cta {
  top:460px;
  left:16px;
  right:16px;
  transform:none
}

.hero-cta-inner {
  color:#121212;
  background:#fff;
  border-radius:66px;
  width:100%;
  height:60px;
  padding:0 24px;
  font-size:20px
}

html[data-theme=light] .hero-cta-inner {
  color:#121212
}

.hero-tagline {
  font-size:14px;
  line-height:1.4
}

.hero-tagline-left {
  width:235px;
  top:596px;
  bottom:auto;
  left:16px
}

.hero-tagline-right {
  width:167px;
  inset:650px 16px auto auto
}

.hero-bottom-fade {
  height:340px;
  top:auto;
  bottom:0
}

.hero-bottom-highlight {
  height:108px;
  top:auto;
  bottom:0
}
}

/* ═══════════════════════════════════════════════════════════════════════
   EDITORIAL PROTOTYPES SHOWCASE (BŘEH & PRAMEN)
   ═══════════════════════════════════════════════════════════════════════ */
.folio-prototypes-section {
  position: relative;
  padding: 100px 32px 80px;
  max-width: 1400px;
  margin: 0 auto;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.prototypes-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  padding-bottom: 36px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.prototypes-header-left {
  max-width: 720px;
}

.prototypes-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  border-radius: 9999px;
  background: rgba(200, 229, 138, 0.08);
  border: 1px solid rgba(200, 229, 138, 0.25);
  font-family: monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #C8E58A;
  margin-bottom: 16px;
}

.prototypes-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C8E58A;
  box-shadow: 0 0 8px #C8E58A;
  display: inline-block;
  animation: protoPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes protoPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.85); }
}

.prototypes-title {
  font-size: clamp(2rem, 3.6vw, 3.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1.18;
  margin: 0 0 16px;
}

.prototypes-intro {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.65);
  margin: 0;
}

.prototypes-header-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: monospace;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
}

.prototypes-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.prototype-card {
  position: relative;
  background: rgba(18, 18, 24, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}

.prototype-card:hover {
  border-color: rgba(200, 229, 138, 0.35);
  transform: translateY(-3px);
  box-shadow: 0 20px 48px -12px rgba(0, 0, 0, 0.6);
}

.prototype-card--kontura:hover {
  border-color: rgba(38, 166, 154, 0.45);
  box-shadow: 0 20px 48px -12px rgba(38, 166, 154, 0.2);
}

.prototype-card-top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  margin-bottom: 20px;
}

.prototype-card-badge {
  font-family: monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #C8E58A;
}

.prototype-launch-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  transition: background 0.2s, color 0.2s, transform 0.15s;
}

.prototype-launch-btn:hover {
  background: #C8E58A;
  color: #050507;
  border-color: #C8E58A;
}

.prototype-launch-btn:active {
  transform: scale(0.96);
}

.prototype-media-link {
  display: block;
  text-decoration: none;
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px;
}

.prototype-media-wrap {
  position: relative;
  aspect-ratio: 16 / 10;
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  background: #000;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.prototype-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.prototype-card:hover .prototype-img {
  transform: scale(1.04);
}

.prototype-media-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.05) 50%, transparent 100%);
  pointer-events-none;
}

.prototype-media-caption {
  position: absolute;
  bottom: 12px;
  left: 16px;
  right: 16px;
  pointer-events-none;
}

.prototype-media-tag {
  font-family: monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.85);
}

.prototype-headings {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.prototype-headings h3 {
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  margin: 0;
  letter-spacing: -0.01em;
}

.prototype-subtitle {
  font-family: var(--font-display, serif);
  font-style: italic;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.65);
}

.prototype-desc {
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.7);
  margin: 0 0 20px;
}

.prototype-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.prototype-tag {
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-family: monospace;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.prototype-card-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.prototype-foot-note {
  font-size: 12px;
  font-family: monospace;
  color: rgba(255, 255, 255, 0.4);
}

.prototype-main-cta {
  padding: 10px 22px;
  border-radius: 9999px;
  background: #C8E58A;
  color: #050507;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s, transform 0.15s;
}

.prototype-main-cta:hover {
  background: #d8f59a;
  transform: translateY(-1px);
}

.prototype-main-cta:active {
  transform: scale(0.97);
}

/* Light Theme Overrides */
html[data-theme=light] .folio-prototypes-section {
  border-top-color: rgba(0, 0, 0, 0.08);
}
html[data-theme=light] .prototypes-header {
  border-bottom-color: rgba(0, 0, 0, 0.08);
}
html[data-theme=light] .prototypes-title {
  color: #121212;
}
html[data-theme=light] .prototypes-intro {
  color: rgba(0, 0, 0, 0.65);
}
html[data-theme=light] .prototypes-header-meta {
  color: rgba(0, 0, 0, 0.45);
}
html[data-theme=light] .prototype-card {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}
html[data-theme=light] .prototype-card:hover {
  border-color: rgba(0, 0, 0, 0.2);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
}
html[data-theme=light] .prototype-headings h3 {
  color: #121212;
}
html[data-theme=light] .prototype-subtitle {
  color: rgba(0, 0, 0, 0.6);
}
html[data-theme=light] .prototype-desc {
  color: rgba(0, 0, 0, 0.7);
}
html[data-theme=light] .prototype-tag {
  background: rgba(0, 0, 0, 0.04);
  color: rgba(0, 0, 0, 0.8);
  border-color: rgba(0, 0, 0, 0.08);
}
html[data-theme=light] .prototype-card-foot {
  border-top-color: rgba(0, 0, 0, 0.06);
}
html[data-theme=light] .prototype-foot-note {
  color: rgba(0, 0, 0, 0.45);
}
html[data-theme=light] .prototype-launch-btn {
  background: rgba(0, 0, 0, 0.06);
  border-color: rgba(0, 0, 0, 0.1);
  color: #121212;
}
html[data-theme=light] .prototype-launch-btn:hover {
  background: #121212;
  color: #fff;
}

@media (max-width: 1100px) {
  .prototypes-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

@media (max-width: 768px) {
  .folio-prototypes-section {
    padding: 64px 20px 48px;
  }
  .prototypes-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .prototype-card {
    padding: 24px;
    border-radius: 20px;
  }
}

.about-about {
  background:var(--bg);
  justify-content:center;
  align-items:flex-start;
  gap:1.25rem;
  padding:12.5rem 0;
  display:flex
}

.about-text-block {
  width:85.75rem;
  height:34.8125rem;
  color:var(--text-headline);
  font-size:3.125rem;
  font-weight:300;
  line-height:4.375rem;
  position:relative
}

.about-w {
  opacity:.12;
  will-change:opacity
}

.about-text-block p {
  position:absolute
}

.about-white {
  color:var(--text-headline)
}

.about-u {
  display:inline-block;
  position:relative
}

.about-u-bar {
  transform-origin:0;
  background:currentColor;
  height:.11rem;
  transition:transform .55s cubic-bezier(.22,1,.36,1);
  position:absolute;
  bottom:.16em;
  left:0;
  right:0;
  transform:scaleX(0)
}

.about-u-revealed {
  transform:scaleX(1)
}

.about-nowrap {
  white-space:nowrap
}

.about-glyph {
  opacity:.12;
  background:var(--text-headline);
  will-change:transform, opacity;
  width:3.125rem;
  height:3.125rem;
  position:absolute;
  -webkit-mask-position:50%;
  mask-position:50%;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat
}

.about-glyph[data-lit="1"] {
  background-image:var(--green-noise), var(--green-grad);
  background-blend-mode:overlay, normal;
  background-size:200px 200px,cover
}

@media (prefers-reduced-motion:reduce) {
.about-u-bar {
  transition:none
}
}

.about-rail {
  width:1.375rem;
  height:33.1875rem;
  position:relative;
  transform:scaleY(-1)rotate(180deg)
}

.about-rail-ticks {
  position:absolute;
  top:.25rem;
  left:.875rem
}

.about-tick {
  position:absolute;
  left:0
}

.about-rail-cap {
  will-change:transform;
  width:.5rem;
  height:4.5rem;
  position:absolute;
  top:0;
  left:0
}

.about-flow {
  display:none
}

@media (max-width:768px) {
.about-about {
  align-items:stretch;
  gap:8px;
  padding:100px 16px
}

.about-text-block {
  flex:1;
  width:auto;
  height:auto;
  font-size:32px;
  line-height:40px
}

.about-text-block>p:not(.about-flow),.about-text-block>.about-glyph:not(.about-flow-glyph) {
  display:none
}

.about-text-block .about-flow {
  display:block;
  position:static
}

.about-flow-glyph {
  vertical-align:-4px;
  width:32px;
  height:32px;
  margin-right:.35em;
  display:inline-block;
  position:static
}

.about-rail {
  align-self:stretch;
  height:auto;
  transform:none
}

.about-rail-ticks {
  background:repeating-linear-gradient(#878787 0 1.5px,#0000 1.5px 12px);
  width:3px;
  top:0;
  bottom:0;
  left:4px
}

.about-tick {
  display:none
}

.about-w,.about-glyph {
  opacity:.28
}
}

.play-real-real {
  background:var(--bg);
  height:67.5rem;
  position:relative;
  overflow:hidden
}

.play-real-stage {
  transform-origin:50%;
  will-change:transform;
  border-radius:2rem;
  position:absolute;
  inset:0;
  overflow:hidden;
  transform:scale(.62)
}

.play-real-video {
  object-fit:cover;
  filter:grayscale(.4)brightness(.58);
  background:#000;
  width:100%;
  height:100%;
  transition:filter .45s;
  display:block;
  position:absolute;
  inset:0
}

.play-real-stage-playing .play-real-video {
  filter:none;
  cursor:pointer
}

.play-real-overlay {
  pointer-events:none;
  opacity:1;
  background:#0c0c0c57;
  transition:opacity .45s;
  position:absolute;
  inset:0
}

.play-real-overlay-hidden {
  opacity:0
}

.play-real-header {
  opacity:1;
  -webkit-user-select:none;
  user-select:none;
  height:17.8125rem;
  transition:opacity .35s;
  position:absolute;
  top:27.5rem;
  left:0;
  right:0
}

.play-real-header-hidden {
  opacity:0;
  pointer-events:none
}

.play-real-marquee {
  align-items:center;
  height:21.25rem;
  display:flex;
  position:absolute;
  top:11.3125rem;
  left:0;
  right:0;
  overflow:hidden;
  transform:translateY(-50%)
}

.play-real-track {
  will-change:transform;
  align-items:center;
  width:max-content;
  margin-left:-5.5rem;
  animation:60s linear infinite paused play-real-marquee;
  display:flex
}

.play-real-track-running {
  animation-play-state:running
}

@keyframes play-real-marquee {
  to{transform:translate(-50%)}
}

@media (prefers-reduced-motion:reduce) {
.play-real-track {
  animation:none
}
}

.play-real-group {
  align-items:center;
  display:flex
}

.play-real-title-sans {
  color:var(--text-headline);
  white-space:nowrap;
  padding-right:8.75rem;
  font-size:13.75rem;
  font-weight:300;
  line-height:normal
}

.play-real-title-display {
  font-size:13.75rem;
  line-height:normal;
  font-family:var(--font-display);
  color:var(--text-headline);
  white-space:nowrap;
  padding-right:8.75rem;
  font-style:italic;
  font-weight:400
}

.play-real-play-button {
  background:#fff;
  border:.125rem solid #fff;
  border-radius:624.938rem;
  justify-content:center;
  align-items:center;
  width:13.25rem;
  height:13.25rem;
  transition:background-color .3s,border-color .3s,transform .16s cubic-bezier(.22,1,.36,1);
  display:flex;
  position:absolute;
  top:4.6875rem;
  left:calc(50% - .875rem);
  transform:translate(-50%)
}

.play-real-play-button:hover {
  background-image:var(--green-noise), var(--green-grad);
  background-blend-mode:overlay, normal;
  border-color:var(--green);
  background-size:200px 200px,cover
}

.play-real-play-button:active {
  transform:translate(-50%)scale(.97)
}

.play-real-play-button img {
  width:4rem;
  height:3.5rem;
  transform:rotate(90deg)
}

:is(html[data-theme=light] .play-real-title-sans,html[data-theme=light] .play-real-title-display) {
  color:#fff
}

@media (max-width:768px) {
.play-real-real {
  height:250px
}

.play-real-header {
  height:auto;
  top:0;
  bottom:0
}

.play-real-marquee {
  height:100%;
  top:50%
}

.play-real-track {
  margin-left:-24px
}

.play-real-title-sans,.play-real-title-display {
  padding-right:36px;
  font-size:40px
}

.play-real-play-button {
  width:88px;
  height:88px;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%)
}

.play-real-play-button:active {
  transform:translate(-50%,-50%)scale(.97)
}

.play-real-play-button img {
  width:22px;
  height:19px
}
}

.metrics-metrics {
  background:var(--bg);
  justify-content:center;
  align-items:flex-start;
  padding:6.25rem 17.125rem;
  display:flex
}

.metrics-card {
  border-right:.0625rem solid var(--stroke);
  flex-direction:column;
  align-items:flex-start;
  gap:1.5rem;
  width:21.4375rem;
  padding:6rem 1.5rem 1.5rem;
  transition:background-color .3s,border-color .3s;
  display:flex
}

.metrics-card:first-child {
  border-left:.0625rem solid var(--stroke)
}

@media (hover:hover) and (pointer:fine) {
.metrics-card:hover {
  background-image:var(--green-noise), var(--green-grad);
  background-blend-mode:overlay, normal;
  background-size:200px 200px,cover;
  border-color:#000
}

.metrics-card:hover+.metrics-card {
  border-left-color:#0000
}
}

.metrics-value-wrap {
  color:var(--text-headline);
  transition:color .3s;
  position:relative
}

@media (hover:hover) and (pointer:fine) {
.metrics-card:hover .metrics-value-wrap {
  color:#121212
}
}

.metrics-value {
  font-size:10.625rem;
  font-weight:300;
  line-height:normal;
  overflow:hidden
}

.metrics-value-label {
  white-space:nowrap;
  font-size:1.125rem;
  font-weight:300;
  line-height:normal;
  position:absolute;
  top:0;
  overflow:hidden
}

.metrics-slide {
  will-change:transform;
  transition:transform .9s cubic-bezier(.22,1,.36,1);
  display:inline-block;
  transform:translateY(115%)
}

.metrics-in-view .metrics-slide {
  transform:translateY(0)
}

@media (prefers-reduced-motion:reduce) {
.metrics-slide {
  transition:none;
  transform:translateY(0)
}
}

.metrics-desc {
  color:var(--text-body);
  white-space:pre-line;
  font-size:1.125rem;
  font-weight:300;
  line-height:1.625rem;
  transition:color .3s
}

@media (hover:hover) and (pointer:fine) {
.metrics-card:hover .metrics-desc {
  color:#121212
}

html[data-theme=light] .metrics-card:hover {
  border-color:var(--green)
}
}

@media (max-width:768px) {
.metrics-metrics {
  grid-template-columns:1fr 1fr;
  padding:60px 0;
  display:grid
}

.metrics-card {
  border:.0625rem solid var(--stroke);
  gap:40px;
  width:auto;
  padding:64px 16px 16px
}

.metrics-card:first-child {
  border-left:.0625rem solid var(--stroke)
}

.metrics-card:nth-child(2n) {
  border-left:none
}

.metrics-card:nth-child(n+3) {
  border-top:none
}

.metrics-value-wrap {
  width:100%
}

.metrics-value {
  font-size:72px;
  line-height:1
}

.metrics-value-label {
  font-size:14px;
  right:0;
  top:6px!important;
  left:auto!important
}

.metrics-desc {
  font-size:14px;
  line-height:20px
}
}

.services-services {
  background:var(--bg);
  flex-direction:column;
  align-items:center;
  gap:8.125rem;
  padding:6.25rem 5.875rem 12.5rem;
  display:flex
}

.services-header {
  width:56.625rem;
  height:15.625rem;
  position:relative
}

.services-header-title {
  width:34.5625rem;
  color:var(--text-headline);
  white-space:pre-wrap;
  font-size:3.125rem;
  font-weight:300;
  line-height:normal;
  position:absolute;
  top:0;
  left:0
}

.services-header-title em {
  font-family:var(--font-display);
  font-style:italic;
  font-weight:400
}

.services-header-desc {
  width:34.5625rem;
  color:var(--text-body);
  font-size:1.125rem;
  font-weight:300;
  line-height:1.625rem;
  position:absolute;
  top:10.75rem;
  left:7.3125rem
}

.services-header-btn {
  width:12.75rem;
  color:var(--text-headline);
  white-space:nowrap;
  border:.09375rem solid #fff;
  border-radius:4.125rem;
  justify-content:center;
  align-items:center;
  padding:1.5rem 1.5rem 1.375rem;
  font-size:1.5rem;
  font-weight:300;
  transition:background .3s,color .3s,transform .16s cubic-bezier(.22,1,.36,1);
  display:flex;
  position:absolute;
  top:10.8125rem;
  left:43.875rem
}

.services-header-btn:hover {
  color:#121212;
  background:#fff
}

.services-header-btn:active {
  transform:scale(.97)
}

.services-list {
  flex-direction:column;
  gap:.5rem;
  width:108.188rem;
  display:flex;
  position:relative
}

.services-row {
  height:6.9375rem;
  color:inherit;
  text-decoration:none;
  display:block;
  position:relative
}

.services-row-title {
  text-transform:uppercase;
  color:var(--text-large);
  white-space:nowrap;
  font-size:6.25rem;
  font-weight:300;
  line-height:normal;
  position:absolute;
  overflow:hidden
}

.services-roll-inner {
  will-change:transform;
  transition:transform .4s cubic-bezier(.76,0,.24,1);
  display:block;
  position:relative
}

.services-roll-dup {
  color:var(--text-headline);
  position:absolute;
  top:100%;
  left:0
}

@media (hover:hover) and (pointer:fine) {
.services-row:hover .services-roll-inner {
  transform:translateY(-100%)
}
}

@media (prefers-reduced-motion:reduce) {
.services-roll-inner {
  transition:none
}
}

.services-row-icon {
  background:var(--text-large);
  transition:background-color .35s;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  -webkit-mask-position:50%;
  mask-position:50%;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat
}

.services-row:hover .services-row-icon {
  background:var(--text-headline)
}

.services-indicator {
  width:100%;
  color:var(--text-large);
  white-space:nowrap;
  justify-content:space-between;
  font-size:1.125rem;
  font-weight:300;
  line-height:normal;
  transition:color .35s;
  display:flex;
  position:absolute;
  left:0
}

.services-row:hover .services-indicator {
  color:var(--text-headline)
}

.services-clients {
  width:85.4375rem;
  height:4.875rem;
  font-size:1.125rem;
  font-weight:300;
  line-height:1.625rem;
  position:relative
}

.services-clients p {
  position:absolute;
  top:0
}

.services-clients-header {
  width:19.75rem;
  color:var(--text-headline);
  left:0
}

.services-clients-desc {
  width:27.25rem;
  color:var(--text-body);
  left:21.75rem
}

.services-clients-sub {
  width:27.125rem;
  color:var(--text-body);
  left:58.3125rem
}

html[data-theme=light] .services-header-btn {
  border-color:#121212
}

html[data-theme=light] .services-header-btn:hover {
  color:#fcfcfc;
  background:#121212
}

html[data-theme=light] .services-row-title {
  color:var(--text-headline)
}

html[data-theme=light] .services-roll-dup {
  color:var(--text-large)
}

html[data-theme=light] .services-row-icon {
  background:var(--text-headline)
}

html[data-theme=light] .services-row:hover .services-row-icon {
  background:var(--text-large)
}

html[data-theme=light] .services-indicator {
  color:var(--text-headline)
}

html[data-theme=light] .services-row:hover .services-indicator {
  color:var(--text-large)
}

@media (max-width:768px) {
.services-services {
  align-items:stretch;
  gap:64px;
  padding:100px 16px
}

.services-header {
  width:100%;
  height:auto
}

.services-header-title {
  width:100%;
  font-size:32px;
  position:static
}

.services-header-desc {
  width:100%;
  margin-top:24px;
  font-size:16px;
  line-height:26px;
  position:static
}

.services-header-btn {
  border-radius:66px;
  width:100%;
  height:60px;
  margin-top:32px;
  padding:0 24px;
  font-size:20px;
  position:static
}

.services-list {
  gap:40px;
  width:100%
}

.services-row {
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px;
  height:auto;
  display:flex
}

.services-row-icon {
  background:var(--text-headline);
  position:static;
  transform:none;
  width:30px!important;
  height:30px!important
}

.services-row:nth-child(4) .services-row-icon {
  height:16px!important
}

.services-row-title {
  color:var(--text-headline);
  font-size:32px;
  position:static
}

.services-indicator {
  display:none
}

.services-clients {
  width:100%;
  height:auto;
  font-size:18px;
  line-height:26px
}

.services-clients p {
  width:100%;
  position:static
}

.services-clients-desc,.services-clients-sub {
  margin-top:24px
}
}

.works-works {
  background:var(--bg);
  justify-content:center;
  display:flex
}

.works-grid {
  width:85.75rem;
  height:394rem;
  position:relative
}

.works-divider {
  background:var(--stroke);
  height:.0625rem;
  position:absolute
}

.works-tag {
  color:var(--text-headline);
  white-space:nowrap;
  border:.0625rem solid #626262;
  border-radius:1rem;
  justify-content:center;
  align-items:center;
  padding:.5rem 1rem .375rem;
  font-size:1rem;
  font-weight:300;
  display:inline-flex;
  position:absolute
}

.works-title {
  color:var(--text-headline);
  white-space:nowrap;
  font-size:3.125rem;
  font-weight:300;
  line-height:normal;
  position:absolute
}

.works-link {
  white-space:nowrap;
  font-size:1rem;
  font-weight:300;
  line-height:1.625rem;
  position:absolute
}

.works-link-view {
  color:var(--text-headline);
  text-underline-position:from-font;
  text-decoration:underline
}

.works-link-soon {
  color:var(--text-body)
}

.works-media {
  border-radius:.5rem;
  transition:border-radius .8s cubic-bezier(.19,1,.22,1);
  position:absolute;
  overflow:hidden
}

.works-inner {
  clip-path:inset(0 100% 100% 0 round .5rem);
  will-change:clip-path, transform;
  border-radius:.5rem;
  transition:clip-path 1.1s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.19,1,.22,1);
  position:absolute;
  inset:0
}

.works-inner img {
  object-fit:cover;
  will-change:transform;
  width:100%;
  height:100%;
  transition:transform 1.2s cubic-bezier(.22,1,.36,1);
  transform:scale(1.14)
}

.works-media.works-in-view .works-inner {
  clip-path:inset(0 round .5rem)
}

.works-media.works-in-view .works-inner img {
  transform:scale(1)
}

.works-media:hover {
  border-radius:0
}

.works-media:hover .works-inner {
  transform:scale(1.12)
}

@media (prefers-reduced-motion:reduce) {
.works-inner {
  clip-path:inset(0 round .5rem);
  transition:none
}

.works-inner img {
  transition:none;
  transform:none
}

.works-media:hover .works-inner {
  transform:none
}
}

html[data-theme=light] .works-tag {
  border-color:var(--stroke)
}

@media (max-width:768px) {
.works-works {
  padding:0 16px
}

.works-grid {
  width:100%;
  height:auto
}

.works-grid>div {
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding-bottom:48px;
  display:grid;
  position:relative
}

.works-divider {
  grid-area:1/1/auto/-1;
  margin-bottom:16px;
  position:static;
  width:100%!important
}

.works-tag {
  border-radius:100px;
  grid-area:2/1;
  place-self:end start;
  padding:8px 16px 6px;
  font-size:16px;
  position:static
}

.works-link {
  grid-area:2/2;
  place-self:end;
  margin:-12px 0 -12px -12px;
  padding:12px 0 12px 12px;
  font-size:16px;
  line-height:26px;
  position:static
}

.works-title {
  white-space:normal;
  grid-area:3/1/auto/-1;
  margin-top:16px;
  margin-bottom:8px;
  font-size:32px;
  position:static
}

.works-media {
  position:relative;
  width:auto!important;
  height:120px!important;
  top:0!important;
  left:0!important
}

.works-media[data-kind=main] {
  aspect-ratio:1;
  grid-column:1/-1;
  height:auto!important
}

.works-grid>div:not(:has([data-kind=g])) .works-media[data-kind=side] {
  grid-column:1/-1
}

:is(.works-grid>div:not(:has(.works-divider)) .works-tag,.works-grid>div:not(:has(.works-divider)) .works-link) {
  grid-row:1
}

.works-grid>div:not(:has(.works-divider)) .works-title {
  grid-row:2
}
}

.works-cta-cta {
  background:var(--bg);
  flex-direction:column;
  align-items:center;
  padding:12.5rem 0;
  display:flex;
  overflow:hidden
}

.works-cta-line-mask {
  overflow:hidden
}

.works-cta-line-inner {
  will-change:transform;
  align-items:center;
  gap:2.5rem;
  transition:transform .9s cubic-bezier(.22,1,.36,1);
  display:flex;
  transform:translateY(115%)
}

.works-cta-in-view .works-cta-line-inner {
  transform:translateY(0)
}

.works-cta-sans {
  color:var(--text-headline);
  white-space:nowrap;
  font-size:10rem;
  font-weight:300;
  line-height:1.18
}

.works-cta-serif {
  font-family:var(--font-display);
  color:var(--text-headline);
  white-space:nowrap;
  font-size:10rem;
  font-style:normal;
  font-weight:400;
  line-height:1.18
}

.works-cta-eye {
  flex-shrink:0;
  width:11.75rem;
  height:6.3125rem
}

.works-cta-toggle {
  background-color:#b0b0b0;
  border-radius:6.25rem;
  flex-shrink:0;
  width:21.25rem;
  height:9.6875rem;
  position:relative;
  overflow:hidden
}

.works-cta-knob {
  will-change:transform;
  background-color:#9d9d9d;
  border-radius:50%;
  width:8.4375rem;
  height:8.4375rem;
  position:absolute;
  top:.625rem;
  left:.6875rem;
  overflow:hidden
}

.works-cta-knob img {
  object-fit:cover;
  width:100%;
  height:100%;
  transform:scale(1.18)
}

.works-cta-desc-mask {
  margin-top:1.875rem;
  overflow:hidden
}

.works-cta-desc {
  width:49.1875rem;
  color:var(--text-body);
  text-align:center;
  will-change:transform;
  font-size:1.125rem;
  font-weight:300;
  line-height:1.625rem;
  transition:transform .9s cubic-bezier(.22,1,.36,1) .45s;
  transform:translateY(115%)
}

.works-cta-in-view .works-cta-desc {
  transform:translateY(0)
}

.works-cta-button-group {
  opacity:0;
  align-items:stretch;
  height:8.25rem;
  margin-top:2.6875rem;
  transition:opacity .7s .6s,transform .16s cubic-bezier(.22,1,.36,1);
  display:inline-flex
}

.works-cta-in-view .works-cta-button-group {
  opacity:1
}

.works-cta-button-group:active {
  transform:scale(.97)
}

.works-cta-view-works {
  -webkit-backdrop-filter:blur(1.0313rem);
  backdrop-filter:blur(1.0313rem);
  height:100%;
  color:var(--text-headline);
  white-space:nowrap;
  border:.09375rem solid #fff;
  border-radius:624.938rem;
  justify-content:center;
  align-items:center;
  padding:0 3rem;
  font-size:4.375rem;
  font-weight:300;
  transition:background .3s,color .3s;
  display:inline-flex
}

.works-cta-button-group:hover .works-cta-view-works {
  color:#121212;
  background:#fff
}

.works-cta-arrow-btn {
  aspect-ratio:1;
  -webkit-backdrop-filter:blur(1.0313rem);
  backdrop-filter:blur(1.0313rem);
  border:.09375rem solid #fff;
  border-radius:50%;
  flex:none;
  justify-content:center;
  align-items:center;
  height:100%;
  transition:background .3s;
  display:inline-flex
}

.works-cta-button-group:hover .works-cta-arrow-btn {
  background:#fff
}

.works-cta-arrow-btn img {
  width:2.6875rem;
  height:2.6875rem;
  transition:transform .3s,filter .3s;
  transform:rotate(45deg)
}

.works-cta-button-group:hover .works-cta-arrow-btn img {
  filter:invert();
  transform:rotate(45deg)translate(.14rem,-.14rem)
}

@media (prefers-reduced-motion:reduce) {
.works-cta-line-inner,.works-cta-desc {
  transition:none;
  transform:translateY(0)
}

.works-cta-button-group {
  opacity:1;
  transition:none
}
}

@media (max-width:768px) {
.works-cta-cta {
  padding:100px 16px
}

.works-cta-line-inner {
  gap:11px
}

.works-cta-sans,.works-cta-serif {
  font-size:44px
}

.works-cta-eye {
  width:52px;
  height:28px
}

.works-cta-toggle {
  border-radius:100px;
  width:86px;
  height:46px
}

.works-cta-knob {
  width:33px;
  height:33px;
  top:6px;
  left:4px
}

.works-cta-desc-mask {
  margin-top:24px
}

.works-cta-desc {
  width:100%;
  font-size:16px;
  line-height:26px
}

.works-cta-button-group {
  width:100%;
  height:60px;
  margin-top:32px
}

.works-cta-view-works {
  flex:1;
  padding:0 24px;
  font-size:20px
}

.works-cta-arrow-btn img {
  width:22px;
  height:22px
}
}

:is(html[data-theme=light] .works-cta-view-works,html[data-theme=light] .works-cta-arrow-btn) {
  border-color:#121212
}

html[data-theme=light] .works-cta-button-group:hover .works-cta-view-works {
  color:#fcfcfc;
  background:#121212
}

html[data-theme=light] .works-cta-button-group:hover .works-cta-arrow-btn {
  background:#121212
}

html[data-theme=light] .works-cta-arrow-btn img {
  filter:invert()
}

html[data-theme=light] .works-cta-button-group:hover .works-cta-arrow-btn img {
  filter:invert(0)
}

.partners-partners {
  background:var(--bg);
  justify-content:center;
  padding:6.25rem 0;
  display:flex;
  position:relative
}

.partners-inner {
  width:85.75rem;
  height:71.375rem;
  position:relative
}

.partners-title {
  width:20rem;
  color:var(--text-headline);
  font-size:3.125rem;
  font-weight:300;
  line-height:normal;
  position:absolute;
  top:0;
  left:43.875rem
}

.partners-title em {
  font-family:var(--font-display);
  font-style:italic;
  font-weight:400
}

.partners-desc {
  width:27.25rem;
  color:var(--text-body);
  font-size:1.125rem;
  font-weight:300;
  line-height:1.625rem;
  position:absolute;
  top:10.5rem;
  left:51.1875rem
}

.partners-grid {
  grid-template-columns:repeat(5,1fr);
  grid-auto-rows:11.6563rem;
  width:85.75rem;
  display:grid;
  position:absolute;
  top:24.75rem;
  left:0
}

.partners-cell {
  justify-content:center;
  align-items:center;
  display:flex;
  position:relative;
  overflow:hidden
}

.partners-bt {
  border-top:.0625rem solid var(--stroke)
}

.partners-bb {
  border-bottom:.0625rem solid var(--stroke)
}

.partners-br {
  border-right:.0625rem solid var(--stroke)
}

.partners-logo {
  object-fit:contain;
  opacity:.62;
  will-change:transform, opacity;
  transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s
}

@media (hover:hover) and (pointer:fine) {
.partners-cell:hover .partners-logo {
  opacity:1;
  transform:scale(1.08)
}
}

.partners-company-btn {
  -webkit-backdrop-filter:blur(1.0313rem);
  backdrop-filter:blur(1.0313rem);
  color:#fff;
  white-space:nowrap;
  background:0 0;
  border:.09375rem solid #484848;
  border-radius:624.938rem;
  align-items:center;
  gap:.5rem;
  padding:.875rem 1.5rem;
  font-size:1.125rem;
  font-weight:500;
  transition:background-color .3s,border-color .3s,color .3s,transform .16s cubic-bezier(.22,1,.36,1);
  display:inline-flex
}

.partners-company-btn img {
  width:1rem;
  height:1rem;
  transition:filter .3s
}

.partners-company-btn:hover {
  color:#121212;
  background:#fff;
  border-color:#fff
}

.partners-company-btn:hover img {
  filter:invert()
}

.partners-company-btn:active {
  transform:scale(.97)
}

@media (prefers-reduced-motion:reduce) {
.partners-logo {
  transition:opacity .2s
}

.partners-cell:hover .partners-logo {
  transform:none
}
}

html[data-theme=light] .partners-logo {
  filter:invert()
}

html[data-theme=light] .partners-company-btn {
  color:#121212;
  border-color:#121212
}

html[data-theme=light] .partners-company-btn img {
  filter:invert()
}

html[data-theme=light] .partners-company-btn:hover {
  color:#fcfcfc;
  background:#121212;
  border-color:#121212
}

html[data-theme=light] .partners-company-btn:hover img {
  filter:invert(0)
}

@media (max-width:768px) {
.partners-partners {
  padding:60px 16px
}

.partners-inner {
  width:100%;
  height:auto
}

.partners-title {
  width:100%;
  font-size:32px;
  position:static
}

.partners-desc {
  width:100%;
  margin-top:16px;
  font-size:16px;
  line-height:24px;
  position:static
}

.partners-grid {
  grid-template-columns:repeat(2,1fr);
  grid-auto-rows:100px;
  width:100%;
  margin-top:40px;
  position:static
}

.partners-bt,.partners-bb,.partners-br {
  border:none
}

.partners-cell {
  border-bottom:.0625rem solid var(--stroke)
}

.partners-cell:nth-child(odd) {
  border-right:.0625rem solid var(--stroke)
}

.partners-cell:nth-child(-n+2) {
  border-top:.0625rem solid var(--stroke)
}

.partners-cell:empty {
  display:none
}

.partners-logo {
  opacity:1;
  max-height:64px
}

.partners-company-btn {
  padding:10px 18px;
  font-size:14px
}
}

.testimonials-testimonials {
  background:var(--bg);
  justify-content:center;
  align-items:center;
  height:56.25rem;
  display:flex;
  position:relative;
  overflow:hidden
}

.testimonials-inner {
  align-items:center;
  gap:4rem;
  width:85.75rem;
  display:flex
}

.testimonials-left {
  flex-shrink:0;
  width:35.25rem;
  position:relative
}

.testimonials-heading {
  width:27.25rem;
  color:var(--text-headline);
  white-space:pre-wrap;
  font-size:3.125rem;
  font-weight:300;
  line-height:normal
}

.testimonials-heading em {
  font-family:var(--font-display);
  font-style:italic;
  font-weight:400
}

.testimonials-left-desc {
  width:28rem;
  color:var(--text-body);
  margin-top:2.75rem;
  margin-left:7.25rem;
  font-size:1.125rem;
  font-weight:300;
  line-height:1.625rem
}

.testimonials-deck {
  flex-shrink:0;
  width:40.5rem;
  height:32rem;
  margin-left:auto;
  position:relative
}

.testimonials-card {
  background:var(--bg);
  border:.0625rem solid var(--stroke);
  transform-origin:50%;
  will-change:transform;
  border-radius:1rem;
  flex-direction:column;
  justify-content:space-between;
  gap:3rem;
  width:40.5rem;
  height:24rem;
  padding:3rem;
  display:flex;
  position:absolute;
  top:0;
  left:0
}

.testimonials-quote {
  width:34.5rem;
  color:var(--text-headline);
  font-size:1.625rem;
  font-weight:300;
  line-height:2.25rem
}

.testimonials-author {
  width:28rem;
  color:var(--text-headline);
  font-size:1.125rem;
  line-height:normal
}

.testimonials-author strong {
  font-weight:500
}

.testimonials-author-role {
  color:#a6a6a6
}

html[data-theme=light] .testimonials-author-role {
  color:var(--text-large)
}

@media (max-width:768px) {
.testimonials-testimonials {
  height:100svh;
  min-height:640px
}

.testimonials-inner {
  flex-direction:column;
  align-items:flex-start;
  gap:32px;
  width:100%;
  padding:0 16px
}

.testimonials-left {
  width:100%
}

.testimonials-heading {
  width:100%;
  font-size:32px
}

.testimonials-left-desc {
  width:100%;
  margin:16px 0 0;
  font-size:16px;
  line-height:24px
}

.testimonials-deck {
  width:100%;
  height:360px;
  margin-left:0
}

.testimonials-card {
  gap:16px;
  width:calc(100% - 40px);
  height:272px;
  padding:20px
}

.testimonials-quote {
  width:100%;
  font-size:15px;
  line-height:21px
}

.testimonials-author {
  width:100%;
  font-size:14px
}
}

.quote-quote {
  background:var(--bg);
  height:61.1875rem;
  padding:6.25rem 0 12.5rem;
  position:relative;
  overflow:hidden
}

.quote-content {
  width:130.188rem;
  height:42.4375rem;
  margin-left:-8.3125rem;
  position:relative
}

.quote-line {
  color:var(--text-headline);
  white-space:nowrap;
  will-change:transform;
  font-size:13.75rem;
  font-weight:300;
  line-height:normal;
  position:absolute
}

.quote-line-serif {
  font-family:var(--font-display);
  font-style:normal;
  font-weight:400
}

.quote-amp {
  font-family:var(--font-display);
  color:var(--text-headline);
  font-size:4.375rem;
  line-height:normal;
  position:absolute
}

.quote-icon {
  will-change:transform;
  width:9.625rem;
  height:9.625rem;
  position:absolute
}

.quote-icon-masked {
  width:9.625rem;
  height:9.625rem;
  position:absolute;
  -webkit-mask-size:9.625rem 9.625rem;
  mask-size:9.625rem 9.625rem;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat
}

.quote-icon-masked img {
  width:100%;
  height:100%
}

@media (max-width:768px) {
.quote-quote {
  height:auto;
  padding:80px 0 96px
}

.quote-content {
  width:100%;
  height:240px;
  margin-left:0
}

.quote-line {
  letter-spacing:-.02em;
  font-size:60px
}

.quote-line-serif {
  font-size:60px
}

.quote-content p:first-of-type {
  top:41px!important;
  left:71px!important
}

.quote-content p:nth-of-type(2) {
  top:97px!important;
  left:113px!important
}

.quote-content p:nth-of-type(3) {
  top:168px!important;
  left:117px!important
}

.quote-content p:nth-of-type(4) {
  font-size:24px;
  top:132px!important;
  left:90px!important
}

.quote-icon {
  width:56px!important;
  height:56px!important
}

.quote-icon:nth-of-type(9) {
  top:47px!important;
  left:7px!important
}

.quote-icon:nth-of-type(3) {
  top:47px!important;
  left:472px!important
}

.quote-icon:first-of-type {
  top:105px!important;
  left:26px!important
}

.quote-icon:nth-of-type(4) {
  top:174px!important;
  left:53px!important
}

.quote-icon:nth-of-type(5) {
  top:174px!important;
  left:358px!important
}

.quote-icon:nth-of-type(6) {
  top:174px!important;
  left:422px!important
}

.quote-icon:nth-of-type(2),.quote-icon:nth-of-type(7),.quote-icon:nth-of-type(8) {
  display:none
}
}

.footer-reveal-reveal {
  background:var(--bg);
  will-change:height;
  width:100%;
  height:0;
  position:relative;
  overflow:hidden
}

.footer-reveal-inner {
  height:27rem;
  position:absolute;
  top:0;
  left:0;
  right:0
}

.footer-reveal-inner canvas {
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}

.footer-reveal-fade {
  pointer-events:none;
  background:linear-gradient(to bottom, var(--bg) 0%, #121212e6 20%, #12121294 43%, #12121238 69%, #12121200 100%);
  position:absolute;
  inset:0
}

html[data-theme=light] .footer-reveal-fade {
  background:linear-gradient(to bottom, var(--bg) 0%, #fcfcfce6 20%, #fcfcfc94 43%, #fcfcfc38 69%, #fcfcfc00 100%)
}

@media (prefers-reduced-motion:reduce) {
.footer-reveal-reveal {
  display:none
}
}

.footer-footer {
  background:var(--bg);
  justify-content:center;
  height:60rem;
  margin-bottom:6.25rem;
  display:flex;
  position:relative
}

.footer-inner {
  width:120rem;
  height:100%;
  position:relative
}

.footer-heading-mask {
  position:absolute;
  top:5.5rem;
  left:17.125rem;
  overflow:hidden
}

.footer-heading {
  font-family:var(--font-display);
  color:var(--text-headline);
  white-space:nowrap;
  will-change:transform;
  font-size:10.625rem;
  font-style:normal;
  font-weight:400;
  line-height:1.35;
  transition:transform .9s cubic-bezier(.22,1,.36,1);
  transform:translateY(120%)
}

.footer-in-view .footer-heading {
  transform:translateY(0)
}

.footer-mission {
  width:29.6875rem;
  color:var(--text-large);
  font-size:1.125rem;
  font-weight:300;
  line-height:1.625rem;
  position:absolute;
  top:24.1875rem;
  left:17.125rem
}

.footer-write-link {
  color:var(--text-headline);
  text-underline-offset:.2em;
  text-decoration:underline;
  text-decoration-thickness:.0625rem;
  transition:opacity .2s;
  display:inline
}

.footer-write-link:hover {
  opacity:.7
}

.footer-contact {
  width:12.75rem;
  height:4.5625rem;
  color:var(--text-headline);
  white-space:nowrap;
  border:.09375rem solid #fff;
  border-radius:4.125rem;
  justify-content:center;
  align-items:center;
  gap:.625rem;
  padding:1.5rem 1.5rem 1.375rem;
  font-size:1.5rem;
  font-weight:300;
  transition:background .3s,color .3s;
  display:flex;
  position:absolute;
  top:23.5rem;
  left:90.125rem
}

.footer-contact img {
  width:2rem;
  height:2rem;
  transition:transform .3s
}

.footer-contact:hover {
  color:#121212;
  background:#fff
}

.footer-contact:hover img {
  filter:invert();
  transform:translate(.1875rem,-.1875rem)
}

.footer-social-row {
  border:.0417rem solid var(--stroke);
  border-radius:.78125rem;
  display:flex;
  position:absolute;
  top:31.25rem;
  left:13.3125rem;
  overflow:hidden
}

.footer-card {
  border-left:.0417rem solid var(--stroke);
  flex-direction:column;
  justify-content:space-between;
  width:18.6875rem;
  height:18.6875rem;
  padding:3.1667rem;
  transition:background-color .3s;
  display:flex
}

.footer-card:first-child {
  border-left:none
}

.footer-card:hover {
  background-image:var(--green-noise), var(--green-grad);
  background-blend-mode:overlay, normal;
  background-size:200px 200px,cover
}

.footer-card-icon {
  background:var(--text-headline);
  width:2.5rem;
  height:2.75rem;
  transition:background-color .3s;
  -webkit-mask-position:50%;
  mask-position:50%;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat
}

.footer-card:hover .footer-card-icon {
  background:#121212
}

.footer-card-icon-wide {
  width:3.0625rem
}

.footer-card-label {
  letter-spacing:.01125rem;
  color:var(--text-headline);
  font-size:.9375rem;
  font-weight:300;
  line-height:1.21875rem;
  transition:color .3s
}

.footer-card:hover .footer-card-label {
  color:#121212
}

.footer-copyright {
  color:var(--text-body);
  white-space:nowrap;
  font-size:1.125rem;
  font-weight:300;
  line-height:normal;
  position:absolute;
  top:55.125rem;
  left:17.125rem
}

.footer-legal {
  color:var(--text-body);
  white-space:nowrap;
  align-items:center;
  gap:1.5rem;
  font-size:1.125rem;
  font-weight:300;
  line-height:normal;
  display:flex;
  position:absolute;
  top:55.125rem;
  left:84.6875rem
}

.footer-legal a:hover {
  color:var(--text-headline)
}

.footer-logo-btn {
  width:3rem;
  height:3rem;
  position:absolute;
  top:54.25rem;
  left:50%;
  transform:translate(-50%)
}

.footer-logo-btn img {
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}

.footer-logo-btn .footer-logo-img {
  width:3.7rem;
  max-width:none;
  height:3.7rem;
  inset:-.35rem
}

html[data-theme=light] .footer-contact {
  border-color:#121212
}

html[data-theme=light] .footer-contact:hover {
  color:#fcfcfc;
  background:#121212
}

html[data-theme=light] .footer-contact img {
  filter:invert()
}

html[data-theme=light] .footer-contact:hover img {
  filter:invert(0)
}

html[data-theme=light] .footer-logo-btn img {
  filter:invert()
}

@media (prefers-reduced-motion:reduce) {
.footer-heading {
  transition:none;
  transform:translateY(0)
}
}

@media (max-width:768px) {
.footer-footer {
  height:auto;
  margin-bottom:40px
}

.footer-inner {
  flex-direction:column;
  width:100%;
  height:auto;
  padding:48px 16px 96px;
  display:flex
}

.footer-heading-mask {
  position:static
}

.footer-heading {
  font-size:60px;
  line-height:normal
}

.footer-mission {
  width:100%;
  margin-top:32px;
  font-size:18px;
  line-height:26px;
  position:static
}

.footer-contact {
  gap:10px;
  width:100%;
  height:60px;
  margin-top:28px;
  font-size:20px;
  position:static
}

.footer-social-row {
  border:none;
  border-radius:0;
  grid-template-columns:1fr 1fr;
  margin-top:48px;
  display:grid;
  position:static;
  overflow:visible
}

.footer-card {
  border:.0625rem solid var(--stroke);
  width:auto;
  height:175px;
  padding:24px
}

.footer-card:first-child {
  border-left:.0625rem solid var(--stroke);
  border-top-left-radius:12px
}

.footer-card:nth-child(2) {
  border-top-right-radius:12px
}

.footer-card:nth-child(2n) {
  border-left:none
}

.footer-card:nth-child(n+3) {
  border-top:none
}

.footer-card-icon {
  width:40px;
  height:44px
}

.footer-card-icon-wide {
  width:49px
}

.footer-logo-btn {
  order:5;
  align-self:center;
  width:48px;
  height:48px;
  margin-top:64px;
  position:relative;
  top:auto;
  left:auto;
  transform:none
}

.footer-copyright {
  text-align:center;
  white-space:normal;
  order:6;
  margin-top:48px;
  position:static
}

.footer-legal {
  order:7;
  justify-content:center;
  margin-top:16px;
  position:static
}
}

.scroll-nav-nav {
  z-index:100;
  transform:translate(-50%, calc((1 - var(--p,0)) * 2.0625rem));
  will-change:transform;
  align-items:center;
  gap:1rem;
  padding:.75rem 1rem;
  display:flex;
  position:fixed;
  bottom:3.125rem;
  left:50%
}

.scroll-nav-pill {
  -webkit-backdrop-filter:blur(1.4px);
  backdrop-filter:blur(1.4px);
  opacity:var(--p,0);
  transform:scaleX(calc(.9 + .1 * var(--p,0)));
  transform-origin:50%;
  will-change:transform, opacity;
  pointer-events:none;
  background:#00000059;
  border:1px solid #ffffff2b;
  border-radius:1rem;
  position:absolute;
  inset:0;
  box-shadow:0 .625rem 2.125rem #00000073
}

@supports ((-webkit-backdrop-filter:url("#liquid-glass")) or (backdrop-filter:url("#liquid-glass"))) {
.scroll-nav-pill {
  -webkit-backdrop-filter:url(#liquid-glass)blur(1.4px);
  backdrop-filter:url(#liquid-glass)blur(1.4px)
}
}

.scroll-nav-item {
  z-index:0;
  --chip:0;
  color:#fff;
  white-space:nowrap;
  transform:translateX(calc(var(--dx,0) * (1 - var(--p,0))));
  will-change:transform;
  padding:.5rem .75rem;
  font-size:1.125rem;
  font-weight:300;
  position:relative
}

.scroll-nav-item:before {
  content:"";
  z-index:-1;
  opacity:calc(var(--chip) * var(--p,0));
  background:#3339;
  border-radius:.5rem;
  transition:opacity .3s;
  position:absolute;
  inset:0
}

.scroll-nav-item:hover {
  --chip:.5
}

.scroll-nav-item-active {
  --chip:1
}

.scroll-nav-icon-group {
  transform:translateX(calc(var(--dx,0) * (1 - var(--p,0))));
  will-change:transform;
  align-items:center;
  gap:.5rem;
  display:flex;
  position:relative
}

.scroll-nav-theme-btn {
  z-index:0;
  border-radius:.5rem;
  justify-content:center;
  align-items:center;
  width:2.25rem;
  padding:.375rem .25rem;
  display:flex;
  position:relative
}

.scroll-nav-view-switch {
  z-index:0;
  background:0 0;
  border:none;
  border-radius:.5rem;
  justify-content:center;
  align-items:center;
  width:2.25rem;
  height:2.25rem;
  padding:0;
  display:flex;
  position:relative
}

.scroll-nav-theme-btn:before,.scroll-nav-view-switch:before {
  content:"";
  z-index:-1;
  opacity:var(--p,0);
  background:#3333;
  border-radius:.5rem;
  position:absolute;
  inset:0
}

.scroll-nav-view-switch img {
  width:1.5rem;
  height:1.5rem
}

.scroll-nav-theme-icons {
  width:1.5rem;
  height:1.5rem;
  position:relative
}

.scroll-nav-theme-icons img {
  width:100%;
  height:100%;
  transition:opacity .3s,transform .3s ease-out;
  position:absolute;
  inset:0
}

.scroll-nav-icon-sun {
  opacity:1;
  transform:rotate(0)scale(1)
}

.scroll-nav-icon-moon {
  opacity:0;
  transform:rotate(-45deg)scale(.6)
}

html[data-theme=light] .scroll-nav-icon-sun {
  opacity:0;
  transform:rotate(45deg)scale(.6)
}

html[data-theme=light] .scroll-nav-icon-moon {
  opacity:1;
  transform:rotate(0)scale(1)
}

@media (prefers-reduced-motion:reduce) {
.scroll-nav-theme-icons img {
  transition:opacity .15s;
  transform:none
}

.scroll-nav-icon-moon {
  transform:none
}

html[data-theme=light] .scroll-nav-icon-sun {
  transform:none
}
}

.scroll-nav-home-item {
  margin-left:-.75rem
}

.scroll-nav-talk {
  align-items:center;
  gap:.5rem;
  display:flex
}

.scroll-nav-talk img {
  width:.8125rem;
  height:.8125rem
}

html[data-theme=light] .scroll-nav-pill {
  background:#ececec59;
  box-shadow:0 .625rem 2.125rem #00000029
}

html[data-theme=light] .scroll-nav-item {
  color:#121212
}

html[data-theme=light] .scroll-nav-item:before {
  background:#d7d7d733
}

html[data-theme=light] .scroll-nav-theme-btn:before {
  background:#d7d7d733
}

html[data-theme=light] .scroll-nav-view-switch:before {
  background:#d7d7d733
}

:is(html[data-theme=light] .scroll-nav-view-switch img,html[data-theme=light] .scroll-nav-talk img) {
  filter:invert()
}

.scroll-nav-m-overlay,.scroll-nav-m-bar {
  display:none
}

@media (max-width:768px) {
.scroll-nav-nav {
  display:none
}

.scroll-nav-m-overlay {
  z-index:110;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s cubic-bezier(.22,1,.36,1);
  display:block;
  position:fixed;
  inset:0
}

.scroll-nav-m-overlay.scroll-nav-m-open {
  opacity:1;
  pointer-events:auto
}

.scroll-nav-m-panel {
  background:#000;
  border-radius:0 0 4px 4px;
  position:absolute;
  inset:0 0 72px;
  overflow:hidden
}

.scroll-nav-m-logo {
  width:48px;
  height:48px;
  position:absolute;
  top:56px;
  left:50%;
  transform:translate(-50%)
}

.scroll-nav-m-logo img {
  width:100%;
  height:100%
}

.scroll-nav-m-menu {
  flex-direction:column;
  gap:24px;
  margin-top:28px;
  display:flex;
  position:absolute;
  top:50%;
  left:0;
  right:0;
  transform:translateY(-50%)
}

.scroll-nav-m-item {
  color:#fff;
  text-align:left;
  opacity:0;
  border:1px solid #000;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:8px 16px 4px;
  font-size:32px;
  font-weight:300;
  line-height:40px;
  transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);
  display:flex;
  transform:translateY(18px)
}

.scroll-nav-m-open .scroll-nav-m-item {
  opacity:1;
  transform:translateY(0)
}

.scroll-nav-m-item-active {
  color:#121212;
  font-family:var(--font-display);
  background:#fff;
  border-color:#fff;
  padding:4px 16px 8px;
  font-weight:400
}

.scroll-nav-m-eye {
  object-fit:contain;
  width:48px;
  height:26px
}

.scroll-nav-m-talk-arrow {
  width:18px;
  height:18px;
  margin-right:auto
}

.scroll-nav-m-bar {
  left:50%;
  bottom:calc(12px + env(safe-area-inset-bottom,0px));
  z-index:120;
  -webkit-backdrop-filter:blur(1.4px);
  backdrop-filter:blur(1.4px);
  background:#00000059;
  border:1px solid #ffffff2b;
  border-radius:16px;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  display:flex;
  position:fixed;
  transform:translate(-50%);
  box-shadow:0 10px 34px #00000073
}

@supports ((-webkit-backdrop-filter:url("#liquid-glass")) or (backdrop-filter:url("#liquid-glass"))) {
.scroll-nav-m-bar {
  -webkit-backdrop-filter:url(#liquid-glass)blur(1.4px);
  backdrop-filter:url(#liquid-glass)blur(1.4px)
}
}

.scroll-nav-m-bar-open {
  justify-content:space-between;
  width:calc(100% - 8px)
}

.scroll-nav-m-theme-btn,.scroll-nav-m-close-btn {
  border-radius:8px;
  flex:none;
  justify-content:center;
  align-items:center;
  width:36px;
  height:36px;
  padding:0;
  display:flex;
  position:relative
}

.scroll-nav-m-theme-btn {
  background:#3333
}

.scroll-nav-m-view-switch {
  background:#3333;
  border:none;
  border-radius:8px;
  flex:none;
  justify-content:center;
  align-items:center;
  width:36px;
  height:36px;
  padding:0;
  display:flex;
  position:relative
}

.scroll-nav-m-view-switch img {
  width:24px;
  height:24px
}

.scroll-nav-m-theme-btn:after,.scroll-nav-m-view-switch:after,.scroll-nav-m-close-btn:after {
  content:"";
  position:absolute;
  inset:-4px
}

.scroll-nav-m-theme-btn .scroll-nav-theme-icons {
  width:24px;
  height:24px
}

.scroll-nav-m-bar-main {
  color:#fff;
  align-items:center;
  padding:0;
  font-size:18px;
  font-weight:300;
  line-height:normal;
  display:flex
}

.scroll-nav-m-label {
  padding:8px 12px
}

.scroll-nav-m-burger {
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:6px;
  width:36px;
  height:36px;
  display:flex
}

.scroll-nav-m-burger i {
  background:#bfbfbf;
  border-radius:4px;
  width:24px;
  height:2px
}

.scroll-nav-m-close-x {
  width:18px;
  height:18px;
  position:relative
}

.scroll-nav-m-close-x i {
  background:#f5f5f5;
  border-radius:2px;
  width:22px;
  height:1.5px;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%)rotate(45deg)
}

.scroll-nav-m-close-x i:last-child {
  transform:translate(-50%,-50%)rotate(-45deg)
}

html[data-theme=light] .scroll-nav-m-bar {
  background:#ececec59;
  box-shadow:0 10px 34px #00000029
}

:is(html[data-theme=light] .scroll-nav-m-theme-btn,html[data-theme=light] .scroll-nav-m-view-switch) {
  background:#d7d7d733
}

html[data-theme=light] .scroll-nav-m-view-switch img {
  filter:invert()
}

html[data-theme=light] .scroll-nav-m-bar-main {
  color:#121212
}

html[data-theme=light] .scroll-nav-m-burger i {
  background:#727272
}

html[data-theme=light] .scroll-nav-m-close-x i {
  background:#121212
}

html[data-theme=light] .scroll-nav-m-panel {
  background:#fcfcfc
}

html[data-theme=light] .scroll-nav-m-logo img {
  filter:invert()
}

html[data-theme=light] .scroll-nav-m-item {
  color:#121212;
  border-color:#fcfcfc
}

html[data-theme=light] .scroll-nav-m-item-active {
  color:#fff;
  background:#121212;
  border-color:#121212
}

html[data-theme=light] .scroll-nav-m-eye {
  filter:none
}

html[data-theme=light] .scroll-nav-m-talk-arrow {
  filter:invert()
}
}

@media (prefers-reduced-motion:reduce) {
.scroll-nav-m-overlay,.scroll-nav-m-item {
  transition:none
}
}

.custom-cursor-cursor {
  pointer-events:none;
  z-index:9999;
  opacity:0;
  will-change:transform;
  justify-content:center;
  align-items:center;
  width:8.25rem;
  height:8.25rem;
  margin:-4.125rem 0 0 -4.125rem;
  transition:opacity .2s;
  display:flex;
  position:fixed;
  top:0;
  left:0
}

.custom-cursor-scaler {
  justify-content:center;
  align-items:center;
  width:4.125rem;
  height:4.125rem;
  display:flex;
  position:absolute
}

.custom-cursor-disc {
  background-color:#fff0;
  border-radius:50%;
  width:4.125rem;
  height:4.125rem;
  position:absolute
}

.custom-cursor-disc img {
  width:100%;
  height:100%;
  position:absolute;
  inset:0
}

.custom-cursor-cross {
  width:4.125rem;
  height:4.125rem;
  position:absolute
}

.custom-cursor-cross:before,.custom-cursor-cross:after {
  content:"";
  background:var(--green);
  position:absolute;
  top:50%;
  left:50%
}

.custom-cursor-cross:before {
  width:1.5rem;
  height:.125rem;
  transform:translate(-50%,-50%)
}

.custom-cursor-cross:after {
  width:.125rem;
  height:1.5rem;
  transform:translate(-50%,-50%)
}

.custom-cursor-label {
  color:#121212;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  font-size:1.125rem;
  font-weight:300;
  position:absolute
}

@media (pointer:coarse) {
.custom-cursor-cursor {
  display:none
}
}

.work-hero-hero {
  background:0 0;
  width:100%;
  height:76.25rem;
  position:relative
}

.work-hero-inner {
  width:85.75rem;
  height:100%;
  margin:0 auto;
  position:relative
}

.work-hero-logo {
  width:3.125rem;
  height:3.125rem;
  position:absolute;
  top:3.5625rem;
  left:50%;
  transform:translate(-50%)
}

.work-hero-title {
  color:var(--text-headline);
  white-space:nowrap;
  font-size:6.25rem;
  font-weight:300;
  line-height:1;
  position:absolute
}

.work-hero-title em {
  font-family:var(--font-display);
  font-style:italic;
  font-weight:400
}

.work-hero-arrow {
  vertical-align:middle;
  width:2.6875rem;
  height:2.6875rem;
  display:inline-block;
  position:relative;
  top:-1.29rem
}

.work-hero-arrow img {
  width:100%;
  height:100%;
  transform:rotate(45deg)
}

.work-hero-sub {
  width:34.5625rem;
  color:var(--text-body);
  font-size:1.125rem;
  font-weight:300;
  line-height:1.5;
  position:absolute
}

html[data-theme=light] .work-hero-logo {
  filter:invert()
}

html[data-theme=light] .work-hero-arrow img {
  filter:invert()
}

@media (max-width:768px) {
.work-hero-hero {
  height:auto;
  padding:0 16px
}

.work-hero-inner {
  width:100%;
  height:auto;
  padding:170px 0 72px
}

.work-hero-logo {
  width:48px;
  height:48px;
  top:56px
}

.work-hero-title {
  font-size:45px;
  position:static
}

.work-hero-arrow {
  width:24px;
  height:24px;
  top:-6px
}

.work-hero-sub {
  width:100%;
  margin-top:24px;
  font-size:16px;
  line-height:26px;
  position:static
}
}

.preloader-overlay {
  --box:clamp(96px, 16.8vw, 168px);
  z-index:9999;
  background:var(--bg);
  clip-path:inset(0);
  will-change:clip-path;
  justify-content:center;
  align-items:center;
  display:flex;
  position:fixed;
  inset:0
}

.preloader-stage {
  width:1px;
  height:var(--box);
  position:relative
}

.preloader-cell {
  width:var(--box);
  height:var(--box);
  margin-left:calc(var(--box) / -2);
  margin-top:calc(var(--box) / -2);
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(0)
}

.preloader-img-cell {
  z-index:2;
  background:var(--bg);
  overflow:hidden
}

.preloader-counter-cell {
  z-index:1;
  justify-content:center;
  align-items:center;
  display:flex
}

.preloader-logo-cell {
  z-index:3;
  background:var(--bg);
  overflow:hidden
}

.preloader-rise {
  opacity:0;
  will-change:transform, opacity;
  justify-content:center;
  align-items:center;
  width:100%;
  height:100%;
  display:flex;
  transform:translateY(115%)
}

.preloader-logo {
  width:70%;
  height:auto;
  display:block
}

.preloader-logo svg {
  width:100%;
  height:100%;
  display:block
}

.preloader-img-cell img {
  object-fit:cover;
  width:100%;
  height:100%;
  display:block
}

.preloader-pct {
  font-family:var(--font-sans);
  font-weight:300;
  font-size:clamp(13px, calc(var(--box) * .13), 22px);
  letter-spacing:.01em;
  font-variant-numeric:tabular-nums;
  color:var(--text-headline);
  white-space:nowrap;
  will-change:transform, opacity
}

.preloader-num {
  font-variant-numeric:tabular-nums
}

.preloader-dark-cover {
  z-index:4;
  background:var(--bg);
  will-change:width;
  width:0;
  position:absolute
}

.preloader-name {
  z-index:5;
  white-space:nowrap;
  flex-direction:column;
  display:flex;
  position:absolute;
  top:50%;
  transform:translateY(-50%)
}

.preloader-line {
  line-height:.84
}

.preloader-char-mask {
  vertical-align:top;
  display:inline-block;
  overflow:hidden
}

.preloader-char-rise {
  font-family:var(--font-sans);
  text-transform:uppercase;
  letter-spacing:-.01em;
  font-weight:300;
  font-size:calc(var(--box) * .3);
  color:var(--text-headline);
  will-change:transform, opacity;
  display:inline-block;
  transform:translateY(115%)
}

[hidden] { display: none !important; }
body { overflow-x: clip; }
.hero-char, .hero-word { display: inline-block; }
.hero-word { white-space: nowrap; }
.hero-mask { display: inline-block; overflow: clip; vertical-align: top; }
.hero-hero .hero-banner > p { opacity: 0; }
.hero-hero .hero-cta, .hero-hero .hero-tagline { opacity: 0; }
.no-js .hero-hero .hero-banner > p, .no-js .hero-hero .hero-cta { opacity: 1; }
.contact-modal-overlay { transition: opacity .35s; }
.contact-modal-form-error a { color: #121212; text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
  .hero-hero .hero-banner > p, .hero-hero .hero-cta { opacity: 1; }
  .hero-hero .hero-tagline { opacity: .7; }
}


/* Adworks content in the retained fluted-glass / editorial visual system. */
:root{--bg:#050507;--text-headline:#fff;--text-body:#b5b5b8;--text-large:#d3d3d5;--stroke:#38383e;--green:#c8e58a;--green-grad:linear-gradient(114.41deg,#7b904d 0%,#b7d079 50%,#c8e58a 100%)}
html[data-theme=light]{--bg:#f4f5f7;--text-headline:#111114;--text-body:#616168;--text-large:#3a3a42;--stroke:#c9c9cf;--green:#73893e}
body{background:var(--bg)}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:5px}
.language-switch{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border:1px solid var(--stroke);border-radius:99px;padding:.5rem .7rem;font-size:1rem;line-height:1;color:var(--text-headline);transition:background .25s,transform .25s}
.language-switch:hover{background:var(--green);color:#050507}
.language-switch [data-language-label]{opacity:1}.language-switch [data-language-next],.language-switch>span:nth-child(2){opacity:.45}
.scroll-nav-item[aria-current=page]{text-decoration:underline;text-underline-offset:.35em}
.scroll-nav-m-panel{overflow-y:auto}.scroll-nav-m-menu{gap:1.5rem}.scroll-nav-m-item{font-size:3.2rem}.scroll-nav-m-item[aria-current=page]{color:var(--green)}
.hero-logo{width:5.6rem;height:5.6rem;top:2.4rem}.hero-logo img{height:100%;width:100%;object-fit:contain}
html[data-theme=light] .hero-logo img,html[data-theme=light] .scroll-nav-m-logo img{filter:invert(1)}
.hero-cta{border:1px solid currentColor;border-radius:99px;display:flex;align-items:center;justify-content:center;gap:.65rem;color:#fff;padding:1.25rem 1.5rem;width:auto;min-width:11rem;font-size:1.25rem;line-height:1.2}
.hero-cta>span:last-child{font-size:1.5rem}.hero-cta:hover{background:var(--green);color:#050507}
.about-text-block{height:auto;min-height:34rem}.about-text-block .adworks-about-flow{position:static;display:block;max-width:85.75rem;line-height:1.4}
.about-rail-ticks{height:100%;width:3px;background:repeating-linear-gradient(#878787 0 1px,transparent 1px 12px)}
.about-rail{min-height:33.1875rem}.adworks-about-flow .about-glyph{position:static;display:inline-block;vertical-align:middle;margin:0 .2em}
.metrics-value-label{position:absolute;left:13rem;top:1rem}.metrics-value-label .metrics-slide{font-size:1.6rem}
.services-header-title{font-family:var(--font-display);font-size:3.125rem;line-height:1.2;max-width:25rem}
.services-row{appearance:none;background:transparent;border:0;width:100%;text-align:inherit;color:var(--text-headline)}
.services-list{margin-bottom:0}.services-row-title{position:relative!important;left:auto!important;top:auto!important;font-size:4.9rem;max-width:100%;line-height:1.3;white-space:nowrap}
.services-row{display:flex;align-items:center;justify-content:center;gap:1rem;height:8rem}.services-row-icon{position:relative!important;left:auto!important;top:auto!important;transform:none!important;transform-origin:50% 50%!important;width:4.375rem;height:4.375rem;flex:none}
.services-indicator{right:0;left:auto;top:2rem!important}.services-row[aria-selected=true] .services-row-icon{background:var(--green)}
.services-header-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:1.25rem;width:auto!important;min-width:15.5rem;padding:1.15rem 2.5rem!important;box-sizing:border-box!important;white-space:nowrap}.services-header-btn>span:last-child{font-size:1.5rem;line-height:1}
.service-specification{width:85.75rem;max-width:calc(100vw - 32px);margin:0 auto;border-top:1px solid var(--stroke);padding-top:3rem;color:var(--text-body);font-size:1.25rem;line-height:1.65}
.service-specification h3{font-family:var(--font-display);font-size:3.125rem;color:var(--text-headline);margin-bottom:1.2rem}
.service-specification h4{color:var(--text-headline);margin:2rem 0 .75rem}.service-specification ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 2rem}.service-specification li:before{content:'↗';color:var(--green);margin-right:.7em}
.service-specification .folio-button{margin-top:2rem}
.folio-section{width:85.75rem;max-width:calc(100% - 32px);margin:0 auto;padding:8rem 0;color:var(--text-headline)}
body[data-route]:not([data-route="/"]) .folio-section:first-child{padding-top:12rem}
.folio-pagehead{margin:0 0 5rem}.folio-eyebrow{font-size:1rem;letter-spacing:.04em;line-height:1.5;color:var(--text-body);margin-bottom:1.6rem}
.folio-heading{font-size:6.25rem;font-weight:300;line-height:1.12;letter-spacing:-.04em;max-width:85rem;margin:0 0 2rem;text-wrap:balance}
.folio-heading em,.folio-heading strong{font-family:var(--font-display);font-weight:400;font-style:italic}
.folio-intro{font-size:1.375rem;line-height:1.7;color:var(--text-body);max-width:62rem;margin:1.5rem 0 2rem}
.folio-subheading,.folio-section h3{font-family:var(--font-display);font-weight:400;font-size:3.125rem;line-height:1.3;margin-bottom:1.2rem;text-wrap:balance}
.folio-section h4{font-weight:300;font-size:1.5rem;margin:1.5rem 0 1rem}
.folio-section p,.folio-section li{font-size:1.25rem;line-height:1.7}.folio-section .folio-eyebrow{font-size:1rem}.folio-section .folio-intro{font-size:1.375rem}
.folio-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:3rem 0}.folio-card{border:1px solid var(--stroke);border-radius:.75rem;padding:2.5rem;transition:background .3s,border-color .3s,transform .3s;background:transparent;color:var(--text-headline);text-align:left}
.folio-card:hover{border-color:var(--green)}.folio-card p{color:var(--text-body)}
.folio-card h3,.folio-card .folio-subheading{font-size:2.5rem}.folio-button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;border:1px solid var(--stroke);border-radius:99px;padding:1rem 1.5rem;font-size:1.25rem;color:var(--text-headline);line-height:1.2;transition:background .25s,color .25s,border-color .25s;text-decoration:none!important}
.folio-button:hover{background:var(--green);color:#050507;border-color:var(--green)}.folio-button:disabled{opacity:.5;cursor:wait}
.tag-list{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0;list-style:none;padding:0}.tag-list>*{border:1px solid var(--stroke);border-radius:99px;padding:.35rem .9rem;font-size:1rem!important;line-height:1.4}
.folio-tabs{display:flex;gap:.65rem;flex-wrap:wrap;margin:2rem 0}.folio-tab{border:1px solid var(--stroke);border-radius:99px;padding:.8rem 1.15rem;font-size:1.125rem;line-height:1.3;text-align:left;transition:color .25s,background .25s,border-color .25s}
.folio-tab:hover{border-color:var(--green)}.folio-tab[aria-selected=true],.folio-tab[aria-pressed=true]{background:var(--green);color:#050507;border-color:var(--green)}
.tab-panel{animation:panel-in .4s cubic-bezier(.22,1,.36,1);color:var(--text-body);line-height:1.65}.tab-panel h3,.tab-panel h4{color:var(--text-headline)}
@keyframes panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.folio-details{border-top:1px solid var(--stroke);padding:1.5rem 0}.folio-details:last-child{border-bottom:1px solid var(--stroke)}
.folio-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1.5rem;color:var(--text-headline)}.folio-details summary:after{content:'+';font-size:2rem;color:var(--green)}.folio-details[open] summary:after{content:'−'}.folio-details>div,.folio-details>p{padding:1rem 0 0;color:var(--text-body)}
.folio-feature-list,.case-features{list-style:none;padding:0;margin:2rem 0}.folio-feature-list li,.case-features li{border-bottom:1px solid var(--stroke);padding:.85rem 0}.folio-feature-list li:before,.case-features li:before{content:'↗';margin-right:.8rem;color:var(--green)}
.case-block{display:grid;grid-template-columns:1fr 2fr;gap:3.5rem;border-top:1px solid var(--stroke);padding:3.5rem 0}.case-block .folio-eyebrow{font-size:1rem!important}.case-block .case-copy{font-size:1.6rem;color:var(--text-body)}
.case-block p{margin-bottom:1rem}.case-block h3{font-size:2.2rem}.fact-list>div{display:flex;justify-content:space-between;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--stroke);font-size:1.25rem}.fact-list strong{font-weight:300;color:var(--text-headline)}
.illustration-facts{padding:1rem 0;column-count:2}.illustration-facts p{break-inside:avoid}.standards-section .folio-card{border-radius:0;border-left:0;border-right:0}.standards-section ul{list-style:disc; padding-left:1.4rem}
.folio-projects.works-grid{width:85.75rem;max-width:calc(100% - 32px);height:auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem 2.5rem;position:relative;margin:5rem auto 10rem}
.portfolio-page .folio-projects.works-grid{max-width:100%}.project-item:nth-child(1),.project-item:nth-child(4){grid-column:1/-1}.project-item .works-media{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:16/10;border-radius:.5rem}.project-item:nth-child(1) .works-media,.project-item:nth-child(4) .works-media{aspect-ratio:1.8}.project-item .works-inner{position:absolute;inset:0}.project-image{width:100%;height:100%;object-fit:cover!important;object-position:top}.project-image--app{object-fit:contain!important;background:#090910}.project-item:nth-child(4) .works-media{background:#090910}.project-item:nth-child(4) .works-inner img{object-fit:contain!important;max-height:100%;padding:3rem}
.project-caption{padding:2rem 0}.project-caption-head{display:flex;align-items:center;justify-content:space-between;gap:2rem}.project-caption h2{font-size:3.125rem;font-weight:300;line-height:1.2}.project-year,.project-subtitle,.project-description,.project-domain{color:var(--text-body);font-size:1.2rem;line-height:1.65}.project-subtitle{margin-top:1.25rem}.project-description{max-width:62rem;margin:.75rem 0}.project-caption-bottom{display:flex;align-items:center;gap:1rem;margin-top:2rem}.project-domain{margin-right:auto}.project-arrow{font-size:2.5rem;color:var(--green)}.project-extra{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem;color:var(--text-body);font-size:1rem}.project-status{color:var(--green)}.project-runtime .tag-list{margin:0}
.folio-marquee{overflow:hidden;white-space:nowrap;font-family:var(--font-display);font-style:italic;font-size:4rem;color:var(--text-body);margin:6rem calc(-50vw + 50%)}.folio-marquee>div{display:flex;width:max-content;animation:folio-marquee 50s linear infinite}@keyframes folio-marquee{to{transform:translateX(-33.333%)}}
.folio-media{overflow:hidden;border-radius:.5rem}.folio-media img{display:block;width:100%;height:100%;object-fit:cover}.folio-media figcaption{color:var(--text-body);font-size:1rem;padding:1rem 0;display:flex;justify-content:space-between;gap:1rem}.case-hero{margin:4rem 0 6rem;overflow:visible}.case-hero img{height:auto;max-height:60rem;object-position:top;object-fit:cover;border-radius:.5rem}.case-hero--pocket-gravity img{height:50rem;object-fit:contain;background:#090910}.case-subtitle{font-family:var(--font-display);font-style:italic;font-size:3.125rem;color:var(--text-large)}.case-breadcrumb{display:flex;gap:1rem;color:var(--text-body);font-size:1rem;margin-bottom:3rem}.case-back{margin-bottom:3rem}.case-section-title{margin:4rem 0}.case-switcher strong{display:block;font-size:3rem;font-weight:300}.case-reflection blockquote{font-family:var(--font-display);font-style:italic}.studio-story{align-items:center}.studio-media img{height:34rem}.studio-quote{margin:6rem 0;border-left:2px solid var(--green);padding-left:3rem}.studio-metrics{grid-template-columns:repeat(4,1fr)}.studio-metric{padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.studio-metric[aria-pressed=true]{background:var(--green);color:#050507}.studio-metric[aria-pressed=true] .folio-eyebrow{color:#25310f}.metric-value{font-size:3.3rem;font-weight:300;line-height:1}.metric-label{font-size:1.2rem;line-height:1.5}.studio-timeline{margin-top:6rem}.legal-page{max-width:calc(100% - 32px)}.legal-page .folio-heading{font-size:5rem}.legal-page .case-block{grid-template-columns:1fr 1.7fr}.legal-page .folio-subheading{font-size:2rem}.legal-copy{color:var(--text-body);font-size:1.25rem;line-height:1.75}.legal-copy p{margin-bottom:1rem}.legal-copy ul,.legal-copy ol{margin:1rem 0;padding-left:1.5rem}.legal-copy a{color:var(--text-headline);text-decoration:underline}.legal-copy strong{font-weight:300;color:var(--text-headline)}.cookie-preference{margin:3rem 0}.cookie-status{display:block;margin-bottom:1.5rem}
.project-preview .play-real-stage{transform:scale(.62)}.preview-image-wrap{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#090910}.preview-image{width:100%;height:100%;object-fit:cover;object-position:top;filter:brightness(.4);transition:width .6s,filter .4s,border-radius .6s}.preview-image-wrap[data-device=tablet] .preview-image{width:min(65%,560px);border-radius:1.5rem;filter:brightness(.65)}.preview-image-wrap[data-device=mobile] .preview-image{width:min(45%,360px);border-radius:2rem;filter:brightness(.65)}.preview-controls{position:absolute;bottom:3rem;left:3rem;right:3rem;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.preview-controls .folio-tabs{margin:0}.preview-controls .folio-tab{color:#fff;border-color:#ffffff66;font-size:1rem;backdrop-filter:blur(20px);background:#05050755}.preview-controls .folio-tab[aria-pressed=true]{color:#050507;background:#c8e58a}.preview-controls .folio-button{color:#fff;border-color:#ffffff66;background:#05050755;backdrop-filter:blur(20px);font-size:1rem}.preview-controls .folio-button:hover{background:#c8e58a;color:#050507}
.process-card{padding:2.5rem!important;display:flex;flex-direction:column;gap:1rem;justify-content:flex-start!important}.process-card h3{font-family:var(--font-display);font-size:2.3rem;font-weight:400;line-height:1.2}.process-card .testimonials-quote{font-size:1.1rem;line-height:1.65;margin:0}.process-card .testimonials-author{font-size:1.1rem;margin-top:auto}.process-roles{display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1rem;font-size:.95rem;color:var(--text-body)}.process-roles h4{grid-row:1;margin:0;color:var(--text-headline)}.process-roles p{line-height:1.5}.testimonials-heading{font-size:5rem;line-height:1.08;white-space:normal}.testimonials-left-desc{font-size:1.25rem}.partners-title{font-family:var(--font-display);line-height:1.1}.partners-cell{border:1px solid var(--stroke)!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;transition:background .25s;cursor:default!important;user-select:none}.partners-cell:hover{background:var(--green);color:#050507}.partners-logo{width:4rem!important;height:4rem!important;object-fit:contain;filter:grayscale(1) brightness(2)}.partners-cell:hover .partners-logo{filter:grayscale(1) brightness(.25)}.partners-cell>span{font-size:1.125rem}.partners-grid{grid-template-columns:repeat(5,1fr)}
.tool-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;margin:4rem 0;align-items:start}.tool-panel{border:1px solid var(--stroke);border-radius:1rem;padding:2.5rem}.tool-form{display:flex;flex-direction:column;gap:2rem}.tool-field{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.tool-field>label,.tool-label{font-size:1.5rem}.tool-option{display:flex;gap:1rem;align-items:flex-start;border-top:1px solid var(--stroke);padding:1.5rem 0}.tool-option input{margin-top:.5rem;flex-shrink:0}.tool-option label{cursor:pointer}.tool-option span,.tool-option strong{display:block}.tool-option p,.tool-description{color:var(--text-body);font-size:1.1rem!important;line-height:1.65}.tool-option small{color:var(--text-body);font-size:1rem}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:1.25rem;height:1.25rem}input[type=range]{accent-color:var(--green);width:100%}input[type=url],.tool-input{width:100%;border:1px solid var(--stroke);border-radius:99px;padding:1rem 1.5rem;background:transparent;color:var(--text-headline);font-size:1.25rem}.price-value{font-family:var(--font-display);font-size:5rem;line-height:1.2;margin:1.5rem 0}.cost-total,#cost-total{display:block;font-family:var(--font-display);font-size:3.8rem;line-height:1.25;text-wrap:balance;color:var(--text-headline)}.cost-breakdown{margin:2rem 0}.cost-breakdown>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--stroke);padding:1rem 0;font-size:1.1rem;color:var(--text-body)}.cost-breakdown strong{font-weight:300;color:var(--text-headline)}#cost-result{position:sticky;top:3rem}#cost-quote{margin:2rem 0}.folio-table-wrap{overflow-x:auto;margin:3rem 0}.folio-table{width:100%;border-collapse:collapse;font-size:1.125rem;line-height:1.6;min-width:640px}.folio-table th,.folio-table td{padding:1.5rem;text-align:left;border-bottom:1px solid var(--stroke);font-weight:300}.folio-table th{color:var(--text-headline)}.folio-table td{color:var(--text-body)}.folio-table th:last-child,.folio-table td:last-child{color:var(--green)}.folio-table caption{text-align:left;font-size:2rem;margin-bottom:2rem}.audit-score{font-family:var(--font-display);font-size:7rem;line-height:1.1;color:var(--green)}.audit-error{color:#e7a495;border:1px solid #e7a49555;padding:1.25rem;border-radius:.5rem;margin:2rem 0}.audit-note{font-size:1rem!important;color:var(--text-body);margin-top:2rem;line-height:1.5!important}.audit-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.audit-result-grid .folio-card{overflow-wrap:anywhere}.industry-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.industry-list a{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--stroke);padding:1.5rem 0;font-size:1.5rem}.industry-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0}
.footer-footer{height:auto!important;margin-bottom:0!important;padding:7rem 2rem 5rem!important;display:flex!important;justify-content:center!important;width:100%!important;box-sizing:border-box!important;position:relative!important;background:var(--bg)!important}
.footer-inner{width:100%!important;max-width:85.75rem!important;height:auto!important;display:flex!important;flex-direction:column!important;position:relative!important;gap:4rem!important}
.footer-heading-mask{position:static!important;overflow:hidden!important;width:100%!important}
.footer-heading{font-family:var(--font-display)!important;font-size:clamp(3.5rem,8vw,8.5rem)!important;line-height:1.1!important;white-space:normal!important;margin:0!important;transform:translateY(120%);transition:transform .9s cubic-bezier(.22,1,.36,1)}
.footer-in-view .footer-heading{transform:translateY(0)!important}
.footer-top-group{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:2.5rem!important;flex-wrap:wrap!important;width:100%!important}
.footer-mission{position:static!important;width:auto!important;max-width:38rem!important;font-size:1.15rem!important;line-height:1.7!important;color:var(--text-large)!important;margin:0!important}
.footer-mission p{margin:0 0 .75rem 0!important}
.footer-write-link{font-size:1.15rem!important;color:var(--text-headline)!important;margin-bottom:.75rem!important;display:inline-block!important;background:transparent;border:0;padding:0;cursor:pointer}
.footer-direct{margin:1rem 0!important;display:flex!important;align-items:center!important;gap:.5rem!important}
.footer-direct a{color:var(--text-headline);text-decoration:underline;text-underline-offset:.3em}
.copy-email{font-size:.8rem;border:1px solid var(--stroke);border-radius:99px;padding:.2rem .65rem!important;cursor:pointer!important;background:transparent;color:var(--text-headline)}
.footer-contact{position:static!important;width:auto!important;min-width:13.5rem!important;height:4.5rem!important;padding:1.25rem 2.25rem!important;margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.75rem!important;font-size:1.5rem!important;flex-shrink:0!important;border-radius:9999px!important;border:.09375rem solid #fff}
.footer-social-row{position:static!important;width:100%!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;border:1px solid var(--stroke)!important;border-radius:.75rem!important;overflow:hidden!important;margin:1rem 0 2rem!important;box-sizing:border-box!important}
.footer-card{width:auto!important;height:15rem!important;padding:2.25rem!important;border-left:1px solid var(--stroke)!important;border-top:none!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;box-sizing:border-box!important}
.footer-card:first-child{border-left:none!important}
.footer-card-icon{background:var(--text-headline);width:2.5rem!important;height:2.75rem!important}
.footer-card-label{font-size:1rem!important;font-weight:400!important}
.footer-bottom-row{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;padding-top:2rem!important;border-top:1px solid var(--stroke)!important;gap:1.5rem!important;flex-wrap:wrap!important}
.footer-copyright{position:static!important;margin:0!important;font-size:.95rem!important;color:var(--text-body)!important}
.footer-logo-btn{position:relative!important;transform:none!important;margin:0!important;width:3.5rem!important;height:3.5rem!important;cursor:pointer!important;background:transparent;border:none}
.footer-logo-btn .footer-logo-img{width:4.5rem;height:4.5rem;inset:-.5rem}
.footer-legal{position:static!important;display:flex!important;align-items:center!important;gap:1.5rem!important;margin:0!important;font-size:1rem!important}
@media(max-width:900px){.footer-social-row{grid-template-columns:repeat(2,1fr)!important}.footer-card{height:12rem!important;border-top:1px solid var(--stroke)!important}.footer-card:nth-child(odd){border-left:none!important}}
@media(max-width:600px){.footer-footer{padding:4rem 1rem 3rem!important}.footer-social-row{grid-template-columns:1fr!important}.footer-card{border-left:none!important;border-top:1px solid var(--stroke)!important;height:9rem!important}.footer-card:first-child{border-top:none!important}.footer-bottom-row{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:1.5rem!important}.footer-logo-btn{order:-1!important}}
.contact-modal-overlay{position:fixed;inset:0;z-index:250;background:#05050799;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;transition:opacity .3s}.contact-modal-open{opacity:1}.contact-modal-dialog{position:relative;background:#f4f5f7;color:#111114;border-radius:1.4rem;width:65rem;max-width:100%;max-height:90svh;overflow:auto;padding:3rem;transform:translateY(25px) scale(.98);transition:transform .35s}.contact-modal-open .contact-modal-dialog{transform:none}.contact-modal-heading{font-family:var(--font-display);font-size:4.5rem;line-height:1.15;color:#111114;margin:0 3rem 1.5rem 0}.contact-modal-subtitle{font-size:1.375rem;line-height:1.5;color:#616168;margin-bottom:2rem}.contact-modal-close{position:absolute;right:1.75rem;top:1.4rem;font-size:3rem;line-height:1;color:#111114}.contact-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.contact-modal-field{margin:1.5rem 0}.contact-modal-field label{font-size:1rem;color:#616168;display:block;margin-bottom:.6rem}.contact-modal-field input,.contact-modal-field textarea{width:100%;color:#111114;border:0;border-bottom:1px solid #c9c9cf;background:transparent;padding:.8rem 0;border-radius:0;font-size:1.5rem;resize:vertical}.contact-modal-submit-row{display:flex;gap:2rem;align-items:center;margin:2.5rem 0 1.5rem}.contact-modal-submit-row .folio-button{color:#111114;border-color:#111114}.contact-modal-submit-row p,.contact-modal-feedback,#contact-feedback{font-size:1rem;line-height:1.5;color:#616168}.folio-dialog{color:var(--text-headline);background:var(--bg);border:1px solid var(--stroke);border-radius:1.4rem;width:42rem;max-width:calc(100vw - 32px);padding:3rem;box-shadow:0 20px 120px #0007}.folio-dialog::backdrop{background:#05050799;backdrop-filter:blur(12px)}.folio-dialog h2{font-family:var(--font-display);font-weight:400;font-size:3.5rem;margin:1rem 0}.folio-dialog p{font-size:1.375rem;color:var(--text-body);line-height:1.7;margin-bottom:2rem}.dialog-close{position:absolute;right:1.5rem;top:1.25rem;font-size:2.5rem}.tech-dialog-icon{width:4rem;height:4rem;object-fit:contain}.cookie-banner{position:fixed;right:2rem;bottom:8rem;z-index:240;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(24px);border:1px solid var(--stroke);border-radius:1rem;padding:2rem;width:34rem;max-width:calc(100vw - 32px);color:var(--text-headline)}.cookie-banner h3{font-family:var(--font-display);font-size:2rem;margin-bottom:.75rem}.cookie-banner p,.cookie-banner>a{font-size:1rem;line-height:1.65;color:var(--text-body)}.cookie-banner>a{text-decoration:underline}.cookie-banner>div{display:flex;gap:1rem;margin-top:1.5rem}.cookie-banner .folio-button{font-size:1rem;flex:1;padding:.8rem}
@media(min-width:769px) and (max-width:1100px){.services-row-title{font-size:4.3rem}.process-card .testimonials-quote{font-size:1.15rem}.contact-modal-dialog{width:70rem}.language-switch{font-size:1.1rem}.scroll-nav-item{font-size:1.3rem}.folio-section p,.folio-section li{font-size:1.4rem}}
@media(max-width:768px){.language-switch{font-size:12px;gap:4px;padding:9px 10px}.scroll-nav-m-bar{gap:4px;max-width:calc(100vw - 32px)}.scroll-nav-m-bar-main{min-width:115px}.scroll-nav-m-menu{gap:20px}.scroll-nav-m-item{font-size:30px}.hero-logo{width:84px;height:84px;top:24px}.hero-banner p{font-size:45px}.hero-line-sans:nth-child(3){left:20px!important;top:280px!important;font-size:40px}.hero-line-display:last-child{left:45%!important;top:333px!important}.hero-cta{height:60px;min-width:165px;font-size:18px;padding:16px 22px}.hero-cta>span:last-child{font-size:24px}.hero-tagline{font-size:13px!important;line-height:20px!important}.about-text-block{min-height:0}.about-text-block .adworks-about-flow{font-size:30px;line-height:42px}.about-rail{min-height:0}.metrics-value-label{left:150px;top:6px}.metrics-value-label .metrics-slide{font-size:20px}.metrics-value{font-size:80px}.services-header-title{max-width:100%;font-size:38px}.services-row{height:auto;justify-content:center;gap:10px}.services-row-title{font-size:30px;white-space:normal;text-align:center}.services-roll-inner{max-width:100%;display:block}.services-roll-dup{white-space:normal;width:100%;text-align:center}.service-specification{width:100%;margin:0;font-size:16px;line-height:1.75;padding-top:32px;max-width:100%}.service-specification h3{font-size:32px}.service-specification ul{grid-template-columns:1fr}.service-specification .folio-intro{font-size:18px}.folio-section{padding:80px 0;max-width:calc(100% - 32px);width:auto}.folio-heading{font-size:48px;line-height:1.15;margin-bottom:24px;letter-spacing:-.035em}.folio-intro,.folio-section .folio-intro{font-size:18px;line-height:1.7;max-width:100%}.folio-section p,.folio-section li{font-size:16px;line-height:1.75}.folio-section .folio-eyebrow,.folio-eyebrow{font-size:12px;line-height:1.5;margin-bottom:18px}.folio-pagehead{margin-bottom:48px}.folio-subheading,.folio-section h3,.folio-card h3,.folio-card .folio-subheading{font-size:32px;line-height:1.25}.folio-section h4{font-size:20px;margin:24px 0 14px}.folio-grid{grid-template-columns:1fr;gap:20px;margin:32px 0}.folio-card{padding:24px;border-radius:12px}.folio-button{font-size:16px;padding:16px 20px;gap:16px;line-height:1.3}.tag-list{gap:6px;margin:20px 0}.tag-list>*{font-size:12px!important;padding:5px 10px}.folio-tabs{gap:8px;margin:24px 0}.folio-tab{font-size:14px;padding:12px 16px}.case-block,.legal-page .case-block{grid-template-columns:1fr;gap:20px;padding:32px 0}.case-block .case-copy{font-size:20px}.case-block .folio-eyebrow{font-size:12px!important}.case-block h3{font-size:24px}.fact-list>div{font-size:14px;padding:14px 0;gap:16px}.illustration-facts{column-count:1}.folio-details{padding:20px 0}.folio-details summary{font-size:20px}.folio-feature-list li,.case-features li{padding:12px 0}.folio-projects.works-grid{grid-template-columns:1fr;gap:48px;margin:64px auto 80px;width:auto;max-width:calc(100% - 32px)}.project-item:nth-child(n){grid-column:auto}.project-item .works-media{aspect-ratio:1.5!important}.project-item:nth-child(4) .works-inner img{padding:20px}.project-caption{padding:24px 0}.project-caption h2{font-size:36px}.project-year,.project-subtitle,.project-description,.project-domain{font-size:14px;line-height:1.7}.project-caption .folio-eyebrow{font-size:12px}.project-caption-bottom{gap:8px;flex-wrap:wrap;margin-top:24px}.project-detail-label{font-size:13px;padding:10px 14px}.project-domain{font-size:12px}.project-extra{font-size:12px;gap:12px}.project-arrow{font-size:24px}.folio-marquee{font-size:36px;margin-top:48px;margin-bottom:48px}.case-subtitle{font-size:30px}.case-hero{margin:40px 0}.case-hero--pocket-gravity img{height:380px}.folio-media figcaption{font-size:12px;padding:12px 0}.case-switcher strong{font-size:30px}.case-breadcrumb{font-size:12px;gap:8px;flex-wrap:wrap}.case-back{margin-bottom:40px}.studio-media img{height:260px}.studio-metrics{grid-template-columns:1fr 1fr}.studio-metric{padding:20px;gap:16px;overflow-wrap:anywhere}.metric-value{font-size:30px}.metric-label{font-size:14px}.studio-metric .folio-eyebrow{font-size:11px}.studio-quote{margin:48px 0;padding-left:24px}.studio-timeline{margin-top:48px}.legal-page .folio-heading{font-size:42px}.legal-page .folio-subheading{font-size:24px}.legal-copy{font-size:16px}.legal-copy p,.legal-copy li{font-size:16px}.cookie-preference{margin:32px 0}.play-real-real.project-preview{height:650px}.preview-controls{left:16px;right:16px;bottom:24px;flex-direction:column;align-items:stretch;gap:12px}.preview-controls .folio-tabs{justify-content:center;gap:6px}.preview-controls .folio-tab{font-size:11px;padding:10px}.preview-controls .folio-button{font-size:14px}.preview-image-wrap[data-device=mobile] .preview-image{width:70%}.preview-image-wrap[data-device=tablet] .preview-image{width:85%}.process-card{padding:24px!important;gap:12px}.process-card h3{font-size:25px}.process-card .folio-eyebrow{font-size:10px;margin-bottom:0}.process-card .testimonials-quote{font-size:14px;line-height:1.65}.process-card .testimonials-author{font-size:13px;line-height:1.5}.process-roles{font-size:12px;gap:4px 12px}.testimonials-heading{font-size:40px}.testimonials-left-desc{font-size:16px}.partners-grid{grid-template-columns:repeat(2,1fr)}.partners-title{font-size:44px}.partners-logo{width:40px!important;height:40px!important}.partners-cell{gap:16px}.partners-cell>span{font-size:14px}.tool-layout{grid-template-columns:1fr;gap:24px;margin:40px 0}.tool-panel{padding:24px;border-radius:12px}.tool-field{gap:12px;margin:24px 0}.tool-field>label,.tool-label{font-size:20px}.tool-option{padding:20px 0;gap:12px}.tool-option p,.tool-description{font-size:14px!important}.tool-option small{font-size:12px}.tool-option input{margin-top:6px}input[type=checkbox],input[type=radio]{width:20px;height:20px}input[type=url],.tool-input{font-size:16px;padding:16px 20px}.price-value{font-size:50px}.cost-total,#cost-total{font-size:38px}.cost-breakdown{margin:24px 0}.cost-breakdown>div{font-size:14px;padding:14px 0}#cost-result{position:static}#cost-quote{width:100%;margin:24px 0}.folio-table th,.folio-table td{padding:16px;font-size:14px}.folio-table caption{font-size:26px;margin-bottom:24px}.audit-score{font-size:80px}.audit-result-grid{grid-template-columns:1fr}.audit-error{font-size:16px;padding:20px}.audit-note{font-size:12px!important}.industry-list{grid-template-columns:1fr}.industry-list a{font-size:20px;padding:20px 0}.industry-stat-grid{grid-template-columns:1fr;gap:20px}.footer-heading{font-size:58px}.footer-mission{width:100%;font-size:16px;line-height:26px}.footer-write-link{font-size:16px}.footer-direct{margin-top:20px}.copy-email{font-size:11px;padding:4px 8px}.footer-contact{width:100%}.footer-copyright{font-size:12px}.footer-legal{font-size:12px;gap:16px;flex-wrap:wrap}.footer-logo-btn{width:50px;height:50px}.footer-logo-btn .footer-logo-img{width:60px;height:60px;inset:-5px}.contact-modal-overlay{padding:16px}.contact-modal-dialog{padding:24px;max-height:92svh;border-radius:18px}.contact-modal-heading{font-size:36px;margin:10px 24px 20px 0}.contact-modal-subtitle{font-size:16px;margin-bottom:24px}.contact-modal-close{right:18px;top:16px;font-size:36px}.contact-modal-grid{grid-template-columns:1fr;gap:0}.contact-modal-field{margin:20px 0}.contact-modal-field label{font-size:12px}.contact-modal-field input,.contact-modal-field textarea{font-size:18px;padding:12px 0}.contact-modal-submit-row{flex-direction:column;align-items:stretch;gap:16px;margin:28px 0 16px}.contact-modal-submit-row p,.contact-modal-feedback,#contact-feedback{font-size:12px}.folio-dialog{width:calc(100vw - 32px);padding:28px;border-radius:18px}.folio-dialog h2{font-size:36px}.folio-dialog p{font-size:16px;margin-bottom:24px}.dialog-close{font-size:30px}.tech-dialog-icon{width:50px;height:50px}.cookie-banner{right:16px;bottom:100px;padding:24px;width:calc(100vw - 32px);border-radius:16px}.cookie-banner h3{font-size:26px}.cookie-banner p,.cookie-banner>a{font-size:13px}.cookie-banner>div{gap:8px;margin-top:20px}.cookie-banner .folio-button{font-size:12px;padding:12px 10px}}
@media(max-width:380px){.hero-banner p{font-size:41px}.hero-line-sans:nth-child(3){font-size:36px}.hero-line-display:last-child{left:40%!important}.hero-cta{font-size:16px}.services-row-title{font-size:28px}.folio-heading{font-size:42px}.process-card h3{font-size:22px}.process-card .testimonials-quote{font-size:12px}.process-roles{font-size:11px}}
@media(prefers-reduced-motion:reduce){.folio-marquee>div{animation:none}.tab-panel{animation:none}.preview-image,.folio-card,.contact-modal-dialog,.contact-modal-overlay{transition:none}.project-preview .play-real-stage{transform:none}}

.folio-card h2{font-family:var(--font-display);font-size:3.125rem;font-weight:400;line-height:1.25;margin-bottom:1.25rem}.folio-card .folio-heading{font-family:var(--font-sans);font-size:5rem}.cost-breakdown{display:grid;grid-template-columns:1.5fr 1fr;gap:0}.cost-breakdown dt,.cost-breakdown dd{font-size:1.1rem;border-bottom:1px solid var(--stroke);padding:1rem 0;margin:0}.cost-breakdown dd{text-align:right;color:var(--text-headline)}.cost-breakdown dt{color:var(--text-body)}#cost-monthly-row{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr}.range-endpoints{display:flex;justify-content:space-between;color:var(--text-body);font-size:1rem}.tool-field input[type=text]{width:100%;border:1px solid var(--stroke);border-radius:99px;padding:1rem 1.5rem;background:transparent;color:var(--text-headline);font-size:1.25rem}.industry-summary{grid-template-columns:repeat(3,1fr)}.industry-summary h2{font-size:2.5rem}.pricing-budgets{margin-top:2rem}.folio-note p{font-size:1.125rem}.preloader-logo img{width:100%;height:100%;object-fit:contain}.preloader-name{letter-spacing:.02em}.preview-image-wrap .preview-image{object-position:top}.quote-line-serif{font-style:italic}
.preview-image-wrap .preview-image{aspect-ratio:16/10;height:auto;max-height:100%;object-fit:cover}.preview-image-wrap[data-device=tablet] .preview-image{width:100%;max-width:560px}.preview-image-wrap[data-device=mobile] .preview-image{width:100%;max-width:360px}.preview-metadata{padding-top:3rem;padding-bottom:4rem}.preview-metadata .folio-heading{font-size:4rem}.architecture-json{white-space:pre-wrap;overflow-wrap:anywhere;font-family:monospace;font-size:1rem;border:1px solid var(--stroke);padding:1.5rem;border-radius:1rem;line-height:1.7;margin-top:2rem}#contact-feedback a{text-decoration:underline}.folio-heading,.folio-card h2{overflow-wrap:break-word}.folio-table-wrap{overflow-x:auto}.cost-breakdown dt,.cost-breakdown dd{min-width:0}.fact-list strong{overflow-wrap:anywhere}
@media(max-width:768px){body[data-route]:not([data-route="/"]) .folio-section:first-child{padding-top:80px}.preview-metadata{padding:32px 0}.preview-metadata .folio-heading{font-size:32px}.architecture-json{font-size:12px;padding:20px}.tool-field input[type=text]{font-size:16px;padding:16px 20px}.folio-card h2{font-size:32px}.folio-card .folio-heading{font-size:42px}.industry-summary{grid-template-columns:1fr}.cost-breakdown dt,.cost-breakdown dd{font-size:14px;padding:14px 0}.industry-summary h2{font-size:28px}}
@media(max-width:768px){.folio-card h2{font-size:30px}.folio-card .folio-heading{font-size:40px}.cost-breakdown dt,.cost-breakdown dd{font-size:14px;padding:14px 0}.range-endpoints{font-size:12px}.tool-field input[type=text]{font-size:16px;padding:16px 20px}.industry-summary{grid-template-columns:1fr}.industry-summary h2{font-size:30px}.folio-note p{font-size:16px}.testimonials-testimonials{height:780px}.testimonials-deck{height:480px}.testimonials-card.process-card{height:400px}.process-card .testimonials-quote{font-size:16px;line-height:1.65}.process-card .testimonials-author{font-size:14px}.quote-content{height:270px}.quote-content p:first-of-type{left:34px!important}.quote-content p:nth-of-type(2){left:80px!important}.quote-content p:nth-of-type(3){left:70px!important}}


/* Restore the reference geometry after content-specific brand rules. */
.language-switch.scroll-nav-view-switch{border:0;border-radius:.5rem;width:2.25rem;height:2.25rem;padding:0;gap:0;font-size:1rem;color:#fff;background:transparent}
.language-switch.scroll-nav-view-switch [data-language-next],.language-switch.scroll-nav-view-switch>span:nth-child(2){display:none}
.language-switch.scroll-nav-view-switch:hover{color:#fff;background:transparent}
.scroll-nav-item[aria-current=page]{text-decoration:none}
html[data-theme=light] .language-switch.scroll-nav-view-switch{color:#121212}
.hero-cta{border:0;border-radius:0;padding:0;gap:normal;min-width:0;width:auto;height:auto;display:inline-flex;color:inherit}
.hero-cta:hover{background:transparent;color:inherit}
.hero-cta>.hero-cta-inner{font-size:1.5rem}
.services-header-title{font-family:var(--font-sans);font-size:3.125rem;line-height:normal;max-width:none}
.services-list{margin-bottom:0}
.services-row{display:block;height:6.9375rem}
.services-row-title{position:absolute!important;left:var(--service-left)!important;top:0!important;font-size:6.25rem;line-height:normal;white-space:nowrap}
.services-row:nth-child(1){--service-left:27.1875rem;--icon-left:21.8125rem}
.services-row:nth-child(2){--service-left:26rem;--icon-left:20.625rem}
.services-row:nth-child(3){--service-left:25.3125rem;--icon-left:19.9375rem}
.services-row:nth-child(4){--service-left:32.0625rem;--icon-left:26.6875rem}
.services-row-icon{position:absolute!important;left:var(--icon-left)!important;top:50%!important;transform:translateY(-50%)!important}
.services-row:nth-child(4) .services-row-icon{height:2.36rem}
.services-indicator{left:0;right:auto;top:2.875rem!important}
.featured-projects .project-description{display:none}
.preview-controls{position:static;width:85.75rem;max-width:calc(100% - 32px);margin:1.5rem auto 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.preview-controls .folio-tab{color:var(--text-body);border:0;border-radius:0;background:transparent;backdrop-filter:none;padding:.35rem 0;font-size:1rem}
.preview-controls .folio-tabs{gap:1.5rem}
.preview-controls .folio-tab[aria-pressed=true]{color:var(--text-headline);background:transparent;text-decoration:underline;text-underline-offset:.4em}
.preview-metadata{width:85.75rem;max-width:calc(100% - 32px);margin:1.25rem auto 0;padding:0;color:var(--text-body);font-size:1rem;line-height:1.7}
.preview-metadata summary{cursor:pointer}.preview-metadata h2{font-family:var(--font-display);font-weight:400;font-size:2.5rem;margin:1rem 0}
.preview-metadata p{margin:1rem 0;max-width:62rem}
.preview-open-arrow{color:#121212;font-size:5rem;font-weight:300;line-height:1}
.works-cta-knob img{width:100%;height:100%;object-fit:contain;filter:invert(1)}
@media(max-width:768px){
 .scroll-nav-m-bar{gap:12px;max-width:none}
 .scroll-nav-m-bar-main{min-width:0}
 .scroll-nav-m-panel{overflow:hidden}
 .scroll-nav-m-menu{gap:24px}
 .scroll-nav-m-item{font-size:32px}
 .scroll-nav-m-item[aria-current=page]{color:#121212}
 .scroll-nav-m-item-active{background:#fff;border-color:#fff;font-family:var(--font-display);font-weight:400;padding:4px 16px 8px}
 html[data-theme=light] .scroll-nav-m-item[aria-current=page]{color:#fff}
 html[data-theme=light] .scroll-nav-m-item-active{background:#121212;border-color:#121212}
 .mobile-menu-tools,.mobile-menu-language{position:absolute;top:56px;font-size:14px;line-height:36px;color:var(--text-body)}
 .mobile-menu-tools{left:16px}.mobile-menu-language{right:16px}
 .mobile-menu-language .language-switch{width:36px;height:36px;font-size:14px}
 .scroll-nav-m-bar-open .scroll-nav-m-burger{position:relative}
 .scroll-nav-m-bar-open .scroll-nav-m-burger i{width:22px;height:1.5px;position:absolute;top:50%;left:50%;background:#f5f5f5;transform:translate(-50%,-50%) rotate(45deg)}
 .scroll-nav-m-bar-open .scroll-nav-m-burger i:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
 html[data-theme=light] .scroll-nav-m-bar-open .scroll-nav-m-burger i{background:#121212}
 .hero-banner p{font-size:45px}
 .hero-line-sans:nth-child(3){left:var(--ml,var(--l))!important;top:var(--mt,var(--t))!important;font-size:45px}
 .hero-line-display:last-child{left:var(--ml,var(--l))!important;top:var(--mt,var(--t))!important}
 .hero-cta{height:auto;padding:0;min-width:0;font-size:inherit}
 .hero-cta>.hero-cta-inner{font-size:20px}
 .hero-tagline{font-size:14px!important;line-height:1.4!important}
 .services-header-title{font-size:32px;max-width:none}
 .services-row{display:flex;height:auto;gap:8px;flex-wrap:wrap}
 .services-row-title{position:static!important;font-size:32px;white-space:nowrap;line-height:normal}
 .services-row-icon{position:static!important;transform:none!important}
 .services-indicator{display:none}
 .services-roll-inner,.services-roll-dup{white-space:nowrap}
 .play-real-real.project-preview{height:250px}
 .preview-controls{flex-direction:row;align-items:center;gap:16px;margin-top:24px}
 .preview-controls .folio-tabs{justify-content:flex-start;gap:16px}
 .preview-controls .folio-tab{font-size:12px;padding:0}
 .preview-metadata{margin-top:16px;font-size:12px}.preview-metadata h2{font-size:24px}
 .preview-open-arrow{font-size:36px}
}


/* The portfolio's editorial rhythm, scoped away from home and shared chrome. */
.editorial-page {
  --editorial-ease: cubic-bezier(.22,1,.36,1);
  width: 85.75rem;
  max-width: calc(100% - 48px);
  padding-bottom: 7rem;
}
.editorial-page .folio-pagehead {margin-bottom: 6.5rem}
.editorial-page .folio-heading {
  font-family: var(--font-sans);
  font-size: 6.25rem;
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: -.045em;
  max-width: 100%;
  margin-bottom: 2.6rem;
  overflow-wrap: break-word;
}
.editorial-page .folio-heading em {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.025em;
}
.editorial-page .folio-intro {
  max-width: 48rem;
  color: var(--text-body);
  font-size: 1.5rem;
  line-height: 1.65;
  margin: 1.5rem 0;
  text-wrap: pretty;
}
.editorial-page .folio-eyebrow {
  font-family: var(--font-sans);
  font-size: 1.05rem;
  font-weight: 300;
  letter-spacing: .035em;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  color: var(--text-body);
}
.editorial-page .folio-subheading {
  font-family: var(--font-sans);
  font-size: 3.125rem;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -.025em;
  margin-bottom: 1.5rem;
  text-wrap: pretty;
}
.editorial-page .editorial-text-link {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  min-height: 3rem;
  padding: .4rem 0;
  border: 0;
  border-radius: 0;
  font-size: 1.25rem;
  line-height: 1.5;
  text-decoration: none;
  text-underline-offset: .35em;
}
.editorial-page .editorial-text-link:hover {text-decoration: underline}
.editorial-page .editorial-link-arrow {
  display: inline-block;
  font-size: 1.6em;
  line-height: 1;
  transition: transform .4s var(--editorial-ease), color .3s;
}
.editorial-page .editorial-text-link:hover .editorial-link-arrow {
  color: var(--green);
  transform: translate(3px,-3px);
}
.editorial-page a:focus-visible,
.editorial-page button:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 7px;
  border-radius: 0;
}

/* Work is the content: one large lead image and a staggered pair. */
.portfolio-page .folio-projects.works-grid {
  width: 100%;
  max-width: 100%;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6rem 3.75rem;
  margin: 0;
}
.portfolio-page .project-item {min-width: 0}
.portfolio-page .project-item:nth-child(3) {margin-top: 7rem}
.portfolio-page .project-item:nth-child(4) {margin-top: 1rem}
.portfolio-page .project-item .works-media {
  border: 0;
  border-radius: 0;
  aspect-ratio: 1.35;
  isolation: isolate;
}
.portfolio-page .project-item:nth-child(1) .works-media {aspect-ratio: 1.85}
.portfolio-page .project-item:nth-child(4) .works-media {aspect-ratio: 1.95}
.portfolio-page .project-item:nth-child(4) .works-inner img {padding: 2.5rem}
.portfolio-page .project-caption {padding: 1.8rem 0 0}
.portfolio-page .project-caption-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: .75rem;
}
.portfolio-page .project-caption-meta .folio-eyebrow {margin: 0}
.portfolio-page .project-caption-meta .project-year {
  color: var(--text-body);
  font-size: 1rem;
  flex: none;
}
.portfolio-page .project-caption-head {gap: 2rem}
.portfolio-page .project-caption h2 {
  font-family: var(--font-sans);
  font-size: 3.125rem;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.portfolio-page .project-subtitle {
  font-size: 1.3rem;
  line-height: 1.5;
  margin: .75rem 0 0;
  color: var(--text-body);
}
.portfolio-page .project-arrow {
  font-size: 3.5rem;
  line-height: 1;
  margin-left: auto;
  color: var(--text-headline);
  transition: color .3s, transform .5s var(--editorial-ease);
}
.portfolio-page .project-link {display: block}
.portfolio-page .project-link:hover .project-arrow,
.portfolio-page .project-link:focus-visible .project-arrow {
  color: var(--green);
  transform: translate(4px,-4px);
}
.portfolio-page .project-link:focus-visible {outline-offset: 10px}

/* Case narratives have a quiet index on the left, readable copy on the right. */
.case-page .case-back {margin-bottom: 4rem; color: var(--text-body)}
.case-page .folio-pagehead {margin-bottom: 4.5rem}
.case-page .case-subtitle {
  font-family: var(--font-display);
  font-size: 3.125rem;
  line-height: 1.25;
  font-style: italic;
  margin: -.5rem 0 2rem;
  max-width: 60rem;
  color: var(--text-headline);
}
.case-page .case-visit {margin-top: 1.4rem}
.case-page .case-hero {margin: 0 0 5rem; border-radius: 0}
.case-page .case-hero img {
  width: 100%;
  height: auto;
  max-height: none;
  border-radius: 0;
  object-fit: contain;
}
.case-page .case-hero--pocket-gravity img {
  height: 40rem;
  object-fit: contain;
  padding: 2.5rem;
  background: #090910;
}
.case-page .case-hero figcaption {
  font-size: 1rem;
  line-height: 1.5;
  padding-top: 1rem;
  overflow-wrap: anywhere;
}
.case-page .case-block {
  grid-template-columns: minmax(0,1fr) minmax(0,2fr);
  gap: 5rem;
  padding: 3.8rem 0;
  border-color: var(--stroke);
}
.case-page .case-block > .folio-eyebrow {
  margin: .3rem 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  font-family: var(--font-sans);
  font-size: 1.15rem;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.5;
  color: var(--text-body);
}
.case-page .case-block > .folio-eyebrow > span:first-child:not([data-i18n]) {
  color: var(--green);
  font-size: 1rem;
}
.case-page .case-copy {
  max-width: 43rem;
  margin: 0;
  font-size: 1.65rem;
  line-height: 1.65;
  font-weight: 300;
  color: var(--text-headline);
  text-wrap: pretty;
}
.case-page .case-features {margin: 0 0 2.5rem}
.case-page .case-features li {
  border-bottom: 1px solid var(--stroke);
  padding: 1rem 0;
  font-size: 1.45rem;
  line-height: 1.5;
}
.case-page .case-features li:first-child {padding-top: 0}
.case-page .case-features li:before {display: none}
.case-page .case-tech-list {gap: .5rem 1.75rem; margin: 1rem 0 0}
.case-page .case-tech-list li {
  border: 0;
  border-radius: 0;
  padding: 0;
  font-size: 1.2rem!important;
  color: var(--text-body);
}
.case-page .case-reflection blockquote {margin: 0}
.case-page .case-reflection .case-copy {
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-style: italic;
  line-height: 1.45;
  color: var(--text-headline);
}
.case-page .case-switcher {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 3rem;
  border-top: 1px solid var(--stroke);
  margin-top: 2rem;
}
.case-page .case-switcher-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 3rem 0 0;
}
.case-page .case-switcher-next {text-align: right; align-items: flex-end}
.case-page .case-switcher .folio-eyebrow {margin: 0}
.case-page .case-switcher strong {
  font-family: var(--font-sans);
  font-size: 2.75rem;
  font-weight: 300;
  line-height: 1.2;
  transition: color .3s;
}
.case-page .case-switcher-link:hover strong {color: var(--green)}

/* The studio page is a short introduction, not a dashboard of invented KPIs. */
.studio-page .studio-story {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);
  align-items: start;
  gap: 5rem;
  margin: 0 0 6.5rem;
}
.studio-page .studio-story .folio-subheading {max-width: 35rem}
.studio-page .studio-story .folio-intro {font-size: 1.35rem; line-height: 1.75}
.studio-page .studio-media {margin-top: 4.5rem; border-radius: 0}
.studio-page .studio-media img {
  height: auto;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: center;
  transition: transform .8s var(--editorial-ease);
}
.studio-page .studio-media:hover img {transform: scale(1.025)}
.studio-page .studio-byline {
  color: var(--text-headline);
  font-size: 1.3rem;
  line-height: 1.7;
  margin-top: 2.6rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--stroke);
}
.studio-page .studio-byline > span {display: block; color: var(--text-body); font-size: 1.1rem}
.studio-page .studio-values .case-block,
.studio-page .studio-timeline .case-block {
  grid-template-columns: minmax(0,.45fr) minmax(0,2fr);
  gap: 4rem;
  padding: 3rem 0;
}
.studio-page .studio-value-index {color: var(--green); font-size: 1.15rem; line-height: 1.7}
.studio-page .studio-values .folio-subheading,
.studio-page .studio-timeline .case-block .folio-subheading {
  font-size: 2.5rem;
  font-family: var(--font-sans);
  font-weight: 300;
}
.studio-page .studio-values .folio-intro,
.studio-page .studio-timeline .folio-intro {max-width: 47rem; margin: 1.25rem 0 0}
.studio-page .studio-timeline {margin-top: 6.5rem}
.studio-page .studio-timeline > .folio-subheading {
  font-family: var(--font-display);
  font-style: italic;
  font-size: 3.75rem;
  margin-bottom: 3rem;
}

/* Complete policy text, with a stable reading measure and visible real links. */
.legal-page .folio-pagehead {margin-bottom: 4rem}
.legal-page .folio-heading {font-size: 5.25rem; max-width: 70rem; line-height: 1.14}
.legal-page .legal-title-note {
  display: block;
  color: var(--text-body);
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 0;
  margin-top: 1.5rem;
}
.legal-page .folio-pagehead .folio-intro {font-size: 1.1rem; margin-bottom: 0}
.legal-page .legal-back {margin-bottom: 3.5rem; color: var(--text-body)}
.legal-page .legal-intro {max-width: 61rem; margin: 0 0 4rem auto}
.legal-page .legal-section {
  grid-template-columns: minmax(0,1fr) minmax(0,1.8fr);
  gap: 4rem;
  padding: 3rem 0;
  align-items: start;
}
.legal-page .legal-section > .folio-subheading {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 2.1rem;
  line-height: 1.3;
  letter-spacing: -.015em;
  margin: 0;
}
.legal-page .legal-section-number {display: block; color: var(--green); font-size: 1rem; margin-bottom: 1.2rem}
.legal-page .legal-copy {font-family: var(--font-sans); color: var(--text-body); line-height: 1.8; min-width: 0}
.legal-page .legal-copy p,
.legal-page .legal-copy li {font-size: 1.3rem; line-height: 1.8; text-wrap: pretty}
.legal-page .legal-copy p {margin: 0 0 1.2rem}
.legal-page .legal-copy p:last-child {margin-bottom: 0}
.legal-page .legal-copy ul {margin: 1.25rem 0 0; padding-left: 1.4rem}
.legal-page .legal-copy li {padding-left: .2rem; margin-bottom: .75rem}
.legal-page .legal-copy li::marker {color: var(--green)}
.legal-page .legal-copy h3 {
  font-family: var(--font-sans);
  font-size: 1.45rem;
  font-weight: 300;
  line-height: 1.5;
  margin: 1.5rem 0 .5rem;
  color: var(--text-headline);
}
.legal-page .legal-copy div > div + div {margin-top: 1.5rem}
.legal-page .legal-copy a {text-underline-offset: .25em; overflow-wrap: anywhere}
.legal-page .legal-copy a:hover {color: var(--green)}
.legal-page .cookie-preference {
  border-top: 1px solid var(--stroke);
  border-bottom: 1px solid var(--stroke);
  padding: 2.5rem 0;
  margin: 0 0 4rem;
  background: transparent;
  border-radius: 0;
}
.legal-page .cookie-preference .folio-eyebrow {margin-bottom: 1rem}
.legal-page .cookie-status {font-size: 1.4rem; line-height: 1.6; margin-bottom: 2rem}
.legal-page .cookie-preference .folio-button {min-height: 3.5rem; font-size: 1.2rem}
.legal-page .cookie-reset-feedback {font-size: 1.15rem; line-height: 1.6; color: var(--text-body); margin: 1.5rem 0 0}

@media (min-width:769px) and (max-width:1100px) {
  .editorial-page .folio-intro {font-size: 1.7rem}
  .portfolio-page .project-subtitle {font-size: 1.45rem}
  .case-page .case-copy {font-size: 1.8rem}
  .studio-page .studio-story .folio-intro,
  .legal-page .legal-copy p,
  .legal-page .legal-copy li {font-size: 1.6rem}
  .studio-page .studio-story {gap: 3rem}
  .case-page .case-block {gap: 3rem}
  .legal-page .legal-section {gap: 3rem}
}
@media (max-width:768px) {
  .editorial-page {max-width: calc(100% - 40px); padding-bottom: 72px}
  .editorial-page .folio-pagehead {margin-bottom: 44px}
  .editorial-page .folio-heading {font-size: 48px; line-height: 1.13; letter-spacing: -.045em; margin-bottom: 26px}
  .editorial-page .folio-intro {font-size: 18px; line-height: 1.65; max-width: 100%; margin: 18px 0}
  .editorial-page .folio-eyebrow {font-size: 12px; line-height: 1.6; margin-bottom: 20px}
  .editorial-page .folio-subheading {font-size: 30px; line-height: 1.25; margin-bottom: 20px}
  .editorial-page .editorial-text-link {font-size: 15px; min-height: 44px; gap: 16px; padding: 4px 0}
  .editorial-page .editorial-link-arrow {font-size: 24px}
  .portfolio-page .folio-projects.works-grid {gap: 40px; grid-template-columns: minmax(0,1fr); margin: 0}
  .portfolio-page .project-item:nth-child(n) {grid-column: auto; margin-top: 0}
  .portfolio-page .project-item:nth-child(n) .works-media {aspect-ratio: 1.4!important}
  .portfolio-page .project-item:nth-child(4) .works-inner img {padding: 20px}
  .portfolio-page .project-caption {padding: 20px 0 0}
  .portfolio-page .project-caption-meta {gap: 12px; margin-bottom: 8px}
  .portfolio-page .project-caption-meta .project-year {font-size: 12px}
  .portfolio-page .project-caption-head {gap: 16px}
  .portfolio-page .project-caption h2 {font-size: 32px; line-height: 1.2}
  .portfolio-page .project-arrow {font-size: 30px}
  .portfolio-page .project-subtitle {font-size: 15px; line-height: 1.5; margin-top: 8px}
  .case-page .case-back {margin-bottom: 30px}
  .case-page .folio-heading {font-size: 44px}
  .case-page .case-subtitle {font-size: 28px; line-height: 1.25; margin: -6px 0 22px}
  .case-page .case-visit {margin-top: 12px}
  .case-page .case-hero {margin: 0 0 36px}
  .case-page .case-hero--pocket-gravity img {height: 280px; padding: 20px}
  .case-page .case-hero figcaption {font-size: 11px; padding-top: 12px}
  .case-page .case-block {grid-template-columns: minmax(0,1fr); gap: 20px; padding: 30px 0}
  .case-page .case-block > .folio-eyebrow {font-size: 12px!important; gap: 4px; margin: 0}
  .case-page .case-block > .folio-eyebrow > span:first-child:not([data-i18n]) {font-size: 11px}
  .case-page .case-copy {max-width: 100%; font-size: 18px; line-height: 1.7}
  .case-page .case-features {margin: 0 0 24px}
  .case-page .case-features li {font-size: 16px; padding: 12px 0}
  .case-page .case-tech-list {gap: 8px 16px; margin-top: 12px}
  .case-page .case-tech-list li {font-size: 14px!important}
  .case-page .case-reflection .case-copy {font-size: 27px; line-height: 1.45}
  .case-page .case-switcher {gap: 24px; margin-top: 24px}
  .case-page .case-switcher-link {padding-top: 26px; gap: 12px}
  .case-page .case-switcher strong {font-size: 23px; line-height: 1.3; overflow-wrap: anywhere}
  .case-page .case-switcher .folio-eyebrow {font-size: 11px; line-height: 1.4}
  .studio-page .studio-story {grid-template-columns: minmax(0,1fr); gap: 24px; margin: 0 0 40px}
  .studio-page .studio-story .folio-subheading {max-width: 100%}
  .studio-page .studio-story .folio-intro {font-size: 17px; line-height: 1.75}
  .studio-page .studio-media {margin-top: 0}
  .studio-page .studio-media img {aspect-ratio: 5/4; height: auto}
  .studio-page .studio-byline {font-size: 16px; margin-top: 28px; padding-top: 18px}
  .studio-page .studio-byline > span {font-size: 13px}
  .studio-page .studio-values .case-block,
  .studio-page .studio-timeline .case-block {grid-template-columns: 30px minmax(0,1fr); gap: 18px; padding: 28px 0}
  .studio-page .studio-value-index {font-size: 12px; padding-top: 5px}
  .studio-page .studio-values .folio-subheading,
  .studio-page .studio-timeline .case-block .folio-subheading {font-size: 25px; line-height: 1.3}
  .studio-page .studio-values .folio-intro,
  .studio-page .studio-timeline .folio-intro {font-size: 16px; line-height: 1.75; margin: 16px 0 0}
  .studio-page .studio-timeline {margin-top: 44px}
  .studio-page .studio-timeline > .folio-subheading {font-size: 36px; margin-bottom: 28px}
  .legal-page .folio-heading {font-size: 40px; line-height: 1.18}
  .legal-page .legal-title-note {font-size: 15px; margin-top: 14px}
  .legal-page .folio-pagehead .folio-intro {font-size: 13px}
  .legal-page .legal-back {margin-bottom: 24px}
  .legal-page .legal-intro {max-width: 100%; margin: 0 0 28px}
  .legal-page .legal-section {grid-template-columns: minmax(0,1fr); gap: 20px; padding: 28px 0}
  .legal-page .legal-section > .folio-subheading {font-size: 25px; line-height: 1.3}
  .legal-page .legal-section-number {font-size: 11px; margin-bottom: 8px}
  .legal-page .legal-copy p,
  .legal-page .legal-copy li {font-size: 16px; line-height: 1.8}
  .legal-page .legal-copy p {margin-bottom: 16px}
  .legal-page .legal-copy ul {margin-top: 16px; padding-left: 22px}
  .legal-page .legal-copy li {padding-left: 2px; margin-bottom: 12px}
  .legal-page .legal-copy h3 {font-size: 18px; margin: 22px 0 8px}
  .legal-page .legal-copy div > div + div {margin-top: 20px}
  .legal-page .cookie-preference {padding: 24px 0; margin-bottom: 28px}
  .legal-page .cookie-status {font-size: 16px; margin-bottom: 20px}
  .legal-page .cookie-preference .folio-button {font-size: 14px; min-height: 48px}
  .legal-page .cookie-reset-feedback {font-size: 14px; margin-top: 18px}
}
@media (max-width:380px) {
  .editorial-page {max-width: calc(100% - 32px)}
  .editorial-page .folio-heading {font-size: 44px}
  .case-page .folio-heading {font-size: 40px}
  .legal-page .folio-heading {font-size: 37px}
  .portfolio-page .project-caption h2 {font-size: 29px}
}
@media (prefers-reduced-motion:reduce) {
  .editorial-page [data-editorial-reveal] {opacity: 1!important; transform: none!important; filter: none!important}
  .editorial-page .editorial-link-arrow,
  .portfolio-page .project-arrow,
  .studio-page .studio-media img,
  .case-page .case-switcher strong {transition: none!important}
  .studio-page .studio-media:hover img {transform: none}
  .portfolio-page .project-link:hover .project-arrow,
  .portfolio-page .project-link:focus-visible .project-arrow,
  .editorial-page .editorial-text-link:hover .editorial-link-arrow {transform: none}
}


/* Scoped service/tool chapters. The shared KRS fonts, palette and width remain. */
.editorial-pages{color:var(--text-headline)}
.editorial-pages .editorial-section{padding:6rem 0}
.editorial-pages .editorial-section:first-child{padding-top:12rem}
.editorial-pages .editorial-pagehead{margin:0 0 6rem}
.editorial-pages .editorial-back{display:inline-flex;align-items:center;gap:1rem;color:var(--text-body);font-size:1rem;line-height:1.5;margin-bottom:4rem;text-decoration:none}
.editorial-pages .editorial-back:hover{color:var(--text-headline)}
.editorial-pages .editorial-pagehead>.folio-eyebrow{margin-bottom:2rem}
.editorial-pages .editorial-pagehead>.folio-heading{font-size:7rem;max-width:74rem;line-height:1.03;letter-spacing:-.045em;margin-bottom:2.5rem;font-weight:300}
.editorial-pages .folio-heading em{font-family:var(--font-display);font-weight:400;font-style:italic;letter-spacing:-.035em}
.editorial-pages .editorial-pagehead>.folio-intro{max-width:48rem;font-size:1.375rem;line-height:1.65;margin-bottom:0}
.editorial-pages .folio-heading{font-size:5.5rem;line-height:1.08;max-width:72rem}
.editorial-pages .folio-intro{line-height:1.65}
.editorial-pages .editorial-chapter{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:2rem;border-top:1px solid var(--stroke);padding:3.5rem 0;scroll-margin-top:8rem}
.editorial-pages .editorial-number{font-size:1rem;color:var(--text-body);margin:.7rem 0 0;font-variant-numeric:tabular-nums}
.editorial-pages .editorial-service-title,.editorial-pages .editorial-tool h2{font-family:var(--font-sans);font-size:4rem;font-weight:300;line-height:1.1;letter-spacing:-.035em;max-width:60rem;margin:0 0 1.8rem}
.editorial-pages .editorial-service>.editorial-number+div>.folio-intro{max-width:57rem;margin:1.5rem 0 2rem}
.editorial-pages .editorial-action{padding:1rem 1.5rem;gap:2rem;border-radius:99px;max-width:100%;font-size:1.125rem}
.editorial-pages .editorial-action>span:last-child{font-size:1.5rem;line-height:1}
.editorial-pages .editorial-small-title{font-family:var(--font-sans);font-size:1.25rem;font-weight:300;line-height:1.4;letter-spacing:0;margin:0 0 1.5rem}
.editorial-pages .editorial-service-scope{margin:0 0 2rem}
.editorial-pages .editorial-service-scope>summary{font-size:1.25rem}
.editorial-pages .editorial-scope-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;padding-top:2.5rem}
.editorial-pages .editorial-scope-grid .folio-intro{font-size:1.125rem;margin:0 0 2rem}
.editorial-pages .editorial-support{margin:2rem 0 .5rem;color:var(--text-headline)}
.editorial-pages .folio-feature-list{margin:0 0 1.5rem;list-style:none;padding:0}
.editorial-pages .folio-feature-list li{padding:.9rem 0;font-size:1.125rem;line-height:1.55;border-bottom:1px solid var(--stroke);color:var(--text-body);display:flex;gap:.85rem}
.editorial-pages .folio-feature-list li:before{content:'↗';color:var(--text-headline);margin:0;flex:none}
.editorial-pages .tag-list{gap:.5rem 1.25rem;margin:2rem 0 0}
.editorial-pages .tag-list>*{border:0;border-radius:0;padding:0;font-size:.9rem!important;color:var(--text-body)}
.editorial-pages .editorial-process{list-style:none;padding:0;margin:4rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 4rem}
.editorial-pages .editorial-process-step{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;border-top:1px solid var(--stroke);padding:2.5rem 0}
.editorial-pages .editorial-process-step h3{font-size:2.75rem;line-height:1.2;margin-bottom:1rem}
.editorial-pages .editorial-process-step .folio-intro{font-size:1.125rem;margin:0;max-width:31rem}
.editorial-pages .editorial-faq-section{padding-top:2rem}
.editorial-pages .folio-details{border-top:1px solid var(--stroke);padding:1.5rem 0}
.editorial-pages .folio-details>summary{font-size:1.5rem;line-height:1.5;gap:2rem}
.editorial-pages .folio-details>summary:after{font-size:1.8rem;color:var(--text-headline);flex:none}
.editorial-pages summary::-webkit-details-marker{display:none}
.editorial-pages .folio-details>p{max-width:60rem;margin:1rem 0 0;font-size:1.125rem}
.editorial-pages .editorial-faq-disclosure>summary{font-size:2.5rem;font-family:var(--font-display)}
.editorial-pages .editorial-faq-disclosure>.folio-questions{margin:2rem 0 0;padding:0 0 0 10rem}
.editorial-pages .folio-tabs{gap:0 2.5rem;border-bottom:1px solid var(--stroke);margin:0 0 3rem;padding:0;flex-wrap:wrap}
.editorial-pages .folio-tab{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--text-body);font-size:1.125rem;font-weight:300;padding:1.25rem 0;line-height:1.5;text-align:left;transition:color .2s,border-color .2s;cursor:pointer}
.editorial-pages .folio-tab:hover{color:var(--text-headline);background:transparent;border-color:transparent}
.editorial-pages .folio-tab[aria-selected=true]{color:var(--text-headline);background:transparent;border-bottom-color:var(--text-headline)}
.editorial-pages .editorial-package{display:grid;grid-template-columns:1fr 1fr;gap:7rem;padding:1.5rem 0 0;color:var(--text-headline);line-height:1.5}
.editorial-pages .editorial-package-title{font-family:var(--font-display);font-size:4rem;line-height:1.15;font-weight:400;letter-spacing:-.025em;margin:0 0 2rem}
.editorial-pages .editorial-package-overview>.folio-intro{font-size:1.25rem;margin:0 0 3rem}
.editorial-pages .pricing-investment{margin:2rem 0 1.5rem}
.editorial-pages .pricing-investment>.folio-eyebrow{margin-bottom:0;display:block}
.editorial-pages .pricing-investment .price-value{font-family:var(--font-sans);font-size:5rem;font-weight:300;letter-spacing:-.045em;margin:.5rem 0;line-height:1.1}
.editorial-pages .editorial-tax{color:var(--text-body);font-size:1rem}
.editorial-pages .editorial-delivery{color:var(--text-body);font-size:1.125rem;margin:2rem 0}
.editorial-pages .editorial-package-scope{padding-top:.2rem}
.editorial-pages .editorial-compact-section{padding-top:2rem;padding-bottom:6rem}
.editorial-pages .editorial-inline-cta{display:flex;align-items:center;justify-content:space-between;gap:3rem;border-top:1px solid var(--stroke);padding:3rem 0}
.editorial-pages .editorial-inline-cta h2{font-family:var(--font-display);font-size:3rem;line-height:1.2;font-weight:400}
.editorial-pages .editorial-tool{padding:4rem 0}
.editorial-pages .editorial-tool h2{font-size:3.5rem;max-width:55rem}
.editorial-pages .editorial-tool .folio-intro{max-width:50rem;font-size:1.25rem}
.editorial-pages .editorial-guides{margin-top:3rem}
.editorial-pages .editorial-guide-list{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;padding:2rem 0}
.editorial-pages .editorial-guide-link{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--stroke);padding:1.2rem 0;font-size:1.25rem;text-decoration:none;color:var(--text-body)}
.editorial-pages .editorial-guide-link:hover{color:var(--text-headline)}
.editorial-pages .tool-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:7rem;margin:0;align-items:start}
.editorial-pages .tool-form{gap:2rem;min-width:0;padding:0;border:0;border-radius:0;background:transparent}
.editorial-pages .tool-form fieldset{border:0;padding:0;margin:0;min-width:0}
.editorial-pages .tool-form legend,.editorial-pages .tool-field>label{font-size:1.25rem;font-weight:300;line-height:1.5;margin-bottom:1rem;color:var(--text-headline)}
.editorial-pages .tool-form .folio-tabs{gap:0 1.5rem;margin:0;border-bottom:0}
.editorial-pages .editorial-project-type{display:flex;gap:.7rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--stroke)}
.editorial-pages .editorial-project-type:has(input:checked){color:var(--text-headline);border-bottom-color:var(--text-headline)}
.editorial-pages .editorial-project-type input{margin:0;flex:none;width:1rem;height:1rem}
.editorial-pages .tool-field{position:relative;margin:0;padding:2rem 0;gap:1.5rem;border-top:1px solid var(--stroke)}
.editorial-pages .range-value{display:flex;align-items:baseline;gap:.6rem;color:var(--text-body);font-size:1rem}
.editorial-pages .range-value output{font-size:3.5rem;line-height:1;font-weight:300;letter-spacing:-.04em;color:var(--text-headline);font-variant-numeric:tabular-nums}
.editorial-pages .range-endpoints{font-size:.85rem}
.editorial-pages input[type=range]{min-height:1.5rem;cursor:pointer}
.editorial-pages .tool-option{padding:1.4rem 0;gap:1rem;cursor:pointer}
.editorial-pages .tool-option strong{font-size:1.25rem;font-weight:300;color:var(--text-headline);line-height:1.5}
.editorial-pages .tool-option .folio-intro{font-size:1rem;line-height:1.5;margin:.4rem 0 0;max-width:35rem}
.editorial-pages .tool-option input{width:1.1rem;height:1.1rem;margin-top:.4rem}
.editorial-pages .tool-result{position:sticky;top:7rem;border-top:1px solid var(--stroke);padding:2rem 0 0;min-width:0}
.editorial-pages #cost-result{position:static}
.editorial-pages #cost-total{font-family:var(--font-display);font-size:3.75rem;line-height:1.2;font-weight:400;letter-spacing:-.035em;margin:1.5rem 0 2.5rem;overflow-wrap:normal}
.editorial-pages .cost-breakdown{grid-template-columns:minmax(0,1fr) auto;margin:0 0 2rem;gap:0 1rem}
.editorial-pages .cost-breakdown dt,.editorial-pages .cost-breakdown dd{font-size:1rem;padding:1rem 0;line-height:1.5}
.editorial-pages .cost-breakdown>div{display:grid;padding:0;grid-template-columns:minmax(0,1fr) auto;border-bottom:0;gap:1rem}
.editorial-pages .cost-breakdown #cost-monthly-row{grid-column:1/-1}
.editorial-pages #cost-quote{margin:0 0 1.5rem}
.editorial-pages .editorial-note{font-size:.95rem!important;line-height:1.6!important;color:var(--text-body);max-width:38rem;margin:0}
.editorial-pages .editorial-audit-form{max-width:70rem;gap:0}
.editorial-pages .editorial-audit-form .tool-field{padding:2rem 0 1rem}
.editorial-pages .editorial-url-row{display:flex;align-items:stretch;gap:2rem}
.editorial-pages .tool-field input[type=text]{width:100%;min-width:0;border:0;border-bottom:1px solid var(--stroke);border-radius:0;padding:1rem 0;background:transparent;color:var(--text-headline);font-family:var(--font-sans);font-size:1.5rem;line-height:1.5}
.editorial-pages .tool-field input[type=text]::placeholder{color:var(--text-body);opacity:.7}
.editorial-pages #audit-submit{flex:none;align-self:center;min-height:3.5rem}
.editorial-pages .editorial-audit-method{margin-top:4rem;max-width:70rem}
.editorial-pages .audit-error{border:0;border-left:2px solid currentColor;border-radius:0;margin:2rem 0;padding:1rem 1.5rem}
.editorial-pages .audit-results{margin-top:5rem}
.editorial-pages .audit-result-grid{grid-template-columns:1fr 1fr;gap:3rem}
.editorial-pages .audit-result-grid .folio-card{border:0;border-top:1px solid var(--stroke);border-radius:0;padding:2rem 0;transform:none;background:transparent}
.editorial-pages .audit-result-grid .folio-card h3{font-size:2.5rem;margin-bottom:2rem}
.editorial-pages .audit-result-grid .folio-card:last-child{grid-column:1/-1}
.editorial-pages .fact-list>div{font-size:1.125rem}
.editorial-pages .editorial-industry-facts{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3rem;margin:4rem 0 0;border-top:1px solid var(--stroke);padding-top:2.5rem}
.editorial-pages .editorial-industry-facts dt{margin-bottom:1rem}
.editorial-pages .editorial-industry-facts dd{margin:0;color:var(--text-body);font-size:1.125rem;line-height:1.6}
.editorial-pages .editorial-industry-facts .editorial-fact-value{font-size:2.5rem;font-weight:300;color:var(--text-headline);line-height:1.2;margin-bottom:1rem}
.editorial-pages .editorial-topic-list{margin-top:4rem}
.editorial-pages .editorial-topic{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:5rem;border-top:1px solid var(--stroke);padding:2.5rem 0}
.editorial-pages .editorial-topic h3{font-size:2.5rem;line-height:1.25;margin:0}
.editorial-pages .editorial-topic .folio-intro{font-size:1.25rem;margin:0;max-width:45rem}
.editorial-pages .editorial-addons{margin:3rem 0 0}
.editorial-pages .editorial-addon{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;padding:1.5rem 0;border-top:1px solid var(--stroke);font-size:1.5rem;line-height:1.5}
.editorial-pages .editorial-addon dd{margin:0;color:var(--text-body);white-space:nowrap}
.editorial-pages .editorial-recommendation{margin:5rem 0 0;padding-left:3rem;border-left:1px solid var(--stroke);max-width:65rem}
.editorial-pages .editorial-recommendation .folio-intro{font-family:var(--font-display);font-size:2.5rem;line-height:1.4;color:var(--text-headline);margin-bottom:0}
.editorial-pages .editorial-guide-cta{border-top:1px solid var(--stroke);padding:3rem 0}
.editorial-pages .editorial-guide-cta h2{font-family:var(--font-display);font-weight:400;font-size:3.5rem;line-height:1.25}
.editorial-pages .editorial-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.editorial-pages :is(a,button,input,summary):focus-visible{outline:2px solid var(--text-headline);outline-offset:5px}
.editorial-pages input[type=range]:focus-visible{outline-offset:8px}
.editorial-pages [hidden]{display:none!important}
@media(max-width:1024px){
 .editorial-pages .editorial-package,.editorial-pages .tool-layout{gap:4rem}
 .editorial-pages .editorial-chapter{grid-template-columns:5rem minmax(0,1fr)}
 .editorial-pages .editorial-scope-grid{gap:2.5rem}
 .editorial-pages .editorial-faq-disclosure>.folio-questions{padding-left:7rem}
}
@media(max-width:768px){
 .editorial-pages .editorial-section{padding:48px 0}
 .editorial-pages .editorial-section:first-child{padding-top:112px}
 .editorial-pages .editorial-pagehead{margin-bottom:48px}
 .editorial-pages .editorial-back{font-size:12px;gap:12px;margin-bottom:40px}
 .editorial-pages .editorial-pagehead>.folio-eyebrow{margin-bottom:20px}
 .editorial-pages .editorial-pagehead>.folio-heading{font-size:52px;line-height:1.08;margin-bottom:24px}
 .editorial-pages .editorial-pagehead>.folio-intro{font-size:17px;line-height:1.6;max-width:100%}
 .editorial-pages .folio-heading{font-size:42px;line-height:1.12}
 .editorial-pages .editorial-chapter{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:32px 0;scroll-margin-top:100px}
 .editorial-pages .editorial-number{font-size:11px;margin-top:7px}
 .editorial-pages .editorial-service-title,.editorial-pages .editorial-tool h2{font-size:32px;line-height:1.18;margin-bottom:20px}
 .editorial-pages .editorial-service>.editorial-number+div>.folio-intro{font-size:16px;margin:0 0 24px}
 .editorial-pages .editorial-action{font-size:14px;padding:14px 18px;gap:20px}
 .editorial-pages .editorial-action>span:last-child{font-size:20px}
 .editorial-pages .editorial-small-title{font-size:16px;margin-bottom:16px}
 .editorial-pages .editorial-service-scope{margin-bottom:24px}
 .editorial-pages .editorial-scope-grid{grid-template-columns:1fr;gap:28px;padding-top:24px}
 .editorial-pages .editorial-scope-grid .folio-intro{font-size:15px;margin-bottom:24px}
 .editorial-pages .folio-feature-list{margin-bottom:20px}
 .editorial-pages .folio-feature-list li{font-size:15px;padding:12px 0;gap:10px}
 .editorial-pages .tag-list{margin:20px 0 0;gap:8px 14px}
 .editorial-pages .tag-list>*{font-size:12px!important}
 .editorial-pages .editorial-process{grid-template-columns:1fr;gap:0;margin-top:32px}
 .editorial-pages .editorial-process-step{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:28px 0}
 .editorial-pages .editorial-process-step h3{font-size:28px;margin-bottom:12px}
 .editorial-pages .editorial-process-step .folio-intro{font-size:16px;max-width:100%}
 .editorial-pages .editorial-faq-section{padding-top:0}
 .editorial-pages .folio-details{padding:20px 0}
 .editorial-pages .folio-details>summary,.editorial-pages .editorial-service-scope>summary{font-size:17px;gap:16px;line-height:1.4}
 .editorial-pages .folio-details>summary:after{font-size:24px}
 .editorial-pages .folio-details>p{font-size:15px;margin-top:16px}
 .editorial-pages .editorial-faq-disclosure>summary{font-size:28px}
 .editorial-pages .editorial-faq-disclosure>.folio-questions{padding:0;margin-top:24px}
 .editorial-pages .folio-tabs{gap:0 20px;margin-bottom:32px}
 .editorial-pages .folio-tab{font-size:14px;padding:14px 0}
 .editorial-pages .editorial-package{grid-template-columns:1fr;gap:40px;padding:0}
 .editorial-pages .editorial-package-title{font-size:36px;margin-bottom:20px}
 .editorial-pages .editorial-package-overview>.folio-intro{font-size:16px;margin-bottom:24px}
 .editorial-pages .pricing-investment{margin:24px 0}
 .editorial-pages .pricing-investment .price-value{font-size:56px;margin:8px 0}
 .editorial-pages .editorial-tax{font-size:13px}
 .editorial-pages .editorial-delivery{font-size:15px;margin:24px 0}
 .editorial-pages .editorial-compact-section{padding-top:0;padding-bottom:48px}
 .editorial-pages .editorial-inline-cta{align-items:flex-start;flex-direction:column;gap:24px;padding:28px 0}
 .editorial-pages .editorial-inline-cta h2{font-size:32px}
 .editorial-pages .editorial-tool{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:32px 0}
 .editorial-pages .editorial-tool .folio-intro{font-size:16px;max-width:100%}
 .editorial-pages .editorial-guides{margin-top:24px}
 .editorial-pages .editorial-guide-list{grid-template-columns:1fr;gap:0;padding:16px 0 0}
 .editorial-pages .editorial-guide-link{font-size:17px;padding:16px 0}
 .editorial-pages .tool-layout{grid-template-columns:1fr;gap:48px}
 .editorial-pages .tool-form{gap:24px}
 .editorial-pages .tool-form legend,.editorial-pages .tool-field>label{font-size:17px;margin-bottom:12px}
 .editorial-pages .tool-form .folio-tabs{gap:0 18px}
 .editorial-pages .editorial-project-type{gap:8px}
 .editorial-pages .editorial-project-type input{width:16px;height:16px}
 .editorial-pages .tool-field{padding:24px 0;gap:20px}
 .editorial-pages .range-value{font-size:14px;gap:8px}
 .editorial-pages .range-value output{font-size:48px}
 .editorial-pages .range-endpoints{font-size:12px}
 .editorial-pages .tool-option{padding:20px 0;gap:14px}
 .editorial-pages .tool-option strong{font-size:17px}
 .editorial-pages .tool-option .folio-intro{font-size:14px;margin-top:6px;max-width:100%}
 .editorial-pages .tool-option input{width:18px;height:18px;margin-top:4px}
 .editorial-pages .tool-result{position:static;padding:28px 0 0}
 .editorial-pages #cost-total{font-size:40px;margin:20px 0 28px}
 .editorial-pages .cost-breakdown{gap:0 16px;margin-bottom:24px}
 .editorial-pages .cost-breakdown dt,.editorial-pages .cost-breakdown dd{font-size:14px;padding:14px 0}
 .editorial-pages #cost-quote{width:auto;margin:0 0 20px}
 .editorial-pages .editorial-note{font-size:13px!important;max-width:100%}
 .editorial-pages .editorial-audit-form .tool-field{padding:24px 0 16px}
 .editorial-pages .editorial-url-row{flex-direction:column;gap:24px}
 .editorial-pages .tool-field input[type=text]{font-size:18px;padding:14px 0}
 .editorial-pages #audit-submit{align-self:flex-start;min-height:48px}
 .editorial-pages .editorial-audit-method{margin-top:32px}
 .editorial-pages .audit-results{margin-top:48px}
 .editorial-pages .audit-result-grid{grid-template-columns:1fr;gap:24px}
 .editorial-pages .audit-result-grid .folio-card{padding:24px 0}
 .editorial-pages .audit-result-grid .folio-card:last-child{grid-column:auto}
 .editorial-pages .audit-result-grid .folio-card h3{font-size:28px;margin-bottom:20px}
 .editorial-pages .fact-list>div{font-size:14px}
 .editorial-pages .editorial-industry-facts{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:24px}
 .editorial-pages .editorial-industry-facts dt{margin-bottom:12px}
 .editorial-pages .editorial-industry-facts dd{font-size:14px}
 .editorial-pages .editorial-industry-facts .editorial-fact-value{font-size:30px;margin-bottom:12px}
 .editorial-pages .editorial-topic-list{margin-top:32px}
 .editorial-pages .editorial-topic{grid-template-columns:1fr;gap:16px;padding:28px 0}
 .editorial-pages .editorial-topic h3{font-size:28px}
 .editorial-pages .editorial-topic .folio-intro{font-size:16px}
 .editorial-pages .editorial-addons{margin-top:28px}
 .editorial-pages .editorial-addon{font-size:16px;gap:20px;padding:20px 0}
 .editorial-pages .editorial-addon dd{white-space:normal;text-align:right}
 .editorial-pages .editorial-recommendation{margin-top:40px;padding-left:20px}
 .editorial-pages .editorial-recommendation .folio-intro{font-size:28px}
 .editorial-pages .editorial-guide-cta{padding:32px 0}
 .editorial-pages .editorial-guide-cta h2{font-size:32px}
 .editorial-pages .editorial-actions{gap:12px;margin-top:24px}
}
@media(max-width:380px){.editorial-pages .editorial-pagehead>.folio-heading{font-size:44px}.editorial-pages .editorial-service-title,.editorial-pages .editorial-tool h2{font-size:28px}.editorial-pages #cost-total{font-size:34px}}
@media(prefers-reduced-motion:reduce){.editorial-pages .tab-panel{animation:none}.editorial-pages :is(.folio-tab,.folio-button){transition:none}}


/* Quiet additions: existing Lausanne / Manier rhythm, carbon and muted lime. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-away .22s ease both}
::view-transition-new(root){animation:page-arrive .45s cubic-bezier(.165,.84,.44,1) both}
@keyframes page-away{to{opacity:0}}
@keyframes page-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.scroll-nav-nav,.scroll-nav-m-bar{view-transition-name:portfolio-nav}
::view-transition-old(portfolio-nav),::view-transition-new(portfolio-nav){animation:none;mix-blend-mode:normal}
.utility-rail{width:85.75rem;max-width:calc(100% - 32px);margin:0 auto;padding:4rem 0 8rem;border-top:1px solid var(--stroke);display:grid;grid-template-columns:1fr 1fr;gap:5rem;color:var(--text-headline)}
.utility-rail h2{font-family:var(--font-display);font-size:3.125rem;line-height:1.2;font-weight:400;max-width:30rem;margin-bottom:1.5rem}
.utility-rail p{color:var(--text-body);font-size:1.125rem;line-height:1.65;max-width:25rem}
.utility-links{display:flex;flex-direction:column;justify-content:center}
.utility-link{padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--stroke);font-size:1.5rem;line-height:1.3}
.utility-link>span:last-child{transition:transform .45s cubic-bezier(.165,.84,.44,1)}
.utility-link:hover>span:last-child{transform:translate(4px,-4px)}
.utility-link:hover{color:var(--green)}
.preview-pagination{display:flex;align-items:center;gap:1rem;color:var(--text-body);font-size:1rem}
.preview-pagination output{font-variant-numeric:tabular-nums;margin-right:1rem}
.preview-pagination button{color:var(--text-headline);width:2.5rem;height:2.5rem;display:grid;place-items:center;border:1px solid var(--stroke);border-radius:50%;font-size:1.25rem;transition:translate .45s cubic-bezier(.165,.84,.44,1),background .3s,color .3s}
.preview-pagination button:hover{background:var(--green);color:#050507;border-color:var(--green)}
.project-preview .play-real-stage{touch-action:pan-y}
.project-preview .play-real-stage:focus-visible{outline:2px solid var(--green);outline-offset:-4px}
.preview-image-wrap{transform:translate3d(var(--depth-x,0px),var(--depth-y,0px),0) scale(1.025);will-change:transform}
.preview-image{user-select:none;-webkit-user-drag:none;pointer-events:none}
.preview-controls{margin-bottom:2rem}
.works-cta-arrow-btn,.footer-logo-btn{transition:translate .45s cubic-bezier(.165,.84,.44,1)}
.contact-modal-dialog{width:85.75rem;padding:2.625rem;border-radius:1rem}
.contact-modal-heading{font-family:var(--font-display);font-size:4.375rem;max-width:60rem}
.cookie-banner{border-radius:.75rem;padding:1.5rem;width:29rem}
.cookie-banner h3{font-size:1.75rem}
.cookie-banner .folio-button{border-radius:0;border-width:0 0 1px;padding:.65rem 0;text-align:left;justify-content:flex-start;flex:initial}
.cookie-banner .folio-button:hover{background:transparent;color:var(--green)}
.cookie-banner>div{gap:1.5rem}
@media(max-width:768px){
 .utility-rail{grid-template-columns:1fr;gap:32px;padding:48px 0 80px}
 .utility-rail h2{font-size:32px;max-width:100%;margin-bottom:20px}
 .utility-rail p{font-size:14px;max-width:100%}
 .utility-link{font-size:20px;padding:20px 0}
 .preview-pagination{font-size:12px;gap:8px}.preview-pagination output{margin-right:4px}
 .preview-pagination button{width:32px;height:32px;font-size:16px}
 .preview-controls{margin-bottom:0;row-gap:20px}
 .contact-modal-dialog{padding:24px;border-radius:16px}.contact-modal-heading{font-size:36px}
 .cookie-banner{padding:20px;width:calc(100vw - 32px)}.cookie-banner h3{font-size:24px}
 .cookie-banner .folio-button{font-size:12px}.cookie-banner>div{gap:20px}
}
@media(prefers-reduced-motion:reduce){
 ::view-transition-old(root),::view-transition-new(root){animation:none}
 .preview-image-wrap{transform:none;will-change:auto}
 .preview-pagination button,.works-cta-arrow-btn,.footer-logo-btn,.utility-link>span:last-child{transition:none}
}

[data-magnetic]{transition:translate .45s cubic-bezier(.165,.84,.44,1)}
.metrics-card:nth-child(3) .metrics-value{font-size:8.25rem}
@media(min-width:769px) and (max-width:1100px){
 .editorial-pages .folio-intro,.editorial-pages .folio-feature-list li,.editorial-pages .editorial-delivery,.editorial-pages .editorial-actions,.editorial-pages .editorial-guide-link{font-size:16px;line-height:1.6}
 .editorial-pages .editorial-number,.editorial-pages .folio-eyebrow,.editorial-pages .folio-tab,.editorial-pages .editorial-note,.editorial-pages .range-endpoints{font-size:13px}
 .editorial-pages .editorial-service-title,.editorial-pages .editorial-tool h2,.editorial-pages .editorial-package-title{font-size:40px}
 .editorial-pages .editorial-small-title,.editorial-pages .tool-option strong,.editorial-pages .tool-field>label,.editorial-pages .tool-form legend{font-size:18px}
 .editorial-pages .tool-option .folio-intro{font-size:14px}
 .editorial-pages .cost-breakdown dt,.editorial-pages .cost-breakdown dd{font-size:14px}
 .editorial-pages .tool-field input[type=text]{font-size:20px}
 .utility-rail p,.utility-link{font-size:16px}
 .utility-rail h2{font-size:32px}
}
@media(max-width:768px){.metrics-value,.metrics-card:nth-child(3) .metrics-value{font-size:72px}.metrics-value-label .metrics-slide{font-size:14px}}
@media(prefers-reduced-motion:reduce){[data-magnetic]{transition:none}}
