@font-face {
  font-family: KineticDisplay;
  src: url('fonts/BarlowCondensed-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: KineticText;
  src: url('fonts/Manrope-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: KineticText;
  src: url('fonts/Manrope-Semibold.ttf') format('truetype');
  font-weight: 500 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --black: #26312d;
  --paper: #f6f3eb;
  --acid: #c09a70;
  --muted: #b2bbb5;
  --line: #52615a;
  --pad: 32px;
  --ease: cubic-bezier(.19, 1, .22, 1);
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--black); color: var(--paper); font-family: KineticText, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
button { font: inherit; cursor: pointer; color: inherit; -webkit-tap-highlight-color: transparent; }
button[hidden], [hidden] { display: none !important; }
img { display: block; max-width: 100%; height: auto; }
figure, h1, h2, h3, p, dl, dd { margin: 0; }
button:focus-visible, a:focus-visible, [tabindex]:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
::selection { color: var(--black); background: var(--acid); }
.wrap { margin-inline: auto; width: calc(100% - var(--pad) * 2); max-width: 1600px; }
.skip { position: fixed; z-index: 200; left: 12px; top: 8px; color: var(--black); background: var(--acid); padding: 16px; transform: translateY(-160%); }
.skip:focus { transform: none; }
.concept { height: 34px; padding-inline: var(--pad); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 9px; letter-spacing: .7px; }
.concept a { min-height: 30px; display: flex; align-items: center; color: #bfc2b7; }
.concept > span:nth-child(2) { color: var(--acid); }
.concept__local { color: #90958a; }
.header { position: absolute; top: 25px; left: var(--pad); right: var(--pad); z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand > span { display: flex; align-items: center; gap: 11px; font-size: 25px; font-weight: 850; letter-spacing: -1.2px; line-height: 1; }
.brand__mark { color: var(--acid); font-size: 29px; font-weight: 400; }
.brand small { font-size: 8px; letter-spacing: 2.3px; display: block; margin-top: 9px; }
.header__location { font-size: 9px; line-height: 1.7; color: #bdc2b4; margin-left: auto; margin-right: 70px; }
.menu-trigger { display: flex; align-items: center; gap: 28px; background: none; border: 0; border-bottom: 1px solid #8b9282; min-height: 48px; padding: 0 0 8px; font-size: 11px; }
.menu-trigger__icon { width: 22px; display: flex; flex-direction: column; gap: 6px; }
.menu-trigger__icon i { height: 1px; width: 22px; background: currentColor; }
.header__fallback { font-size: 12px; padding-block: 16px; }
.js .header__fallback { display: none; }
.kicker { font-size: 10px; font-weight: 500; letter-spacing: 1.1px; line-height: 1.6; }
.live-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--acid); margin-right: 8px; vertical-align: 2px; }
.hero-stage { position: relative; }
.hero-sticky { position: relative; height: max(800px, 100svh); overflow: clip; isolation: isolate; }
.has-motion .hero-stage { height: 180svh; min-height: 1450px; }
.has-motion .hero-sticky { position: sticky; top: 0; height: 100svh; min-height: 720px; }
.hero-visual { position: absolute; inset: 0; z-index: -1; overflow: hidden; clip-path: var(--hero-clip, inset(36% 3% 13% 43%)); }
.hero-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #0003, transparent 45%, #0005); }
.hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 57%; transform: scale(var(--hero-scale, 1.04)); }
.hero-type { position: absolute; z-index: 2; left: var(--pad); right: var(--pad); top: clamp(140px, 17svh, 195px); }
.hero-type .kicker { margin-bottom: 26px; }
.hero-type h1 { font-family: KineticDisplay, Impact, sans-serif; font-size: clamp(160px, 23.5vw, 370px); line-height: .79; font-weight: 700; letter-spacing: -.035em; }
.line { display: block; }
.line + .line { margin-top: .07em; }
.line > span { display: inline-block; }
.line--acid { color: var(--acid); }
.period { color: var(--paper); }
[data-hero-type] { opacity: var(--copy-opacity, 1); transform: translate3d(0, var(--copy-y, 0px), 0); }
.hero-bottom { position: absolute; z-index: 4; left: var(--pad); right: 65px; bottom: 42px; display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.hero-copy { max-width: 315px; }
.hero-copy > p { font-size: 12px; color: #c5c8be; line-height: 1.7; }
.text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 35px; min-height: 48px; font-size: 10px; border-bottom: 1px solid currentColor; }
.text-link span { font-size: 23px; transition: transform 300ms var(--ease); }
.text-link:hover span { transform: translate(4px, -4px); }
.hero-copy .text-link { margin-top: 17px; }
.hero-proof { display: flex; align-items: end; gap: 45px; }
.hero-proof > div { display: flex; flex-direction: column-reverse; }
.hero-proof dt { font-size: 9px; letter-spacing: 1px; margin-top: 8px; }
.hero-proof dd { font-family: KineticText, Arial, sans-serif; font-weight: 600; font-size: 30px; line-height: 1.2; letter-spacing: -1px; }
.hero-proof dd span { color: var(--acid); }
.hero-image-label { opacity: var(--hero-label-opacity, 0); position: absolute; left: var(--pad); bottom: 35px; z-index: 3; background: var(--acid); color: var(--black); padding: 17px 22px; pointer-events: var(--label-events, none); }
.hero-image-label > span { display: block; font-size: 8px; letter-spacing: 1px; margin-bottom: 13px; }
.hero-image-label > a { font-size: 27px; display: flex; align-items: center; gap: 55px; letter-spacing: -.8px; }
.hero-scroll { position: absolute; right: 15px; top: 40%; bottom: 28px; z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 18px; font-size: 8px; }
.hero-scroll > span:first-child { writing-mode: vertical-rl; letter-spacing: 1.5px; }
.hero-scroll > div { height: 90px; width: 1px; background: #61695a; overflow: hidden; }
.hero-scroll i { display: block; width: 100%; height: 100%; transform: scaleY(var(--hero-p, 0)); background: var(--acid); transform-origin: top; }
.ticker { background: var(--acid); color: var(--black); padding-block: 22px; overflow: hidden; }
.ticker__track { display: flex; width: max-content; animation: ticker 30s linear infinite; }
.ticker__track > span { display: flex; align-items: center; gap: 35px; padding-right: 35px; white-space: nowrap; font-size: clamp(25px, 3.6vw, 60px); font-weight: 800; letter-spacing: -2px; }
.ticker__track i { font-style: normal; font-weight: 300; font-size: 1.1em; }
.ticker:hover .ticker__track { animation-play-state: paused; }
@keyframes ticker { to { transform: translateX(-50%); } }
.work { padding-top: 95px; padding-bottom: 90px; }
.section-head { display: flex; align-items: start; justify-content: space-between; gap: 25px; }
.section-head > span { font-size: 9px; line-height: 1.6; text-align: right; color: var(--muted); }
.display { font-size: clamp(60px, 9.8vw, 165px); line-height: .88; font-weight: 850; letter-spacing: -.075em; margin-top: 50px; margin-bottom: 60px; }
.outline { color: transparent; -webkit-text-stroke: 1px var(--paper); }
.stack { position: relative; }
.project { display: grid; grid-template-columns: 1.45fr 1fr; height: min(720px, 85svh); min-height: 500px; margin-bottom: 32px; background: var(--black); transform-origin: center top; }
.has-motion .project { position: sticky; top: 28px; }
.project__media { display: block; position: relative; overflow: hidden; min-width: 0; }
.project__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 64%; transition: transform 900ms var(--ease); }
.project__media:hover img { transform: scale(1.035); }
.project__zoom { position: absolute; bottom: 20px; right: 20px; display: flex; align-items: center; gap: 30px; font-size: 9px; background: var(--black); color: var(--paper); padding: 5px 6px 5px 17px; }
.project__zoom > span { width: 36px; height: 36px; display: grid; place-items: center; font-size: 24px; color: var(--acid); }
.project figcaption { position: relative; padding: 28px; background: var(--acid); color: var(--black); display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; }
.project__number { font-family: KineticDisplay, Impact, sans-serif; font-size: 100px; letter-spacing: -4px; line-height: .9; font-weight: 700; }
.project figcaption > div { position: relative; z-index: 1; padding-bottom: 12px; }
.project figcaption .kicker { font-size: 9px; letter-spacing: .6px; }
.project h3 { font-family: KineticDisplay, Impact, sans-serif; font-size: clamp(50px, 6.5vw, 104px); line-height: .88; letter-spacing: -.035em; font-weight: 700; margin: 15px 0 22px; }
.project figcaption a { display: flex; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid #26312d6b; min-height: 44px; font-size: 9px; }
.project figcaption a > span { font-size: 23px; }
.project__cross { position: absolute; right: 26px; top: 30px; font-size: 80px; line-height: 1; opacity: .5; }
.project--wardrobe figcaption { background: var(--paper); }
.project--wardrobe .project__media img { object-position: center 54%; }
.all-work { display: flex; align-items: center; justify-content: space-between; gap: 30px; font-size: 13px; padding-top: 20px; }
.circle-arrow { display: grid; place-items: center; width: 76px; height: 76px; border: 1px solid #929c80; border-radius: 50%; font-size: 45px; font-weight: 300; }
.manifesto { padding-block: 65px 75px; background: #1b2822; }
.manifesto__title { margin-top: 55px; font-size: clamp(35px, 5.5vw, 87px); line-height: 1.08; font-weight: 650; letter-spacing: -.045em; max-width: 1250px; text-transform: uppercase; }
.manifesto__title .word { color: #a9af9c; transition: color 180ms; }
.manifesto__title .word.is-lit { color: var(--acid); }
.manifesto__bottom { display: flex; align-items: center; gap: 65px; margin-top: 50px; }
.asterisk { font-size: 110px; line-height: 1; display: inline-block; color: var(--acid); }
.manifesto__bottom > p { font-size: 13px; line-height: 1.8; max-width: 340px; color: #c6cdb7; }
.manifesto__bottom > a { margin-left: auto; }
.services { padding-block: 80px 60px; }
.services__title { font-size: clamp(45px, 6vw, 92px); line-height: .93; font-weight: 800; letter-spacing: -.06em; margin-top: 45px; margin-bottom: 45px; }
.service-list { border-top: 1px solid var(--line); }
.service-list > a { position: relative; display: flex; align-items: center; gap: 30px; border-bottom: 1px solid var(--line); padding: 25px 0; transition: color 300ms, padding 400ms var(--ease), background 300ms; }
.service-list > a:hover { background: var(--acid); color: var(--black); padding-inline: 24px; }
.service-list__index { font-size: 10px; align-self: start; padding-top: 8px; }
.service-list__name { font-size: clamp(28px, 4.9vw, 78px); font-weight: 750; letter-spacing: -.065em; line-height: 1.05; }
.service-list__detail { margin-left: auto; font-size: 10px; }
.service-list > a > span:last-child { font-size: 45px; font-weight: 200; margin-left: 25px; }
.materials { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 40px 0; }
.materials > p { font-size: 9px; color: var(--muted); }
.materials > div { display: flex; gap: 35px; flex-wrap: wrap; }
.materials a { font-size: 11px; min-height: 44px; display: flex; align-items: center; }
.contact { background: var(--acid); color: var(--black); padding-block: 55px 65px; }
.contact .section-head > span { color: #26312d; }
.contact__headline { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 50px; }
.contact h2 { font-size: clamp(65px, 12vw, 195px); line-height: .85; letter-spacing: -.085em; font-weight: 850; }
.contact h2 > span { color: #84623e; }
.contact__arrow { font-size: clamp(100px, 17vw, 265px); font-weight: 200; line-height: 1; flex-shrink: 0; }
.contact__bottom { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-top: 55px; border-top: 1px solid #26312d4a; padding-top: 27px; }
.contact__bottom > p { font-size: 12px; line-height: 1.7; }
.contact__bottom > a { font-size: 35px; letter-spacing: -1.3px; display: flex; align-items: center; gap: 30px; }
.footer { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-block: 30px 120px; font-size: 9px; }
.footer > span { color: var(--muted); }
.footer > a:first-child { font-size: 13px; font-weight: 700; }
.dock { position: fixed; z-index: 50; left: 50%; bottom: 18px; transform: translateX(-50%); display: flex; align-items: center; gap: 5px; padding: 6px; background: #202b26fa; border: 1px solid #7e896c; box-shadow: 0 8px 40px #0004; border-radius: 48px; }
.dock a, .dock button { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 40px; padding: 8px 20px; border-radius: 30px; font-size: 9px; letter-spacing: .4px; white-space: nowrap; }
.dock a:nth-child(2) { background: var(--acid); color: var(--black); }
.dock button { background: transparent; border: 0; }
.motion-icon { font-size: 14px; color: var(--acid); }
.menu-dialog { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 30px var(--pad); border: 0; background: var(--acid); color: var(--black); }
.menu-dialog:not([open]), .lightbox:not([open]) { display: none; }
.menu-dialog::backdrop { background: #26312dd9; }
.menu-dialog__top { display: flex; align-items: center; justify-content: space-between; gap: 25px; font-size: 10px; }
.menu-dialog button { background: transparent; border: 0; border-bottom: 1px solid #26312d6b; padding: 10px 0; min-height: 44px; font-size: 10px; display: flex; align-items: center; gap: 25px; }
.menu-dialog button > span { font-size: 30px; font-weight: 300; }
.menu-dialog nav { margin-top: clamp(40px, 9vh, 120px); }
.menu-dialog nav a { display: flex; align-items: center; gap: 35px; border-top: 1px solid #26312d63; padding-block: 18px; }
.menu-dialog nav a:last-child { border-bottom: 1px solid #26312d63; }
.menu-dialog nav small { font-size: 10px; }
.menu-dialog nav a > span:nth-child(2) { font-size: clamp(60px, 10.8vw, 165px); font-weight: 850; letter-spacing: -.075em; line-height: 1; }
.menu-dialog nav a > span:last-child { font-size: 65px; font-weight: 200; margin-left: auto; }
.menu-dialog__bottom { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 30px; font-size: 10px; }
.menu-dialog__bottom > a { font-size: 23px; }
.lightbox { width: min(1100px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 18px; border: 1px solid #5b644c; background: var(--black); color: var(--paper); }
.lightbox::backdrop { background: #0c0e0aee; backdrop-filter: blur(8px); }
.lightbox__top, .lightbox__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 10px; }
.lightbox button { background: none; border: 1px solid var(--line); padding: 9px 13px; min-height: 44px; min-width: 44px; font-size: 11px; }
.lightbox__stage { display: grid; place-items: center; min-height: 160px; padding-block: 16px; }
.lightbox__stage img { width: auto; max-width: 100%; max-height: calc(100dvh - 205px); object-fit: contain; }
.lightbox__stage [role=status] { text-align: center; color: var(--muted); font-size: 12px; line-height: 1.6; }
.lightbox__stage [role=status]:empty { display: none; }
.lightbox__bottom { justify-content: start; gap: 15px; }
.lightbox__bottom > a { margin-left: auto; min-height: 44px; display: flex; align-items: center; }
/* Condensed display type and quiet technical labels give the work its own rhythm. */
.display, .services__title, .contact h2, .service-list__name,
.menu-dialog nav a > span:nth-child(2), .ticker__track > span {
  font-family: KineticDisplay, Impact, sans-serif;
  font-weight: 700;
  letter-spacing: -.025em;
}
.display { font-size: clamp(70px, 12vw, 185px); line-height: .86; }
.hero-type h1 { font-size: clamp(160px, min(24vw, 34svh), 370px); }
.hero-edition { position: absolute; z-index: 2; right: 8%; top: 21%; width: 125px; height: 125px; border: 1px solid #a9b393; border-radius: 50%; display: grid; place-content: center; text-align: center; transform: rotate(9deg); opacity: var(--copy-opacity, 1); }
.hero-edition > span { font-family: KineticDisplay, Impact, sans-serif; font-size: 50px; line-height: 1; }
.hero-edition small { font-size: 8px; letter-spacing: 1px; margin-top: 6px; }
.hero-edition i { position: absolute; bottom: -13px; right: 8px; display: grid; place-items: center; font-style: normal; background: var(--acid); color: var(--black); width: 35px; height: 35px; border-radius: 50%; font-size: 22px; }
.hero-visual { border-radius: 2px; }
.line { padding-top: .08em; margin-top: -.08em; }
.circle-arrow, .contact__arrow { transition: transform 500ms var(--ease), background 300ms, color 300ms; }
.all-work:hover .circle-arrow { background: var(--acid); color: var(--black); border-color: var(--acid); }
.service-list > a { transition: color 300ms, background 300ms; }
.service-list > a:hover { padding-inline: 0; }
.service-list__name, .service-list__index { transition: transform 500ms var(--ease); }
.service-list > a:hover .service-list__name, .service-list > a:hover .service-list__index { transform: translateX(20px); }
.service-list > a > span:last-child { transition: transform 500ms var(--ease); }
.service-list > a:hover > span:last-child { transform: translate(-16px, -4px) rotate(45deg); }
.detail-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 75px; margin-bottom: 24px; }
.detail-controls { display: flex; gap: 8px; }
.detail-controls button { display: grid; place-items: center; width: 44px; height: 44px; font-size: 24px; background: transparent; border: 1px solid var(--line); border-radius: 50%; }
.detail-controls button:disabled { opacity: .35; cursor: default; }
.detail-controls button:not(:disabled):hover { background: var(--acid); color: var(--black); }
.detail-reel { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--acid) var(--black); padding-bottom: 28px; margin-bottom: 20px; }
.detail-card { min-width: 0; scroll-snap-align: start; }
.detail-card:nth-child(2) { padding-top: 65px; }
.detail-card > a { display: block; position: relative; overflow: hidden; aspect-ratio: 3 / 4; background: #25281f; }
.detail-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease); }
.detail-card > a:hover img { transform: scale(1.045); }
.detail-card > a > span { position: absolute; bottom: 16px; right: 16px; width: 44px; height: 44px; display: grid; place-items: center; background: var(--acid); color: var(--black); font-size: 28px; border-radius: 50%; transition: transform 500ms var(--ease); }
.detail-card > a:hover > span { transform: rotate(45deg); }
.detail-card figcaption { padding-top: 20px; }
.detail-card figcaption > span { font-size: 8px; letter-spacing: 1px; color: var(--muted); }
.detail-card h3 { font-family: KineticDisplay, Impact, sans-serif; font-size: clamp(26px, 3.3vw, 52px); font-weight: 700; letter-spacing: -.02em; margin-top: 9px; line-height: 1; }
.ticker.is-idle .ticker__track { animation-play-state: paused; }
.dock a { transition: background 250ms, color 250ms; }
.dock a:first-child:hover { background: #3d4731; }
.dock a:nth-child(2):hover { background: var(--paper); }
.menu-trigger__icon i { transition: transform 350ms var(--ease); }
.menu-trigger:hover .menu-trigger__icon i:first-child { transform: translateX(5px); }
.menu-trigger:hover .menu-trigger__icon i:last-child { transform: translateX(-5px); }
.menu-dialog nav a > span:nth-child(2) { transition: transform 500ms var(--ease); }
.menu-dialog nav a:hover > span:nth-child(2) { transform: translateX(20px); }
@media (min-width: 1800px) {
  .hero-type { left: max(var(--pad), calc((100vw - 1600px) / 2)); }
  .hero-type h1 { font-size: 370px; }
}
@media (max-width: 1100px) {
  :root { --pad: 25px; }
  .hero-type h1 { font-size: 23.5vw; }
  .hero-type { top: 170px; }
  .hero-proof { gap: 28px; }
  .hero-proof dd { font-size: 45px; }
  .project { grid-template-columns: 1fr 250px; }
  .project figcaption { padding: 23px; }
  .project h3 { font-size: 36px; }
  .manifesto__bottom { gap: 35px; }
  .service-list__detail { display: none; }
  .service-list > a > span:last-child { margin-left: auto; }
}
@media (min-width: 861px) and (max-height: 800px) {
  .has-motion .hero-sticky { min-height: 620px; }
  .hero-type { top: 100px; }
  .hero-type h1 { font-size: min(23.5vw, 28svh); }
  .hero-proof dd { font-size: 50px; }
  .hero-edition { width: 100px; height: 100px; top: 19%; }
  .hero-edition > span { font-size: 40px; }
}
@media (max-width: 860px) {
  :root { --pad: 20px; }
  html { scroll-padding-top: 18px; }
  .concept { height: 36px; font-size: 8px; gap: 12px; letter-spacing: 0; }
  .concept__local { display: none; }
  .header { top: 22px; }
  .brand > span { font-size: 21px; letter-spacing: -.8px; }
  .brand__mark { font-size: 25px; }
  .brand small { font-size: 6px; letter-spacing: 2.2px; margin-top: 7px; }
  .header__location { display: none; }
  .menu-trigger { font-size: 9px; gap: 18px; min-height: 44px; }
  .hero-stage, .has-motion .hero-stage { height: auto; min-height: 0; }
  .hero-sticky, .has-motion .hero-sticky { position: relative; height: auto; min-height: 0; display: flex; flex-direction: column; padding: 100px var(--pad) 80px; }
  .hero-type { position: relative; inset: auto; order: 1; }
  .hero-type .kicker { font-size: 8px; letter-spacing: .7px; margin-bottom: 23px; }
  .hero-type h1 { font-size: 28vw; line-height: .83; letter-spacing: -.035em; }
  .hero-visual { position: relative; inset: auto; order: 2; height: clamp(230px, 40vw, 360px); margin-top: 24px; clip-path: none !important; z-index: 0; }
  .hero-edition { display: none; }
  .hero-visual img { object-position: center; transform: none !important; }
  .hero-bottom { position: relative; inset: auto; order: 3; display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
  .hero-copy { max-width: none; }
  .hero-copy > p { font-size: 11px; line-height: 1.7; }
  .hero-copy .text-link { display: none; }
  .hero-proof { justify-content: space-between; gap: 25px; }
  .hero-proof dd { font-size: 47px; letter-spacing: -1px; }
  .hero-proof dt { font-size: 8px; margin-top: 6px; }
  [data-hero-type] { opacity: 1 !important; transform: none !important; }
  .hero-image-label, .hero-scroll { display: none; }
  .ticker { padding-block: 15px; }
  .ticker__track > span { font-size: 29px; letter-spacing: -1px; gap: 24px; padding-right: 24px; }
  .work { padding-top: 50px; padding-bottom: 45px; }
  .section-head { gap: 20px; }
  .kicker { font-size: 8px; letter-spacing: .6px; }
  .section-head > span { font-size: 7px; }
  .display { font-size: 10.4vw; letter-spacing: -.065em; margin-top: 30px; margin-bottom: 32px; line-height: .95; }
  .project { height: 640px; min-height: 0; grid-template-columns: 1fr; grid-template-rows: 420px 220px; margin-bottom: 24px; }
  .has-motion .project { top: 15px; }
  .project figcaption { padding: 20px; display: grid; grid-template-columns: 45px 1fr; gap: 20px; align-items: start; }
  .project__number { font-size: 30px; letter-spacing: -2px; }
  .project h3 { font-size: 42px; letter-spacing: -.8px; margin-block: 13px 10px; }
  .project h3 br { display: none; }
  .project figcaption .kicker { font-size: 8px; }
  .project figcaption a { font-size: 8px; }
  .project__cross { top: -15px; right: -15px; font-size: 100px; opacity: .12; }
  .project__zoom { right: 12px; bottom: 12px; font-size: 8px; }
  .all-work { font-size: 10px; padding-top: 5px; }
  .detail-head { margin-top: 42px; gap: 15px; }
  .detail-head .kicker { max-width: 180px; }
  .detail-reel { grid-auto-columns: 78%; gap: 16px; }
  .detail-card:nth-child(2) { padding-top: 0; }
  .detail-card h3 { font-size: 34px; }
  .detail-card figcaption { padding-top: 15px; }
  .circle-arrow { width: 55px; height: 55px; font-size: 32px; }
  .manifesto { padding-block: 42px; }
  .manifesto .section-head { flex-direction: column; gap: 12px; }
  .manifesto__title { font-size: 34px; margin-top: 33px; line-height: 1.1; letter-spacing: -1.3px; }
  .manifesto__bottom { flex-wrap: wrap; gap: 24px; margin-top: 30px; }
  .asterisk { font-size: 62px; }
  .manifesto__bottom > p { font-size: 11px; max-width: calc(100% - 90px); }
  .manifesto__bottom > a { margin-left: 0; font-size: 9px; }
  .services { padding-block: 45px; }
  .services .section-head { display: block; }
  .services .section-head > span { display: none; }
  .services__title { font-size: 10.4vw; letter-spacing: -.065em; margin-top: 30px; margin-bottom: 30px; }
  .service-list > a { gap: 15px; padding-block: 24px; }
  .service-list > a:hover { padding-inline: 10px; }
  .service-list__index { font-size: 8px; padding-top: 4px; }
  .service-list__name { font-size: 6.9vw; letter-spacing: -.055em; }
  .service-list > a > span:last-child { font-size: 29px; }
  .materials { flex-direction: column; gap: 12px; align-items: start; padding-top: 30px; }
  .materials > div { gap: 25px; }
  .materials a { font-size: 10px; }
  .contact { padding-block: 35px 45px; }
  .contact .section-head { display: block; }
  .contact .section-head > span { display: none; }
  .contact__headline { gap: 15px; margin-top: 35px; align-items: end; }
  .contact h2 { font-size: 12.8vw; letter-spacing: -.07em; line-height: .95; }
  .contact__arrow { font-size: 55px; }
  .contact__bottom { margin-top: 30px; padding-top: 23px; display: block; }
  .contact__bottom > p { font-size: 11px; }
  .contact__bottom > a { font-size: 30px; margin-top: 23px; justify-content: space-between; }
  .footer { flex-wrap: wrap; padding-block: 25px 105px; gap: 20px; font-size: 8px; }
  .footer > a:first-child { font-size: 11px; }
  .footer > span { order: 3; flex-basis: 100%; }
  .footer > a:last-child { margin-left: auto; }
  .dock { bottom: 12px; gap: 1px; padding: 5px; }
  .dock a, .dock button { padding-inline: 17px; gap: 9px; font-size: 8px; min-height: 40px; }
  .menu-dialog { padding-top: 20px; }
  .menu-dialog nav { margin-top: 12svh; }
  .menu-dialog nav a { gap: 17px; padding-block: 23px; }
  .menu-dialog nav a > span:nth-child(2) { font-size: 12.2vw; letter-spacing: -.075em; }
  .menu-dialog nav a > span:last-child { font-size: 33px; }
  .menu-dialog nav small { font-size: 8px; }
  .menu-dialog__top { font-size: 8px; }
  .menu-dialog__bottom { align-items: start; flex-direction: column; gap: 20px; }
  .menu-dialog__bottom > span { font-size: 8px; }
  .lightbox { padding: 13px; width: calc(100% - 20px); max-height: calc(100dvh - 20px); }
  .lightbox__top { font-size: 9px; gap: 10px; }
  .lightbox__bottom { flex-wrap: wrap; font-size: 9px; }
  .lightbox__bottom > a { flex-basis: 100%; margin-left: 0; justify-content: center; }
  .lightbox__stage img { max-height: calc(100dvh - 250px); }
}
@media (max-width: 380px) {
  :root { --pad: 16px; }
  .hero-visual { height: 240px; }
  .hero-sticky, .has-motion .hero-sticky { padding-top: 100px; }
  .hero-copy > p { font-size: 10px; }
  .project { height: 585px; grid-template-rows: 370px 215px; }
  .project figcaption { gap: 12px; padding: 18px; }
  .project h3 { font-size: 38px; }
  .project figcaption a { font-size: 7px; }
  .manifesto__title { font-size: 30px; }
  .contact__arrow { font-size: 40px; }
  .dock a, .dock button { padding-inline: 14px; }
}
.process { padding-block: 80px 100px; }
.process__layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 70px; margin-top: 50px; }
.process__intro h2 { font-family: KineticDisplay, Impact, sans-serif; font-size: clamp(48px, 5.6vw, 90px); line-height: .95; letter-spacing: -.02em; }
.process__intro > a { margin-top: 35px; }
.process__steps { border-top: 1px solid var(--line); }
.process details { border-bottom: 1px solid var(--line); }
.process summary { display: flex; align-items: center; gap: 20px; padding-block: 25px; list-style: none; cursor: pointer; }
.process summary::-webkit-details-marker { display: none; }
.process summary:focus-visible { outline: 2px solid var(--acid); outline-offset: 5px; }
.process summary > span { font-size: 10px; color: var(--muted); }
.process summary h3 { font-family: KineticDisplay, Impact, sans-serif; font-size: clamp(25px, 2.5vw, 40px); font-weight: 700; line-height: 1; }
.process summary i { margin-left: auto; font-size: 25px; font-style: normal; color: var(--acid); transition: transform 350ms var(--ease); }
.process details[open] summary i { transform: rotate(45deg); }
.process details[open] summary h3 { color: var(--acid); }
.process details > p { padding: 0 35px 27px; font-size: 13px; line-height: 1.8; color: #c5c8be; max-width: 480px; }
.page-progress { position: fixed; z-index: 55; inset: 0 0 auto; height: 2px; background: var(--acid); transform: scaleX(var(--page-progress, 0)); transform-origin: left; pointer-events: none; }
.photo-cursor { position: fixed; z-index: 60; top: 0; left: 0; display: grid; place-items: center; width: 80px; height: 80px; border-radius: 50%; background: var(--acid); color: var(--black); font-size: 9px; letter-spacing: .5px; pointer-events: none; opacity: 0; transition: opacity 180ms; }
.photo-cursor.is-visible { opacity: 1; }
.dock a[aria-current="location"] { color: var(--acid); background: #34473d; }
.lightbox__stage { touch-action: pan-y pinch-zoom; }
@media (max-width: 860px) {
  .process { padding-block: 45px 55px; }
  .process__layout { grid-template-columns: 1fr; gap: 35px; margin-top: 30px; }
  .process__intro h2 { font-size: 12vw; }
  .process__intro > a { margin-top: 20px; }
  .process summary { gap: 13px; padding-block: 23px; }
  .process summary h3 { font-size: 25px; }
  .process details > p { font-size: 12px; padding-inline: 25px 10px; }
}
.motion-off .photo-cursor { display: none; }
/* Reduced motion is a real alternate presentation, not merely a slowed effect. */
.motion-off .ticker__track { animation-play-state: paused; }
.motion-off .hero-stage { height: auto; min-height: 0; }
.motion-off .hero-sticky { position: relative; }
.motion-off [data-hero-type] { opacity: 1 !important; transform: none !important; }
.motion-off .hero-visual { clip-path: inset(36% 3% 13% 43%); }
.motion-off .hero-visual img { transform: none; }
.motion-off .hero-image-label { display: none; }
.motion-off .project { position: relative; top: auto; transform: none !important; filter: none !important; }
.motion-off .manifesto__title .word { color: var(--paper); }
.motion-off *, .motion-off *::before, .motion-off *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-stage, .has-motion .hero-stage { height: auto; min-height: 0; }
  .hero-sticky, .has-motion .hero-sticky, .has-motion .project { position: relative; top: auto; }
  [data-hero-type], .project { transform: none !important; opacity: 1 !important; }
  .hero-visual { clip-path: inset(36% 3% 13% 43%); }
  .hero-visual img { transform: none !important; }
  .hero-image-label { display: none; }
  .manifesto__title .word { color: var(--paper); }
}

/* Brand kit: forest green, warm cream and bronze. */
.brand { display:flex; align-items:center; gap:14px; }
.brand .brand__symbol { width:46px; height:45px; object-fit:contain; }
.brand .brand__words { display:block; }
.brand__words > span { font-size:24px; font-weight:600; letter-spacing:1px; }
.brand .brand__words small { font-size:7px; letter-spacing:2.6px; }
.brand .brand__words small { margin-left:-2px; }
.hero-type { left:max(16px,calc(var(--pad) - 8px)); }
.hero-edition i { font-size:23px; }
.site-footer { padding-block:60px 110px; border-top:1px solid var(--line); }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-bottom:40px; }
.footer-brand { display:flex; align-items:center; gap:18px; }
.footer-brand img { width:48px; height:48px; }
.footer-brand > span { font-size:25px; letter-spacing:1px; }
.footer-brand small { display:block; font-size:8px; letter-spacing:3px; margin-top:7px; }
.footer-top p { font-size:12px; line-height:1.8; color:var(--muted); }
.footer-grid { display:grid; grid-template-columns:auto minmax(0,1fr); gap:30px; padding-block:30px; border-block:1px solid var(--line); }
.footer-grid nav { display:flex; align-content:start; flex-wrap:wrap; gap:10px 30px; }
.footer-grid nav a { min-height:44px; display:flex; align-items:center; font-size:13px; }
.footer-icons { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 24px; }
.footer-icons a { display:flex; align-items:center; gap:15px; min-height:44px; font-size:12px; }
.footer-icons svg,.supplier-links svg { width:27px; height:27px; flex-shrink:0; }
.footer-icons a,.supplier-links a { opacity:.52; transition:opacity 250ms,color 250ms; }
.footer-icons a:hover,.footer-icons a:focus-visible,.supplier-links a:hover,.supplier-links a:focus-visible { opacity:1; color:var(--paper); }
.supplier-links { display:flex; flex-wrap:wrap; gap:25px; }
.supplier-links a { display:flex; align-items:center; gap:12px; min-height:48px; font-size:12px; letter-spacing:1px; }
.footer-suppliers { padding-block:30px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-suppliers p { font-size:9px; color:var(--muted); }
.footer-bottom { display:flex; flex-wrap:wrap; gap:20px; border-top:1px solid var(--line); padding-top:25px; font-size:9px; color:var(--muted); }
.footer-bottom a:last-child { margin-left:auto; }
.inner-page { padding-top:0; }
.page-intro { padding-top:150px; padding-bottom:60px; }
.breadcrumb { display:inline-block; font-size:9px; color:var(--muted); margin-bottom:30px; min-height:25px; }
.page-intro h1 { font-family:KineticDisplay,Impact,sans-serif; font-size:clamp(70px,11vw,170px); line-height:.86; font-weight:700; letter-spacing:-.025em; margin-top:25px; }
.page-lead { font-size:15px; line-height:1.9; color:#bdc8bf; max-width:620px; margin-top:35px; }
.service-pages { padding-bottom:60px; }
.service-detail { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; padding-block:60px; border-top:1px solid var(--line); scroll-margin-top:110px; }
.service-detail:nth-child(even) figure { order:2; }
.service-detail figure { height:580px; overflow:hidden; }
.service-detail img { width:100%; height:100%; object-fit:cover; object-position:center 65%; }
.service-detail h2,.about-layout h2,.contact-details h2,.enquiry-form h2 { font-family:KineticDisplay,Impact,sans-serif; font-size:clamp(40px,5vw,76px); line-height:.95; font-weight:700; letter-spacing:-.02em; margin-block:20px 25px; }
.service-detail p:not(.kicker),.about-layout p:not(.kicker) { font-size:14px; line-height:1.9; color:#bdc8bf; margin-bottom:20px; }
.service-detail .text-link { margin:10px 20px 0 0; }
.inline-link { text-decoration:underline; color:var(--acid); }
.portfolio { padding-bottom:70px; }
.filter-bar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:35px; }
.filter-bar button { background:transparent; border:1px solid var(--line); padding:14px 20px; font-size:10px; min-height:44px; }
.filter-bar button[aria-pressed=true] { background:var(--acid); color:var(--black); border-color:var(--acid); }
.filter-bar > span { font-size:10px; color:var(--muted); margin-left:auto; }
.portfolio-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px 30px; }
.portfolio-card { min-width:0; scroll-margin-top:120px; }
.portfolio-card > a { display:block; position:relative; overflow:hidden; aspect-ratio:4/5; background:#1c2822; }
.portfolio-card img { width:100%; height:100%; object-fit:cover; object-position:center 65%; transition:transform 850ms var(--ease); }
.portfolio-card > a:hover img { transform:scale(1.035); }
.portfolio-card > a > span { position:absolute; right:18px; bottom:18px; padding:12px 16px; background:var(--black); color:var(--paper); font-size:13px; }
.portfolio-card figcaption { padding-top:20px; }
.portfolio-card h3 { font-family:KineticDisplay,Impact,sans-serif; font-size:clamp(30px,3.5vw,55px); line-height:1; margin-block:10px; }
.portfolio-card figcaption > span,.portfolio-card figcaption a { font-size:9px; color:var(--muted); }
.portfolio-card .project__number,.portfolio-card .project__cross { display:none; }
.portfolio-card figcaption .kicker { font-size:9px; }
.about-layout { padding-block:20px 70px; }
.about-layout figure { margin-bottom:40px; }
.about-layout figure img { width:100%; max-height:550px; object-fit:cover; }
.about-layout > div { max-width:750px; margin-inline:auto; }
.contact-layout { display:grid; grid-template-columns: .8fr 1.2fr; gap:7vw; padding-bottom:90px; align-items:start; }
.contact-details > a:not(.text-link) { display:block; font-size:clamp(13px,1.8vw,24px); margin-bottom:22px; overflow-wrap:anywhere; }
.contact-details > p:not(.kicker) { font-size:13px; line-height:1.8; margin-bottom:20px; color:var(--muted); }
.contact-promos { display:flex; gap:40px; margin-top:35px; }
.contact-promos dt { font-size:8px; color:var(--muted); }
.contact-promos dd { font-family:KineticDisplay,Impact,sans-serif; font-size:45px; color:#e8c579; margin-top:8px; }
.enquiry-form { background:var(--paper); color:var(--black); padding:35px; }
.enquiry-form { scroll-margin-top:110px; }
.enquiry-form h2 { font-size:52px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.enquiry-form label { display:block; font-size:11px; line-height:1.6; margin-bottom:20px; }
.enquiry-form input,.enquiry-form select,.enquiry-form textarea { display:block; width:100%; border:0; border-bottom:1px solid #8c978b; border-radius:0; padding:12px 0; background:transparent; color:#26312d; font:inherit; font-size:15px; min-height:45px; color-scheme:light; }
.enquiry-form textarea { resize:vertical; }
.enquiry-form :is(input,select,textarea):focus { outline:2px solid #8f6839; outline-offset:4px; }
.enquiry-form .form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-note { font-size:10px; line-height:1.8; color:#506056; }
.form-note a { text-decoration:underline; }
.submit-button { display:block; border:0; padding:20px; width:100%; margin-top:25px; color:var(--paper); background:var(--black); font-size:11px; }
.submit-button:disabled { opacity:.6; cursor:wait; }
[data-form-status] { font-size:12px; line-height:1.8; margin-top:18px; }
.form-fallback { display:block; font-size:12px; text-decoration:underline; margin-top:15px; }
.privacy-copy { max-width:760px; padding-bottom:80px; }
.privacy-copy h2 { font-size:22px; margin-block:30px 15px; }
.privacy-copy p { font-size:14px; line-height:1.9; color:#bdc8bf; }
.privacy-copy a { text-decoration:underline; }
.case-study__info dl dd { max-width:160px; text-align:right; }
.menu-dialog nav { margin-top:30px; }
.menu-dialog nav a { padding-block:12px; }
.menu-dialog nav a > span:nth-child(2) { font-size:min(9vw,11vh); }
.menu-dialog a[aria-current=page] > span:nth-child(2) { opacity:.5; }
@media(max-width:860px) {
 .hero-type { left:auto; }
 .footer-top { align-items:start; flex-direction:column; gap:25px; }
 .footer-grid { grid-template-columns:1fr; gap:25px; }
 .footer-suppliers { align-items:start; flex-direction:column; }
 .footer-icons a { font-size:11px; }
 .footer-icons { justify-content:flex-start; gap:8px 20px; }
 .supplier-links { gap:20px; }
 .supplier-links a { font-size:10px; gap:7px; }
 .footer-brand > span { font-size:22px; }
 .page-intro { padding-top:125px; padding-bottom:40px; }
 .page-intro h1 { font-size:16vw; }
 .page-lead { font-size:13px; margin-top:25px; }
 .service-detail { grid-template-columns:1fr; gap:30px; padding-block:35px; }
 .service-detail:nth-child(even) figure { order:0; }
 .service-detail figure { height:420px; }
 .service-detail h2 { font-size:45px; }
 .portfolio-grid { gap:35px 18px; }
 .portfolio-card h3 { font-size:27px; }
 .portfolio-card figcaption a { line-height:1.8; display:block; }
 .portfolio-card .project__zoom { display:none; }
 .filter-bar button { padding:13px; font-size:9px; }
 .filter-bar > span { flex-basis:100%; margin-top:10px; }
 .contact-layout { grid-template-columns:1fr; gap:35px; padding-bottom:50px; }
 .contact-details h2 { font-size:50px; }
 .enquiry-form { padding:25px 20px; }
 .enquiry-form h2 { font-size:42px; }
 .form-grid { grid-template-columns:1fr; gap:0; }
 .menu-dialog nav { margin-top:30px; }
 .menu-dialog nav a > span:nth-child(2) { font-size:13vw; }
}
@media(max-width:480px) { .portfolio-grid { grid-template-columns:1fr; } }
/* Interior pages: compact image-led introductions and a consistent content rhythm. */
.page-intro--split { display:grid; grid-template-columns:1.05fr .95fr; gap:6vw; align-items:center; padding-top:155px; padding-bottom:55px; }
.page-intro__copy { min-width:0; }
.page-intro--split h1 { font-size:clamp(58px,7.1vw,112px); line-height:.94; margin-top:20px; letter-spacing:-.02em; }
.page-intro--split .breadcrumb { margin-bottom:22px; }
.page-intro--split .page-lead { font-size:14px; margin-top:25px; max-width:460px; }
.page-intro__visual { position:relative; height:390px; overflow:hidden; background:#1c2822; }
.page-intro__visual img { width:100%; height:100%; object-fit:cover; object-position:center 64%; }
.page-intro__visual figcaption { position:absolute; bottom:0; inset-inline:0; padding:18px 20px; background:linear-gradient(transparent,#16241bea); font-size:8px; letter-spacing:1px; }
.inner-page .contact h2 { font-size:clamp(60px,8vw,118px); }
.inner-page .contact__headline { margin-top:30px; }
.inner-page .contact__arrow { font-size:140px; }
.inner-page .contact { padding-block:40px; }
.inner-page .contact__bottom { margin-top:30px; }
.inner-page .contact__bottom > a { font-size:28px; }
.service-detail { gap:6vw; padding-block:45px; }
.service-detail figure { height:460px; }
.service-detail h2 { font-size:clamp(38px,4.3vw,64px); max-width:480px; }
.service-detail > div { max-width:500px; }
.service-detail p:not(.kicker) { font-size:13px; }
.inner-page .service-pages { padding-bottom:35px; }
.inner-page .process { background:#1c2822; padding:45px 32px; margin-bottom:55px; }
.inner-page .process__intro h2 { font-size:clamp(40px,4.6vw,68px); }
.inner-page .process summary h3 { font-size:clamp(24px,2.2vw,34px); }
.inner-page .process__layout { gap:5vw; margin-top:30px; }
.portfolio-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px 24px; }
.portfolio-card > a { aspect-ratio:3/4; }
.portfolio-card h3 { font-size:clamp(27px,3vw,44px); }
.portfolio-card figcaption { padding-top:15px; }
.portfolio-card h3 br { display:none; }
.filter-bar { position:sticky; top:88px; z-index:10; padding-block:15px; background:#26312df5; border-block:1px solid var(--line); }
.contact-layout { grid-template-columns:.8fr 1.2fr; gap:6vw; }
.contact-details { padding-top:15px; }
.contact-details h2 { font-size:clamp(38px,4.1vw,60px); }
.contact-details > a:not(.text-link) { font-size:clamp(14px,1.6vw,22px); }
.enquiry-form { padding:35px 40px; box-shadow:0 20px 70px #101b1620; }
.enquiry-form h2 { font-size:46px; }
.contact-layout .contact-promos { border-top:1px solid var(--line); padding-top:25px; }
.supplier-logos { align-items:center; gap:32px; }
.supplier-logos a { opacity:1; padding:8px 0; min-height:56px; }
.supplier-logos img { width:125px; height:42px; object-fit:contain; filter:brightness(0) invert(1); opacity:.55; transition:opacity 250ms; }
.supplier-logos a:last-child img { width:120px; height:60px; }
.supplier-logos a:hover img,.supplier-logos a:focus-visible img { opacity:1; }
.supplier-logos img,.supplier-logos a:hover img,.supplier-logos a:focus-visible img { filter:grayscale(1) brightness(0) invert(1); }
.dock .dock-call { gap:9px; }
.dock-call svg { width:18px; height:18px; }
.dock-call > span { display:block; text-align:left; line-height:1.3; }
.dock-call small { display:block; font-size:7px; color:var(--muted); margin-top:3px; letter-spacing:0; }
.dock-call:hover { background:#405047; }
.footer-hours { font-size:11px; color:var(--muted); padding-top:22px; }
.footer-hours > span { font-size:8px; letter-spacing:1px; margin-right:20px; }
@media(max-width:600px) {
 .dock { gap:0; }
 .dock a,.dock button { padding-inline:11px; gap:6px; font-size:8px; }
 .dock .dock-call { gap:5px; }
 .dock-call svg { width:15px; height:15px; }
 .dock-call small { font-size:6px; }
}
@media(max-width:360px) {
 .dock a,.dock button { padding-inline:9px; }
 .dock button [data-motion-label] { display:none; }
}
.legal-intro { padding-top:150px; padding-bottom:45px; }
.legal-intro h1 { font-size:clamp(54px,7vw,100px); line-height:1; }
.legal-version { font-size:10px; color:var(--muted); margin-top:20px; }
.legal-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:5vw; align-items:start; padding-bottom:70px; }
.legal-toc { position:sticky; top:120px; display:grid; gap:8px; }
.legal-toc a { font-size:11px; padding:12px 0; color:var(--muted); border-bottom:1px solid var(--line); }
.legal-toc a:hover { color:var(--paper); }
.legal-document { background:var(--paper); color:var(--black); padding:45px 50px; }
.legal-document section { padding-block:30px; border-bottom:1px solid #c8cec4; scroll-margin-top:100px; }
.legal-document section:first-child { padding-top:0; }
.legal-document section:last-child { border-bottom:0; padding-bottom:0; }
.legal-document h2 { font-size:28px; line-height:1.3; letter-spacing:-.04em; margin-block:15px 20px; }
.legal-document h3 { font-size:16px; margin-block:25px 12px; }
.legal-document p:not(.kicker) { font-size:13px; line-height:1.95; margin-bottom:16px; }
.legal-document a { text-decoration:underline; overflow-wrap:anywhere; }
.legal-document .kicker { color:#6f5436; font-size:9px; }
@media(max-width:1000px) {
 .page-intro--split { gap:35px; }
 .page-intro__visual { height:340px; }
 .page-intro--split h1 { font-size:8vw; }
 .portfolio-grid { grid-template-columns:1fr 1fr; }
 .legal-layout { grid-template-columns:180px minmax(0,1fr); gap:25px; }
 .legal-document { padding:30px; }
}
@media(max-width:860px) {
 .page-intro--split { grid-template-columns:1fr; gap:28px; padding-top:120px; padding-bottom:35px; }
 .page-intro--split h1 { font-size:15vw; max-width:650px; }
 .page-intro--split .page-lead { margin-top:20px; max-width:600px; font-size:13px; }
 .page-intro__visual { height:250px; }
 .page-intro--split .breadcrumb { margin-bottom:15px; }
 .service-detail figure { height:390px; }
 .service-detail h2 { font-size:42px; }
 .inner-page .process { padding:35px 20px; }
 .inner-page .process__layout { gap:30px; }
 .inner-page .contact h2 { font-size:12.8vw; }
 .inner-page .contact__arrow { font-size:55px; }
 .contact-layout { grid-template-columns:1fr; gap:30px; }
 .contact-details h2 { font-size:45px; }
 .enquiry-form { padding:28px 22px; }
 .enquiry-form h2 { font-size:40px; }
 .supplier-logos { gap:20px; }
 .supplier-logos img { width:90px; height:32px; }
 .supplier-logos a:last-child img { width:85px; height:43px; }
 .supplier-logos a { min-height:48px; }
 .legal-intro { padding-top:120px; }
 .legal-intro h1 { font-size:11.8vw; }
 .legal-layout { grid-template-columns:1fr; gap:25px; }
 .legal-toc { position:relative; top:auto; grid-template-columns:1fr 1fr; gap:0 20px; }
 .legal-toc a { font-size:10px; }
 .legal-document { padding:28px 22px; }
 .legal-document h2 { font-size:25px; }
 .filter-bar { top:70px; gap:8px; }
 .portfolio-card h3 { font-size:32px; }
}
@media(max-width:480px) {
 .portfolio-grid { grid-template-columns:1fr; }
 .service-detail figure { height:370px; }
 .legal-document { padding:25px 18px; }
}
.header { position:fixed; top:52px; z-index:70; transition:top 350ms var(--ease),background 350ms,padding 350ms; }
body.is-scrolled .header { top:12px; padding:12px 20px; background:#26312df7; border:1px solid #5e7064; box-shadow:0 12px 40px #0002; }
.hero-edition { color:#e8c579; border-color:#cba551; background:#26312d70; }
.hero-edition i { background:linear-gradient(125deg,#f6df9c,#b78738); color:#26312d; }
.hero-proof dd span { color:#e8c579; }
.hero-visual::after { background:linear-gradient(180deg,#0003,transparent 45%,#0005); }
.hero-image-label { color:#26312d; }
.manifesto__title .word { color:#aab7ad; }
.manifesto__title .word.is-lit { color:#e0b887; }
.tool-icon { width:30px; height:30px; stroke:var(--acid); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.detail-reel { grid-auto-columns:calc((100% - 48px)/3); }
.reviews { padding-block:75px; border-top:1px solid var(--line); }
.reviews__head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-block:40px; }
.reviews h2 { font-family:KineticDisplay,Impact,sans-serif; font-size:clamp(60px,8vw,125px); line-height:.9; font-weight:700; }
.review-controls { display:flex; gap:8px; align-items:center; }
.review-controls button { border:1px solid var(--line); background:transparent; padding:10px 15px; min-height:44px; font-size:10px; }
.review-controls button:hover { background:var(--acid); color:var(--black); }
.reviews__reel { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 24px)/2); gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--acid) transparent; padding-bottom:18px; }
.review { position:relative; background:#1c2822; border:1px solid var(--line); padding:40px; scroll-snap-align:start; display:flex; flex-direction:column; min-height:300px; }
.review__quote { color:var(--acid); font-family:Georgia,serif; font-size:95px; height:55px; line-height:1; }
.review blockquote { margin:0 0 30px; font-size:clamp(20px,2.1vw,32px); line-height:1.4; letter-spacing:-.03em; }
.review figcaption { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; font-size:10px; }
.review figcaption > a { display:block; flex-basis:100%; color:#e0b887; min-height:30px; padding-top:8px; }
.review figcaption > span { color:var(--muted); }
.review-sources { display:flex; flex-wrap:wrap; gap:20px; align-items:center; font-size:9px; margin-top:20px; color:var(--muted); }
.review-sources > span { margin-right:auto; }
.case-study { width:calc(100% - 40px); max-width:1500px; height:calc(100dvh - 40px); max-height:1000px; padding:0; border:1px solid #66746a; overflow:hidden; background:#17221c; }
.case-study[open] { display:grid; grid-template-columns:minmax(0,1fr) 350px; }
.case-study__image { min-width:0; min-height:0; display:flex; flex-direction:column; }
.case-study .lightbox__stage { flex:1; min-height:0; position:relative; display:block; padding:25px; overflow:hidden; }
.case-study .lightbox__stage img { position:absolute; inset:25px; max-height:none; width:calc(100% - 50px); height:calc(100% - 50px); object-fit:contain; }
.case-study .lightbox__stage [role=status] { position:absolute; inset:40% 25px auto; }
.case-study__paging { display:flex; gap:20px; align-items:center; justify-content:center; padding:12px 20px 20px; font-size:11px; }
.case-study__info { background:var(--paper); color:var(--black); padding:25px 28px; overflow-y:auto; display:flex; flex-direction:column; }
.case-study__top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:35px; font-size:8px; letter-spacing:1px; }
.case-study__top button { color:var(--black); border-color:#a9b0a7; font-size:30px; line-height:1; padding:0; }
.case-study h2 { font-family:KineticDisplay,Impact,sans-serif; font-weight:700; font-size:55px; line-height:.95; margin-block:15px 20px; letter-spacing:-.02em; }
.case-study__description { font-size:12px; line-height:1.8; color:#4c5c51; }
.case-study dl { margin-block:24px; }
.case-study dl > div { border-top:1px solid #c9c9bd; padding-block:13px; display:flex; justify-content:space-between; gap:15px; }
.case-study dt { font-size:8px; }
.case-study dd { font-size:11px; }
.case-study__thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-block:12px 28px; }
.case-study__thumbs button { padding:0; border:2px solid transparent; min-width:0; min-height:0; height:70px; opacity:.6; background:transparent; }
.case-study__thumbs button[aria-current="true"] { border-color:#8f6839; opacity:1; }
.case-study__thumbs img { width:100%; height:100%; object-fit:cover; }
.case-study__cta { display:block; background:var(--black); color:var(--paper); font-size:10px; padding:18px 12px; text-align:center; margin-top:auto; }
.case-study__original { min-height:44px; display:grid; place-items:center; font-size:8px; text-decoration:underline; }
.menu-dialog { overflow-y:auto; }
.menu-dialog nav a:hover > span:nth-child(2) { color:#44574b; }
@media(max-width:860px) {
 .header { top:54px; }
 .brand .brand__symbol { width:32px; height:34px; }
 .brand__words > span { font-size:18px; }
 .brand .brand__words small { font-size:6px; letter-spacing:1.8px; }
 body.is-scrolled .header { padding:8px 12px; top:8px; }
 .tool-icon { width:24px; height:24px; }
 .detail-reel { grid-auto-columns:78%; }
 .reviews { padding-block:45px; }
 .reviews__head { align-items:start; flex-direction:column; margin-block:30px; }
 .reviews h2 { font-size:17vw; }
 .reviews__reel { grid-auto-columns:88%; gap:16px; }
 .review { min-height:310px; padding:25px; }
 .review blockquote { font-size:24px; }
 .case-study { width:calc(100% - 16px); height:calc(100dvh - 16px); max-height:none; overflow-y:auto; }
 .case-study[open] { display:block; }
 .case-study__image { height:52dvh; min-height:310px; }
 .case-study .lightbox__stage { padding:16px; }
 .case-study .lightbox__stage img { inset:16px; width:calc(100% - 32px); height:calc(100% - 32px); }
 .case-study__info { overflow:visible; padding:22px; }
 .case-study__top { margin-bottom:20px; }
 .case-study__top button { position:absolute; top:12px; right:12px; background:var(--paper); z-index:2; }
 .case-study h2 { font-size:44px; }
 .case-study__thumbs button { height:75px; }
 .process summary { flex-wrap:wrap; }
}

/* Quiet supporting pages: keep KINETIC's opening, simplify everything around it. */
.hero-proof { gap:32px; border-top:1px solid #f6f3eb40; padding-top:14px; }
.hero-proof dd { font-size:clamp(24px,2.4vw,32px); letter-spacing:-1px; color:var(--paper); }
.hero-proof dt { font-size:8px; color:var(--muted); letter-spacing:.08em; }
.hero-proof dd span { color:var(--paper); }
.manifesto__bottom { grid-template-columns:1fr auto; }
.inner-page .header { background:var(--black); }
.page-intro--quiet { padding-block:155px 32px; }
.page-intro--quiet .breadcrumb { display:inline-block; margin-bottom:25px; }
.page-intro--quiet h1 { font-family:KineticText,Arial,sans-serif; font-size:clamp(34px,4.2vw,60px); line-height:1.15; font-weight:600; letter-spacing:-.05em; margin-top:14px; }
.page-intro--quiet .page-lead { font-size:14px; line-height:1.8; max-width:600px; margin-top:18px; }
.process--compact,.inner-page .process--compact { padding-block:48px 55px; padding-inline:0; background:transparent; margin-bottom:0; scroll-margin-top:100px; }
.process-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:30px; }
.process-heading h2 { font-family:KineticText,Arial,sans-serif; font-size:clamp(24px,2.5vw,36px); line-height:1.25; font-weight:600; letter-spacing:-.04em; margin-top:12px; }
.process-heading .text-link { font-size:9px; flex-shrink:0; }
.process-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; margin:0; list-style:none; }
.process-list li { border-top:1px solid var(--line); padding-top:18px; }
.process-number { font-size:11px; color:var(--muted); }
.process-list h3 { font-size:15px; line-height:1.5; font-weight:600; margin-block:14px 9px; }
.process-list p { font-size:12px; line-height:1.85; color:var(--muted); max-width:290px; }
.page-contact .contact-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:6vw; padding-bottom:60px; }
.page-contact .contact-details { padding-top:24px; }
.page-contact .contact-details h2 { font-family:KineticText,Arial,sans-serif; font-size:24px; line-height:1.4; letter-spacing:-.04em; margin-block:12px 24px; }
.page-contact .contact-details > a:not(.text-link) { font-size:16px; margin-bottom:15px; }
.page-contact .contact-details > a[href^="tel:"] { font-size:28px; letter-spacing:-.04em; }
.page-contact .enquiry-form { padding:30px; }
.page-contact .enquiry-form h2 { font-family:KineticText,Arial,sans-serif; font-size:24px; line-height:1.3; font-weight:600; letter-spacing:-.04em; margin:0 0 26px; }
.page-contact .enquiry-form label { margin-bottom:14px; }
.page-contact .enquiry-form textarea { min-height:110px; }
.page-contact .dock { display:none; }
[data-form-status]:empty { display:none; }
.about-editorial { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:8vw; align-items:start; padding-bottom:55px; }
.about-editorial__copy { max-width:580px; padding-top:22px; }
.about-editorial h2 { font-size:clamp(25px,2.8vw,40px); font-weight:500; line-height:1.3; letter-spacing:-.04em; margin-bottom:24px; }
.about-editorial p { font-size:14px; color:var(--muted); line-height:1.95; margin-bottom:20px; }
.about-editorial figure img { width:100%; height:420px; object-fit:cover; object-position:center 55%; }
.about-editorial figcaption { font-size:8px; letter-spacing:.08em; color:var(--muted); margin-top:12px; line-height:1.8; }
.about-facts { list-style:none; padding:0; margin:26px 0; display:flex; flex-wrap:wrap; gap:10px 20px; }
.about-facts li { border-top:1px solid var(--line); padding-top:12px; font-size:11px; color:var(--paper); }
.about-next { border-top:1px solid var(--line); padding-block:30px 45px; display:flex; justify-content:space-between; align-items:center; gap:25px; }
.about-next h2 { font-size:clamp(22px,2.4vw,32px); font-weight:500; letter-spacing:-.04em; margin-top:12px; }
.site-footer .footer-suppliers { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; padding-block:35px; text-align:center; }
.site-footer .footer-suppliers > p { margin:0; }
.site-footer .footer-suppliers .supplier-links { justify-content:center; flex-wrap:wrap; gap:24px 38px; }
.inner-page .contact h2 { font-family:KineticText,Arial,sans-serif; font-size:clamp(28px,3vw,42px); line-height:1.2; font-weight:600; letter-spacing:-.04em; }
.inner-page .contact__arrow { font-size:60px; }
.inner-page .contact__headline { margin-top:20px; }
.inner-page .contact__bottom { margin-top:22px; }
@media(max-width:860px) {
  .page-intro--quiet { padding-block:125px 28px; }
  .page-intro--quiet .breadcrumb { margin-bottom:20px; }
  .process-heading { display:block; }
  .process-heading .text-link { margin-top:15px; }
  .process-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
  .page-contact .contact-layout { grid-template-columns:1fr; gap:30px; padding-bottom:40px; }
  .page-contact .contact-details { padding-top:0; }
  .page-contact .enquiry-form { padding:25px 20px; }
  .page-contact .contact-details > a:not(.text-link) { font-size:15px; }
  .page-contact .contact-details > a[href^="tel:"] { font-size:25px; }
  .about-editorial { grid-template-columns:1fr; gap:30px; padding-bottom:35px; }
  .about-editorial__copy { padding-top:0; }
  .about-editorial figure img { height:320px; }
  .about-next { align-items:flex-start; flex-direction:column; padding-bottom:40px; }
  .hero-proof { gap:25px; }
  .hero-proof dd { font-size:26px; }
  .manifesto__bottom { grid-template-columns:1fr; }
}
@media(max-width:380px) { .process-list { grid-template-columns:1fr; gap:22px; } }

/* Image-led personal page; original project photographs, no stock portrait. */
.about-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.95fr); gap:7vw; align-items:center; padding-top:150px; padding-bottom:55px; }
.about-hero .breadcrumb { display:inline-block; margin-bottom:35px; }
.about-hero h1 { font-family:KineticDisplay,Impact,sans-serif; font-size:clamp(80px,10vw,150px); line-height:.87; letter-spacing:-.025em; margin-block:22px; }
.about-hero h1 > span { color:var(--acid); }
.about-hero__lead { font-size:clamp(16px,1.6vw,21px); line-height:1.7; color:var(--muted); margin-bottom:24px; }
.about-hero__visual { position:relative; min-width:0; padding-left:45px; padding-bottom:50px; }
.about-hero__main { position:relative; height:470px; }
.about-hero__main > img { width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.about-hero__main figcaption { font-size:8px; letter-spacing:.08em; padding-top:14px; color:var(--muted); }
.about-hero__detail { position:absolute; bottom:0; left:0; width:155px; background:var(--black); border:7px solid var(--black); }
.about-hero__detail img { width:100%; height:165px; object-fit:cover; }
.about-hero__detail figcaption { font-size:7px; padding-top:9px; color:var(--acid); letter-spacing:.05em; }
.about-story { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding-block:40px; border-top:1px solid var(--line); }
.about-story h2 { font-family:KineticDisplay,Impact,sans-serif; font-size:clamp(35px,4.2vw,60px); line-height:1.05; margin-top:18px; font-weight:700; }
.about-story p:not(.kicker) { font-size:14px; line-height:1.95; color:var(--muted); margin-bottom:18px; }
.about-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding-bottom:40px; }
.about-values > div { border-top:1px solid var(--line); padding-top:20px; }
.about-values span { font-size:10px; color:var(--acid); }
.about-values h3 { font-size:17px; font-weight:500; margin-top:12px; }
.contact,.about-next { background:linear-gradient(95deg,#101c17ed,#101c17b8),url('assets/kuchyne-bila-svetla-1200.jpg') center 64%/cover; color:var(--paper); }
.contact h2 > span { color:var(--acid); }
.contact .section-head { color:#d4ddd6; }
.contact .section-head > span { color:#d4ddd6; }
.contact__bottom { border-color:#f6f3eb40; }
.about-next { padding:35px; margin-bottom:40px; border:1px solid var(--line); }
@media(min-width:861px) and (hover:hover) and (pointer:fine) {
  .all-work { justify-content:flex-end; gap:25px; }
  .all-work > span:first-child { opacity:0; transform:translateX(28px); transition:opacity 300ms var(--ease),transform 450ms var(--ease); }
  .all-work:hover > span:first-child,.all-work:focus-visible > span:first-child { opacity:1; transform:translateX(0); }
}
@media(max-width:860px) {
  .about-hero { padding-top:125px; grid-template-columns:1fr; gap:30px; padding-bottom:35px; }
  .about-hero .breadcrumb { margin-bottom:24px; }
  .about-hero h1 { font-size:clamp(76px,18vw,120px); }
  .about-hero__visual { max-width:600px; width:100%; padding-left:35px; }
  .about-hero__main { height:340px; }
  .about-hero__detail { width:125px; }
  .about-hero__detail img { height:125px; }
  .about-story { grid-template-columns:1fr; gap:24px; padding-block:30px; }
  .about-values { gap:15px; padding-bottom:30px; }
  .about-values h3 { font-size:13px; line-height:1.5; }
  .about-next { padding:25px 20px; }
}
@media(prefers-reduced-motion:reduce) { .all-work > span:first-child { transition:none; } }

.creator-credit{display:inline-flex;align-items:center;gap:8px;color:var(--paper);opacity:.55;transition:opacity .2s ease}.creator-credit strong{font-size:11px;letter-spacing:.1em;font-weight:650}.creator-credit:hover,.creator-credit:focus-visible{opacity:1}

.creator-credit img{width:25px;height:25px;object-fit:contain;filter:grayscale(1) brightness(1.7);opacity:.8}.creator-credit:hover img,.creator-credit:focus-visible img{filter:none;opacity:1}

/* Confirmed client supplier notes; no remote embeds or tracking. */
.supplier-notes{padding-block:50px;border-top:1px solid var(--line)}.supplier-notes h2{font:500 clamp(26px,3vw,42px)/1.15 KineticText,Arial,sans-serif;margin:16px 0 22px;letter-spacing:-.035em}.supplier-notes p:not(.kicker){max-width:760px;line-height:1.8;color:#bec4bd}.supplier-notes a{text-decoration:underline;text-underline-offset:5px;color:var(--paper)}.supplier-notes a:hover{color:var(--acid)}.form-noscript{padding:20px;border:1px solid currentColor}

.header{top:20px}@media(max-width:600px){.header{top:14px}}
