:root {
  --carbon: #0b0d0d;
  --ivory: #f5f1e8;
  --paper: #fbf8f1;
  --graphite: #2a2e2e;
  --cyan: #0df8f7;
  --white: #ffffff;
  --hairline-dark: rgba(11, 13, 13, 0.24);
  --hairline-light: rgba(245, 241, 232, 0.24);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 80px;
  --space-10: 96px;
  --space-11: 128px;
  --space-12: 160px;
  --fs-xs: clamp(0.72rem, 0.68rem + 0.12vw, 0.82rem);
  --fs-sm: clamp(0.82rem, 0.76rem + 0.18vw, 0.95rem);
  --fs-body: clamp(1rem, 0.94rem + 0.2vw, 1.12rem);
  --fs-body-lg: clamp(1.08rem, 1rem + 0.28vw, 1.28rem);
  --fs-h4: clamp(1.35rem, 1.15rem + 0.7vw, 1.9rem);
  --fs-h3: clamp(1.9rem, 1.5rem + 1.4vw, 3.1rem);
  --fs-h2: clamp(3rem, 2rem + 3.4vw, 6.6rem);
  --fs-h1: clamp(3.25rem, 2.25rem + 3.1vw, 5.9rem);
  --page-max: 1600px;
  --content-max: 1360px;
  --text-max: 900px;
  --body-max: 760px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --header-height: 76px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--header-height); }
body { margin: 0; overflow-x: hidden; background: var(--carbon); color: var(--carbon); font-family: "Manrope", sans-serif; font-size: var(--fs-body); line-height: 1.7; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
::selection { background: var(--cyan); color: var(--carbon); }

.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; background: var(--paper); color: var(--carbon); transform: translateY(-160%); transition: transform 180ms var(--ease); }
.skip-link:focus { transform: translateY(0); }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: "Barlow Condensed", sans-serif; font-weight: 800; letter-spacing: -0.025em; text-transform: none; text-wrap: balance; }
h1 { margin-bottom: 30px; font-size: var(--fs-h1); line-height: 0.9; }
h2 { margin-bottom: 30px; font-size: var(--fs-h2); line-height: 0.9; }
h3 { font-size: var(--fs-h3); line-height: 0.98; }
p { margin-bottom: 1em; }
p:last-child { margin-bottom: 0; }
strong { font-weight: 700; }

.container { width: min(90vw, var(--content-max)); margin-inline: auto; }
.centered { text-align: center; }
.wide-copy { max-width: 950px; }
.section { position: relative; padding: clamp(96px, 9vw, 140px) 0; }
.section-light { background: var(--ivory); color: var(--carbon); }
.section-dark { background: var(--carbon); color: var(--ivory); }
.section-intro { max-width: var(--text-max); }
.section-intro > p:last-child { max-width: 790px; margin-inline: auto; font-size: var(--fs-body-lg); }

.eyebrow { margin-bottom: 22px; font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.14em; line-height: 1.45; text-transform: uppercase; }
.eyebrow-cyan { color: var(--cyan); }
.cyan-rule { display: block; width: 58px; height: 2px; margin: 34px auto; background: var(--cyan); }

.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 14px 22px; border: 1px solid transparent; border-radius: 2px; font-family: "IBM Plex Mono", monospace; font-size: var(--fs-sm); font-weight: 600; letter-spacing: 0.045em; line-height: 1.25; text-align: center; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: background-color 220ms var(--ease), color 220ms var(--ease), border-color 220ms var(--ease), transform 220ms var(--ease); }
.button span { color: var(--cyan); transition: transform 220ms var(--ease); }
.button:hover span { transform: translateX(5px); }
.button:active { transform: translateY(1px); }
.button-dark { border-color: var(--carbon); background: var(--carbon); color: var(--ivory); }
.button-dark:hover { border-color: var(--cyan); }
.button-light { border-color: var(--ivory); background: var(--ivory); color: var(--carbon); }
.button-outline { border-color: rgba(13, 248, 247, 0.72); background: transparent; color: var(--ivory); }
.button-outline:hover { background: var(--ivory); color: var(--carbon); }
.button-outline-dark { border-color: rgba(11, 13, 13, 0.55); background: transparent; color: var(--carbon); }
.button-outline-dark:hover { border-color: var(--carbon); background: var(--carbon); color: var(--ivory); }
.hero-call-cta { display: none; }

.hand-note { color: var(--cyan); font-family: "Caveat", cursive; font-style: normal; font-size: clamp(1.25rem, 1rem + 0.7vw, 1.75rem); font-weight: 600; line-height: 1.05; }
.hand-note span { font-family: inherit; font-style: inherit; }

/* Header */
.site-header { position: sticky; z-index: 30; top: 0; height: var(--header-height); display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 40px; padding: 0 clamp(20px, 4vw, 64px); border-bottom: 1px solid var(--hairline-light); background: var(--carbon); color: var(--ivory); }
.brand { width: 62px; height: 62px; display: grid; place-items: center; }
.brand img { width: 100%; height: 100%; object-fit: contain; }
.site-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(15px, 1.6vw, 30px); }
.nav-link { position: relative; min-height: 44px; display: inline-flex; align-items: center; font-family: "IBM Plex Mono", monospace; font-size: 0.75rem; font-weight: 500; letter-spacing: 0.055em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.nav-link::after { position: absolute; right: 0; bottom: 7px; left: 0; height: 1px; background: var(--cyan); content: ""; transform: scaleX(0); transform-origin: left; transition: transform 220ms var(--ease); }
.nav-link:hover::after, .nav-link:focus-visible::after { transform: scaleX(1); }
.nav-dropdown { position: relative; display: flex; align-items: center; }
.nav-dropdown::after { position: absolute; top: 100%; right: 0; left: 0; height: 16px; content: ""; }
.nav-dropdown-label { display: flex; align-items: center; }
.submenu-toggle { width: 44px; height: 44px; display: grid; flex: 0 0 44px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--ivory); cursor: pointer; }
.submenu-mark { width: 9px; height: 9px; display: block; border-right: 1px solid var(--cyan); border-bottom: 1px solid var(--cyan); transform: translateY(-2px) rotate(45deg); transition: transform 220ms var(--ease); }
.nav-dropdown.is-open .submenu-mark { transform: translateY(2px) rotate(225deg); }
.services-submenu { position: absolute; top: calc(100% + 8px); left: 0; width: min(520px, calc(100vw - 40px)); max-height: calc(100dvh - var(--header-height) - 24px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; overflow-y: auto; border: 1px solid rgba(13, 248, 247, 0.48); background: var(--carbon); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: opacity 180ms var(--ease), transform 220ms var(--ease), visibility 0s 220ms; }
.services-submenu a { min-height: 44px; display: flex; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--hairline-light); color: var(--ivory); font-family: "IBM Plex Mono", monospace; font-size: 0.69rem; font-weight: 500; letter-spacing: 0.035em; line-height: 1.35; text-decoration: none; text-transform: uppercase; transition: background-color 180ms var(--ease), color 180ms var(--ease); }
.services-submenu a:hover, .services-submenu a:focus-visible { background: var(--graphite); color: var(--cyan); }
.nav-dropdown:hover .services-submenu, .nav-dropdown:focus-within .services-submenu, .nav-dropdown.is-open .services-submenu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition: opacity 180ms var(--ease), transform 220ms var(--ease), visibility 0s; }
.nav-cta { min-height: 44px; display: inline-flex; align-items: center; gap: 18px; padding: 8px 14px; border: 1px solid var(--cyan); color: var(--ivory); font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.035em; line-height: 1.15; text-decoration: none; text-transform: uppercase; transition: background-color 220ms var(--ease), color 220ms var(--ease); }
.nav-cta span { color: var(--cyan); }
.nav-cta:hover { background: var(--ivory); color: var(--carbon); }
.menu-toggle { display: none; }

