
@layer tokens, base, snippet, layout, signature, sections, m-components, motion;

@layer tokens {
:root {
  --color-bg: #0c0717;
  --color-text: #f5f0ff;
  --color-accent: #8b5cf6;
  --color-muted: #b7a9d9;
  --color-surface: #1b112d;
  --color-border: #3c2b5f;
  --color-btn-bg: #f5f0ff;
  --color-btn-text: #120a1e;
  --font-display: 'Inter', sans-serif;
  --font-body: 'Inter', sans-serif;
  --text-hero: clamp(3rem, 11.5vw, 8.5rem);
  --text-heading: clamp(2.25rem, 6vw, 4.5rem);
  --text-display: clamp(1.35rem, 2.4vw, 2.125rem);
  --text-body: 1.0625rem;
  --text-small: 0.8125rem;
  --radius: 12px;
  --shadow-sm: 0 1px 2px rgba(13, 7, 24, 0.7);
  --shadow-md: 0 12px 32px rgba(13, 7, 24, 0.7);
  --shadow-lg: 0 32px 80px rgba(13, 7, 24, 0.82);
  --section-padding: 7.5rem;
  --container-width: 86rem;
  --container-padding: 1.5rem;
  --gap: 2rem;
  --gap-sm: 1rem;
  --gap-lg: 5rem;
  --btn-radius: 999px;
  --btn-pad-y: 0.9rem;
  --btn-pad-x: 1.9rem;
  --btn-weight: 600;
}
}

@layer base {
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
html, body { overflow-x: clip; max-width: 100%; }
body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: 1.55;
  background: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, video, svg { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
h1 { font-size: var(--text-hero); letter-spacing: -0.035em; }
h2 { font-size: var(--text-heading); }
h3 { font-size: var(--text-display); }
h4 { font-size: 1.125rem; }
h5 { font-size: 1rem; }
h6 { font-size: var(--text-small); text-transform: uppercase; letter-spacing: 0.08em; }
a { color: inherit; text-decoration: none; transition: opacity .2s ease, color .2s ease; }
a:hover { opacity: .75; }
.member-link { display: block; color: inherit; text-decoration: none; }
.member-link:hover { opacity: 1; }
ul, ol { list-style: none; }
figure { margin: 0; }
figcaption { font-size: var(--text-small); opacity: .7; margin-top: .5rem; }
dl dt { font-weight: 600; }
dl dd { opacity: .7; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
input, textarea, select {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  padding: .75rem 1rem;
  width: 100%;
  outline: none;
  transition: border-color .2s ease;
}
input:focus, textarea:focus, select:focus { border-color: var(--color-accent); }
hr { border: 0; height: 1px; background: var(--color-border); }
::selection { background: var(--color-accent); color: var(--color-bg); }
}

@layer snippet {
/* snippet: gallery.portfolio-rotate-scroll */
.prs {
  --prs-min-scale: 0.5;
  --prs-parallax: 10%;
  --prs-img-zoom: 1.22;
  --prs-card-w: 95vw;
  --prs-card-h: 90vh;
  --prs-card-gap: 8vh;
  --prs-duration: 0.12s;
  --prs-easing: linear;
  --prs-tilt: 18deg;

  /* Meta fade window, in --prs-away units (0 = card centred, 1 = at edge).
     The label stays fully opaque until the card drifts past --prs-meta-hold,
     then fades out, hitting 0 at --prs-meta-fade. Raise both values to move
     the same fade window closer to the top edge of the viewport. */
  --prs-meta-hold: 0.52;
  --prs-meta-fade: 0.76;

  padding: var(--section-padding) 0;
  background: var(--color-bg);
  color: var(--color-text);
  overflow: clip;
}

.prs__head {
  max-width: var(--container-width);
  margin: 0 auto calc(var(--gap-lg) * 1.5);
  padding: 0 var(--container-padding);
  text-align: center;
}

.prs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--prs-card-gap);
}

.prs__item {
  --prs-p: 0.5;
  --prs-away: max(calc(1 - 2 * var(--prs-p)), calc(2 * var(--prs-p) - 1));
  --prs-signed: calc(1 - 2 * var(--prs-p));
  --prs-this-tilt: var(--prs-tilt);

  width: var(--prs-card-w);
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  list-style: none;
}

.prs__item:nth-child(even) { --prs-this-tilt: calc(var(--prs-tilt) * -0.83); }

.prs__frame {
  display: block;
  margin: 0;
  width: 100%;
  height: var(--prs-card-h);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--color-surface);
  box-shadow: var(--shadow-md);

  scale: calc(1 - (1 - var(--prs-min-scale)) * var(--prs-away));
  rotate: calc(var(--prs-this-tilt) * var(--prs-signed));
  transform-origin: center center;
  transition:
    scale  var(--prs-duration) var(--prs-easing),
    rotate var(--prs-duration) var(--prs-easing);
  will-change: scale, rotate;
}

