@layer reset, tokens, base, components, sections, utilities, responsive;

@layer tokens {
  :root {
    --aslan-navy: #111d35;
    --aslan-navy-deep: #091224;
    --aslan-burgundy: #7a1f35;
    --aslan-bg: #f3f3f0;
    --aslan-surface: #fff;
    --aslan-text: #111318;
    --aslan-text-muted: #686b72;
    --aslan-border: #d9d9d4;
    --aslan-light-muted: #aeb7c8;
    --aslan-gutter: clamp(1.25rem, 4vw, 4.5rem);
    --aslan-header-h: 5rem;
    --aslan-radius-small: 0.625rem;
    --aslan-radius-medium: 1rem;
    --aslan-radius-large: 1.25rem;
    --aslan-radius: var(--aslan-radius-medium);
    --aslan-ease: cubic-bezier(.22, 1, .36, 1);
    --aslan-display: "Instrument Sans", "Arial Narrow", Arial, sans-serif;
    --aslan-body: Inter, Arial, sans-serif;
  }
}

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body, h1, h2, h3, p, blockquote, dl, dd, ol { margin: 0; }
  body { min-width: 320px; }
  button, input, textarea, select { border-radius: var(--aslan-radius-small); font: inherit; }
  button, a { -webkit-tap-highlight-color: transparent; }
  img, svg { display: block; max-width: 100%; }
  a { color: inherit; }
}