/* Hero */
.hero { position: relative; min-height: clamp(600px, calc(100dvh - var(--header-height) - 104px), 650px); display: flex; align-items: stretch; overflow: hidden; background: var(--ivory); }
.hero::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(245, 241, 232, 0.99) 0%, rgba(245, 241, 232, 0.97) 24%, rgba(245, 241, 232, 0.9) 35%, rgba(245, 241, 232, 0.66) 44%, rgba(245, 241, 232, 0.32) 51%, rgba(245, 241, 232, 0.09) 57%, rgba(245, 241, 232, 0) 63%); pointer-events: none; content: ""; }
.hero-copy { position: relative; z-index: 2; width: min(calc(100vw - 8.8vw), 1120px); align-self: stretch; margin-left: max(4.4vw, calc((100vw - var(--content-max)) / 2)); padding: clamp(36px, 4.4vh, 48px) 0 128px; }
.hero-copy .eyebrow { max-width: none; margin-bottom: 17px; white-space: nowrap; }
.hero-copy h1 { max-width: 1080px; margin-bottom: 18px; font-size: clamp(3.2rem, 3.85vw, 3.9rem); line-height: 0.86; text-wrap: wrap; }
.hero-title-line { display: block; }
.hero-title-mobile { display: none; }
.hero-body { max-width: 78ch; color: var(--graphite); font-size: clamp(0.84rem, 0.79rem + 0.15vw, 0.96rem); line-height: 1.36; }
.hero-body p { margin-bottom: 3px; }
.hero-body p:first-child { margin-bottom: 7px; color: var(--carbon); font-weight: 700; }
.hero-body p:last-child { margin-bottom: 0; }
.hero-action { position: relative; margin-top: 20px; display: flex; align-items: center; gap: 12px; }
.hero-note { position: relative; max-width: 190px; padding-left: 18px; font-size: clamp(1.08rem, 0.92rem + 0.52vw, 1.48rem); transform: rotate(-2deg); }
.note-arrow { position: absolute; top: -3px; left: -26px; width: 64px; height: 34px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transform: scaleX(-1); }
.job-plan-support { position: absolute; right: 0; bottom: 20px; left: 0; max-width: 680px; margin-top: 0; padding: 14px 18px 15px; border: 1px solid rgba(42, 46, 46, 0.5); color: var(--graphite); font-size: clamp(0.74rem, 0.7rem + 0.12vw, 0.84rem); line-height: 1.38; }
.job-plan-support p { margin: 0; }
.job-plan-support p:first-child { margin-bottom: 4px; color: var(--carbon); font-family: "IBM Plex Mono", monospace; font-size: 0.76em; font-weight: 600; letter-spacing: 0.045em; line-height: 1.35; text-transform: uppercase; }
.hero .hero-media { position: absolute; z-index: 0; inset: 0; min-height: 0; overflow: hidden; }
.hero-media picture, .hero-media img { width: 100%; height: 100%; }
.hero-media img { object-fit: cover; object-position: 69% 54%; }

@media (min-width: 1024px) {
  .hero-copy h1 { margin-bottom: 38px; }
  .hero-action { margin-top: 30px; display: grid; grid-template-columns: auto auto; grid-template-areas: "primary secondary" "note ."; column-gap: 12px; row-gap: 14px; align-items: center; justify-content: start; }
  .hero-call-cta { display: inline-flex; grid-area: secondary; align-self: center; }
  .hero-action .button-dark { grid-area: primary; }
  .hero-action .hero-note { grid-area: note; align-self: start; justify-self: center; margin: 0; padding-left: 0; max-width: none; }
  .hero-action .hero-note .note-arrow { display: none; }
}

/* Curtain and reveals */
.curtain-reveal { position: relative; overflow: hidden; }
.curtain { display: none; position: absolute; z-index: 3; top: 0; bottom: 0; width: 50.5%; background: var(--carbon); }
.curtain-a { left: 0; transform-origin: left; }
.curtain-b { right: 0; transform-origin: right; }
.motion-ready .curtain { display: block; }
.motion-ready .curtain-reveal:not(.in-view) .curtain-a { transform: translateX(0); }
.motion-ready .curtain-reveal:not(.in-view) .curtain-b { transform: translateX(0); }
.motion-ready .curtain-reveal.in-view .curtain-a { transform: translateX(-101%); }
.motion-ready .curtain-reveal.in-view .curtain-b { transform: translateX(101%); }
.motion-ready .curtain { transition: transform 950ms var(--ease); }
.motion-ready .reveal { opacity: 0; transform: translateY(24px); }
.motion-ready .reveal.in-view { opacity: 1; transform: translateY(0); transition: opacity 720ms var(--ease), transform 720ms var(--ease); }

/* Marquees */
.marquee { overflow: hidden; }
.marquee-track { display: flex; width: max-content; will-change: transform; }
.marquee-group { flex: none; display: flex; align-items: stretch; }
.marquee-ready .marquee-track[data-direction="left"] { animation: marquee-left var(--marquee-duration, 45s) linear infinite; }
.marquee-ready .marquee-track[data-direction="right"] { animation: marquee-right var(--marquee-duration, 45s) linear infinite; }
.marquee:hover .marquee-track, .marquee:focus-within .marquee-track { animation-play-state: paused; }
@keyframes marquee-left { to { transform: translateX(-50%); } }
@keyframes marquee-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }
.proof-ticker { --marquee-duration: 42s; padding: 15px 0; border-top: 1px solid rgba(13, 248, 247, 0.2); }
.proof-ticker .marquee-group { align-items: center; }
.proof-ticker span { padding: 0 20px; color: var(--ivory); font-family: "IBM Plex Mono", monospace; font-size: 0.74rem; font-weight: 500; letter-spacing: 0.075em; text-transform: uppercase; }
.proof-ticker i { width: 4px; height: 4px; align-self: center; background: var(--cyan); transform: rotate(45deg); }

/* Problem and solution */
.problem { padding-block: clamp(110px, 10vw, 160px); }
.problem h2 { font-size: clamp(3.2rem, 5.7vw, 6.6rem); }
.problem-title-mobile { display: none; }
.problem p:last-child { font-size: var(--fs-body-lg); }
.solution { position: relative; min-height: 850px; display: flex; align-items: center; overflow: hidden; }
.solution-media { position: absolute; inset: 0 0 0 38%; }
.solution-media picture, .solution-media img { width: 100%; height: 100%; }
.solution-media img { object-fit: cover; object-position: 62% 55%; }
.solution-fade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, var(--carbon) 0%, var(--carbon) 37%, rgba(11, 13, 13, 0.94) 45%, rgba(11, 13, 13, 0.62) 57%, rgba(11, 13, 13, 0.08) 78%); }
.solution-copy { position: relative; z-index: 2; width: min(47vw, 720px); margin-left: max(5vw, calc((100vw - var(--content-max)) / 2)); padding-block: 110px; }
.solution-copy h2 { font-size: clamp(3.5rem, 5.2vw, 6.4rem); }
.solution-title-mobile { display: none; }
.solution-copy p:last-child { max-width: 61ch; color: rgba(245, 241, 232, 0.82); }