.prs .prs__frame > :is(a, div, picture) {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.prs .prs__frame img,
.prs .prs__frame picture > img,
.prs .prs__frame video {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  scale: var(--prs-img-zoom);
  translate: 0 calc(var(--prs-signed) * var(--prs-parallax));
  transition: translate var(--prs-duration) var(--prs-easing);
  will-change: translate;
}

.prs__meta {
  opacity: clamp(
    0,
    calc((var(--prs-meta-fade) - var(--prs-away)) / (var(--prs-meta-fade) - var(--prs-meta-hold))),
    1
  );
  transition: opacity var(--prs-duration) var(--prs-easing);
  padding: 0 var(--container-padding);
  text-align: center;
}

@media (max-width: 768px) {
  .prs { --prs-card-gap: 6vh; --prs-card-w: 92vw; --prs-card-h: 70vh; }
}

/* snippet: article.scroll-grow-text */
/* article.scroll-grow-text — locked mechanics */

.sgt {
  --sgt-from: 0.4;
  --sgt-progress: 0;

  position: relative;
  width: 100%;
  background: var(--color-bg);
  color: var(--color-text);
}

.sgt__stage {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--section-padding) var(--container-padding);
}

.sgt__inner {
  max-width: 42rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--gap);
  transform: scale(calc(var(--sgt-from) + (1 - var(--sgt-from)) * var(--sgt-progress)));
  transform-origin: center center;
  will-change: transform;
}

@media (max-width: 768px) {
  .sgt { --sgt-from: 0.55; }
  .sgt__inner { max-width: 100%; }
}

/* snippet: features.included-stack-reveal */
.isr {
  --isr-min-op: 0.2;
  --isr-rise:   30px;
  --isr-start:  90vh;
  --isr-end:    58vh;

  background: var(--color-bg);
  color: var(--color-text);
  padding: var(--section-padding) 0;
}

.isr__head,
.isr__cta,
.isr__stack > * {
  min-width: 0;
  overflow-wrap: break-word;
}

.isr__head > *,
.isr__cta > *,
.isr__stack > * > * {
  margin: 0;
  min-width: 0;
}

.isr__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap-sm);
  margin-bottom: var(--gap-lg);
}

.isr__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap-sm);
  margin-top: var(--gap-lg);
}

.isr__cta > :not(a, button) {
  flex: 1 0 100%;
}

.isr__stack {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}

.isr__stack > * {
  --isr-f: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: var(--gap-sm) var(--gap);
  align-items: start;
  margin: 0;
  padding: var(--gap) 0;
  border-top: 1px solid var(--color-border);
  opacity: calc(var(--isr-min-op) + (1 - var(--isr-min-op)) * var(--isr-f));
  transform: translateY(calc((1 - var(--isr-f)) * var(--isr-rise)));
  will-change: opacity, transform;
}

.isr__stack > *:first-child {
  border-top: 0;
  padding-top: 0;
}

.isr__stack > * > * {
  grid-column: 2;
}

.isr__stack > * > :is(h1, h2, h3, h4, h5, h6):first-of-type:not(:only-child),
.isr__stack > *:not(:has(> :is(h1, h2, h3, h4, h5, h6))) > :first-child:not(:only-child) {
  grid-column: 1;
  grid-row: 1;
}

.isr__stack > * > :only-child {
  grid-column: 1 / -1;
}

.isr__stack :is(img, svg, picture, video) {
  max-height: 2.5rem;
  width: auto;
}

@media (max-width: 768px) {
  .isr__head {
    margin-bottom: var(--gap);
  }
  .isr__cta {
    margin-top: var(--gap);
  }
  .isr__stack > * {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--gap-sm);
  }
}

@media (prefers-reduced-motion: reduce) {
  .isr__stack > * {
    --isr-f: 1 !important;
  }
}

/* snippet: cta.expand-reveal */
.cer {
  --cer-p: 0;
  --cer-media-w-min: 35%;
  --cer-media-w-max: 50%;
  --cer-media-h-min: 18vh;
  --cer-media-h-max: 50vh;
  --cer-btn-offset:  -50px;
  --cer-pin-height:  200vh;
  --cer-duration:    0.1s;
  --cer-easing:      linear;

  position: relative;
  height: var(--cer-pin-height);
  background: var(--color-bg);
  color: var(--color-text);
}

.cer__sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: var(--section-padding) var(--container-padding);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--gap);
  overflow: hidden;
}

.cer__line {
  text-align: center;
  color: var(--color-text);
}
.cer__line :where(h1, h2, h3, h4, p) {
  margin: 0;
}

.cer__row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap);
}

.cer__media {
  width:  calc(var(--cer-media-w-min) + (var(--cer-media-w-max) - var(--cer-media-w-min)) * var(--cer-p));
  height: calc(var(--cer-media-h-min) + (var(--cer-media-h-max) - var(--cer-media-h-min)) * var(--cer-p));
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--color-surface);
  transition: width var(--cer-duration) var(--cer-easing),
              height var(--cer-duration) var(--cer-easing);
  will-change: width, height;
}
.cer__media > video,
.cer__media > img,
.cer__media > picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cer__button-wrap {
  --cer-btn-p: max(0, calc((var(--cer-p) - 0.5) * 2));
  transform: translateX(calc((1 - var(--cer-btn-p)) * var(--cer-btn-offset)));
  opacity: var(--cer-btn-p);
  transition: transform var(--cer-duration) var(--cer-easing),
              opacity   var(--cer-duration) var(--cer-easing);
  will-change: transform, opacity;
}

.cer.is-fallback,
.cer.is-fallback .cer__sticky {
  height: auto;
}
.cer.is-fallback .cer__sticky {
  position: static;
  padding: var(--section-padding) var(--container-padding);
}
.cer.is-fallback .cer__media {
  width:  var(--cer-media-w-max);
  height: var(--cer-media-h-max);
  transition: none;
}
.cer.is-fallback .cer__button-wrap {
  transform: none;
  opacity: 1;
  transition: none;
}