@layer base {
  body {
    background: var(--aslan-bg);
    color: var(--aslan-text);
    font-family: var(--aslan-body);
    font-size: 1rem;
    line-height: 1.6;
  }
  main, footer { position: relative; z-index: 1; }
  section { max-width: 100%; }
  body.aslan-is-locked { overflow: hidden; }
  ::selection { background: var(--aslan-burgundy); color: #fff; }
  :focus-visible { outline: 2px solid var(--aslan-burgundy); outline-offset: 4px; }
  h1, h2, h3 { font-family: var(--aslan-display); font-weight: 500; line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
  h1 { font-size: clamp(3.6rem, 7.3vw, 8.2rem); }
  h2 { font-size: clamp(2.8rem, 6vw, 6.5rem); }
  h3 { font-size: clamp(2rem, 3.5vw, 4rem); }
  em { color: var(--aslan-burgundy); font-style: normal; }
  button { color: inherit; }
  .aslan-stage { position: relative; isolation: isolate; }
  .aslan-stage--dark { background: var(--aslan-navy-deep); color: #f7f5ef; }
  [class$="__pin"] { position: relative; min-height: 100svh; overflow: hidden; isolation: isolate; }
}

@layer components {
  .aslan-skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .7rem 1rem; border-radius: var(--aslan-radius-small); background: #fff; transform: translateY(-160%); text-decoration: none; }
  .aslan-skip-link:focus { transform: none; }
  .aslan-background { position: fixed; z-index: 0; inset: 0; pointer-events: none; overflow: hidden; }
  .aslan-background__base, .aslan-background__navy, .aslan-background__grain { position: absolute; inset: 0; }
  .aslan-background__base { background: var(--aslan-bg); }
  .aslan-background__navy { background: radial-gradient(circle at 75% 25%, #1b2c4d 0, var(--aslan-navy-deep) 58%); opacity: 0; }
  .aslan-background__grain { opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"); }
  .aslan-story-path { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
  .aslan-story-path path { fill: none; vector-effect: non-scaling-stroke; }
  .aslan-story-path__ghost { stroke: rgba(17,29,53,.12); stroke-width: 1; }
  .aslan-story-path__line { stroke: var(--aslan-burgundy); stroke-width: 1.5; stroke-linecap: round; }
  .aslan-story-point { position: absolute; z-index: 1; top: calc(50% - 7px); left: calc(50% - 7px); width: 14px; aspect-ratio: 1; border-radius: 50%; background: var(--aslan-burgundy); box-shadow: 0 0 0 8px rgba(122,31,53,.1); }

  .aslan-header { position: fixed; z-index: 60; top: 0; left: 0; width: 100%; height: var(--aslan-header-h); padding: 0 var(--aslan-gutter); display: flex; align-items: center; justify-content: space-between; color: var(--aslan-text); visibility: hidden; opacity: 0; pointer-events: none; transition: color .35s, background .35s, backdrop-filter .35s, opacity .45s var(--aslan-ease), visibility .45s; }
  .aslan-header.is-visible { visibility: visible; opacity: 1; pointer-events: auto; }
  .aslan-header.is-scrolled { background: rgba(243,243,240,.82); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(17,19,24,.08); }
  .aslan-header.is-dark { color: #fff; background: rgba(9,18,36,.72); border-color: rgba(255,255,255,.1); }
  .aslan-monogram { position: relative; z-index: 2; width: 3rem; height: 3rem; display: grid; place-items: center; padding: .4rem; border: 1px solid rgba(17,29,53,.1); border-radius: var(--aslan-radius-small); background: #f3f3f0; box-shadow: 0 .45rem 1.4rem rgba(0,0,0,.12); text-decoration: none; }
  .aslan-monogram img { width: 100%; height: 100%; object-fit: contain; }
  .aslan-nav { position: absolute; inset: 0 var(--aslan-gutter); pointer-events: none; }
  .aslan-nav__menu { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2.1vw, 2rem); }
  .aslan-nav__menu a { pointer-events: auto; }
  .aslan-nav__menu a { position: relative; font-size: .78rem; font-weight: 600; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
  .aslan-nav__menu a:not(.aslan-nav__cta)::after { content: ""; position: absolute; right: 0; bottom: -.38rem; left: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .3s var(--aslan-ease); }
  .aslan-nav__menu a:hover::after, .aslan-nav__menu a.is-active::after { transform: scaleX(1); transform-origin: left; }
  .aslan-nav__cta { position: absolute !important; top: 50%; right: 0; padding: .65rem .9rem; border: 1px solid currentColor; border-radius: var(--aslan-radius-small); transform: translateY(-50%); }
  .aslan-nav__toggle { display: none; border: 1px solid currentColor; border-radius: var(--aslan-radius-small); background: none; }
  .aslan-progress { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: transparent; }
  .aslan-progress span { display: block; width: 100%; height: 100%; background: var(--aslan-burgundy); transform: scaleX(0); transform-origin: left; }

  .aslan-eyebrow, .aslan-section-index { font-size: .72rem; font-weight: 600; letter-spacing: .15em; line-height: 1.25; text-transform: uppercase; }
  .aslan-section-index { position: absolute; z-index: 6; top: calc(var(--aslan-header-h) + 1.25rem); left: var(--aslan-gutter); color: var(--aslan-text-muted); }
  .aslan-stage--dark .aslan-section-index { color: var(--aslan-light-muted); }
  .aslan-lede { max-width: 38rem; color: var(--aslan-text-muted); font-size: clamp(1rem, 1.2vw, 1.2rem); }
  .aslan-actions { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }
  .aslan-button { min-height: 3.25rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 1.8rem; border: 0; border-radius: var(--aslan-radius-small); padding: .8rem 1.05rem; font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: transform .25s var(--aslan-ease), color .25s, background .25s; }
  .aslan-button:hover { transform: translateY(-2px); }
  .aslan-button--primary { background: var(--aslan-navy); color: #fff; }
  .aslan-button--light { background: #f8f5ee; color: var(--aslan-navy-deep); }
  .aslan-button--outline { border: 1px solid var(--aslan-text); background: transparent; }
  .aslan-button--text { padding-inline: .75rem; background: transparent; border: 1px solid var(--aslan-border); }
  .aslan-placeholder-label { position: absolute; z-index: 4; right: .75rem; bottom: .75rem; padding: .4rem .6rem; border-radius: var(--aslan-radius-small); background: rgba(9,18,36,.82); color: #fff; font-size: .64rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

  .aslan-narrative { position: absolute; z-index: 5; top: 50%; left: var(--aslan-gutter); width: min(42rem, calc(100% - var(--aslan-gutter) * 2)); height: clamp(18rem, 42vh, 27rem); transform: translateY(-50%); }
  .aslan-narrative--center { left: 50%; text-align: center; transform: translate(-50%, -50%); }
  .aslan-narrative__panel { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; visibility: hidden; opacity: 0; filter: blur(8px); transform: translateY(24px); pointer-events: none; }
  .aslan-narrative--center .aslan-narrative__panel { align-items: center; }
  .aslan-narrative__panel.is-active { visibility: visible; opacity: 1; filter: blur(0); transform: none; }
  .aslan-js:not(.aslan-reduced-motion) .aslan-noise:not(.aslan-timeline-active) .aslan-narrative__panel,
  .aslan-js:not(.aslan-reduced-motion) .aslan-diagnosis:not(.aslan-timeline-active) .aslan-narrative__panel { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
  .aslan-narrative__panel h2, .aslan-display-line { font: 500 clamp(2.5rem, 5vw, 5.8rem)/.98 var(--aslan-display); letter-spacing: -.045em; text-wrap: balance; }
  .aslan-narrative__panel > p:not(.aslan-display-line, .aslan-assumption) { max-width: 38rem; font-size: clamp(1.5rem, 2.7vw, 3rem); line-height: 1.1; text-wrap: balance; }
  .aslan-narrative__panel small { display: block; max-width: 34rem; margin-top: 1.4rem; color: var(--aslan-light-muted); font-size: 1rem; }
  .aslan-assumption { margin-bottom: 1.3rem; color: var(--aslan-light-muted); font: 400 clamp(1rem, 1.5vw, 1.3rem)/1.3 var(--aslan-body); }
  .aslan-stage-skip { position: absolute; z-index: 7; right: var(--aslan-gutter); bottom: 2rem; padding: .6rem .75rem; color: #fff; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; border: 1px solid rgba(255,255,255,.35); border-radius: var(--aslan-radius-small); }

  .aslan-section-heading { max-width: 77rem; padding: 8rem var(--aslan-gutter) 5rem; }
  .aslan-section-heading h2 { max-width: 70rem; margin: 1.4rem 0 2rem; }
  .aslan-section-heading > p:last-child { max-width: 42rem; color: var(--aslan-text-muted); font-size: 1.05rem; }

  .aslan-overlay { width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: var(--aslan-bg); color: var(--aslan-text); }
  .aslan-overlay::backdrop { background: rgba(9,18,36,.72); }
  .aslan-overlay[open] { display: block; }
  .aslan-overlay__chrome { position: sticky; z-index: 2; top: 0; height: var(--aslan-header-h); padding: 0 var(--aslan-gutter); display: flex; align-items: center; justify-content: space-between; background: rgba(243,243,240,.92); border-bottom: 1px solid var(--aslan-border); backdrop-filter: blur(12px); }
  .aslan-overlay__close { min-width: 7rem; min-height: 3rem; border: 1px solid var(--aslan-text); border-radius: var(--aslan-radius-small); background: transparent; cursor: pointer; text-transform: uppercase; }
  .aslan-overlay__close span { margin-left: 1rem; font-size: 1.25rem; }
  .aslan-overlay__content { width: min(78rem, 100%); min-height: calc(100% - var(--aslan-header-h)); margin: 0 auto; padding: clamp(4rem, 9vw, 9rem) var(--aslan-gutter); }
  .aslan-overlay__content h2 { max-width: 65rem; margin: 1rem 0 3rem; }
  .aslan-overlay__body { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.5fr); gap: clamp(3rem, 8vw, 8rem); }
  .aslan-overlay__body h3 { margin: 2.5rem 0 1rem; font-size: clamp(1.6rem, 2.5vw, 2.6rem); }
  .aslan-overlay__body p, .aslan-overlay__body li { max-width: 45rem; color: var(--aslan-text-muted); }
  .aslan-overlay__body ul { padding-left: 1.2rem; }
  .aslan-overlay__fact { padding: 1rem 0; border-top: 1px solid var(--aslan-border); }
  .aslan-overlay__fact b { display: block; margin-bottom: .4rem; color: var(--aslan-text); }
  .aslan-overlay__notice { padding: 1.2rem; border: 1px solid var(--aslan-burgundy); border-radius: var(--aslan-radius-medium); color: var(--aslan-burgundy) !important; }
  .aslan-project-index__filters { display: flex; gap: .65rem; flex-wrap: wrap; margin-bottom: 3rem; }
  .aslan-project-index__filters button { min-height: 2.8rem; padding: .6rem .9rem; border: 1px solid var(--aslan-border); border-radius: var(--aslan-radius-small); background: transparent; cursor: pointer; }
  .aslan-project-index__filters button.is-active { border-color: var(--aslan-navy); background: var(--aslan-navy); color: #fff; }
  .aslan-project-index__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
  .aslan-project-index__grid button { min-height: 13rem; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; padding: 1.5rem; border: 1px solid var(--aslan-border); border-radius: var(--aslan-radius-medium); background: transparent; font: 500 clamp(1.5rem, 3vw, 3rem)/1.05 var(--aslan-display); text-align: left; cursor: pointer; }
  .aslan-project-index__grid button:hover { background: var(--aslan-navy); color: #fff; }
  .aslan-project-index__grid small { font: 400 .7rem/1.3 var(--aslan-body); letter-spacing: .06em; text-transform: uppercase; }
  .aslan-index-link { width: 100%; min-height: 7rem; display: grid; grid-template-columns: 3rem 1fr; align-items: center; gap: 1rem; margin-bottom: .65rem; padding: 1rem; border: 1px solid var(--aslan-border); border-radius: var(--aslan-radius-medium); background: transparent; font: 500 clamp(1.5rem, 3vw, 2.8rem)/1.05 var(--aslan-display); text-align: left; cursor: pointer; }
  .aslan-index-link span { color: var(--aslan-burgundy); font: 500 .72rem/1 var(--aslan-body); }
  .aslan-noscript { position: fixed; z-index: 100; bottom: 1rem; left: 1rem; max-width: 34rem; padding: 1rem; border: 1px solid var(--aslan-burgundy); border-radius: var(--aslan-radius-medium); background: #fff; }
}

@layer sections {
  .aslan-hero { min-height: 100svh; background: var(--aslan-navy-deep); color: #f7f5ef; }
  .aslan-hero__pin { min-height: 100svh; padding: 0; background: var(--aslan-navy-deep); }
  .aslan-hero__identity-block { position: absolute; z-index: 8; top: clamp(4.5rem, 13vh, 8.5rem); left: var(--aslan-gutter); width: min(35rem, 38vw); }
  .aslan-hero__name-lockup { display: grid; grid-template-columns: auto auto auto; align-items: center; justify-content: start; gap: clamp(.55rem, 1vw, 1rem); }
  .aslan-hero__moving-logo { position: relative; z-index: 70; width: clamp(5.25rem, 7.8vw, 8rem); aspect-ratio: 1; display: grid; place-items: center; flex: 0 0 auto; border-radius: var(--aslan-radius-large); transform-origin: top left; will-change: transform, opacity; }
  .aslan-hero__moving-logo img { width: 100%; height: 100%; object-fit: contain; }
  .aslan-hero__first-name { color: #f7f5ef; font: 600 clamp(3.2rem, 5.6vw, 5.8rem)/.82 var(--aslan-display); letter-spacing: -.065em; white-space: nowrap; }
  .aslan-hero__surname { height: clamp(8.6rem, 14vw, 13.8rem); padding-left: clamp(.7rem, 1vw, 1.1rem); border-left: 1px solid rgba(247,245,239,.52); }
  .aslan-hero__surname span { display: block; color: rgba(247,245,239,.9); font: 500 clamp(1.25rem, 2vw, 2.05rem)/1 var(--aslan-display); letter-spacing: .18em; writing-mode: vertical-rl; text-orientation: upright; }
  .aslan-hero__identity-block > p { margin: -.9rem 0 0 clamp(6rem, 9vw, 9.2rem); color: rgba(247,245,239,.58); font-size: clamp(.68rem, .88vw, .9rem); line-height: 1.55; }
  .aslan-hero__content { position: absolute; z-index: 8; top: clamp(24rem, 43vh, 29rem); left: var(--aslan-gutter); width: min(34rem, 38vw); }
  .aslan-hero__content h1 { font-size: clamp(2.7rem, 4.2vw, 4.45rem); line-height: 1.02; letter-spacing: -.055em; }
  .aslan-hero__content h1 > span { display: block; }
  .aslan-hero__content h1 em { color: #c51437; font-style: normal; }
  .aslan-hero__content .aslan-lede { max-width: 30rem; margin: clamp(1.15rem, 2.2vh, 1.7rem) 0 clamp(1.3rem, 2.6vh, 2rem); color: rgba(247,245,239,.68); font-size: clamp(.88rem, 1.05vw, 1.05rem); line-height: 1.55; }
  .aslan-hero__actions { display: grid; grid-template-columns: auto auto; align-items: center; justify-content: start; gap: .85rem clamp(1rem, 2.2vw, 2rem); }
  .aslan-hero__primary-action { grid-column: 1 / -1; width: clamp(10.8rem, 15vw, 14rem); min-height: 3.65rem; padding-inline: 1.35rem; border: 1px solid #c51437; border-radius: 1.15rem; background: #ad1432; color: #fff; font-size: .9rem; text-transform: none; box-shadow: 0 .9rem 2.4rem rgba(173,20,50,.17); }
  .aslan-hero__primary-action:hover { background: #c51437; }
  .aslan-hero__primary-action i { font-size: 1.2rem; }
  .aslan-hero__text-link { display: inline-flex; align-items: center; gap: .5rem; padding: .25rem 0 .35rem; border-bottom: 1px solid rgba(247,245,239,.42); color: rgba(247,245,239,.82); font-size: clamp(.68rem, .83vw, .82rem); line-height: 1.2; text-decoration: none; transition: color .25s var(--aslan-ease), border-color .25s var(--aslan-ease), transform .25s var(--aslan-ease); }
  .aslan-hero__text-link:hover { border-color: #c51437; color: #fff; transform: translateY(-2px); }
  .aslan-hero__impact { position: absolute; z-index: 9; top: clamp(6rem, 14vh, 9rem); right: clamp(1.5rem, 4vw, 4.5rem); width: 9.5rem; color: rgba(247,245,239,.58); text-transform: uppercase; }
  .aslan-hero__impact span, .aslan-hero__impact small { display: block; font-size: .62rem; letter-spacing: .19em; line-height: 1.55; }
  .aslan-hero__impact > i { width: 2.6rem; height: 1px; display: block; margin: 1.25rem 0 .8rem; background: rgba(247,245,239,.72); }
  .aslan-hero__impact small { color: rgba(247,245,239,.34); font-size: .5rem; letter-spacing: .12em; }
  .aslan-hero__visual { position: absolute; z-index: 4; top: 0; right: clamp(-4rem, -3vw, -1rem); bottom: 0; width: min(59vw, 54rem); pointer-events: none; }
  .aslan-hero__halo { position: absolute; z-index: 0; top: 4.5%; left: 9%; width: 73%; aspect-ratio: 1; border-radius: 50%; background: #9f102e; box-shadow: 0 0 5rem rgba(159,16,46,.22); }
  .aslan-hero.is-intro-complete .aslan-hero__halo { visibility: hidden; opacity: 0; }
  .aslan-hero__image-wrap { position: absolute; z-index: 2; inset: 0; overflow: hidden; background: transparent; will-change: clip-path, opacity, transform; }
  .aslan-hero__image-wrap img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
  .aslan-hero__signature { position: absolute; z-index: 5; right: 4%; bottom: 7%; width: 83%; aspect-ratio: 770 / 250; filter: drop-shadow(0 .35rem .8rem rgba(0,0,0,.2)); }
  .aslan-hero__signature-stroke { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
  .aslan-hero__signature-stroke--1 { clip-path: inset(0 75% 0 0); }
  .aslan-hero__signature-stroke--2 { clip-path: inset(0 50% 0 25%); }
  .aslan-hero__signature-stroke--3 { clip-path: inset(0 25% 0 50%); }
  .aslan-hero__signature-stroke--4 { clip-path: inset(0 0 0 75%); }
  .aslan-hero__signal-lines { position: absolute; z-index: 7; inset: 0; overflow: hidden; pointer-events: none; }
  .aslan-hero__signal-lines i { position: absolute; display: block; width: clamp(3rem, 8vw, 8rem); height: 1px; background: rgba(247,245,239,.72); transform-origin: left center; will-change: transform, opacity; }
  .aslan-hero__signal-lines i:nth-child(1) { bottom: 3.2%; left: -1%; width: 12rem; background: #c51437; transform: rotate(-21deg); }
  .aslan-hero__signal-lines i:nth-child(2) { bottom: 7.4%; left: 19%; width: 6rem; transform: rotate(-25deg); }
  .aslan-hero__signal-lines i:nth-child(3) { right: 5%; bottom: 36%; width: 7rem; background: #c51437; transform: rotate(-54deg); }
  .aslan-hero__signal-lines i:nth-child(4) { right: 8%; bottom: 21%; width: 5rem; transform: rotate(-57deg); }
  .aslan-hero__signal-lines i:nth-child(5) { right: -2%; bottom: 10%; width: 9rem; background: #c51437; transform: rotate(-56deg); }
  .aslan-hero__signal-lines i:nth-child(6) { right: 1%; bottom: 4.5%; width: 5rem; transform: rotate(-12deg); }
  .aslan-scroll-cue { position: absolute; z-index: 9; bottom: 1.1rem; left: var(--aslan-gutter); display: flex; align-items: center; gap: .7rem; color: rgba(247,245,239,.38); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }
  .aslan-scroll-cue > i { width: 2.5rem; height: 1px; display: block; background: var(--aslan-burgundy); }
  .aslan-js [data-hero-reveal]:not(.is-reveal-prepared) { opacity: 0; }
  [data-hero-reveal] { position: relative; display: inline-block; isolation: isolate; }
  [data-hero-reveal].aslan-lede { width: fit-content; display: block; }
  .aslan-site-reveal { position: relative; isolation: isolate; }
  .aslan-text-reveal__inline, .aslan-text-reveal__surface { position: relative; display: inline-block; max-width: 100%; isolation: isolate; }
  .aslan-text-reveal__word { position: relative; z-index: 1; display: inline-block; opacity: 0; filter: blur(4px); transform: translateY(.32em); will-change: transform, opacity, filter; }
  [data-hero-reveal] > .aslan-text-reveal__word + .aslan-text-reveal__word { margin-left: 0; }
  .aslan-text-reveal__bar { position: absolute; z-index: 3; top: -.08em; right: -.04em; bottom: -.08em; left: -.04em; display: block; border-radius: .18em; background: currentColor; transform: scaleX(0); transform-origin: left center; will-change: transform; pointer-events: none; }
  .aslan-site-reveal.is-text-revealed > .aslan-text-reveal__bar { visibility: hidden; }

  .aslan-noise__pin { z-index: 2; background: var(--aslan-navy-deep); }
  .aslan-noise.aslan-layer-active { z-index: 3; }
  .aslan-diagnosis { z-index: 2; }
  .aslan-scroll-scenes .aslan-noise { margin-top: -100svh; }
  .aslan-scroll-scenes .aslan-diagnosis { margin-top: -100svh; }
  .aslan-channel-field { position: absolute; z-index: 3; inset: 5rem 4vw 2rem; }
  .aslan-channel { position: absolute; width: clamp(7rem, 11vw, 10rem); aspect-ratio: 1.35; opacity: .46; transform: scale(.88); transition: opacity .35s var(--aslan-ease), filter .35s var(--aslan-ease); }
  .aslan-channel span { position: absolute; z-index: 2; top: 50%; left: 50%; padding: .3rem .45rem; border-radius: var(--aslan-radius-small); background: rgba(9,18,36,.86); color: #fff; font-size: .68rem; font-weight: 600; letter-spacing: .12em; line-height: 1; text-transform: uppercase; white-space: nowrap; transform: translate(-50%, -50%); }
  .aslan-channel i, .aslan-channel b { position: absolute; inset: 0; display: block; border: 1px solid rgba(255,255,255,.68); border-radius: var(--aslan-radius-medium); transition: border-color .35s, background .35s; }
  .aslan-channel b { inset: 18% 11%; border-color: rgba(122,31,53,.92); background: rgba(122,31,53,.08); transform: translate(15%, 18%); }
  .aslan-channel--website { top: 15%; left: 8%; }
  .aslan-channel--content { top: 12%; right: 18%; transform: rotate(7deg); }
  .aslan-channel--paid { top: 48%; left: 19%; transform: rotate(-9deg); }
  .aslan-channel--seo { top: 60%; right: 9%; }
  .aslan-channel--social { top: 26%; right: 2%; transform: rotate(13deg); }
  .aslan-channel--data { bottom: 4%; left: 43%; transform: rotate(-4deg); }
  .aslan-channel.is-focused { z-index: 4; opacity: 1 !important; filter: drop-shadow(0 0 1.1rem rgba(122,31,53,.5)); }
  .aslan-channel.is-focused i { border-color: #fff; }
  .aslan-channel.is-focused b { border-color: #b53856; background: rgba(122,31,53,.28); }
  .aslan-noise__routes { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .62; }
  .aslan-noise__routes path { fill: none; stroke: #94a3bd; stroke-width: 1.5; stroke-dasharray: 4 11; vector-effect: non-scaling-stroke; }
  .aslan-noise__support { position: absolute; z-index: 5; right: var(--aslan-gutter); bottom: 2rem; max-width: 28rem; color: var(--aslan-light-muted); font-size: .8rem; }
  .aslan-connection-panel { z-index: 8; overflow: visible; }
  .aslan-connection-line { overflow: visible; white-space: nowrap; }
  .aslan-connection-prefix, .aslan-connection-word, .aslan-connection-portal { display: inline-block; }
  .aslan-connection-word { position: relative; transform-origin: center; will-change: transform; }

  .aslan-diagnosis__pin { background: var(--aslan-navy-deep); }
  .aslan-diagnosis .aslan-narrative { top: 52%; width: min(40rem, 42vw); }
  .aslan-diagnosis .aslan-narrative__panel > .aslan-diagnosis__intro-copy { max-width: 31rem; margin-top: 2rem; color: rgba(247,245,239,.8); font: 400 clamp(1rem, 1.25vw, 1.15rem)/1.55 var(--aslan-body); letter-spacing: 0; }
  .aslan-diagnosis .aslan-narrative__panel em { display: inline-block; transform-origin: center; }
  .aslan-diagnosis__visual-stage { position: absolute; z-index: 3; top: calc(var(--aslan-header-h) + 2.5rem); right: clamp(1rem, 3vw, 3rem); bottom: 2rem; left: 45%; margin: 0; overflow: hidden; border: 1px solid rgba(174,183,200,.13); border-radius: var(--aslan-radius-large); background: #091224; box-shadow: inset 0 0 5rem rgba(0,0,0,.22); contain: layout paint; pointer-events: none; }
  .aslan-diagnosis__canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
  .aslan-diagnosis__live-label { position: absolute; z-index: 2; top: 1rem; right: 1rem; display: grid; justify-items: end; gap: .16rem; color: var(--aslan-light-muted); font-size: .58rem; letter-spacing: .13em; line-height: 1.25; text-transform: uppercase; }
  .aslan-diagnosis__live-label span::before { content: ""; width: .42rem; height: .42rem; display: inline-block; margin-right: .45rem; border-radius: 50%; background: #b53856; box-shadow: 0 0 0 .28rem rgba(181,56,86,.12); vertical-align: .02rem; animation: aslan-diagnosis-live 1.8s ease-in-out infinite; }
  .aslan-diagnosis__live-label strong { color: #f7f5ef; font-weight: 500; }
  .aslan-diagnosis__visual-meta { position: absolute; z-index: 2; right: 0; bottom: 0; display: flex; align-items: center; gap: .75rem; padding: .6rem .75rem; border: 1px solid rgba(255,255,255,.16); border-radius: var(--aslan-radius-small); background: rgba(9,18,36,.78); color: var(--aslan-light-muted); font-size: .62rem; letter-spacing: .1em; line-height: 1; text-transform: uppercase; backdrop-filter: blur(10px); }
  .aslan-diagnosis__visual-meta span { color: #b53856; }
  .aslan-diagnosis__visual-meta strong { color: #f7f5ef; font-weight: 500; }
  @keyframes aslan-diagnosis-live { 0%, 100% { opacity: .45; transform: scale(.8); } 50% { opacity: 1; transform: scale(1); } }

  .aslan-method__pin { background: var(--aslan-bg); }
  .aslan-method__intro { position: absolute; z-index: 8; top: 24%; left: var(--aslan-gutter); width: min(31rem, 31vw); }
  .aslan-method__intro > p { margin-bottom: 1rem; color: var(--aslan-burgundy); }
  .aslan-method__intro h2 { font-size: clamp(2.8rem, 4.2vw, 5rem); }
  .aslan-method__system { position: absolute; z-index: 4; top: calc(var(--aslan-header-h) + 2.5rem); right: var(--aslan-gutter); bottom: 3rem; left: 34%; perspective: 1100px; perspective-origin: 50% 48%; visibility: visible; opacity: 1; }
  .aslan-method__stack { position: absolute; inset: 2.5rem 0 1.5rem; transform-style: preserve-3d; }
  .aslan-method__step { position: absolute; top: 50%; left: 0; width: 100%; height: clamp(10.5rem, 21vh, 13.5rem); display: grid; grid-template-columns: minmax(13rem, 1fr) minmax(10rem, .8fr) minmax(11rem, .9fr); align-items: center; gap: clamp(1rem, 2.2vw, 2.5rem); padding: clamp(1.1rem, 2vw, 1.8rem) clamp(1.25rem, 2.5vw, 2.4rem); overflow: hidden; border: 1px solid rgba(17,29,53,.17); border-radius: var(--aslan-radius-large); background: rgba(255,255,252,.88); box-shadow: 0 1.3rem 3rem rgba(17,29,53,.07); transform-origin: 50% 50%; transform-style: preserve-3d; opacity: .35; will-change: transform, opacity, filter; }
  .aslan-method__step.is-active { z-index: 8; border-color: rgba(181,56,86,.72); opacity: 1; box-shadow: 0 1.6rem 3.5rem rgba(122,31,53,.12); }
  .aslan-method__step-copy { position: relative; z-index: 2; }
  .aslan-method__step-copy > span, .aslan-method__output > span { color: var(--aslan-burgundy); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
  .aslan-method__step h3 { margin: .25rem 0 .7rem; font-size: clamp(1.75rem, 2.5vw, 3rem); }
  .aslan-method__step p { max-width: 21rem; color: var(--aslan-text-muted); font-size: clamp(.75rem, .9vw, .9rem); line-height: 1.45; }
  .aslan-method__target { position: relative; justify-self: center; width: clamp(6.5rem, 10vw, 9rem); aspect-ratio: 1; display: grid; place-items: center; }
  .aslan-method__target i { position: absolute; border: 1px solid rgba(17,29,53,.2); border-radius: 50%; }
  .aslan-method__target i:first-child { inset: 4%; }
  .aslan-method__target i:nth-child(2) { inset: 25%; border-color: rgba(181,56,86,.45); }
  .aslan-method__target b { width: .72rem; aspect-ratio: 1; border-radius: 50%; background: var(--aslan-burgundy); box-shadow: 0 0 0 .55rem rgba(181,56,86,.11); }
  .aslan-method__output { position: relative; z-index: 2; align-self: center; padding-left: clamp(1rem, 2vw, 2rem); border-left: 1px solid rgba(181,56,86,.35); }
  .aslan-method__output strong { display: block; margin-top: .5rem; font: 500 clamp(1rem, 1.45vw, 1.35rem)/1.15 var(--aslan-display); }
  .aslan-method__axis { position: absolute; z-index: 20; top: 0; bottom: 0; left: 52%; width: 1px; color: var(--aslan-burgundy); pointer-events: none; }
  .aslan-method__axis::before { content: ""; position: absolute; inset: 1.4rem 0; width: 1px; background: rgba(181,56,86,.72); transform-origin: top; }
  .aslan-method__axis > span, .aslan-method__axis > small { position: absolute; left: 50%; width: max-content; font-size: .6rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; transform: translateX(-50%); }
  .aslan-method__axis > span { top: 0; }
  .aslan-method__axis > small { bottom: 0; }
  .aslan-method__axis > i, .aslan-method__axis > b { position: absolute; left: 50%; border-radius: 50%; transform: translate(-50%, -50%); }
  .aslan-method__axis > i { top: 1.4rem; width: .5rem; aspect-ratio: 1; background: var(--aslan-burgundy); box-shadow: 0 0 0 .38rem rgba(181,56,86,.1); }
  .aslan-method__axis > b { top: 50%; width: .78rem; aspect-ratio: 1; border: 2px solid var(--aslan-burgundy); background: var(--aslan-bg); box-shadow: 0 0 0 .45rem rgba(181,56,86,.12); will-change: transform, top; }
  .aslan-method__closing { position: absolute; z-index: 24; bottom: 1.8rem; left: var(--aslan-gutter); width: min(30rem, 31vw); font: 500 clamp(1rem, 1.45vw, 1.3rem)/1.35 var(--aslan-display); visibility: visible; opacity: 1; }
  .aslan-scroll-scenes .aslan-method__system,
  .aslan-scroll-scenes .aslan-method__closing { visibility: hidden; opacity: 0; }
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__pin { min-height: auto; padding: 7rem var(--aslan-gutter); overflow: visible; }
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__intro,
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__system,
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__closing { position: relative; inset: auto; width: auto; transform: none; }
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__intro { margin-bottom: 4rem; }
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__system { min-height: 45rem; display: grid; gap: 1rem; perspective: none; }
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__stack { position: relative; inset: auto; display: grid; gap: 1rem; }
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__step { position: relative; top: auto; height: auto; min-height: 13rem; opacity: 1; transform: none !important; }
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__axis { display: none; }
  .aslan-js:not(.aslan-scroll-scenes):not(.aslan-reduced-motion) .aslan-method__closing { margin-top: 2rem; }

  .aslan-capabilities { position: relative; z-index: 2; min-height: 100svh; background: var(--aslan-bg); }
  .aslan-capability-map { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0 var(--aslan-gutter); }
  .aslan-capability-map__core { position: absolute; z-index: 3; top: 50%; left: 50%; width: clamp(7.5rem, 12vw, 11rem); aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--aslan-navy); color: #fff; text-align: center; transform: translate(-50%, -50%); box-shadow: 0 0 0 1.2rem var(--aslan-bg); }
  .aslan-capability { min-height: 27rem; display: grid; align-content: start; text-align: left; padding: clamp(1.5rem, 3vw, 3rem); border: 1px solid var(--aslan-border); border-radius: var(--aslan-radius-large); background: transparent; cursor: pointer; transition: color .35s, background .35s, transform .35s var(--aslan-ease); }
  .aslan-capability:hover, .aslan-capability:focus-visible { transform: translateY(-.25rem); }
  .aslan-capability:hover, .aslan-capability:focus-visible { background: var(--aslan-navy); color: #fff; }
  .aslan-capability > span { color: var(--aslan-burgundy); font-size: .7rem; }
  .aslan-capability small { margin: .4rem 0 2rem; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
  .aslan-capability strong { font: 500 clamp(1.8rem, 3vw, 3.4rem)/1 var(--aslan-display); letter-spacing: -.04em; }
  .aslan-capability__summary { display: block; max-width: 28rem; margin: auto 0 1.4rem; color: var(--aslan-text-muted); }
  .aslan-capability:hover .aslan-capability__summary, .aslan-capability:focus-visible .aslan-capability__summary { color: var(--aslan-light-muted); }
  .aslan-capability i { font-style: normal; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

  .aslan-work__pin { background: var(--aslan-navy-deep); }
  .aslan-work__controls { position: absolute; z-index: 8; top: calc(var(--aslan-header-h) + .7rem); right: var(--aslan-gutter); left: var(--aslan-gutter); display: grid; grid-template-columns: 1fr auto auto; align-items: end; gap: 2rem; pointer-events: none; }
  .aslan-work__controls > * { pointer-events: auto; }
  .aslan-work__controls h2 { margin-top: .3rem; font-size: clamp(2.2rem, 4vw, 4.5rem); }
  .aslan-work__actions { display: flex; gap: 1.3rem; }
  .aslan-work__actions button, .aslan-work__actions a { padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.35); border-radius: var(--aslan-radius-small); background: none; color: #fff; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
  .aslan-work__count { font: 500 1rem/1 var(--aslan-display); }
  .aslan-work__progress { grid-column: 1 / -1; height: 1px; background: rgba(255,255,255,.22); }
  .aslan-work__progress span { display: block; width: 25%; height: 2px; background: var(--aslan-burgundy); transform-origin: left; }
  .aslan-work__viewport { position: absolute; inset: 0; overflow: hidden; }
  .aslan-work__track { display: flex; height: 100%; will-change: transform; }
  .aslan-project { position: relative; isolation: isolate; flex: 0 0 100vw; height: 100%; padding: 10.5rem var(--aslan-gutter) 4rem; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr); align-items: center; gap: clamp(2rem, 6vw, 7rem); overflow: clip; }
  .aslan-project::before { content: ""; position: absolute; z-index: -2; inset: -3%; background: var(--aslan-project-image); background-position: center; background-size: cover; filter: blur(22px); opacity: .16; transform: scale(1.06); }
  .aslan-project::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(9,18,36,.45), rgba(9,18,36,.94)); }
  .aslan-project[data-project="carin"] { --aslan-project-image: url("../images/carin-concept-placeholder.webp"); }
  .aslan-project[data-project="monyra"] { --aslan-project-image: url("../images/monyra-concept-placeholder.webp"); }
  .aslan-project[data-project="diaco"] { --aslan-project-image: url("../images/diaco-decor-concept-placeholder.webp"); }
  .aslan-project[data-project="verified-project"] { --aslan-project-image: url("../images/connected-systems-concept.webp"); }
  .aslan-project__media { position: relative; height: min(62svh, 42rem); overflow: hidden; border-radius: var(--aslan-radius-large); }
  .aslan-project__media img { width: 100%; height: 100%; object-fit: cover; }
  .aslan-project__copy { max-width: 35rem; }
  .aslan-project__number, .aslan-project__category { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
  .aslan-project__category { margin: .8rem 0 1.4rem; color: var(--aslan-light-muted); }
  .aslan-project__copy h3 { font-size: clamp(3.2rem, 6vw, 7rem); }
  .aslan-project__copy > p:not(.aslan-project__number, .aslan-project__category) { margin: 1.2rem 0 1.8rem; color: var(--aslan-light-muted); }
  .aslan-project__copy dl { margin-bottom: 1.6rem; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: var(--aslan-radius-medium); }
  .aslan-project__copy dl div { display: grid; grid-template-columns: 5.5rem 1fr; gap: 1rem; padding: .7rem 1rem; border-bottom: 1px solid rgba(255,255,255,.13); font-size: .72rem; }
  .aslan-project__copy dl div:last-child { border-bottom: 0; }
  .aslan-project__copy dt { color: var(--aslan-light-muted); text-transform: uppercase; }

  .aslan-insights { position: relative; z-index: 2; padding-bottom: 8rem; background: var(--aslan-bg); }
  .aslan-insights__transition { min-height: 55svh; display: grid; place-content: center; gap: 1rem; padding: var(--aslan-gutter); text-align: center; }
  .aslan-insights__transition p { font: 500 clamp(1.8rem, 3.5vw, 4rem)/1.1 var(--aslan-display); letter-spacing: -.035em; }
  .aslan-insights__transition p:last-child { color: var(--aslan-text-muted); }
  .aslan-insight-list { margin: 0 var(--aslan-gutter) 4rem; }
  .aslan-insight { min-height: 70svh; display: grid; grid-template-columns: .22fr 1.25fr .65fr; align-items: center; gap: clamp(1.5rem, 5vw, 5rem); margin-top: 1rem; padding: 4rem clamp(1rem, 2.5vw, 2.5rem); border: 1px solid var(--aslan-border); border-radius: var(--aslan-radius-large); }
  .aslan-insight__number { align-self: start; color: var(--aslan-burgundy); font: 500 clamp(4rem, 9vw, 9rem)/.8 var(--aslan-display); letter-spacing: -.07em; }
  .aslan-insight__meta { margin-bottom: 1rem; color: var(--aslan-text-muted); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
  .aslan-insight h3 { max-width: 49rem; font-size: clamp(2.4rem, 4.5vw, 5rem); }
  .aslan-insight h3 + p { max-width: 42rem; margin: 1.4rem 0; color: var(--aslan-text-muted); }
  .aslan-insight blockquote { max-width: 38rem; margin: 1.3rem 0; padding-left: 1rem; border-left: 2px solid var(--aslan-burgundy); font-family: var(--aslan-display); }
  .aslan-insight button { padding: .65rem .8rem; border: 1px solid var(--aslan-text); border-radius: var(--aslan-radius-small); background: none; font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
  .aslan-insight__diagram { position: relative; aspect-ratio: 1; border: 1px solid var(--aslan-border); border-radius: 50%; }
  .aslan-insight__diagram i { position: absolute; top: 50%; left: 50%; width: 8px; aspect-ratio: 1; border-radius: 50%; background: var(--aslan-navy); }
  .aslan-insight__diagram i:nth-child(1) { transform: translate(-7rem, -3rem); }
  .aslan-insight__diagram i:nth-child(2) { transform: translate(4rem, -5rem); }
  .aslan-insight__diagram i:nth-child(3) { transform: translate(2rem, 4rem); }
  .aslan-insight__diagram span { position: absolute; top: 50%; left: 50%; width: 18px; aspect-ratio: 1; border-radius: 50%; background: var(--aslan-burgundy); transform: translate(-50%, -50%); box-shadow: 0 0 0 1.3rem rgba(122,31,53,.08); }
  .aslan-insights > .aslan-button { margin-left: var(--aslan-gutter); }

  .aslan-contact { position: relative; height: 100svh; min-height: 42rem; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: clamp(1.25rem, 2.6vh, 2.5rem); padding: calc(var(--aslan-header-h) + 1.25rem) var(--aslan-gutter) 2rem; overflow: clip; }
  .aslan-contact:has(.aslan-form:not([hidden])) { height: auto; min-height: 100svh; }
  .aslan-contact__path { position: absolute; inset: 0; opacity: .25; pointer-events: none; }
  .aslan-contact__path i { position: absolute; top: 56%; left: 50%; width: 1px; height: 45%; background: #fff; }
  .aslan-contact__path::before, .aslan-contact__path::after { content: ""; position: absolute; top: 62%; width: 38%; height: 1px; background: #fff; }
  .aslan-contact__path::before { left: 12%; transform: rotate(-12deg); transform-origin: right; }
  .aslan-contact__path::after { right: 12%; transform: rotate(12deg); transform-origin: left; }
  .aslan-contact__path span { position: absolute; top: calc(56% - 6px); left: calc(50% - 6px); width: 12px; aspect-ratio: 1; border-radius: 50%; background: var(--aslan-burgundy); }
  .aslan-contact__heading { position: relative; z-index: 2; max-width: 72rem; margin: 0 auto; text-align: center; }
  .aslan-contact__heading > p:nth-child(2) { margin: .75rem 0 .6rem; color: var(--aslan-light-muted); }
  .aslan-contact__heading h2 { margin-bottom: .85rem; font-size: clamp(2.6rem, 4.8vw, 5.5rem); }
  .aslan-contact__heading > p:last-child { max-width: 43rem; margin: auto; color: var(--aslan-light-muted); }
  .aslan-contact__choices { position: relative; z-index: 2; min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
  .aslan-contact__choices article { min-height: 0; display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.25rem, 2.5vw, 2.75rem); border: 1px solid rgba(255,255,255,.25); border-radius: var(--aslan-radius-large); background: rgba(9,18,36,.22); }
  .aslan-contact__choices article > span { color: var(--aslan-burgundy); font-size: .7rem; text-transform: uppercase; }
  .aslan-contact__choices h3 { margin: 1rem 0; font-size: clamp(2rem, 3.8vw, 4.5rem); }
  .aslan-contact__choices p { max-width: 36rem; color: var(--aslan-light-muted); }
  .aslan-contact__choices .aslan-button, .aslan-contact__links { margin-top: auto; }
  .aslan-contact__links { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
  .aslan-contact__links button, .aslan-contact__links a { padding: .6rem .75rem; border: 1px solid rgba(255,255,255,.45); border-radius: var(--aslan-radius-small); background: none; color: #fff; font-size: .72rem; text-decoration: none; text-transform: uppercase; cursor: pointer; }
  .aslan-pending-link { width: 100%; color: var(--aslan-light-muted) !important; font-size: .67rem; }
  .aslan-contact > *, .aslan-form { min-width: 0; }
  .aslan-form { position: relative; z-index: 3; width: 100%; margin-top: 2rem; padding: clamp(1.5rem, 4vw, 4rem); border-radius: var(--aslan-radius-large); background: #f7f5ef; color: var(--aslan-text); }
  .aslan-form[hidden] { display: none; }
  .aslan-form__header { display: flex; justify-content: space-between; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
  .aslan-form__progress { height: 4px; margin: 1rem 0 3rem; overflow: hidden; border-radius: 999px; background: var(--aslan-border); }
  .aslan-form__progress span { display: block; width: 33.333%; height: 100%; border-radius: inherit; background: var(--aslan-burgundy); transition: width .35s; }
  .aslan-form__step { display: none; padding: 0; border: 0; }
  .aslan-form__step.is-active { display: block; }
  .aslan-form legend { max-width: 48rem; margin-bottom: 2rem; font: 500 clamp(2rem, 4vw, 4rem)/1 var(--aslan-display); letter-spacing: -.04em; }
  .aslan-form__options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
  .aslan-form__options label { min-height: 6rem; position: relative; cursor: pointer; }
  .aslan-form__options input { position: absolute; opacity: 0; }
  .aslan-form__options span { height: 100%; display: flex; align-items: center; padding: 1rem; border: 1px solid var(--aslan-border); border-radius: var(--aslan-radius-small); }
  .aslan-form__options input:checked + span { background: var(--aslan-navy); color: #fff; border-color: var(--aslan-navy); }
  .aslan-form__honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
  .aslan-form__options input:focus-visible + span { outline: 2px solid var(--aslan-burgundy); outline-offset: 2px; }
  .aslan-form__step > label, .aslan-form__grid label { display: grid; gap: .55rem; margin-bottom: 1.1rem; font-size: .75rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
  .aslan-form label span { color: var(--aslan-text-muted); font-weight: 400; text-transform: none; }
  .aslan-form input, .aslan-form textarea, .aslan-form select { width: 100%; border: 1px solid var(--aslan-border); border-radius: var(--aslan-radius-small); padding: .9rem .85rem; background: rgba(255,255,255,.52); color: var(--aslan-text); resize: vertical; }
  .aslan-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 2rem; }
  .aslan-form__error { min-height: 1.6rem; margin-top: 1rem; color: var(--aslan-burgundy); font-size: .8rem; }
  .aslan-form__draft { width: 100%; min-height: 16rem; margin-top: 1.5rem; padding: 1rem; border: 1px solid var(--aslan-border); border-radius: var(--aslan-radius-medium); background: #fff; color: var(--aslan-text); }
  .aslan-form__actions { display: flex; justify-content: space-between; margin-top: 1rem; }
  .aslan-form__actions > button:first-child { padding: .65rem .8rem; border: 1px solid var(--aslan-border); border-radius: var(--aslan-radius-small); background: transparent; cursor: pointer; }

  .aslan-footer { position: relative; z-index: 2; display: grid; grid-template-columns: 1.2fr .7fr 1fr; gap: 3rem; padding: 5rem var(--aslan-gutter) 2rem; background: #050b16; color: #fff; }
  .aslan-footer > div:first-child { display: flex; align-items: center; gap: 1.2rem; }
  .aslan-footer p span { color: var(--aslan-light-muted); font-size: .78rem; }
  .aslan-footer nav, .aslan-footer__links { display: grid; gap: .5rem; align-content: start; }
  .aslan-footer a:not(.aslan-monogram), .aslan-footer button { width: fit-content; padding: .3rem .5rem; border: 0; border-radius: var(--aslan-radius-small); background: none; color: var(--aslan-light-muted); font-size: .78rem; text-decoration: none; cursor: pointer; transition: color .25s, background .25s; }
  .aslan-footer a:not(.aslan-monogram):hover, .aslan-footer button:hover { background: rgba(255,255,255,.08); color: #fff; }
  .aslan-footer__legal { grid-column: 1 / -1; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.12); color: var(--aslan-light-muted); font-size: .68rem; }
}

@layer utilities {
  [hidden] { display: none !important; }
  .aslan-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
}

@layer responsive {
  @media (max-width: 1024px) {
    :root { --aslan-gutter: clamp(1.25rem, 3.5vw, 2.5rem); }
    .aslan-hero__identity-block { width: 42vw; }
    .aslan-hero__content { width: 42vw; }
    .aslan-hero__visual { right: -5rem; width: 64vw; }
    .aslan-hero__impact { display: none; }
    .aslan-noise__support { display: none; }
    .aslan-method__intro { width: min(25rem, 32vw); }
    .aslan-method__step { width: 100%; grid-template-columns: minmax(11rem, 1fr) minmax(7rem, .62fr) minmax(9rem, .78fr); }
    .aslan-capability { min-height: 23rem; }
    .aslan-project { grid-template-columns: 1fr .8fr; gap: 2.5rem; }
    .aslan-project__media { height: 52svh; }
    .aslan-insight { grid-template-columns: .2fr 1fr .45fr; }
    .aslan-form__options { grid-template-columns: repeat(2, 1fr); }
  }

  @media (max-width: 800px) {
    :root { --aslan-header-h: 4.5rem; }
    .aslan-nav { position: static; inset: auto; pointer-events: auto; }
    .aslan-nav__toggle { position: relative; z-index: 2; min-width: 4rem; min-height: 2.75rem; display: flex; align-items: center; justify-content: flex-end; gap: .7rem; cursor: pointer; }
    .aslan-nav__toggle-label { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
    .aslan-nav__toggle-icon, .aslan-nav__toggle-icon::before { width: 1.2rem; height: 1px; display: block; background: currentColor; transition: transform .25s; }
    .aslan-nav__toggle-icon::before { content: ""; transform: translateY(5px); }
    .aslan-nav__toggle[aria-expanded="true"] .aslan-nav__toggle-icon { transform: rotate(45deg); }
    .aslan-nav__toggle[aria-expanded="true"] .aslan-nav__toggle-icon::before { transform: rotate(-90deg); }
    .aslan-nav__menu { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1rem; padding: 6rem var(--aslan-gutter); background: var(--aslan-navy-deep); color: #fff; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity .25s, visibility .25s; }
    .aslan-nav__menu.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
    .aslan-nav__menu a { font: 500 clamp(2.2rem, 9vw, 4rem)/1 var(--aslan-display); letter-spacing: -.04em; text-transform: none; }
    .aslan-nav__cta { position: static !important; margin-top: 1.5rem; font-size: 1rem !important; letter-spacing: .05em !important; text-transform: uppercase !important; transform: none; }
    .aslan-hero__pin { min-height: 100svh; }
    .aslan-hero__identity-block { top: 1.25rem; left: 1rem; width: calc(100% - 2rem); }
    .aslan-hero__name-lockup { gap: .5rem; }
    .aslan-hero__moving-logo { width: clamp(3.7rem, 13vw, 5.2rem); border-radius: var(--aslan-radius-medium); }
    .aslan-hero__first-name { font-size: clamp(2.6rem, 11vw, 4.4rem); }
    .aslan-hero__surname { height: auto; padding: 0 0 0 .75rem; }
    .aslan-hero__surname span { font-size: clamp(.8rem, 3.2vw, 1.1rem); letter-spacing: .13em; writing-mode: horizontal-tb; text-orientation: mixed; }
    .aslan-hero__identity-block > p { margin: .35rem 0 0 clamp(4.2rem, 15vw, 5.7rem); font-size: .58rem; line-height: 1.4; }
    .aslan-hero__visual { top: 5.8rem; right: -10vw; bottom: auto; width: min(92vw, 36rem); height: 54svh; }
    .aslan-hero__halo { top: 2%; left: 8%; width: 70%; }
    .aslan-hero__signature { right: 3%; bottom: 2%; width: 79%; }
    .aslan-hero__content { top: auto; right: 1rem; bottom: clamp(3.2rem, 6vh, 4.5rem); left: 1rem; width: min(34rem, calc(100% - 2rem)); }
    .aslan-hero__content h1 { max-width: 25rem; font-size: clamp(2.35rem, 8vw, 3.7rem); }
    .aslan-hero__content .aslan-lede { max-width: 30rem; margin: .8rem 0 1rem; font-size: clamp(.75rem, 2.2vw, .9rem); }
    .aslan-hero__actions { grid-template-columns: auto 1fr 1fr; gap: .7rem 1rem; }
    .aslan-hero__primary-action { grid-column: auto; width: 9.5rem; min-height: 3.2rem; }
    .aslan-hero__text-link { justify-self: start; font-size: .65rem; }
    .aslan-hero__impact { display: none; }
    .aslan-hero__signal-lines i:nth-child(1), .aslan-hero__signal-lines i:nth-child(2) { display: none; }
    .aslan-scroll-cue { display: none; }
    .aslan-narrative { height: clamp(20rem, 52vh, 28rem); }
    .aslan-channel-field { opacity: .72; }
    .aslan-diagnosis .aslan-narrative { top: 34%; width: min(36rem, calc(100% - var(--aslan-gutter) * 2)); }
    .aslan-diagnosis__visual-stage { top: 39%; right: -7%; bottom: 1.5rem; left: 14%; opacity: .82; }
    .aslan-diagnosis__visual-meta { right: 8%; }
    .aslan-method__intro { top: 6.8rem; width: calc(100% - var(--aslan-gutter) * 2); }
    .aslan-method__intro > p { margin-bottom: .55rem; font-size: .82rem; }
    .aslan-method__intro h2 { max-width: 38rem; font-size: clamp(2.4rem, 7.4vw, 3.7rem); }
    .aslan-method__system { top: 39%; right: var(--aslan-gutter); bottom: 3.2rem; left: var(--aslan-gutter); perspective: 800px; }
    .aslan-method__stack { inset: 1.5rem 0 1rem; }
    .aslan-method__step { width: 100%; height: auto; min-height: 15.5rem; grid-template-columns: 1fr; align-content: center; gap: .85rem; padding: 1.25rem; opacity: 0; pointer-events: none; }
    .aslan-method__step.is-active { opacity: 1; pointer-events: auto; }
    .aslan-method__step-copy { padding-right: 6.5rem; }
    .aslan-method__target { position: absolute; top: 1.25rem; right: 1.25rem; width: 5.5rem; opacity: .68; }
    .aslan-method__output { padding: .8rem 0 0; border-top: 1px solid rgba(181,56,86,.28); border-left: 0; }
    .aslan-method__axis { right: 4rem; left: auto; }
    .aslan-method__axis > span, .aslan-method__axis > small { display: none; }
    .aslan-method__closing { display: block; right: 1rem; bottom: 1.1rem; left: 1rem; font-size: .82rem; text-align: center; }
    .aslan-capability-map__core { display: none; }
    .aslan-capability { min-height: 21rem; }
    .aslan-work { background: var(--aslan-navy-deep); }
    .aslan-work__pin { min-height: auto !important; overflow: visible !important; }
    .aslan-work__controls { position: sticky; top: 0; grid-template-columns: 1fr auto; padding: 5.5rem 0 1rem; background: linear-gradient(var(--aslan-navy-deep) 78%, transparent); }
    .aslan-work__actions { display: none; }
    .aslan-work__count { grid-column: 2; grid-row: 1; }
    .aslan-work__progress { grid-row: 2; }
    .aslan-work__viewport { position: relative; overflow: visible; }
    .aslan-work__track { display: block; height: auto; transform: none !important; }
    .aslan-project { min-height: 100svh; height: auto; padding: 4rem var(--aslan-gutter); grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 2rem; border-bottom: 1px solid rgba(255,255,255,.2); scroll-snap-align: start; }
    .aslan-project__media { height: auto; aspect-ratio: 16/10; }
    .aslan-project__copy { max-width: 42rem; }
    .aslan-project::after { background: linear-gradient(180deg, rgba(9,18,36,.45), rgba(9,18,36,.95)); }
    .aslan-insight { min-height: auto; grid-template-columns: .18fr 1fr; padding: 4rem clamp(1rem, 2.5vw, 2.5rem); }
    .aslan-insight__diagram { display: none; }
    .aslan-contact { height: auto; min-height: 100svh; display: block; }
    .aslan-contact__heading { margin-bottom: 3rem; }
    .aslan-contact__choices { grid-template-columns: 1fr; }
    .aslan-contact__choices article { min-height: 22rem; }
    .aslan-footer { grid-template-columns: 1fr 1fr; }
    .aslan-footer > div:first-child { grid-column: 1 / -1; }
  }

  @media (max-width: 560px) {
    h2 { font-size: clamp(2.7rem, 12vw, 4.5rem); }
    .aslan-header { padding-inline: 1rem; }
    .aslan-hero__visual { top: 5.3rem; right: -18vw; width: 112vw; height: 50svh; }
    .aslan-hero__content { bottom: 2.1rem; }
    .aslan-hero__content h1 { font-size: clamp(2.15rem, 10.7vw, 3.25rem); }
    .aslan-hero__content .aslan-lede { display: block; max-width: 25rem; font-size: .72rem; line-height: 1.45; }
    .aslan-hero__actions { grid-template-columns: auto 1fr; gap: .65rem 1rem; }
    .aslan-hero__primary-action { grid-row: 1 / 3; width: 8.9rem; min-height: 3.5rem; }
    .aslan-hero__text-link { font-size: .58rem; }
    .aslan-hero__signal-lines i:nth-child(3), .aslan-hero__signal-lines i:nth-child(4) { opacity: .4; }
    .aslan-actions { gap: .55rem; }
    .aslan-button { min-height: 3rem; gap: .8rem; font-size: .68rem; }
    .aslan-section-index { left: 1rem; }
    .aslan-narrative { left: 1rem; width: calc(100% - 2rem); height: 24rem; transform: translateY(-50%); }
    .aslan-narrative--center { left: 50%; transform: translate(-50%, -50%); }
    .aslan-narrative__panel h2, .aslan-display-line { font-size: clamp(2.35rem, 11vw, 4rem); }
    .aslan-connection-line { font-size: clamp(1.65rem, 7.4vw, 3.2rem); }
    .aslan-narrative__panel > p:not(.aslan-display-line, .aslan-assumption) { font-size: clamp(1.55rem, 7vw, 2.4rem); }
    .aslan-stage-skip { right: 1rem; bottom: 1rem; }
    .aslan-channel-field { inset-inline: 0; }
    .aslan-channel { width: 6rem; }
    .aslan-diagnosis .aslan-narrative { top: 31%; height: 22rem; }
    .aslan-diagnosis .aslan-narrative__panel > .aslan-diagnosis__intro-copy { margin-top: 1.2rem; font-size: .82rem; line-height: 1.45; }
    .aslan-diagnosis .aslan-narrative__panel > small { margin-top: .8rem; font-size: .78rem; }
    .aslan-diagnosis__visual-stage { top: 43%; right: -20%; bottom: .5rem; left: 4%; opacity: .7; }
    .aslan-diagnosis__visual-meta { right: 18%; bottom: .5rem; }
    .aslan-method__intro { left: 1rem; width: calc(100% - 2rem); }
    .aslan-method__intro h2 { font-size: clamp(2.6rem, 11vw, 4rem); }
    .aslan-method__system { right: 1rem; left: 1rem; }
    .aslan-method__step h3 { font-size: 2.3rem; }
    .aslan-section-heading { padding: 6rem 1rem 3rem; }
    .aslan-capability-map { grid-template-columns: 1fr; margin-inline: 1rem; }
    .aslan-capability { min-height: 19rem; }
    .aslan-work__controls { right: 1rem; left: 1rem; }
    .aslan-project { min-height: auto; padding: 3rem 1rem 4rem; }
    .aslan-project__copy h3 { font-size: 3.7rem; }
    .aslan-insights__transition { min-height: 48svh; }
    .aslan-insight-list { margin-inline: 1rem; }
    .aslan-insight { grid-template-columns: 1fr; gap: 1.3rem; }
    .aslan-insight__number { font-size: 4.5rem; }
    .aslan-insight h3 { font-size: clamp(2.25rem, 11vw, 3.4rem); }
    .aslan-insights > .aslan-button { margin-left: 1rem; }
    .aslan-contact { padding: 7rem 1rem 4rem; }
    .aslan-contact__heading { text-align: left; }
    .aslan-contact__choices article { padding: 1.5rem; }
    .aslan-form { padding: 1.25rem; }
    .aslan-form__options, .aslan-form__grid { grid-template-columns: 1fr; }
    .aslan-form__options label { min-height: 4.5rem; }
    .aslan-overlay__content { padding-inline: 1rem; }
    .aslan-overlay__body { grid-template-columns: 1fr; gap: 2rem; }
    .aslan-project-index__grid { grid-template-columns: 1fr; }
    .aslan-footer { grid-template-columns: 1fr; padding: 4rem 1rem 2rem; }
    .aslan-footer > div:first-child, .aslan-footer__legal { grid-column: 1; }
  }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    .aslan-background { display: none; }
    .aslan-header { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
    [class$="__pin"] { min-height: auto; overflow: visible; }
    .aslan-hero__pin, .aslan-noise__pin, .aslan-diagnosis__pin, .aslan-method__pin { min-height: 100svh; }
    .aslan-narrative { position: relative; top: auto; left: auto; width: auto; height: auto; padding: 8rem var(--aslan-gutter); transform: none; }
    .aslan-narrative--center { transform: none; text-align: left; }
    .aslan-narrative__panel { position: relative; inset: auto; min-height: 38svh; visibility: visible; opacity: 1; filter: none; transform: none; }
    .aslan-narrative--center .aslan-narrative__panel { align-items: flex-start; }
    .aslan-channel-field { display: none; }
    .aslan-method__intro { position: relative; inset: auto; width: auto; margin: 0 0 3rem; }
    .aslan-method__system { position: relative; inset: auto; min-height: auto; margin: 0; opacity: 1; perspective: none; }
    .aslan-method__stack { position: relative; inset: auto; display: grid; gap: 1rem; }
    .aslan-method__axis { display: none; }
    .aslan-method__step, .aslan-method__step.is-active { position: relative; top: auto; height: auto; min-height: 13rem; opacity: 1; filter: none; transform: none !important; }
    .aslan-work__pin { min-height: auto; }
    .aslan-work__controls { position: sticky; }
    .aslan-hero__pin, .aslan-noise__pin, .aslan-diagnosis__pin { overflow: hidden !important; }
    .aslan-noise__pin, .aslan-diagnosis__pin { padding: 7rem var(--aslan-gutter) 4rem; }
    .aslan-channel-field { opacity: .12; }
    .aslan-diagnosis .aslan-narrative { top: auto; width: 100%; height: auto; }
    .aslan-diagnosis__visual-stage { position: relative; inset: auto; min-height: min(76vw, 38rem); margin: 2rem 0 0; opacity: 1; }
    .aslan-diagnosis__visual-meta { right: 0; }
    .aslan-narrative, .aslan-narrative--center { position: relative; top: auto; left: auto; width: 100%; height: auto; display: grid; gap: 1rem; transform: none; text-align: left; }
    .aslan-narrative__panel, .aslan-narrative__panel.is-active { position: relative; inset: auto; min-height: 12rem; padding: 2rem 0; align-items: flex-start; visibility: visible !important; opacity: 1 !important; filter: none !important; transform: none !important; pointer-events: auto !important; border-bottom: 1px solid rgba(255,255,255,.15); }
    .aslan-method__pin { min-height: auto; padding: 7rem var(--aslan-gutter); }
    .aslan-method__closing { position: relative; inset: auto; width: auto; margin-top: 2rem; }
    .aslan-method__system { display: block; max-width: 100%; }
    .aslan-method__step, .aslan-method__step.is-active { inset: auto !important; width: 100%; max-width: none; opacity: 1 !important; filter: none !important; pointer-events: auto; border: 1px solid var(--aslan-border); }
    .aslan-method__closing { position: relative; right: auto; bottom: auto; margin-top: 2rem; opacity: 1; }
    .aslan-work__viewport { position: relative; overflow: visible; }
    .aslan-work__track { display: block; height: auto; transform: none !important; }
    .aslan-project { min-height: 100svh; height: auto; }
  }
}