/* Proof */
.social-proof { padding-bottom: 120px; }
.proof-title-mobile { display: none; }
.proof-register { width: min(900px, 90vw); margin: 58px auto 72px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--hairline-dark); border-bottom: 1px solid var(--hairline-dark); }
.proof-register div { padding: 24px 20px; border-right: 1px solid var(--hairline-dark); text-align: center; }
.proof-register div:last-child { border-right: 0; }
.proof-register strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: clamp(2.4rem, 3vw, 4rem); line-height: 1; }
.proof-register span { display: block; margin-top: 8px; font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); letter-spacing: 0.08em; text-transform: uppercase; }
.reviews-marquee { --marquee-duration: 90s; padding: 4px 0 12px; }
.review-group { gap: 14px; padding-right: 14px; }
.review { width: min(410px, 82vw); min-height: 285px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--hairline-dark); background: var(--paper); white-space: normal; }
.review .stars { margin-bottom: 18px; color: var(--carbon); font-size: 0.82rem; letter-spacing: 0.17em; }
.review p { flex: 1; font-size: 0.94rem; line-height: 1.65; }
.review footer { display: flex; justify-content: space-between; gap: 20px; padding-top: 16px; border-top: 1px solid var(--hairline-dark); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.045em; text-transform: uppercase; }
.review footer span { color: rgba(11, 13, 13, 0.58); }
.project-marquee { --marquee-duration: 76s; padding: 6px 0; }
.project-strip { gap: 10px; padding-right: 10px; }
.project-strip img { width: clamp(250px, 24vw, 390px); height: clamp(180px, 18vw, 285px); flex: none; object-fit: cover; }
.section-cta { width: min(700px, 90vw); margin: 60px auto 0; }
.section-cta p { margin-top: 14px; }
.section-cta p:not(.hand-note) { font-size: var(--fs-sm); }

/* Recent work */
.recent-work { padding-top: 130px; border-top: 1px solid var(--hairline-dark); }
.case-study-grid { width: min(90vw, 1440px); margin: 76px auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(24px, 2vw, 32px); row-gap: clamp(56px, 4.5vw, 72px); }
.case-study { min-width: 0; display: flex; flex-direction: column; padding-bottom: 18px; border-bottom: 1px solid var(--hairline-dark); }
.case-study-image { aspect-ratio: 5 / 4; display: block; background: var(--paper); color: inherit; }
.case-study-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.case-study-meta { flex: 1; display: flex; flex-direction: column; padding-top: 18px; }
.case-study-kicker { margin-bottom: 12px; color: #087f7f; font-family: "IBM Plex Mono", monospace; font-size: clamp(0.66rem, 0.62rem + 0.1vw, 0.74rem); font-weight: 600; letter-spacing: 0.07em; line-height: 1.45; text-transform: uppercase; }
.case-study-title { margin-bottom: 12px; font-size: clamp(2rem, 2.35vw, 2.75rem); line-height: 0.94; }
.case-study-title a { text-decoration: none; }
.case-study-hook { max-width: 52ch; margin-bottom: 20px; color: var(--graphite); font-size: var(--fs-sm); line-height: 1.58; }
.case-study-link { min-height: 44px; display: inline-flex; align-items: center; align-self: flex-start; gap: 14px; margin-top: auto; color: var(--carbon); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; }
.case-study-link span { color: #087f7f; }
.case-study-title a:hover, .case-study-link:hover { text-decoration: underline; text-decoration-color: #087f7f; text-underline-offset: 4px; }

/* Benefits */
.benefits { padding-bottom: 150px; }
.benefits-title-mobile { display: none; }
.benefits .section-intro { max-width: 1100px; }
.benefit-register { position: relative; width: min(90vw, 1200px); margin: 80px auto 0; display: grid; grid-template-columns: 1fr 1fr; }
.benefit { min-height: 350px; padding: clamp(38px, 4vw, 62px); }
.benefit > span { display: block; margin-bottom: 28px; color: var(--cyan); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-sm); letter-spacing: 0.1em; }
.benefit h3 { max-width: 470px; margin-bottom: 20px; font-size: clamp(2.2rem, 3.5vw, 4rem); }
.benefit p { max-width: 52ch; color: rgba(245, 241, 232, 0.72); }
.register-line { position: absolute; z-index: 2; display: block; background: var(--hairline-light); transform-origin: top left; }
.register-line.horizontal { top: 50%; right: 0; left: 0; height: 1px; }
.register-line.vertical { top: 0; bottom: 0; left: 50%; width: 1px; }
.motion-ready .draw-register:not(.in-view) .register-line.horizontal { transform: scaleX(0); }
.motion-ready .draw-register:not(.in-view) .register-line.vertical { transform: scaleY(0); }
.motion-ready .draw-register.in-view .register-line { transform: scale(1); transition: transform 900ms var(--ease); }
.measurements { position: absolute; top: -24px; right: 0; left: 0; display: flex; justify-content: space-between; color: rgba(13, 248, 247, 0.45); font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; }
.measurements span::before { display: block; width: 1px; height: 12px; margin: 0 auto 3px; background: rgba(13, 248, 247, 0.42); content: ""; }

/* Services */
.services { padding-bottom: 0; }
.services-title-mobile { display: none; }
.service-register { width: min(92vw, 1400px); margin: 74px auto 0; display: grid; grid-template-columns: repeat(5, 1fr); }
.service-item { position: relative; min-width: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 0 12px 18px; border-right: 1px solid var(--hairline-dark); border-bottom: 1px solid var(--hairline-dark); }
.service-item:nth-child(5n) { border-right: 0; }
.service-item img { grid-column: 1 / -1; width: 100%; height: clamp(155px, 15vw, 230px); margin-bottom: 16px; object-fit: cover; filter: saturate(0.84); transition: filter 280ms var(--ease), transform 420ms var(--ease); }
.service-item:hover img { filter: saturate(1); transform: scale(1.012); }
.service-item span { color: var(--cyan); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); }
.service-item h3 { margin: 0; font-size: clamp(1.5rem, 1.7vw, 2.1rem); }
.service-item b { font-size: 1.2rem; font-weight: 400; transition: transform 220ms var(--ease); }
.service-item:hover b { transform: translateX(4px); }
.services::after { display: block; height: 44px; margin-top: 70px; background: var(--carbon); content: ""; }

/* Job Plan */
.job-plan .section-intro { max-width: 1050px; }
.job-plan-title-mobile { display: none; }
.job-sheet { position: relative; width: min(88vw, 1220px); margin: 76px auto 0; padding: clamp(30px, 4vw, 58px); background-color: var(--paper); background-image: radial-gradient(rgba(11, 13, 13, 0.055) 0.6px, transparent 0.6px); background-size: 5px 5px; color: var(--carbon); box-shadow: 0 26px 70px rgba(0, 0, 0, 0.24); }
.job-sheet > header { display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 22px; padding-bottom: 28px; border-bottom: 1px solid var(--carbon); }
.job-sheet > header img { width: 64px; height: 64px; object-fit: contain; filter: invert(1); }
.job-sheet > header div { display: flex; flex-direction: column; }
.job-sheet > header span, .job-sheet > header small, .sheet-grid section > span, .job-sheet > footer { font-family: "IBM Plex Mono", monospace; letter-spacing: 0.07em; text-transform: uppercase; }
.job-sheet > header span { font-size: var(--fs-xs); }
.job-sheet > header strong { font-family: "Barlow Condensed", sans-serif; font-size: clamp(2.4rem, 4vw, 4.5rem); letter-spacing: -0.02em; line-height: 0.95; text-transform: uppercase; }
.job-sheet > header small { font-size: var(--fs-xs); }
.sheet-grid { display: grid; grid-template-columns: 1.12fr 1fr 0.9fr; }
.sheet-grid section { min-height: 410px; padding: clamp(28px, 3vw, 48px); border-right: 1px solid var(--carbon); }
.sheet-grid section:last-child { border-right: 0; }
.sheet-grid section > span { color: #087f7f; font-size: var(--fs-xs); font-weight: 600; }
.sheet-grid h3 { margin: 42px 0 12px; font-family: "IBM Plex Mono", monospace; font-size: var(--fs-sm); letter-spacing: 0.04em; text-transform: uppercase; }
.write-line { height: 36px; border-bottom: 1px solid rgba(11, 13, 13, 0.7); }
.write-line.short { width: 68%; }
.date-boxes { display: grid; grid-template-columns: repeat(3, 1fr); height: 42px; border: 1px solid rgba(11, 13, 13, 0.68); }
.date-boxes i { border-right: 1px solid rgba(11, 13, 13, 0.68); }.date-boxes i:last-child { border-right: 0; }
.job-sheet > footer { display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 20px; border-top: 1px solid var(--carbon); font-size: var(--fs-xs); text-align: center; }
.registration { position: absolute; width: 18px; height: 18px; }
.registration::before, .registration::after { position: absolute; background: var(--cyan); content: ""; }
.registration::before { width: 18px; height: 1px; top: 8px; }.registration::after { width: 1px; height: 18px; left: 8px; }
.registration.top-left { top: 10px; left: 10px; }.registration.bottom-right { right: 10px; bottom: 10px; }
.job-plan .section-cta { color: var(--ivory); }

/* Promise */
.promise .section-intro { max-width: 1100px; }
.promise-line { position: relative; width: min(90vw, 1120px); margin: 80px auto 58px; display: grid; grid-template-columns: repeat(3, 1fr); }
.promise-rule { position: absolute; top: 13px; right: 16%; left: 16%; height: 1px; background: var(--carbon); transform-origin: left; }
.motion-ready .promise-line:not(.in-view) .promise-rule { transform: scaleX(0); }
.motion-ready .promise-line.in-view .promise-rule { transform: scaleX(1); transition: transform 950ms var(--ease); }
.promise-step { position: relative; display: flex; flex-direction: column; align-items: center; padding: 0 20px; text-align: center; }
.promise-step i { position: relative; z-index: 2; width: 26px; height: 26px; margin-bottom: 18px; border: 1px solid var(--carbon); background: var(--ivory); }
.promise-step i::after { position: absolute; inset: 7px; background: var(--cyan); content: ""; }
.promise-step span { margin-bottom: 12px; color: #087f7f; font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); }
.promise-step strong { max-width: 26ch; font-family: "IBM Plex Mono", monospace; font-size: var(--fs-sm); letter-spacing: 0.035em; line-height: 1.5; text-transform: uppercase; }
.deposit-block { width: min(840px, 90vw); margin: 55px auto 0; text-align: center; }
.deposit-block > p { font-size: var(--fs-body-lg); }
.deposit-register { margin-top: 38px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--hairline-dark); border-bottom: 1px solid var(--hairline-dark); }
.deposit-register div { padding: 28px; }.deposit-register div + div { border-left: 1px solid var(--hairline-dark); }
.deposit-register strong { display: block; color: #087f7f; font-family: "Barlow Condensed", sans-serif; font-size: clamp(4rem, 6vw, 6rem); line-height: 0.9; }
.deposit-register span { font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); letter-spacing: 0.07em; text-transform: uppercase; }

/* One hour */
.one-hour .section-intro { max-width: 1030px; }
.one-hour-title-mobile { display: none; }
.confirmation-register { width: min(90vw, 1040px); margin: 72px auto 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--hairline-light); border-bottom: 1px solid var(--hairline-light); }
.confirmation-register div { display: flex; flex-direction: column; gap: 12px; padding: 28px; border-right: 1px solid var(--hairline-light); text-align: center; }
.confirmation-register div:last-child { border-right: 0; }
.confirmation-register span { color: var(--cyan); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); }
.confirmation-register strong { font-family: "Barlow Condensed", sans-serif; font-size: clamp(2rem, 3vw, 3.4rem); text-transform: uppercase; }
.one-hour-action { margin-top: 54px; display: flex; flex-direction: column; align-items: center; gap: 16px; }