@media (max-width: 1024px) {
  .cer {
    --cer-media-w-min: 50%;
    --cer-media-w-max: 65%;
    --cer-media-h-min: 16vh;
    --cer-media-h-max: 42vh;
  }
}

@media (max-width: 768px) {
  .cer {
    --cer-media-w-min: 60%;
    --cer-media-w-max: 80%;
    --cer-media-h-min: 14vh;
    --cer-media-h-max: 38vh;
    --cer-pin-height:  180vh;
  }
  .cer__row { flex-direction: column; }
}
}

@layer layout {
.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding)}
.section{padding:var(--section-padding) var(--container-padding)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-lg);align-items:center}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap)}
.stack{display:flex;flex-direction:column;gap:var(--gap)}
.stack-sm{display:flex;flex-direction:column;gap:var(--gap-sm)}
.flex-between{display:flex;align-items:center;justify-content:space-between;gap:var(--gap)}
.mb-sm{margin-bottom:var(--gap-sm)}
.mb{margin-bottom:var(--gap)}
.mb-lg{margin-bottom:var(--gap-lg)}
.text-center{text-align:center}
.text-muted{color:var(--color-muted)}

.m-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:999px;border:1px solid var(--color-border);background:transparent;color:var(--color-text);font-size:var(--text-body);line-height:1;cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease}


.m-btn-icon:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}


.m-card{background:color-mix(in srgb, var(--color-text) 6%, var(--color-bg));border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--gap);box-shadow:var(--shadow-sm);transition:border-color .3s ease,transform .4s ease}


.m-card:hover{border-color:color-mix(in srgb, var(--color-text) 35%, var(--color-border));transform:translateY(-4px)}
.member-link .m-card{height:100%}


.m-card-highlight{background:var(--color-accent);color:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius);padding:var(--gap);box-shadow:var(--shadow-md)}

.member-page{min-height:100vh;background:var(--color-bg);color:var(--color-text);padding:var(--section-padding) 0}
.member-page__inner{max-width:72rem;margin:0 auto;padding:0 var(--container-padding)}
.member-page__top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}
.member-page__back,.member-page__discord{display:inline-flex;align-items:center;justify-content:center;padding:0.85rem 1.4rem;border-radius:999px;border:1px solid var(--color-border);background:rgba(255,255,255,0.04);font-weight:600}
.member-page__card{display:grid;grid-template-columns:clamp(220px,30vw,340px) minmax(0,1fr);gap:2rem;align-items:center;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-text) 6%, var(--color-bg));border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-md)}
.member-page__portrait{width:100%;max-width:320px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;border:1px solid var(--color-border);background: rgba(255,255,255,0.08);margin:0 auto; position:relative;}
.member-page__photo{all:unset; display:block; width:100%; height:100%; position:relative; cursor:pointer;}
.member-page__photo img{width:100%;height:100%;object-fit:cover;display:block}
.member-page__credit{position:absolute;left:0;right:0;bottom:0;padding:.75rem 1rem;background:linear-gradient(to top, rgba(12,7,23,.9), rgba(12,7,23,0));color:var(--color-text);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(100%);transition:opacity .2s ease, transform .2s ease; pointer-events:none}
.member-page__photo.is-open .member-page__credit{opacity:1;transform:translateY(0)}
.member-page__content{display:flex;flex-direction:column;gap:1rem}
.member-page__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.5rem}
.member-page__meta div{padding:1rem;border:1px solid var(--color-border);border-radius:12px;background:rgba(255,255,255,0.02)}
.member-page__meta .m-caption{display:block;margin-bottom:.35rem;opacity:.7}
@media (max-width: 768px){
  .member-page__card{grid-template-columns:1fr; text-align:center;}
  .member-page__top{flex-direction:column;align-items:flex-start;}
  .member-page__meta{grid-template-columns:1fr;}
}


.m-nav{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:0.9rem var(--container-padding)}


.m-nav>*{max-width:var(--container-width);margin:0 auto}


.m-nav .nav-inner,.m-nav>ul,.m-nav>div{display:flex;align-items:center;justify-content:space-between;gap:var(--gap)}


.m-nav .logo{font-family:var(--font-display);font-size:var(--text-body);font-weight:800;letter-spacing:0.02em;text-transform:uppercase;color:var(--color-text);text-decoration:none}


.m-nav .nav-links{display:flex;align-items:center;gap:var(--gap);list-style:none}


.m-nav .nav-links a{font-family:var(--font-body);font-size:var(--text-small);font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--color-text);text-decoration:none;opacity:.75;transition:opacity .25s ease,color .25s ease}


.m-nav .nav-links a:hover{opacity:1;color:var(--color-accent)}


.m-nav .nav-toggle{display:none;position:relative;z-index:120;background:transparent;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);width:2.75rem;height:2.75rem;align-items:center;justify-content:center;font-size:var(--text-body);line-height:1;cursor:pointer}


.m-footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--gap-lg) var(--container-padding) var(--gap)}

.collab-section { border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); padding: calc(var(--section-padding) * .45) 0; background: var(--color-surface); }
.collab-section__inner { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr) minmax(0, 1.5fr); align-items: center; gap: var(--gap); }
.collab-section__inner > * { margin: 0; }
.collab-section__inner .m-heading { font-size: clamp(2rem, 4vw, 3.5rem); }
@media (max-width: 640px) { .collab-section__inner { grid-template-columns: 1fr; gap: var(--gap-sm); } }


.m-footer a{color:var(--color-text);text-decoration:none;opacity:.75;transition:opacity .25s ease,color .25s ease}


.m-footer a:hover{opacity:1;color:var(--color-accent)}


.m-section-alt{background:var(--color-surface);color:var(--color-bg)}


.m-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--color-border);border-radius:0;padding:0.9rem 0;font-family:var(--font-body);font-size:var(--text-body);color:var(--color-text);transition:border-color .3s ease}


.m-input::placeholder{color:var(--color-muted)}


.m-input:focus{outline:none;border-bottom-color:var(--color-accent)}


.m-toggle{position:relative;display:inline-flex;align-items:center;width:3.25rem;height:1.75rem;border-radius:999px;background:color-mix(in srgb, var(--color-text) 14%, var(--color-bg));border:1px solid var(--color-border);cursor:pointer;transition:background .3s ease}


.m-toggle::after{content:"";position:absolute;left:0.2rem;width:1.15rem;height:1.15rem;border-radius:999px;background:var(--color-text);transition:transform .3s ease,background .3s ease}


.m-toggle[aria-pressed="true"],.m-toggle.is-on{background:var(--color-accent);border-color:var(--color-accent)}


.m-toggle[aria-pressed="true"]::after,.m-toggle.is-on::after{transform:translateX(1.4rem);background:var(--color-bg)}


.m-tab{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--color-border);border-radius:999px;padding:0.55rem 1.25rem;font-family:var(--font-body);font-size:var(--text-small);font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-muted);cursor:pointer;transition:color .3s ease,border-color .3s ease,background .3s ease}


.m-tab:hover{color:var(--color-text)}


.m-tab[aria-selected="true"],.m-tab.is-active{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}


.m-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--color-border);color:var(--color-accent);font-size:var(--text-body);line-height:1}


.m-quote{font-family:var(--font-display);font-size:var(--text-display);font-weight:500;line-height:1.35;letter-spacing:-0.01em;border-left:2px solid var(--color-accent);padding-left:var(--gap);margin:0}


.m-accordion{border-top:1px solid var(--color-border);padding:var(--gap-sm) 0}


.m-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-sm);cursor:pointer;list-style:none;font-family:var(--font-display);font-size:var(--text-display);font-weight:600;letter-spacing:-0.01em;padding:var(--gap-sm) 0}


.m-accordion summary::-webkit-details-marker{display:none}


.m-accordion summary::after{content:"+";color:var(--color-accent);font-weight:400}


.m-accordion[open] summary::after{content:"–"}


.m-accordion p{max-width:52ch;opacity:.7;padding-bottom:var(--gap-sm)}
}

@layer signature {
.sig-wash{position:relative;overflow:hidden;border-radius:var(--radius)}
.sig-wash img{filter:saturate(1.15) contrast(1.05);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.sig-wash:hover img{transform:scale(1.05)}
.sig-wash::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, color-mix(in srgb, var(--color-bg) 80%, transparent) 100%);pointer-events:none}
.sig-red{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--color-accent)}
.sig-red img{mix-blend-mode:luminosity;opacity:.9}
.sig-outline{-webkit-text-stroke:1px var(--color-text);color:transparent}
.sig-rule{height:1px;width:100%;background:var(--color-border);border:0}
.sig-index{font-family:var(--font-display);font-size:var(--text-small);letter-spacing:0.2em;color:var(--color-muted)}
.sig-glow{text-shadow:0 0 40px color-mix(in srgb, var(--color-accent) 55%, transparent)}
.sig-ticker{display:flex;gap:var(--gap-lg);white-space:nowrap;overflow:hidden}
.sig-ticker>*{animation:sig-scroll 24s linear infinite}
@keyframes sig-scroll{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.sig-grid-lines{background-image:linear-gradient(to right, var(--color-border) 1px, transparent 1px);background-size:25% 100%}
.sig-stat{font-family:var(--font-display);font-size:var(--text-heading);font-weight:800;letter-spacing:-0.03em;line-height:1}
}