/* Warning */
.warning { padding-block: clamp(130px, 12vw, 180px); }
.warning h2 { max-width: 1100px; margin-inline: auto; }
.warning-title-mobile { display: none; }
.warning p:last-child { font-size: var(--fs-body-lg); }
.warning::after { position: absolute; right: 5vw; bottom: 38px; left: 5vw; height: 1px; background: var(--hairline-dark); content: ""; }

/* P.S. */
.ps-close { position: relative; min-height: 860px; display: flex; align-items: center; overflow: hidden; }
.ps-media { position: absolute; inset: 0 0 0 30%; }
.ps-media picture, .ps-media img { width: 100%; height: 100%; }
.ps-media img { object-fit: cover; object-position: center; }
.ps-fade { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, var(--carbon) 0%, var(--carbon) 29%, rgba(11, 13, 13, 0.96) 40%, rgba(11, 13, 13, 0.62) 58%, rgba(11, 13, 13, 0.04) 83%); }
.ps-copy { position: relative; z-index: 2; width: min(48vw, 720px); margin-left: max(5vw, calc((100vw - var(--content-max)) / 2)); padding-block: 110px; }
.ps-copy h2 { font-size: clamp(3.7rem, 5.6vw, 6.8rem); }
.ps-title-mobile { display: none; }
.ps-copy > p:not(.eyebrow) { max-width: 60ch; color: rgba(245, 241, 232, 0.82); font-size: var(--fs-body-lg); }
.ps-action { margin-top: 36px; display: flex; align-items: center; gap: 26px; }
.ps-action .hand-note { display: inline-block; max-width: 140px; transform: rotate(-3deg); }