@layer sections {
/* section: section02 */
[data-generated-section="section02"].section02,[data-generated-section="section02"] .section02{background-image:linear-gradient(var(--color-border) 1px,transparent 1px),linear-gradient(90deg,var(--color-border) 1px,transparent 1px);background-size:4rem 4rem;background-position:center top}
[data-generated-section="section02"].section02-wordmark,[data-generated-section="section02"] .section02-wordmark{text-align:center}
[data-generated-section="section02"].section02-meta,[data-generated-section="section02"] .section02-meta{list-style:none;padding:0;margin:var(--gap-lg) 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);text-align:left}
[data-generated-section="section02"].section02-meta li,[data-generated-section="section02"] .section02-meta li{display:flex;flex-direction:column;gap:var(--gap-sm);align-items:center}
[data-generated-section="section02"].section02-meta li::before,[data-generated-section="section02"] .section02-meta li::before{content:"";display:block;width:1.25rem;height:1.25rem;border:1px solid var(--color-border);border-radius:var(--btn-radius);margin-bottom:var(--gap-sm)}
[data-generated-section="section02"].section02-media,[data-generated-section="section02"] .section02-media{position:relative;margin:var(--gap-lg) auto 0;max-width:78rem;height:clamp(16rem, 26vw, 30rem);overflow:hidden;border-radius:var(--radius)}
[data-generated-section="section02"].section02-media img,[data-generated-section="section02"] .section02-media img{display:block;width:100%;height:100%;object-fit:cover}
[data-generated-section="section02"].section02-media::after,[data-generated-section="section02"] .section02-media::after{content:"";position:absolute;inset:0;background:var(--color-accent);mix-blend-mode:color;opacity:.7;pointer-events:none}
[data-generated-section="section02"].section02-bar,[data-generated-section="section02"] .section02-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--gap);margin:var(--gap-lg) 0 0;padding-top:var(--gap-sm);border-top:1px solid var(--color-border)}
[data-generated-section="section02"].section02-bar-end,[data-generated-section="section02"] .section02-bar-end{justify-self:end;text-align:right}
[data-generated-section="section02"].section02-intro,[data-generated-section="section02"] .section02-intro{display:flex;flex-direction:column;align-items:center;gap:var(--gap);text-align:center;max-width:56rem;margin:var(--gap-lg) auto 0}
[data-generated-section="section02"].section02-lede,[data-generated-section="section02"] .section02-lede{display:block;max-width:36rem}
[data-generated-section="section02"].section02-steps,[data-generated-section="section02"] .section02-steps{list-style:none;position:relative;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;align-items:center;gap:var(--gap);margin:var(--gap-lg) 0 0;padding:0}
[data-generated-section="section02"].section02-steps::before,[data-generated-section="section02"] .section02-steps::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--color-border)}
[data-generated-section="section02"].section02-steps li,[data-generated-section="section02"] .section02-steps li{position:relative;background:var(--color-bg);padding:0 var(--gap-sm)}
[data-generated-section="section02"].section02-cards,[data-generated-section="section02"] .section02-cards{list-style:none;padding:0;margin:var(--gap-lg) 0 0;gap:0;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}
[data-generated-section="section02"].section02-card,[data-generated-section="section02"] .section02-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--gap-sm);padding:var(--gap-lg) var(--gap)}
[data-generated-section="section02"].section02-cards li + li,[data-generated-section="section02"] .section02-cards li + li{border-left:1px solid var(--color-border)}
[data-generated-section="section02"].section02-dots,[data-generated-section="section02"] .section02-dots{display:flex;gap:var(--gap-sm);margin-bottom:var(--gap-sm)}
[data-generated-section="section02"].section02-dots span,[data-generated-section="section02"] .section02-dots span{display:block;width:.4rem;height:.4rem;border-radius:var(--btn-radius);background:var(--color-muted)}
[data-generated-section="section02"].section02-thumbs,[data-generated-section="section02"] .section02-thumbs{display:flex;justify-content:center;margin:0 0 var(--gap-sm)}
[data-generated-section="section02"].section02-thumbs img,[data-generated-section="section02"] .section02-thumbs img{display:block;width:3rem;height:3rem;object-fit:cover;border-radius:var(--radius);border:1px solid var(--color-border)}
[data-generated-section="section02"].section02-thumbs img + img,[data-generated-section="section02"] .section02-thumbs img + img{margin-left:calc(var(--gap-sm) * -0.6)}
[data-generated-section="section02"].section02-desc,[data-generated-section="section02"] .section02-desc{display:block;max-width:32ch}
@media (max-width:820px){[data-generated-section="section02"].section02-meta,[data-generated-section="section02"] .section02-meta{grid-template-columns:1fr}[data-generated-section="section02"].section02-bar,[data-generated-section="section02"] .section02-bar{grid-template-columns:1fr;justify-items:center;text-align:center}[data-generated-section="section02"].section02-bar-end,[data-generated-section="section02"] .section02-bar-end{justify-self:center;text-align:center}[data-generated-section="section02"].section02-cards,[data-generated-section="section02"] .section02-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}[data-generated-section="section02"].section02-cards li + li,[data-generated-section="section02"] .section02-cards li + li{border-left:1px solid var(--color-border);border-top:0}}

/* section: section03 */
[data-generated-section="section03"].prs__frame,[data-generated-section="section03"] .prs__frame {
  border-radius: var(--radius);
}[data-generated-section="section03"].gal-img,[data-generated-section="section03"] .gal-img {
  border-radius: var(--radius);
}[data-generated-section="section03"].gal-head,[data-generated-section="section03"] .gal-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--gap-sm);
}[data-generated-section="section03"].gal-head .m-heading,[data-generated-section="section03"] .gal-head .m-heading {
  margin-top: var(--gap-sm);
}[data-generated-section="section03"].gal-head__intro,[data-generated-section="section03"] .gal-head__intro {
  margin: var(--gap-sm) 0 0;
}[data-generated-section="section03"].gal-meta,[data-generated-section="section03"] .gal-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: var(--gap-sm);
}[data-generated-section="section03"].gal-meta .m-display,[data-generated-section="section03"] .gal-meta .m-display {
  overflow-wrap: break-word;
}

/* section: section04 */
[data-generated-section="section04"].sgt,[data-generated-section="section04"] .sgt {
  background: linear-gradient(to right, var(--color-border), transparent) 0 0 / var(--gap-lg) var(--gap-lg) repeat,
    linear-gradient(to bottom, var(--color-border), transparent) 0 0 / var(--gap-lg) var(--gap-lg) repeat,
    var(--color-bg);
}[data-generated-section="section04"].about-figure,[data-generated-section="section04"] .about-figure {
  width: 100%;
  max-width: 26rem;
  overflow: clip;
  border-radius: var(--radius);
  margin: var(--gap) auto;
}[data-generated-section="section04"].about-figure img,[data-generated-section="section04"] .about-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius);
  filter: grayscale(1) contrast(1.05) brightness(0.95);
}[data-generated-section="section04"].about-statement,[data-generated-section="section04"] .about-statement {
  margin: 0 auto;
  overflow-wrap: break-word;
}[data-generated-section="section04"].about-copy,[data-generated-section="section04"] .about-copy {
  margin: 0 auto;
}[data-generated-section="section04"].about-cta,[data-generated-section="section04"] .about-cta {
  display: flex;
  justify-content: center;
  margin-top: var(--gap-sm);
}

/* section: section07 */
[data-generated-section="section07"].isr,[data-generated-section="section07"] .isr {
  background-color: var(--color-bg);
}[data-generated-section="section07"] li.exp-row {
  padding-top: var(--gap-sm);
  padding-bottom: var(--gap-sm);
}[data-generated-section="section07"].exp-row__title,[data-generated-section="section07"] .exp-row__title {
  overflow-wrap: break-word;
  margin: 0;
}[data-generated-section="section07"].exp-row__meta,[data-generated-section="section07"] .exp-row__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--gap-sm);
  width: 100%;
}[data-generated-section="section07"].exp-row__desc,[data-generated-section="section07"] .exp-row__desc {
  color: var(--color-muted);
  margin-top: var(--gap-sm);
  margin-bottom: 0;
}[data-generated-section="section07"].exp-cta__note,[data-generated-section="section07"] .exp-cta__note {
  color: var(--color-muted);
}[data-generated-section="section07"].exp-cta__link,[data-generated-section="section07"] .exp-cta__link {
  color: var(--color-text);
  text-decoration: underline;
}

/* section: section11 */
[data-generated-section="section11"].cta-portrait,[data-generated-section="section11"] .cta-portrait {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--radius);
}[data-generated-section="section11"].cta-outro,[data-generated-section="section11"] .cta-outro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-lg);
  width: 100%;
}[data-generated-section="section11"].cta-meta,[data-generated-section="section11"] .cta-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--gap);
  width: 100%;
}[data-generated-section="section11"].cta-meta__left,[data-generated-section="section11"] .cta-meta__left {
  text-align: left;
}[data-generated-section="section11"].cta-meta__right,[data-generated-section="section11"] .cta-meta__right {
  text-align: right;
}[data-generated-section="section11"].cta-meta__lead,[data-generated-section="section11"] .cta-meta__lead {
  color: var(--color-text);
}[data-generated-section="section11"].cta-outro__copy,[data-generated-section="section11"] .cta-outro__copy {
  margin: 0 auto;
  text-align: center;
  overflow-wrap: break-word;
}[data-generated-section="section11"].cta-social,[data-generated-section="section11"] .cta-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--gap);
  list-style: none;
  margin: 0;
  padding: 0;
}[data-generated-section="section11"].cta-social__link,[data-generated-section="section11"] .cta-social__link {
  color: var(--color-text);
  text-decoration: none;
}[data-generated-section="section11"].cta-social__link:hover,[data-generated-section="section11"] .cta-social__link:hover {
  color: var(--color-accent);
}
@media (max-width: 768px) {[data-generated-section="section11"].cta-outro,[data-generated-section="section11"] .cta-outro {
  gap: var(--gap);
}[data-generated-section="section11"].cta-meta,[data-generated-section="section11"] .cta-meta {
  flex-direction: column;
  align-items: center;
  gap: var(--gap-sm);
}[data-generated-section="section11"].cta-meta__left,[data-generated-section="section11"] .cta-meta__left, [data-generated-section="section11"].cta-meta__right,[data-generated-section="section11"] .cta-meta__right {
  text-align: center;
}[data-generated-section="section11"].cta-social,[data-generated-section="section11"] .cta-social {
  gap: var(--gap-sm);
}
}

/* section: section12 */
[data-generated-section="section12"].section12,[data-generated-section="section12"] .section12 { background-image: radial-gradient(circle, var(--color-border) 8%, transparent 9%); background-size: var(--gap-sm) var(--gap-sm); background-position: center; }
[data-generated-section="section12"].section12-inner,[data-generated-section="section12"] .section12-inner { display: flex; flex-direction: column; gap: var(--gap-sm); }
[data-generated-section="section12"].section12-mark,[data-generated-section="section12"] .section12-mark { text-align: center; }
[data-generated-section="section12"].section12-bar,[data-generated-section="section12"] .section12-bar { display: flex; justify-content: space-between; align-items: center; gap: var(--gap); padding-top: var(--gap-sm); }
[data-generated-section="section12"].section12-bar > *,[data-generated-section="section12"] .section12-bar > * { margin: 0; }
@media (max-width: 640px) { [data-generated-section="section12"].section12-bar,[data-generated-section="section12"] .section12-bar { flex-direction: column; align-items: flex-start; gap: var(--gap-sm); } }
}

@layer m-components {
.m-hero{font-family:var(--font-display);font-size:var(--text-hero);font-weight:800;line-height:0.86;letter-spacing:-0.035em;text-transform:uppercase;color:var(--color-text);margin:0}


.m-heading{font-family:var(--font-display);font-size:var(--text-heading);font-weight:800;line-height:0.92;letter-spacing:-0.025em;text-transform:uppercase;color:var(--color-text);margin:0}


.m-display{font-family:var(--font-display);font-size:var(--text-display);font-weight:600;line-height:1.2;letter-spacing:-0.01em;color:var(--color-text);margin:0}


.m-label{font-family:var(--font-body);font-size:var(--text-small);font-weight:500;line-height:1.1;letter-spacing:0.2em;text-transform:uppercase;color:var(--color-accent);margin:0}


.m-caption{font-family:var(--font-body);font-size:var(--text-small);font-weight:400;line-height:1.5;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-muted);margin:0}