/* Lead magnet */
.lead-magnet { padding-block: clamp(110px, 10vw, 160px); }
.lead-layout { width: min(90vw, 1280px); margin: 0 auto; display: grid; grid-template-columns: 1.03fr 0.97fr; align-items: center; gap: clamp(60px, 8vw, 120px); }
.book-scene { position: relative; min-height: 690px; overflow: hidden; }
.checklist-page { position: absolute; top: 6%; right: 0; width: 64%; min-height: 570px; padding: 38px; border: 1px solid var(--hairline-dark); background: var(--paper); color: var(--carbon); transform: rotate(2deg); }
.checklist-page > strong { display: block; max-width: 20ch; font-family: "Barlow Condensed", sans-serif; font-size: 1.9rem; line-height: 1; text-transform: uppercase; }
.checklist-page ol { margin: 30px 0; padding: 0; list-style: none; }
.checklist-page li { padding: 7px 0; border-bottom: 1px solid var(--hairline-dark); color: #087f7f; font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; }
.checklist-page div { display: flex; flex-direction: column; gap: 8px; padding-top: 18px; border-top: 8px solid var(--carbon); font-family: "IBM Plex Mono", monospace; font-size: 0.62rem; line-height: 1.5; text-transform: uppercase; }
.book { position: absolute; z-index: 2; top: 12%; left: 4%; width: 59%; min-height: 530px; display: flex; flex-direction: column; padding: 42px; border: 1px solid rgba(11, 13, 13, 0.35); background-color: #f0ebdf; background-image: radial-gradient(rgba(11, 13, 13, 0.075) 0.55px, transparent 0.55px); background-size: 4px 4px; box-shadow: -18px 24px 50px rgba(43, 36, 24, 0.2); transform: rotate(-3deg); }
.book > span { font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.book > i { width: 54px; height: 2px; margin: 44px 0 32px; background: var(--cyan); }
.book > strong { max-width: 9ch; font-family: "Barlow Condensed", sans-serif; font-size: clamp(2.8rem, 4vw, 4.4rem); line-height: 0.88; text-transform: uppercase; }
.book > small { margin-top: 24px; font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; text-transform: uppercase; }
.book > b { margin: auto -42px -42px; padding: 24px 42px; background: var(--carbon); color: var(--ivory); font-family: "IBM Plex Mono", monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }
.lead-copy h2 { font-size: clamp(3.2rem, 4.7vw, 5.8rem); }
.lead-copy > p:not(.eyebrow) { max-width: 63ch; }
.lead-form { margin-top: 38px; display: grid; gap: 22px; }
.lead-form div { display: grid; gap: 8px; }
.lead-form label { font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.lead-form input { width: 100%; min-height: 54px; padding: 12px 14px; border: 0; border-bottom: 1px solid var(--carbon); border-radius: 0; background: transparent; color: var(--carbon); }
.lead-form input:focus { outline: 0; border-bottom-color: #087f7f; box-shadow: 0 2px 0 #087f7f; }
.lead-form .button { width: 100%; margin-top: 8px; }

/* FAQ */
.faq { padding-block: clamp(96px, 9vw, 120px); }
.faq .section-intro > p:last-child { max-width: 60ch; }
.faq-register { position: relative; width: min(90vw, 1200px); margin: 64px auto 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--hairline-dark); }
.faq-item { padding: 32px clamp(24px, 3vw, 48px); border-bottom: 1px solid var(--hairline-dark); }
.faq-item:nth-child(odd) { border-right: 1px solid var(--hairline-dark); }
.faq-heading { margin: 0; font-size: inherit; }
.faq-trigger { width: 100%; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 0; border: 0; background: transparent; color: inherit; cursor: default; text-align: left; }
.faq-q-label { display: flex; align-items: baseline; gap: 10px; }
.faq-q-num, .faq-q-slash { flex: none; color: var(--cyan); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.08em; }
.faq-q-text { font-family: "Barlow Condensed", sans-serif; font-weight: 800; font-size: var(--fs-h4); line-height: 1.15; letter-spacing: -0.01em; }
.faq-icon { display: none; position: relative; width: 14px; height: 14px; flex: none; margin-top: 6px; }
.faq-icon::before, .faq-icon::after { position: absolute; top: 50%; left: 50%; background: var(--cyan); content: ""; }
.faq-icon::before { width: 14px; height: 1px; transform: translate(-50%, -50%); }
.faq-icon::after { width: 1px; height: 14px; transform: translate(-50%, -50%); transition: transform 220ms var(--ease); }
.faq-trigger[aria-expanded="true"] .faq-icon::after { transform: translate(-50%, -50%) scaleY(0); }
.faq-answer[hidden] { display: block; }
.faq-answer { margin-top: 16px; }
.faq-answer p { max-width: 52ch; margin: 0; color: rgba(11, 13, 13, 0.72); font-family: "Manrope", sans-serif; font-size: var(--fs-body); line-height: 1.65; }

/* Footer */
.site-footer { position: relative; overflow: hidden; background: var(--carbon); color: var(--ivory); border-top: 1px solid var(--hairline-light); }
.footer-ghost { position: absolute; z-index: 0; top: 50%; left: 50%; width: clamp(620px, 46vw, 920px); height: auto; transform: translate(-50%, -50%); opacity: 0.024; pointer-events: none; user-select: none; }
.footer-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: clamp(40px, 5vw, 56px); }
.footer-brand { width: 52px; height: 52px; display: grid; flex: none; place-items: center; }
.footer-brand img { width: 100%; height: 100%; object-fit: contain; }
.footer-summary { display: none; }
.footer-label-text-mobile { display: none; }
.footer-rule { position: relative; z-index: 1; height: 1px; background: var(--hairline-light); }
.footer-directory { position: relative; z-index: 1; display: grid; grid-template-columns: 0.9fr 2.4fr 1.15fr; gap: clamp(32px, 4vw, 64px); padding-block: clamp(56px, 7vw, 80px); }
.footer-heading { margin: 0; font-size: inherit; }
.footer-accordion-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0; border: 0; background: transparent; color: inherit; cursor: default; text-align: left; }
.footer-label { display: inline-flex; align-items: baseline; gap: 6px; font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.footer-label-num, .footer-slash { color: var(--cyan); }
.footer-label-text { color: var(--ivory); }
.footer-accordion-icon { display: none; position: relative; width: 14px; height: 14px; flex: none; }
.footer-accordion-icon::before, .footer-accordion-icon::after { position: absolute; top: 50%; left: 50%; background: var(--cyan); content: ""; }
.footer-accordion-icon::before { width: 14px; height: 1px; transform: translate(-50%, -50%); }
.footer-accordion-icon::after { width: 1px; height: 14px; transform: translate(-50%, -50%); transition: transform 220ms var(--ease); }
.footer-accordion-trigger[aria-expanded="true"] .footer-accordion-icon::after { transform: translate(-50%, -50%) scaleY(0); }
.footer-panel[hidden] { display: block; }
.footer-services-panel[hidden] { display: grid; }
.footer-panel ul { margin: 0; padding: 0; list-style: none; }
.footer-panel a { display: inline-flex; align-items: center; min-height: 36px; color: rgba(245, 241, 232, 0.78); font-family: "Manrope", sans-serif; font-size: var(--fs-sm); text-decoration: none; transition: color 200ms var(--ease), transform 200ms var(--ease); }
.footer-panel a:hover, .footer-panel a:focus-visible { color: var(--cyan); transform: translateX(4px); }
.footer-col-explore .footer-panel { margin-top: 26px; }
.footer-services-panel { margin-top: 26px; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 20px; }
.footer-col-contact .footer-panel { margin-top: 26px; display: flex; flex-direction: column; gap: 14px; }
.footer-contact-panel p { margin: 0; max-width: 30ch; color: rgba(245, 241, 232, 0.78); font-size: var(--fs-sm); line-height: 1.5; }
.footer-contact-panel a { color: var(--cyan); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.footer-contact-panel a:hover, .footer-contact-panel a:focus-visible { transform: translateX(4px); }
.footer-contact-item { display: flex; flex-direction: column; gap: 4px; }
.footer-contact-label { color: var(--cyan); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.footer-contact-panel a.footer-contact-value, .footer-contact-panel p.footer-contact-value { min-height: 0; margin: 0; max-width: none; color: rgba(245, 241, 232, 0.9); font-family: "Manrope", sans-serif; font-size: var(--fs-sm); font-weight: 400; letter-spacing: normal; text-transform: none; line-height: 1.5; }
.footer-contact-panel a.footer-contact-value:hover, .footer-contact-panel a.footer-contact-value:focus-visible { color: var(--cyan); }
.footer-contact-proof { margin: 0; max-width: 34ch; color: rgba(245, 241, 232, 0.5); font-family: "IBM Plex Mono", monospace; font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase; line-height: 1.65; }
.footer-legal { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: clamp(20px, 3vw, 32px); }
.footer-top-link { min-height: 44px; display: inline-flex; align-items: center; color: rgba(245, 241, 232, 0.78); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; transition: color 200ms var(--ease); }
.footer-top-link:hover, .footer-top-link:focus-visible { color: var(--cyan); }
.footer-copyright, .footer-credit { margin: 0; color: rgba(245, 241, 232, 0.58); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); letter-spacing: 0.04em; }

/* Mobile utility bar */
.mobile-utility-bar { display: none; }

/* Responsive */
@media (max-width: 1279px) {
  :root { --header-height: 72px; }
  .site-header { gap: 24px; padding-inline: 22px; }
  .site-nav { gap: 10px; }
  .nav-link { font-size: 0.64rem; letter-spacing: 0.035em; }
  .submenu-toggle { width: 36px; flex-basis: 36px; }
  .nav-cta { gap: 10px; padding-inline: 9px; font-size: 0.61rem; }
  .hero { min-height: clamp(600px, calc(100dvh - var(--header-height) - 80px), 640px); }
  .hero::after { background: linear-gradient(90deg, rgba(245, 241, 232, 1) 0%, rgba(245, 241, 232, 0.98) 27%, rgba(245, 241, 232, 0.9) 38%, rgba(245, 241, 232, 0.66) 47%, rgba(245, 241, 232, 0.32) 54%, rgba(245, 241, 232, 0.08) 60%, rgba(245, 241, 232, 0) 66%); }
  .hero-copy { width: calc(100vw - 68px); margin-left: 34px; padding: 34px 0 120px; }
  .hero-copy h1 { max-width: 1000px; font-size: clamp(3rem, 4.15vw, 3.5rem); }
  .hero-body { max-width: 74ch; font-size: clamp(0.8rem, 0.73rem + 0.18vw, 0.88rem); }
  .hero-note { position: relative; top: auto; left: auto; }
  .job-plan-support { bottom: 18px; max-width: 650px; margin-top: 0; padding: 13px 17px 14px; }
  .service-register { grid-template-columns: repeat(3, 1fr); }
  .service-item:nth-child(5n) { border-right: 1px solid var(--hairline-dark); }
  .service-item:nth-child(3n) { border-right: 0; }
}

@media (max-width: 1023px) {
  .site-header { grid-template-columns: auto auto; justify-content: space-between; }
  .menu-toggle { width: 48px; height: 48px; display: grid; align-content: center; gap: 5px; padding: 10px; border: 0; background: transparent; cursor: pointer; }
  .menu-toggle span { width: 25px; height: 1px; display: block; margin-left: auto; background: var(--ivory); transition: transform 220ms var(--ease), opacity 180ms var(--ease); }
  .menu-toggle span:nth-child(2) { width: 19px; background: var(--cyan); }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .site-nav { position: fixed; z-index: 25; top: var(--header-height); right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 24px max(20px, calc((100vw - 680px) / 2)) 40px; overflow-y: auto; background: var(--carbon); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 240ms var(--ease), visibility 0s 240ms; }
  .site-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity 240ms var(--ease), visibility 0s; }
  .nav-link { width: 100%; min-height: 54px; display: flex; border-bottom: 1px solid var(--hairline-light); font-size: 0.78rem; }
  .nav-link::after { display: none; }
  .nav-dropdown { width: 100%; display: block; }
  .nav-dropdown::after { display: none; }
  .nav-dropdown-label { display: grid; grid-template-columns: minmax(0, 1fr) 52px; }
  .nav-dropdown-label .nav-link { border-bottom: 1px solid var(--hairline-light); }
  .submenu-toggle { width: 52px; height: 54px; display: grid; border-bottom: 1px solid var(--hairline-light); border-left: 1px solid var(--hairline-light); }
  .services-submenu { position: static; width: 100%; max-height: none; display: none; grid-template-columns: 1fr; padding: 0 0 0 14px; overflow: visible; border: 0; background: var(--graphite); opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: none; }
  .nav-dropdown.is-open .services-submenu { display: grid; }
  .services-submenu a { min-height: 48px; padding: 10px 14px; font-size: 0.72rem; }
  .site-nav .nav-cta { min-height: 58px; justify-content: space-between; margin-top: 24px; padding-inline: 18px; font-size: 0.75rem; }
  .hero { min-height: clamp(600px, calc(100dvh - var(--header-height) - 64px), 640px); }
  .hero::after { background: linear-gradient(90deg, rgba(245, 241, 232, 1) 0%, rgba(245, 241, 232, 0.98) 38%, rgba(245, 241, 232, 0.94) 52%, rgba(245, 241, 232, 0.8) 64%, rgba(245, 241, 232, 0.6) 75%, rgba(245, 241, 232, 0.38) 86%, rgba(245, 241, 232, 0.16) 96%, rgba(245, 241, 232, 0) 105%); }
  .hero-copy { width: calc(100vw - 60px); margin-left: 30px; padding: 32px 0 116px; }
  .hero-copy .eyebrow { font-size: 0.68rem; letter-spacing: 0.1em; }
  .hero-copy h1 { max-width: 900px; font-size: clamp(2.55rem, 4.7vw, 3rem); }
  .hero-title-line { display: inline; }
  .hero-title-line + .hero-title-line::before { content: " "; }
  .hero-body { max-width: 70ch; font-size: 0.8rem; line-height: 1.34; }
  .hero-action { flex-direction: row; align-items: center; }
  .hero-note { margin: 0; }
  .job-plan-support { bottom: 16px; max-width: 650px; margin-top: 0; padding: 12px 16px 13px; font-size: 0.7rem; }
  .solution-copy, .ps-copy { width: min(60vw, 650px); }
  .case-study-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .benefit { padding: 38px; }
  .sheet-grid section { min-height: 350px; padding: 28px; }
  .lead-layout { grid-template-columns: 0.94fr 1.06fr; gap: 44px; }
  .book-scene { min-height: 580px; }
  .book { min-height: 460px; padding: 32px; }
  .book > b { margin: auto -32px -32px; padding: 20px 32px; }
  .checklist-page { min-height: 490px; padding: 28px; }
  .footer-ghost { display: none; }
  .footer-top { flex-direction: column; align-items: stretch; gap: 20px; padding-block: 28px; }
  .footer-cta { width: 100%; }
  .footer-summary { display: block; padding: 32px 0 28px; border-top: 1px solid var(--hairline-light); }
  .footer-summary-name { margin: 0; font-family: "Manrope", sans-serif; font-size: var(--fs-sm); font-weight: 700; color: var(--ivory); }
  .footer-summary-meta { margin: 10px 0 0; font-family: "Manrope", sans-serif; font-size: var(--fs-sm); color: rgba(245, 241, 232, 0.78); line-height: 1.5; }
  .footer-summary-proof { margin: 8px 0 0; font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); letter-spacing: 0.05em; text-transform: uppercase; color: rgba(245, 241, 232, 0.6); line-height: 1.6; }
  .footer-summary-contact { margin-top: 18px; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; color: var(--cyan); font-family: "IBM Plex Mono", monospace; font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; transition: transform 200ms var(--ease); }
  .footer-summary-contact:hover, .footer-summary-contact:focus-visible { transform: translateX(4px); }
  .footer-label-text-desktop { display: none; }
  .footer-label-text-mobile { display: inline; }
  .footer-directory { grid-template-columns: 1fr; gap: 0; padding-block: 8px; }
  .footer-col { border-bottom: 1px solid var(--hairline-light); }
  .footer-accordion-trigger { min-height: 60px; cursor: pointer; }
  .footer-accordion-icon { display: block; }
  .footer-panel[hidden] { display: none; }
  .footer-col-explore .footer-panel, .footer-col-contact .footer-panel { margin-top: 0; padding-bottom: 24px; }
  .footer-services-panel { margin-top: 0; grid-template-columns: 1fr; padding-bottom: 12px; }
  .footer-services-panel ul + ul { margin-top: 0; }
  .footer-legal { flex-direction: column; justify-content: center; gap: 10px; text-align: center; padding-block: 28px; }
}

@media (max-width: 767px) {
  :root { --header-height: 68px; }
  html { scroll-padding-top: 68px; }
  .section { padding-block: 76px; }
  .container { width: calc(100% - 40px); }
  .site-header { height: 68px; padding-inline: 16px 20px; }
  .brand { width: 55px; height: 55px; }
  .site-nav { top: 68px; padding: 20px 20px 36px; }
  .nav-link { min-height: 52px; font-size: 0.78rem; }
  .submenu-toggle { height: 52px; }
  .services-submenu a { min-height: 46px; font-size: 0.69rem; }
  .site-nav .nav-cta { min-height: 56px; margin-top: 22px; font-size: 0.74rem; }
  h2 { font-size: clamp(2.9rem, 13vw, 4.6rem); }
  .eyebrow { margin-bottom: 18px; }
  .section-intro, .wide-copy { text-align: center; }
  .hero { min-height: auto; display: flex; flex-direction: column; overflow: hidden; background-image: linear-gradient(180deg, rgba(245, 241, 232, 0.4) 0%, rgba(245, 241, 232, 0.52) 24%, rgba(245, 241, 232, 0.49) 52%, rgba(245, 241, 232, 0.27) 74%, rgba(245, 241, 232, 0.06) 92%), url("assets/images/mornington-peninsula-hero-mobile.webp"); background-repeat: no-repeat, no-repeat; background-position: top center, top center; background-size: 100% 100%, cover; }
  .hero::after { display: none; }
  .hero-copy { z-index: auto; width: 100%; margin-left: 0; padding: 54px 20px 48px; text-align: center; }
  .hero-copy .eyebrow { max-width: 55ch; white-space: normal; }
  .hero-copy .eyebrow, .hero-copy h1, .hero-body, .job-plan-support { margin-inline: auto; }
  .hero-copy h1 { width: calc(100vw - 32px); max-width: none; font-size: clamp(1.95rem, 8.2vw, 2.22rem); line-height: 0.92; letter-spacing: -0.02em; text-wrap: wrap; }
  .hero-title-desktop { display: none; }
  .hero-title-mobile { display: block; }
  .hero-title-mobile > span { display: block; white-space: nowrap; transform: scaleX(0.86); }
  .hero-body { font-size: 0.96rem; line-height: 1.55; }
  .hero-body p { margin-bottom: 0.68em; }
  .hero-body p:first-child { color: var(--graphite); font-weight: 400; }
  .hero-action { flex-direction: column; align-items: center; gap: 14px; }
  .hero-action .button { width: 82%; max-width: 360px; margin-inline: auto; }
  .hero-note { max-width: 280px; margin: 0 auto; padding-left: 0; font-size: clamp(1.25rem, 1rem + 0.7vw, 1.75rem); text-align: center; transform: rotate(-2deg); }
  .hero-note .note-arrow { display: none; }
  .job-plan-support { position: relative; right: auto; bottom: auto; left: auto; max-width: 650px; margin-top: 32px; display: block; padding: 15px 16px 16px; font-size: var(--fs-sm); line-height: 1.5; text-align: center; }
  .hero .hero-media-desktop-only { display: none; }
  .proof-ticker { padding-block: 13px; }
  .problem { padding-block: 82px; }
  .problem h2 { width: calc(100vw - 24px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(1.7rem, 7.76vw, 2.1rem); line-height: 0.94; letter-spacing: -0.02em; }
  .problem-title-desktop { display: none; }
  .problem-title-mobile { display: block; }
  .problem-title-mobile > span { display: block; white-space: nowrap; }
  .solution { min-height: auto; display: block; padding: 0; }
  .solution-copy { width: auto; margin: 0; padding: 78px 20px 62px; text-align: center; }
  .solution-copy h2 { width: calc(100vw - 28px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(1.7rem, 7.58vw, 2.3rem); line-height: 0.92; letter-spacing: -0.02em; }
  .solution-title-desktop { display: none; }
  .solution-title-mobile { display: block; }
  .solution-title-mobile > span { display: block; white-space: nowrap; }
  .solution-media, .solution-fade { display: none; }
  .social-proof { padding-bottom: 82px; }
  .social-proof h2 { width: calc(100vw - 28px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(2.3rem, 9.1vw, 3.15rem); line-height: 0.95; }
  .proof-title-desktop { display: none; }
  .proof-title-mobile { display: block; }
  .proof-title-mobile > span { display: block; white-space: nowrap; }
  .proof-register { grid-template-columns: 1fr 1fr; margin-block: 46px; }
  .proof-register div:nth-child(2) { border-right: 0; }
  .proof-register div:nth-child(-n+2) { border-bottom: 1px solid var(--hairline-dark); }
  .review { min-height: 300px; padding: 24px; }
  .project-strip img { width: 76vw; height: 54vw; }
  .section-cta { margin-top: 48px; }
  .section-cta .button { width: 100%; }
  .recent-work { padding-top: 82px; }
  .recent-work h2 { width: calc(100vw - 28px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(1.9rem, 8.55vw, 2.5rem); line-height: 0.95; text-wrap: wrap; }
  .case-study-grid { width: calc(100% - 40px); margin-top: 52px; grid-template-columns: 1fr; gap: 42px; }
  .case-study { padding-bottom: 16px; }
  .case-study-image { aspect-ratio: 4 / 3; }
  .case-study-meta { padding-top: 16px; }
  .benefits { padding-bottom: 88px; }
  .benefits h2 { width: calc(100vw - 28px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(2.4rem, 9.4vw, 3.55rem); line-height: 0.92; letter-spacing: -0.02em; }
  .benefits-title-desktop { display: none; }
  .benefits-title-mobile { display: block; }
  .benefits-title-mobile > span { display: block; white-space: nowrap; }
  .benefit-register { display: block; margin-top: 58px; }
  .register-line.vertical, .measurements { display: none; }
  .register-line.horizontal { top: 25%; box-shadow: 0 calc(var(--benefit-height, 1px) * 1) 0 var(--hairline-light); }
  .benefit { min-height: 0; padding: 38px 4px; border-bottom: 1px solid var(--hairline-light); text-align: left; }
  .benefit h3 { max-width: none; margin-bottom: 12px; font-size: clamp(2.2rem, 9.8vw, 3rem); line-height: 0.96; }
  .service-register { width: calc(100% - 40px); display: block; margin-top: 54px; }
  .service-item { min-height: 94px; display: grid; grid-template-columns: 76px 35px 1fr auto; gap: 12px; padding: 12px 0; border-right: 0; }
  .service-item img { grid-column: 1; grid-row: 1; width: 76px; height: 68px; margin: 0; }
  .service-item span { grid-column: 2; }
  .service-item h3 { grid-column: 3; font-size: clamp(1.55rem, 7vw, 2rem); }
  .service-item b { grid-column: 4; }
  .services { padding-bottom: 0; }
  .services::after { display: none; }
  .job-plan { padding-top: 48px; }
  .job-plan #job-plan-title { width: calc(100vw - 32px); max-width: none; margin-inline: calc(50% - 50vw + 16px); margin-bottom: 26px; font-size: clamp(2.25rem, 9.5vw, 2.56rem); line-height: 0.92; letter-spacing: -0.02em; }
  .job-plan-title-desktop { display: none; }
  .job-plan-title-mobile { display: block; }
  .job-plan-title-mobile > span { display: block; white-space: nowrap; }
  .job-sheet { width: calc(100% - 32px); margin-top: 38px; padding: 18px 16px 16px; }
  .job-sheet > header { grid-template-columns: 38px 1fr; gap: 10px; padding-bottom: 16px; }
  .job-sheet > header img { width: 38px; height: 38px; }
  .job-sheet > header small { display: none; }
  .job-sheet > header strong { font-size: 2.15rem; line-height: 0.9; }
  .sheet-grid { display: block; }
  .sheet-grid section { min-height: 0; padding: 16px 0; border-right: 0; border-bottom: 0; }
  .sheet-grid section:last-child { border-bottom: 0; }
  .sheet-grid h3 { margin: 16px 0 5px; }
  .write-line { height: 18px; }
  .date-boxes { height: 44px; }
  .sheet-grid section:nth-child(3) .write-line.short { display: none; }
  .job-sheet > footer { padding-top: 12px; border-top: 0; font-size: 0.55rem; }
  .job-plan .section-cta { margin-top: 28px; }
  .job-plan .section-cta .button { width: 100%; }
  .promise h2 { max-width: 95%; margin-inline: auto; font-size: clamp(1.6rem, 8.7vw, 4.2rem); line-height: 0.95; }
  .promise-line { --step-h: 104px; width: calc(100% - 60px); display: block; margin-block: 60px 52px; }
  .promise-rule { top: 13px; right: auto; bottom: auto; left: 13px; width: 1px; height: calc(var(--step-h) * 2); transform-origin: top; }
  .motion-ready .promise-line:not(.in-view) .promise-rule { transform: scaleY(0); }
  .motion-ready .promise-line.in-view .promise-rule { transform: scaleY(1); }
  .promise-step { min-height: var(--step-h); display: grid; grid-template-columns: 28px 44px 1fr; align-items: start; gap: 14px; padding: 0; text-align: left; }
  .promise-step:last-child { min-height: 0; }
  .promise-step i { grid-column: 1; margin: 0; }
  .promise-step span { grid-column: 2; padding-top: 3px; }
  .promise-step strong { grid-column: 3; margin-left: 14px; padding-top: 2px; }
  .deposit-register div { padding: 36px 12px; }
  .deposit-register strong { font-size: clamp(3.4rem, 15vw, 4.2rem); }
  .deposit-register span { margin-top: 8px; display: block; font-size: clamp(0.78rem, 3vw, 0.9rem); letter-spacing: 0.04em; }
  .one-hour-title-desktop { display: none; }
  .one-hour-title-mobile { display: block; }
  .one-hour-title-mobile > span { display: block; white-space: nowrap; }
  .one-hour h2 { width: calc(100vw - 28px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(2rem, 9vw, 2.7rem); line-height: 0.92; letter-spacing: -0.02em; }
  .services h2 { width: calc(100vw - 28px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(2.25rem, 9.2vw, 3.2rem); line-height: 0.95; }
  .services-title-desktop { display: none; }
  .services-title-mobile { display: block; }
  .services-title-mobile > span { display: block; white-space: nowrap; }
  .confirmation-register { width: calc(100% - 40px); display: block; margin-top: 54px; }
  .confirmation-register div { border-right: 0; border-bottom: 1px solid var(--hairline-light); }
  .confirmation-register div:last-child { border-bottom: 0; }
  .one-hour-action { padding-inline: 20px; }
  .one-hour-action .button { width: 100%; }
  .warning { padding-block: 92px 76px; }
  .warning h2 { width: calc(100vw - 32px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(2.2rem, 10vw, 3.4rem); line-height: 0.92; letter-spacing: -0.02em; }
  .warning-title-desktop { display: none; }
  .warning-title-mobile { display: block; }
  .warning-title-mobile > span { display: block; white-space: nowrap; }
  .warning::after { bottom: 36px; }
  .ps-close { --ps-image-h: min(34vh, 290px); min-height: auto; display: block; position: relative; margin-top: -16px; }
  .ps-media { position: absolute; inset: 0 0 auto 0; width: 100%; height: var(--ps-image-h); min-height: 0; order: initial; }
  .ps-media img { object-position: center 58%; }
  .ps-media::before { content: ""; position: absolute; z-index: 2; inset: 0 0 auto 0; height: 130px; pointer-events: none; background: linear-gradient(180deg, var(--ivory) 0%, rgba(245, 241, 232, 0.96) 20%, rgba(245, 241, 232, 0.74) 38%, rgba(245, 241, 232, 0.34) 56%, rgba(245, 241, 232, 0) 80%); }
  .ps-fade { z-index: 1; inset: auto; top: calc(var(--ps-image-h) - 130px); right: 0; left: 0; height: 130px; background: linear-gradient(180deg, rgba(11, 13, 13, 0) 0%, rgba(11, 13, 13, 0.2) 24%, rgba(11, 13, 13, 0.52) 48%, rgba(11, 13, 13, 0.84) 72%, var(--carbon) 100%); }
  .ps-copy { position: relative; z-index: 3; width: auto; margin: 0; padding: calc(var(--ps-image-h) * 0.87) 20px 82px; order: initial; text-align: center; }
  .ps-copy h2 { width: calc(100vw - 28px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(2rem, 8.75vw, 2.6rem); line-height: 0.92; letter-spacing: -0.02em; }
  .ps-title-desktop { display: none; }
  .ps-title-mobile { display: block; }
  .ps-title-mobile > span { display: block; white-space: nowrap; }
  .ps-copy > p:not(.eyebrow) { max-width: 350px; margin-inline: auto; }
  .ps-action { flex-direction: column; gap: 18px; }
  .ps-action .button { width: 100%; }
  .ps-action .hand-note { max-width: none; }
  .lead-layout { width: calc(100% - 40px); display: flex; flex-direction: column; gap: 34px; }
  .book-scene { width: 100%; min-height: 560px; order: 2; }
  .lead-copy { order: 1; text-align: center; }
  .lead-copy h2 { width: calc(100vw - 28px); max-width: none; margin-inline: calc(50% - 50vw); margin-left: auto; margin-right: auto; font-size: clamp(2.3rem, 9.5vw, 3.2rem); line-height: 0.95; }
  .lead-form { text-align: left; }
  .book { left: 0; width: 64%; min-height: 450px; padding: 30px; }
  .book > strong { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .book > b { margin: auto -30px -30px; padding: 18px 30px; }
  .checklist-page { right: -3px; width: 66%; min-height: 465px; padding: 24px; }
  .faq { padding-block: clamp(64px, 12vw, 80px); }
  .faq-register { width: calc(100% - 40px); margin: 44px auto 0; display: block; }
  .faq-item { padding: 0; }
  .faq-item:nth-child(odd) { border-right: 0; }
  .faq-trigger { min-height: 64px; padding: 18px 0; align-items: center; cursor: pointer; }
  .faq-q-text { font-size: clamp(1.05rem, 4.6vw, 1.2rem); line-height: 1.3; }
  .faq-icon { display: block; margin-top: 0; }
  .faq-answer[hidden] { display: none; }
  .faq-answer { margin: 0 0 22px; }
  .faq-answer p { max-width: none; font-size: var(--fs-sm); }
  .mobile-utility-bar { position: fixed; z-index: 20; right: 16px; bottom: calc(18px + env(safe-area-inset-bottom)); left: 16px; display: flex; align-items: center; justify-content: space-between; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px); transition: opacity 260ms var(--ease), transform 260ms var(--ease), visibility 0s 260ms; }
  .mobile-utility-bar.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition: opacity 260ms var(--ease), transform 260ms var(--ease), visibility 0s; }
  .mobile-utility-top { width: 48px; height: 48px; display: grid; flex: none; place-items: center; border: 1px solid var(--cyan); border-radius: 2px; background: var(--carbon); color: var(--cyan); font-size: 1.15rem; line-height: 1; cursor: pointer; }
  .mobile-utility-call { min-height: 48px; display: inline-flex; align-items: center; gap: 9px; padding: 0 18px; border: 1px solid var(--cyan); border-radius: 2px; background: var(--carbon); color: var(--ivory); font-family: "IBM Plex Mono", monospace; font-size: 0.74rem; font-weight: 600; letter-spacing: 0.06em; text-decoration: none; text-transform: uppercase; transition: background-color 220ms var(--ease), color 220ms var(--ease); }
  .mobile-utility-call:hover, .mobile-utility-call:focus-visible { background: var(--cyan); color: var(--carbon); }
  .mobile-utility-call-icon { width: 15px; height: 15px; flex: none; color: var(--cyan); transition: color 220ms var(--ease); }
  .mobile-utility-call:hover .mobile-utility-call-icon, .mobile-utility-call:focus-visible .mobile-utility-call-icon { color: var(--carbon); }
}

@media (max-width: 430px) {
  .container, .case-study-grid, .service-register, .job-sheet, .confirmation-register, .lead-layout { width: calc(100% - 40px); }
  .book-scene { min-height: 500px; }
  .book { min-height: 405px; padding: 25px; }
  .book > i { margin-block: 32px 24px; }
  .book > strong { font-size: 2.6rem; }
  .book > b { margin: auto -25px -25px; padding: 16px 25px; }
  .checklist-page { min-height: 420px; padding: 20px; }
  .checklist-page > strong { font-size: 1.45rem; }
  .checklist-page li { padding: 5px 0; }
}

@media (max-width: 390px) {
  .button { gap: 14px; padding-inline: 16px; }
  .review { width: 85vw; }
  .promise-step { grid-template-columns: 28px 34px 1fr; gap: 14px; }
  .book > span, .book > small { font-size: 0.59rem; }
  .checklist-page div { font-size: 0.55rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .marquee { overflow-x: auto; scrollbar-width: thin; }
  .marquee-track { transform: none !important; }
  .marquee-track .marquee-group[aria-hidden="true"] { display: none; }
  .motion-ready .reveal { opacity: 1; transform: none; }
  .motion-ready .curtain { display: none; }
}