.m-badge{display:inline-flex;align-items:center;gap:var(--gap-sm);font-family:var(--font-body);font-size:var(--text-small);font-weight:500;letter-spacing:0.14em;text-transform:uppercase;line-height:1;padding:0.5rem 0.9rem;border:1px solid var(--color-border);border-radius:999px;background:transparent;color:var(--color-text)}


.m-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-sm);background:var(--color-btn-bg);color:var(--color-btn-text);border:1px solid var(--color-btn-bg);border-radius:var(--btn-radius);padding:var(--btn-pad-y) var(--btn-pad-x);font-family:var(--font-body);font-weight:var(--btn-weight);font-size:var(--text-small);letter-spacing:0.12em;text-transform:uppercase;line-height:1;text-decoration:none;cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease,opacity .3s ease}


.m-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-btn-bg)}


.m-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-sm);background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--btn-radius);padding:var(--btn-pad-y) var(--btn-pad-x);font-family:var(--font-body);font-weight:var(--btn-weight);font-size:var(--text-small);letter-spacing:0.12em;text-transform:uppercase;line-height:1;text-decoration:none;cursor:pointer;transition:border-color .3s ease,color .3s ease,background .3s ease}


.m-btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent)}


.m-link{font-family:var(--font-body);font-weight:500;font-size:var(--text-small);letter-spacing:0.12em;text-transform:uppercase;color:var(--color-accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent);padding-bottom:2px;transition:border-color .3s ease,opacity .3s ease}


.m-link:hover{border-bottom-color:var(--color-accent);opacity:.8}

.m-section-alt { background: var(--color-surface); color: var(--color-bg); }
:is(.m-section-alt, .m-footer, .m-card-highlight) :is(.m-hero, .m-heading, .m-display, .m-label, .m-caption) { color: var(--color-bg); }
:is(.m-section-alt, .m-footer, .m-card-highlight) .m-card:not(.m-card-highlight) { color: var(--color-text); }
:is(.m-section-alt, .m-footer, .m-card-highlight) .m-card:not(.m-card-highlight) :is(.m-hero, .m-heading, .m-display, .m-label, .m-caption) { color: var(--color-text); }
}

@layer motion {
/* motion: text-scroll-fill */
[data-motion~="text-scroll-fill"] { --motion-progress: 0; color: var(--color-text); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  [data-motion~="text-scroll-fill"] {
    background-image: linear-gradient(90deg, var(--color-text) 0%, var(--color-text) calc(var(--motion-progress, 0) * 100%), var(--color-muted) calc(var(--motion-progress, 0) * 100%), var(--color-muted) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}

/* motion: stagger-rise */
[data-motion~="stagger-rise"] > * { opacity: 0; transform: translateY(var(--gap-sm)); transition: opacity 620ms ease, transform 620ms ease; }
[data-motion~="stagger-rise"].is-visible > * { opacity: 1; transform: translateY(0); }
[data-motion~="stagger-rise"].is-visible > *:nth-child(2) { transition-delay: 70ms; }
[data-motion~="stagger-rise"].is-visible > *:nth-child(3) { transition-delay: 140ms; }
[data-motion~="stagger-rise"].is-visible > *:nth-child(4) { transition-delay: 210ms; }
[data-motion~="stagger-rise"].is-visible > *:nth-child(5) { transition-delay: 280ms; }
[data-motion~="stagger-rise"].is-visible > *:nth-child(n+6) { transition-delay: 350ms; }

/* motion: reveal-up */
[data-motion~="reveal-up"] { opacity: 0; transform: translateY(var(--gap-sm)); transition: opacity 700ms ease, transform 700ms ease; }
[data-motion~="reveal-up"].is-visible { opacity: 1; transform: translateY(0); }

/* motion: 3d-tilt */
[data-motion~="3d-tilt"] {
  --tlt-max-deg: 12;
  --tlt-lift: 14px;
  position: relative;
  transform-style: preserve-3d;
  transform: perspective(900px) rotateX(0deg) rotateY(0deg) translateZ(0);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}
[data-motion~="3d-tilt"] .tlt__sheen {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(
    circle at var(--tlt-px, 50%) var(--tlt-py, 50%),
    color-mix(in srgb, var(--color-bg) 35%, transparent) 0%,
    transparent 45%
  );
  opacity: 0;
  transition: opacity 0.3s linear;
  mix-blend-mode: overlay;
}
[data-motion~="3d-tilt"].tlt--active .tlt__sheen {
  opacity: 1;
}
@media (hover: none) {
  [data-motion~="3d-tilt"] {
    transform: none;
  }
  [data-motion~="3d-tilt"] .tlt__sheen {
    display: none;
  }
}

/* motion: image-invert */
[data-motion~="image-invert"] img,
[data-motion~="image-invert"] picture > img {
  transition: filter 1400ms cubic-bezier(0.2, 0.7, 0.2, 1);
  will-change: filter;
}
[data-motion~="image-invert"]:hover img,
[data-motion~="image-invert"]:focus-within img,
[data-motion~="image-invert"]:hover picture > img,
[data-motion~="image-invert"]:focus-within picture > img {
  filter: invert(1);
}

/* motion: button-cursor-fill */
[data-motion~="button-cursor-fill"] {
  --bcf-duration: 0.55s;
  --bcf-easing: cubic-bezier(0.5, 0, 0.5, 1);
  --bcf-x: 50%;
  --bcf-y: 50%;
  --bcf-hover-bg: color-mix(in srgb, var(--color-accent) 28%, var(--color-btn-bg));
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: var(--btn-pad-y, 1.05rem) var(--btn-pad-x, 2.2rem);
  font-weight: var(--btn-weight, 600);
  line-height: 1;
  text-decoration: none;
  border-radius: var(--btn-radius, 999px);
  cursor: pointer;
  isolation: isolate;
  overflow: hidden;
  transition: color var(--bcf-duration) var(--bcf-easing);
}
:where([data-motion~="button-cursor-fill"]) {
  background: var(--color-btn-bg);
  color: var(--color-btn-text);
  border: 0;
  font-family: var(--font-body);
  font-size: var(--text-body);
  letter-spacing: -0.01em;
}
[data-motion~="button-cursor-fill"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bcf-hover-bg);
  clip-path: circle(0% at var(--bcf-x) var(--bcf-y));
  transition: clip-path var(--bcf-duration) var(--bcf-easing);
  z-index: -1;
  pointer-events: none;
}
[data-motion~="button-cursor-fill"] > * {
  position: relative;
  z-index: 1;
}
[data-motion~="button-cursor-fill"]:hover,
[data-motion~="button-cursor-fill"]:focus-visible {
  color: var(--color-btn-text);
  outline: none;
}
[data-motion~="button-cursor-fill"]:hover::before,
[data-motion~="button-cursor-fill"]:focus-visible::before {
  clip-path: circle(150% at var(--bcf-x) var(--bcf-y));
}
[data-motion~="button-cursor-fill"]:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

/* motion: link-underline-slide */
[data-motion~="link-underline-slide"] { background-image: linear-gradient(currentColor, currentColor); background-position: 0 100%; background-repeat: no-repeat; background-size: 0 1px; text-decoration: none; border-bottom: 0; padding-bottom: 0; transition: background-size 220ms ease; }
[data-motion~="link-underline-slide"]:hover, [data-motion~="link-underline-slide"]:focus-visible { background-size: 100% 1px; }
}

@media (max-width: 1024px){
.section{padding:calc(var(--section-padding) * 0.68) var(--container-padding)}
.grid-4{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(2,1fr)}
.split{gap:var(--gap)}
}
@media (max-width: 768px){
.section{padding:calc(var(--section-padding) * 0.5) var(--container-padding)}
.split,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:var(--gap)}
.flex-between{flex-direction:column;align-items:flex-start}
.nav-toggle{display:inline-flex}
.m-nav .nav-toggle{display:inline-flex}
.m-nav .nav-cta{display:none}
.m-nav .nav-links{
position:fixed;
inset:0;
width:100vw;
height:100vh;
height:100dvh;
background:var(--color-bg);
flex-direction:column;
justify-content:center;
align-items:center;
gap:1.5rem;
transform:translateY(-100%);
transition:transform .35s ease;
z-index:110;
padding:5rem 1.5rem;
}
.m-nav .nav-links.open{transform:translateY(0)}
.m-nav .nav-links a{font-size:var(--text-display);letter-spacing:0.08em;opacity:1}
.nav-toggle{position:relative;z-index:120}
.nav-toggle[aria-expanded="true"]{position:fixed;top:1rem;right:var(--container-padding);z-index:120}
.grid-5{grid-template-columns:1fr;gap:var(--gap)}
.m-card{padding:1.25rem}
}
@media (max-width: 640px){
[data-generated-section="section02"].section02-cards,[data-generated-section="section02"] .section02-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
[data-generated-section="section02"].section02-card,[data-generated-section="section02"] .section02-card{padding:1rem .45rem;gap:.5rem}
[data-generated-section="section02"].section02-steps,[data-generated-section="section02"] .section02-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
[data-generated-section="section02"].section02-steps::before,[data-generated-section="section02"] .section02-steps::before{display:none}
[data-generated-section="section02"].section02-dots,[data-generated-section="section02"] .section02-dots{justify-content:center}
[data-generated-section="section02"].section02-thumbs,[data-generated-section="section02"] .section02-thumbs{transform:scale(.82)}
}

.m-nav {
  z-index: 1000 !important;
}
[data-page-overlay] {
  z-index: 2000 !important;
}

@media (min-width: 769px) {
  .m-nav .nav-toggle {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .m-nav {
    z-index: 1000 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    transform: none !important;
    perspective: none !important;
  }
  .m-nav .nav-links {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    overflow-y: auto;
    z-index: 110 !important;
  }
  .nav-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1001 !important;
  }
  /* When the menu is open we lock body scroll, which breaks the sticky
     anchor on .m-nav if the user had scrolled before tapping the hamburger.
     Pin the toggle to the viewport via aria-expanded (universally set by
     the AI-generated nav script per the prompt rules). */
  .nav-toggle[aria-expanded="true"],
  body.nav-open .nav-toggle,
  body.nav-locked .nav-toggle {
    position: fixed !important;
    top: 1rem !important;
    right: var(--container-padding, 1rem) !important;
    z-index: 1001 !important;
  }
}

.m-footer {
  overflow: hidden !important;
  overflow: clip !important;
}
  