/* ============================================================
   Bllu Media
   Black, white, and the Bllu blue — used sparingly.
   System type. Nothing is fetched from a third party.
   ============================================================ */

:root{
  --black:#000;
  --near:#08090a;
  --raise:#0e0f11;
  --white:#fff;
  --accent:#4da3ff;
  --accent-soft:rgba(77,163,255,0.12);

  --line:rgba(255,255,255,0.10);
  --line-2:rgba(255,255,255,0.18);
  --text:rgba(255,255,255,0.92);
  --muted:rgba(255,255,255,0.62);
  --faint:rgba(255,255,255,0.38);

  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;

  --maxw:1180px;
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --nav-h:74px;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-2:cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
/* overflow-x here, not on body: setting only one axis on body forces the
   other to 'auto' per spec, which quietly turns body into its own scroll
   container separate from the page/window. That splits scrolling in two,
   confuses position:sticky's containing block, and reads on a device as
   dead, unscrollable space below the fold — exactly what this was doing. */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;}

body{
  font-family:var(--font);
  background:var(--black);
  color:var(--text);
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
body.locked{overflow:hidden;}

a{color:inherit;text-decoration:none;}
img,svg,video{display:block;max-width:100%;}
button,input,textarea,select{font:inherit;color:inherit;}
::selection{background:var(--accent-soft);color:var(--white);}
:focus-visible{outline:1px solid var(--accent);outline-offset:4px;border-radius:1px;}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
main{position:relative;z-index:1;flex:1 0 auto;}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:1rem;top:.7rem;z-index:300;background:var(--white);color:#000;padding:.6rem 1rem;border-radius:4px;}

/* Whole page settles in on load. */
/* ── Page transition ────────────────────────────────────── */
/* One veil, one language, used both ways: it covers the screen, then wipes
   away on arrival — and wipes back in before an internal link is actually
   followed, so navigating the site never hard-cuts between two black pages.
   Same clip-path grammar as the menu and the headlines, on purpose. */
/* Belt and suspenders: a fixed, full-viewport layer with an animated
   clip-path has a real compositing bug in some Chromium builds where it
   keeps painting as fully opaque even once computed style reports it fully
   clipped away — verified directly against a local build while building
   this. will-change avoids it in the common case; visibility is the
   fallback that can't be gotten wrong regardless of compositing state. The
   delay is asymmetric on purpose: covering the screen back up before a
   navigation has to become visible instantly, or the cover animation is
   invisible; uncovering on arrival should only flip to hidden once the wipe
   has actually finished, or the last frame of the wipe never shows. */
.veil{
  position:fixed;inset:0;z-index:400;background:var(--black);
  clip-path:inset(0 0 0 0);visibility:visible;
  transition:clip-path .7s var(--ease);
  will-change:clip-path;
  pointer-events:none;
}
.veil.out{
  clip-path:inset(0 0 100% 0);visibility:hidden;
  transition:clip-path .7s var(--ease),visibility 0s linear .7s;
}
@media (prefers-reduced-motion:reduce){
  .veil{transition:none;clip-path:inset(0 0 100% 0) !important;}
}

/* ── Header ─────────────────────────────────────────────── */
.header{
  position:fixed;top:0;left:0;right:0;z-index:220;
  transition:background .5s var(--ease-2),border-color .5s var(--ease-2),backdrop-filter .5s;
  border-bottom:1px solid transparent;
}
.header.solid{
  background:rgba(0,0,0,0.72);
  backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--line);
}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);}
.brand{display:inline-flex;align-items:center;gap:.65rem;letter-spacing:.01em;font-size:1.05rem;font-weight:400;}
.brand img{height:26px;width:auto;}
.brand b{font-weight:400;}
.brand i{color:var(--accent);font-style:normal;}

.nav{display:flex;align-items:center;gap:2.25rem;}
.nav a{
  font-size:.86rem;letter-spacing:.04em;color:var(--muted);
  position:relative;padding:.4rem 0;
  transition:color .4s var(--ease-2);
}
.nav a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:currentColor;transform:scaleX(0);transform-origin:right;
  transition:transform .55s var(--ease);
}
.nav a:hover{color:var(--text);}
.nav a:hover::after{transform:scaleX(1);transform-origin:left;}
.nav a[aria-current="page"]{color:var(--text);}
.nav a[aria-current="page"]::after{transform:scaleX(1);background:var(--accent);}

/* Hamburger — two rules that become an X. */
.burger{
  position:relative;z-index:210;
  width:44px;height:44px;margin-right:-10px;
  background:none;border:0;cursor:pointer;
  display:none;align-items:center;justify-content:center;
}
.burger span{
  position:absolute;left:12px;width:20px;height:1px;background:var(--white);
  transition:transform .6s var(--ease),opacity .3s var(--ease-2),width .6s var(--ease);
}
.burger span:nth-child(1){transform:translateY(-4px);}
.burger span:nth-child(2){transform:translateY(4px);width:13px;}
.burger[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){transform:rotate(-45deg);width:20px;}
@media (max-width:820px){
  .nav{display:none;}
  .burger{display:inline-flex;}
}

/* Full-screen menu. */
.menu{
  position:fixed;inset:0;z-index:200;
  background:var(--black);
  display:flex;flex-direction:column;justify-content:center;
  padding:0 var(--gutter);
  clip-path:circle(0 at calc(100% - var(--gutter) - 22px) 37px);
  transition:clip-path 1.05s var(--ease);
  pointer-events:none;
}
.menu.open{clip-path:circle(150vmax at calc(100% - var(--gutter) - 22px) 37px);pointer-events:auto;}
.menu ol{list-style:none;counter-reset:m;}
.menu li{overflow:hidden;}
.menu a{
  counter-increment:m;
  display:block;padding:.35rem 0;
  font-size:clamp(2.2rem,9vw,4.2rem);
  font-weight:300;letter-spacing:-.03em;line-height:1.18;
  color:var(--text);
  transform:translateY(105%);
  transition:transform .85s var(--ease),color .4s var(--ease-2);
}
.menu.open a{transform:translateY(0);}
.menu li:nth-child(1) a{transition-delay:.10s;}
.menu li:nth-child(2) a{transition-delay:.17s;}
.menu li:nth-child(3) a{transition-delay:.24s;}
.menu li:nth-child(4) a{transition-delay:.31s;}
.menu li:nth-child(5) a{transition-delay:.38s;}
.menu a::before{
  content:'0' counter(m);
  font-size:.7rem;letter-spacing:.2em;color:var(--faint);
  vertical-align:super;margin-right:1rem;font-weight:400;
}
.menu a:hover{color:var(--accent);}
.menu__foot{
  position:absolute;left:var(--gutter);right:var(--gutter);bottom:2.5rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);
  opacity:0;transition:opacity .5s var(--ease-2) .45s;
}
.menu.open .menu__foot{opacity:1;}

/* ── Type ───────────────────────────────────────────────── */
.eyebrow{
  font-family:var(--mono);
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--faint);
}
h1{font-size:clamp(2.6rem,7vw,5.2rem);font-weight:300;line-height:1.02;letter-spacing:-.035em;}
h2{font-size:clamp(1.7rem,3.6vw,2.8rem);font-weight:300;line-height:1.1;letter-spacing:-.025em;}
h3{font-size:1rem;font-weight:500;letter-spacing:-.005em;}
.lead{font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--muted);max-width:54ch;line-height:1.66;}
p{color:var(--muted);}
.prose p{margin-bottom:1.45rem;max-width:64ch;}
.prose p:last-child{margin-bottom:0;}
.prose--wide p{max-width:76ch;}
.rule{height:1px;background:var(--line);border:0;}

.section{padding:clamp(4rem,11vw,9rem) 0;}
.section--sm{padding:clamp(2.5rem,6vw,5rem) 0;}
.design-browse,.systems-examples,.about-capabilities{scroll-margin-top:calc(var(--nav-h) + 1rem);}
.head{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:clamp(2rem,5vw,3.5rem);}
.head .line{flex:1;height:1px;background:var(--line);transform:translateY(-.4rem);}

/* ── Buttons ────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:.85rem 1.6rem;border-radius:2px;
  font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;
  border:1px solid var(--line-2);
  position:relative;overflow:hidden;
  transition:color .45s var(--ease-2),border-color .45s var(--ease-2);
}
.btn::before{
  content:'';position:absolute;inset:0;background:var(--white);
  transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1;
}
.btn:hover{color:#000;border-color:var(--white);}
.btn:hover::before{transform:translateY(0);}
.btn span{position:relative;z-index:1;}
.btn--solid{background:var(--white);color:#000;border-color:var(--white);}
.btn--solid::before{background:var(--accent);}
.btn--solid:hover{color:#001528;border-color:var(--accent);}

/* ── Reveal ─────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal.in{opacity:1;transform:none;}
.reveal[data-d="1"]{transition-delay:.09s;}
.reveal[data-d="2"]{transition-delay:.18s;}
.reveal[data-d="3"]{transition-delay:.27s;}

/* Headlines wipe open rather than fade — the same clip-path language as the
   full-screen menu, so the "title card" moment reads as one considered
   system rather than a stock fade-up. */
h1.reveal{opacity:1;transform:none;clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease);will-change:clip-path;}
h1.reveal.in{clip-path:inset(0 0 0% 0);}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
  .reveal{opacity:1;transform:none;}
  h1.reveal{clip-path:none;}
  .menu a{transform:none;}
  html{scroll-behavior:auto;}
}

/* ── Video hero ─────────────────────────────────────────── */
.stage{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;}
.stage__media{position:absolute;inset:0;z-index:0;}
.stage__media video,.stage__media img{width:100%;height:100%;object-fit:cover;}
/* The footage is bright in places, so the scrim has to carry the type rather
   than merely tint the picture — weighted hard to the bottom where the copy
   sits, with a light wash up top so the header stays readable too. */
.stage__media::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.18) 26%,rgba(0,0,0,.55) 62%,rgba(0,0,0,.92) 100%),
    radial-gradient(120% 80% at 20% 100%,rgba(0,0,0,.6) 0%,transparent 60%);
}
.stage__body{position:relative;z-index:1;width:100%;padding-bottom:clamp(3rem,9vw,6rem);}
.stage h1{max-width:16ch;margin:1.4rem 0 1.6rem;}
.stage .lead{margin-bottom:2.2rem;}
.stage__actions{display:flex;gap:.75rem;flex-wrap:wrap;}
.stage__meta{
  display:flex;gap:2rem;flex-wrap:wrap;
  padding-top:1.5rem;margin-top:2.5rem;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);
}

/* ── Homepage passage ──────────────────────────────────── */
.home-journey{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(23rem,.88fr);background:#050607;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.home-journey__stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;}
.home-journey__media{position:absolute;inset:0;z-index:-2;background:#090a0c;}
.home-journey__media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,3,4,.42),rgba(2,3,4,.82)),linear-gradient(0deg,rgba(2,3,4,.82),transparent 56%);}
.home-journey__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:grayscale(1) contrast(1.08);transform:scale(1.06);transition:opacity .9s var(--ease-2),transform 1.4s var(--ease),filter 1.1s var(--ease-2);}
.home-journey__media img.is-current{opacity:1;filter:grayscale(.3) contrast(1.04);transform:scale(1);}
.home-journey__stage-copy{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(2.5rem,7vw,6rem);}
.home-journey__stage-copy h2{max-width:11ch;margin:1rem 0 clamp(2rem,5vw,4rem);font-size:clamp(3.2rem,6.8vw,7.2rem);line-height:.88;letter-spacing:-.065em;}
.home-journey__measure{width:min(28rem,74%);height:1px;background:var(--line-2);}.home-journey__measure i{display:block;width:25%;height:1px;background:var(--accent);transition:width .8s var(--ease);}
.home-journey__stage-copy>span{display:block;margin-top:.8rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.15em;color:var(--faint);}
.home-journey__chapters article{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,8rem) clamp(2rem,6vw,6rem);border-bottom:1px solid var(--line);opacity:.34;transition:opacity .7s var(--ease-2),background .7s var(--ease-2);}
.home-journey__chapters article.is-current{opacity:1;background:#0a0b0d;}
.home-journey__chapters span{font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
.home-journey__chapters h3{max-width:10ch;margin:clamp(4rem,9vw,8rem) 0 1.3rem;font-size:clamp(2.7rem,5vw,5.4rem);font-weight:300;line-height:.92;letter-spacing:-.055em;}
.home-journey__chapters p{max-width:32rem;line-height:1.75;}
.home-journey__chapters a{width:max-content;margin-top:1.5rem;padding-bottom:.32rem;border-bottom:1px solid var(--accent);font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;}

/* ── Selected design field ─────────────────────────────── */
.portfolio-tape{padding:clamp(4.5rem,9vw,8rem) 0 0;overflow:hidden;border-top:1px solid var(--line);}
.portfolio-tape__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:2rem 5rem;align-items:end;margin-bottom:clamp(2.5rem,6vw,4.5rem);}
.portfolio-tape__intro h2{margin-top:1rem;}
.portfolio-tape__copy>p{max-width:42rem;}
.portfolio-tape__actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.6rem;}
.motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.62rem;min-height:44px;padding:.75rem 1rem;border:1px solid var(--line-2);background:transparent;color:var(--muted);cursor:pointer;font:600 .58rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:border-color .35s var(--ease-2),color .35s var(--ease-2),background .35s var(--ease-2);}
.motion-toggle::before{content:"";width:.48rem;height:.48rem;border:1px solid currentColor;transition:background .35s var(--ease-2),border-color .35s var(--ease-2);}
.motion-toggle:hover,.motion-toggle:focus-visible{border-color:var(--accent);color:var(--text);outline:0;}
.motion-toggle[aria-pressed="true"]::before{border-color:var(--accent);background:var(--accent);}
.tape-row{overflow:hidden;border-top:1px solid var(--line);}
.tape-row:last-child{border-bottom:1px solid var(--line);}
.tape-track{display:flex;width:max-content;will-change:transform;animation:blluTapeLeft 72s linear infinite;}
.tape-row--right .tape-track{transform:translateX(-50%);animation-name:blluTapeRight;}
.tape-set{display:flex;flex:none;}
.tape-row .design-preview{border-right:1px solid var(--line);}
.portfolio-tape.is-paused .tape-track,.portfolio-tape.is-page-hidden .tape-track,.tape-row:focus-within .tape-track{animation-play-state:paused;}
@keyframes blluTapeLeft{to{transform:translateX(-50%);}}
@keyframes blluTapeRight{from{transform:translateX(-50%);}to{transform:translateX(0);}}
.portfolio-tape__field{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.design-preview{display:block;position:relative;width:clamp(13rem,22vw,20rem);flex:0 0 auto;background:var(--black);border-right:1px solid var(--line);}
.portfolio-tape__field .design-preview{width:auto;min-width:0;border-bottom:1px solid var(--line);}
.portfolio-tape__field .design-preview:nth-child(4n){border-right:0;}
.portfolio-tape__field .design-preview:nth-last-child(-n+4){border-bottom:0;}
.design-preview[hidden]{display:none;}
.design-preview__image{display:block;overflow:hidden;background:var(--near);}
.design-preview__image img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;transition:transform .7s var(--ease),opacity .4s var(--ease-2);}
.design-preview__meta{display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;align-items:center;min-height:62px;padding:.75rem .9rem;}
.design-preview__meta small{grid-column:1;font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
.design-preview__meta strong{grid-column:1;font-size:.86rem;font-weight:450;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.design-preview__meta i{grid-column:2;grid-row:1/3;font-family:var(--mono);font-size:.62rem;color:var(--accent);font-style:normal;}
.design-preview:hover .design-preview__image img,.design-preview:focus-visible .design-preview__image img{transform:scale(1.025);opacity:.82;}

/* ── Homepage development experience ──────────────────── */
.development-spotlight{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);min-height:clamp(35rem,58vw,49rem);background:#0e1510;color:var(--text);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.development-spotlight__media{position:relative;display:block;min-height:100%;overflow:hidden;background:#192119;}
.development-spotlight__media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 52%,rgba(7,10,8,.46));pointer-events:none;}
.development-spotlight__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.82);transition:transform 1.2s var(--ease),filter .8s var(--ease);}
.development-spotlight__media:hover img{transform:scale(1.025);filter:saturate(.85) brightness(.9);}
.development-spotlight__media span{position:absolute;z-index:1;left:1.4rem;bottom:1.3rem;font-family:var(--mono);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:#fff;}
.development-spotlight__copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(2rem,5vw,5rem);}
.development-spotlight__copy h2{max-width:9.5ch;margin:.8rem 0 1.4rem;font-size:clamp(2.8rem,5vw,5.6rem);font-weight:350;line-height:.92;letter-spacing:-.055em;}
.development-spotlight__copy>p:not(.eyebrow){max-width:31rem;margin:0 0 2rem;color:var(--muted);line-height:1.7;}

/* ── Page endcaps ──────────────────────────────────────── */
.site-endcap{position:relative;z-index:1;background:#f2f1ed;color:#070809;border-top:1px solid rgba(0,0,0,.14);}
.site-endcap__inner{display:grid;grid-template-columns:minmax(18rem,.78fr) minmax(0,1.22fr);gap:clamp(3rem,8vw,8rem);align-items:end;padding-top:clamp(4rem,9vw,7rem);padding-bottom:clamp(4rem,9vw,7rem);}
.site-endcap__copy h2{max-width:14ch;margin:1rem 0 1.3rem;}
.site-endcap__copy>p:not(.eyebrow){max-width:40rem;color:rgba(7,8,9,.64);}
.site-endcap .eyebrow{color:rgba(7,8,9,.48);}
.site-endcap__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.8rem;}
.site-endcap .btn{color:#070809;border-color:rgba(7,8,9,.25);}
.site-endcap .btn::before{background:#070809;}
.site-endcap .btn:hover{color:#fff;border-color:#070809;}
.site-endcap .btn--solid{background:#070809;color:#fff;border-color:#070809;}
.site-endcap .btn--solid::before{background:var(--accent);}
.site-endcap .btn--solid:hover{color:#001528;border-color:var(--accent);}
.endcap-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(7,8,9,.18);border:1px solid rgba(7,8,9,.18);}
.endcap-picks .design-preview{width:auto;min-width:0;background:#f2f1ed;border:0;color:#070809;}
.endcap-picks .design-preview__meta{min-height:70px;}
.endcap-picks .design-preview__meta small{color:rgba(7,8,9,.48);}
.endcap-picks .design-preview__meta strong{font-size:.78rem;}

/* Homepage close: two considered destinations, rather than a pair of buttons. */
.site-endcap--index{overflow:hidden;background:#f2f1ed;}
.index-endcap__inner{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);gap:clamp(3rem,8vw,8rem);align-items:end;padding-top:clamp(5rem,11vw,10rem);padding-bottom:clamp(5rem,10vw,9rem);}
.index-endcap__intro{position:relative;z-index:1;}
.index-endcap__intro h2{max-width:10ch;margin:1rem 0 1.4rem;font-size:clamp(3rem,5.3vw,5.65rem);letter-spacing:-.065em;line-height:.91;}
.index-endcap__intro>p:not(.eyebrow){max-width:31ch;color:rgba(7,8,9,.62);}
.index-endcap__paths{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:1px;background:rgba(7,8,9,.2);border:1px solid rgba(7,8,9,.2);}
.index-endcap__path{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(22rem,34vw,32rem);padding:clamp(1.15rem,2.3vw,2rem);overflow:hidden;color:#f7f7f4;background:#0a0b0d;transition:color .5s var(--ease-2),background .5s var(--ease-2);}
.index-endcap__path:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;}
.index-endcap__path--design img{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:88% center;filter:grayscale(1) contrast(1.1);transform:scale(1.28);transition:transform 1.2s var(--ease),filter .8s var(--ease-2);}
.index-endcap__wash{position:absolute;z-index:-2;inset:0;background:linear-gradient(145deg,rgba(3,5,8,.94) 2%,rgba(3,5,8,.72) 52%,rgba(77,163,255,.38) 100%);transition:background .8s var(--ease-2);}
.index-endcap__path--contact{background:#070809;}
.index-endcap__path--contact::before{content:"";position:absolute;z-index:-2;inset:-35% -28%;background:radial-gradient(circle at 72% 50%,rgba(77,163,255,.3),transparent 16%),radial-gradient(circle at 68% 58%,rgba(77,163,255,.12),transparent 42%);opacity:.8;transition:transform .9s var(--ease),opacity .7s var(--ease-2);}
.index-endcap__signal{position:absolute;z-index:-1;right:-6%;bottom:6%;display:grid;gap:clamp(.8rem,1.8vw,1.45rem);width:72%;transform:rotate(-31deg);opacity:.65;transition:transform .9s var(--ease),opacity .7s var(--ease-2);}
.index-endcap__signal i{display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(77,163,255,.2) 11%,var(--accent) 44%,transparent 92%);transform-origin:right;}
.index-endcap__signal i:nth-child(1){width:84%;}.index-endcap__signal i:nth-child(2){width:100%;}.index-endcap__signal i:nth-child(3){width:69%;}.index-endcap__signal i:nth-child(4){width:91%;}
.index-endcap__number,.index-endcap__path-copy,.index-endcap__arrow{position:relative;z-index:1;}
.index-endcap__number{font-family:var(--mono);font-size:.62rem;letter-spacing:.15em;color:rgba(247,247,244,.58);}
.index-endcap__path-copy{display:grid;gap:.72rem;max-width:17rem;}
.index-endcap__path-copy small{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,247,244,.62);}
.index-endcap__path-copy strong{font-size:clamp(1.25rem,2.25vw,2.15rem);font-weight:420;line-height:1.02;letter-spacing:-.045em;}
.index-endcap__arrow{position:absolute;right:clamp(1.15rem,2.3vw,2rem);bottom:clamp(1.15rem,2.3vw,2rem);font-family:var(--mono);font-size:1.1rem;color:var(--accent);transition:transform .55s var(--ease);}
.index-endcap__path--design:hover img{transform:scale(1.34);filter:grayscale(.2) contrast(1.04);}
.index-endcap__path--design:hover .index-endcap__wash{background:linear-gradient(145deg,rgba(3,5,8,.84) 2%,rgba(3,5,8,.5) 55%,rgba(77,163,255,.42) 100%);}
.index-endcap__path--contact:hover::before{transform:translate3d(-7%,-3%,0) scale(1.12);opacity:1;}
.index-endcap__path--contact:hover .index-endcap__signal{transform:rotate(-31deg) translate3d(-7%,0,0);opacity:1;}
.index-endcap__path:hover .index-endcap__arrow{transform:translate3d(4px,-4px,0);}

@media (max-width:820px){
  .portfolio-tape__intro,.site-endcap__inner,.index-endcap__inner{grid-template-columns:1fr;}
  .site-endcap__inner,.index-endcap__inner{align-items:start;}
  .index-endcap__intro h2{max-width:13ch;}
  .portfolio-tape__field{grid-template-columns:repeat(2,minmax(0,1fr));}
  .portfolio-tape__field .design-preview:nth-child(4n){border-right:1px solid var(--line);}
  .portfolio-tape__field .design-preview:nth-child(2n){border-right:0;}
  .portfolio-tape__field .design-preview:nth-last-child(-n+4){border-bottom:1px solid var(--line);}
  .portfolio-tape__field .design-preview:nth-last-child(-n+2){border-bottom:0;}
}
@media (max-width:600px){
  .portfolio-tape{padding-top:4rem;}
  .portfolio-tape__actions{align-items:stretch;}
  .portfolio-tape__actions .btn{flex:1 1 100%;justify-content:center;text-align:center;}
  .motion-toggle{display:none;}
  .tape-row{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;}
  .tape-row::-webkit-scrollbar{display:none;}
  .tape-track,.tape-row--right .tape-track{animation:none;transform:none;will-change:auto;}
  .tape-set[aria-hidden="true"]{display:none;}
  .tape-row .design-preview{width:min(78vw,20rem);scroll-snap-align:start;}
  .design-preview{width:auto;}
  .design-preview__meta{min-height:58px;padding:.65rem .7rem;}
  .endcap-picks{margin:0 calc(var(--gutter) * -1);border-left:0;border-right:0;overflow:hidden;}
  .endcap-picks .design-preview[data-pick-position="3"]{display:none;}
  .endcap-picks{grid-template-columns:repeat(2,minmax(0,1fr));}
  .site-endcap__actions .btn{flex:1 1 100%;justify-content:center;text-align:center;}
  .index-endcap__inner{gap:2.5rem;padding-top:4.5rem;padding-bottom:4.5rem;}
  .index-endcap__paths{grid-template-columns:1fr;}
  .index-endcap__path{min-height:19rem;}
  .index-endcap__path--contact{min-height:17rem;}
  .development-spotlight{grid-template-columns:1fr;min-height:auto;}
  .development-spotlight__media{min-height:27rem;}
  .development-spotlight__copy{padding:3.5rem 1.25rem;}
  .development-spotlight__copy h2{font-size:clamp(2.8rem,13vw,4.4rem);}
}

@media (prefers-reduced-motion:reduce){
  .home-journey__media img{transition:none;transform:none;}
  .home-journey__chapters article{opacity:1;transition:none;}
  .tape-track,.tape-row--right .tape-track{animation:none;transform:none;will-change:auto;}
  .tape-set[aria-hidden="true"]{display:none;}
  .motion-toggle{display:none;}
  .index-endcap__path,.index-endcap__path--design img,.index-endcap__wash,.index-endcap__path--contact::before,.index-endcap__signal,.index-endcap__arrow{transition:none;}
}

@media (max-width:900px),(max-height:600px){
  .home-journey{grid-template-columns:1fr;}
  .home-journey__stage{position:relative;height:78svh;}
  .home-journey__chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-journey__chapters article{min-height:31rem;padding:3rem var(--gutter);opacity:1;}
  .home-journey__chapters h3{margin:5rem 0 1rem;}
}
@media (max-width:600px){
  .home-journey__stage{height:72svh;min-height:32rem;}
  .home-journey__stage-copy h2{font-size:clamp(3rem,14vw,4.6rem);}
  .home-journey__chapters{grid-template-columns:1fr;}
  .home-journey__chapters article{min-height:auto;padding:4.5rem var(--gutter);}
  .home-journey__chapters h3{margin:3rem 0 1rem;font-size:clamp(2.7rem,13vw,4rem);}
  .portfolio-tape__field{grid-template-columns:1fr;}
  .portfolio-tape__field .design-preview{border-right:0!important;border-bottom:1px solid var(--line)!important;}
  .portfolio-tape__field .design-preview:last-child{border-bottom:0!important;}
}

/* ── Layout blocks ──────────────────────────────────────── */
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,5rem);align-items:start;}
@media (max-width:860px){
  .split{grid-template-columns:1fr;}
  .contact-form-panel{order:-1;}
}

.figure{overflow:hidden;background:var(--raise);}
.figure img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.4s var(--ease);}
.figure:hover img{transform:scale(1.03);}

.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.5rem,1.4vw,1rem);}
.tile{aspect-ratio:4/5;overflow:hidden;background:var(--raise);}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),opacity .8s var(--ease-2);}
.tile:hover img{transform:scale(1.04);}
.tile:nth-child(2){margin-top:clamp(1rem,4vw,3rem);}
@media (max-width:700px){
  .tiles{grid-template-columns:repeat(2,1fr);}
  .tile:nth-child(3){display:none;}
}

.facts{display:grid;gap:0;border-top:1px solid var(--line);}
.facts div{display:grid;grid-template-columns:minmax(0,10rem) minmax(0,1fr);gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--line);}
.facts dt{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);padding-top:.2rem;}
.facts dd{color:var(--text);font-size:.98rem;}
@media (max-width:600px){.facts div{grid-template-columns:1fr;gap:.35rem;}}

/* ── About, connected rather than narrated ───────────────── */
.about-page>.container>.section:first-child{padding:clamp(7rem,10vw,9rem) 0 clamp(3rem,5vw,4rem);}
.about-page>.container>.rule+.section{padding:clamp(3rem,7vw,5rem) 0;}
.about-brief>.eyebrow{margin-bottom:1rem;}
.about-brief h2{max-width:15ch;margin-bottom:1.8rem;}
.about-brief .prose a{color:var(--text);border-bottom:1px solid var(--accent);transition:color .3s var(--ease-2),border-color .3s var(--ease-2);}
.about-brief .prose a:hover{color:var(--accent);border-color:transparent;}
.about-profile{margin-top:2.2rem;border-top:1px solid var(--line);}
.about-profile section{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1.2rem;padding:1rem 0;border-bottom:1px solid var(--line);}
.about-profile h3{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:500;padding-top:.2rem;}
.about-profile p{font-size:.87rem;color:var(--muted);}
.capability-index{border-top:1px solid var(--line);}
.capability-row{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;gap:1.25rem;align-items:center;min-height:108px;border-bottom:1px solid var(--line);transition:background .4s var(--ease-2),padding .55s var(--ease);}
.capability-row:hover{padding-left:1rem;padding-right:1rem;background:var(--near);}
.capability-row__number{font-family:var(--mono);font-size:.62rem;color:var(--accent);}
.capability-row>span:nth-child(2){display:grid;gap:.2rem;}
.capability-row strong{font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:350;}
.capability-row small{font-size:.86rem;color:var(--muted);}
.capability-row>i{font-style:normal;color:var(--accent);font-size:1.15rem;}

/* ── Systems bridge ─────────────────────────────────────── */
.systems-bridge{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(135deg,#060708 0%,#0b0d10 100%);}
.systems-bridge__inner{padding-top:clamp(3.5rem,7vw,5.5rem);padding-bottom:clamp(3.5rem,7vw,5.5rem);}
.systems-bridge__inner>.eyebrow{margin-bottom:1.25rem;}
.systems-bridge__body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr);gap:clamp(2rem,7vw,7rem);align-items:start;}
.systems-bridge__body h2{max-width:16ch;}
.systems-bridge__copy>p{max-width:43rem;}
.systems-bridge__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.8rem;}

/* ── Systems page ───────────────────────────────────────── */
.systems-editorial-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);gap:1.5rem clamp(3rem,8vw,7rem);align-items:end;padding-top:clamp(7rem,10vw,8.5rem);padding-bottom:clamp(3rem,6vw,5rem);}
.systems-editorial-hero::before{content:'';position:absolute;right:0;top:clamp(6rem,9vw,8rem);width:min(31vw,23rem);height:1px;background:linear-gradient(90deg,transparent,var(--accent));opacity:.62;pointer-events:none;}
.systems-editorial-hero>.eyebrow,.systems-editorial-hero>.systems-terms{grid-column:1/-1;}
.systems-editorial-hero h1{position:relative;z-index:1;max-width:11ch;margin:.75rem 0 0;font-size:clamp(3.2rem,6.5vw,6.3rem);}
.systems-editorial-hero__lower{display:grid;gap:1.5rem;align-content:end;padding-bottom:.45rem;}
.systems-editorial-hero__lower .lead{max-width:43rem;}
.systems-hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;}
.systems-terms{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(1.5rem,4vw,3rem);background:var(--line);border:1px solid var(--line);}
.systems-terms div{display:grid;gap:.4rem;padding:1.1rem 1.15rem;background:linear-gradient(135deg,var(--black),var(--near));transition:background .35s var(--ease-2);}
.systems-terms div:hover{background:var(--raise);}
.systems-terms dt{font-family:var(--mono);font-size:.53rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.systems-terms dd{font-size:.82rem;color:var(--text);}
.systems-friction{padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(3.5rem,7vw,6rem);}
.systems-friction__intro{max-width:42rem;margin:-1.2rem 0 clamp(2rem,4vw,3rem);}
.systems-friction__grid{border-top:1px solid var(--line);}
.systems-friction__item{position:relative;display:grid;grid-template-columns:8rem minmax(15rem,.8fr) minmax(16rem,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:center;padding:clamp(1.45rem,2.7vw,2.15rem) 3rem clamp(1.45rem,2.7vw,2.15rem) 0;border-bottom:1px solid var(--line);transition:padding .55s var(--ease),background .4s var(--ease-2);}
.systems-friction__item::after{content:'';position:absolute;right:.25rem;top:50%;width:1.5rem;height:1px;background:var(--accent);transform:translateY(-50%) scaleX(.55);transform-origin:right;opacity:.55;transition:transform .4s var(--ease),opacity .4s var(--ease-2);}
.systems-friction__item:hover{padding-left:1rem;background:var(--near);}
.systems-friction__item:hover::after{transform:translateY(-50%) scaleX(1);opacity:1;}
.systems-friction__item>span{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.systems-friction__item h3{max-width:22ch;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:300;line-height:1.14;letter-spacing:-.025em;}
.systems-friction__item p{max-width:35rem;font-size:.87rem;color:var(--muted);}
.systems-close{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,.78fr);gap:clamp(2.5rem,8vw,8rem);align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.systems-close__heading .eyebrow{margin-bottom:1rem;}
.systems-close h2{max-width:17ch;}
.systems-close__body>p{max-width:38rem;}
.systems-close__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.6rem;}

@media (max-width:980px){
  .systems-bridge__body{grid-template-columns:1fr;}
  .systems-editorial-hero{grid-template-columns:1fr;}
  .systems-editorial-hero>.eyebrow,.systems-editorial-hero>.systems-terms{grid-column:auto;}
  .systems-close{grid-template-columns:1fr;gap:1.5rem;}
  .systems-friction__item{grid-template-columns:6.5rem minmax(13rem,.8fr) minmax(14rem,1fr);gap:1.5rem;}
}
@media (max-width:700px){
  .capability-row{grid-template-columns:2.2rem minmax(0,1fr) auto;min-height:94px;gap:.75rem}.capability-row small{font-size:.76rem}
  .systems-editorial-hero{padding-top:6.5rem;gap:1.25rem;}
  .systems-editorial-hero h1{font-size:clamp(3rem,15vw,4.4rem);}
  .systems-bridge__actions .btn,.systems-hero__actions .btn,.systems-close__actions .btn{flex:1 1 100%;justify-content:center;text-align:center}
  .systems-terms{grid-template-columns:1fr;}
  .systems-friction__item{grid-template-columns:1fr;gap:.5rem;padding:1.35rem 2.5rem 1.35rem 0;}
  .systems-friction__item:hover{padding-left:.5rem;}
  .systems-friction__item h3{margin:.35rem 0 .2rem;}
  .about-profile section{grid-template-columns:1fr;gap:.45rem}
}
/* ── Design archive ─────────────────────────────────────── */
.design-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(17rem,.8fr);gap:2rem 5rem;align-items:end;}
.design-page .design-intro{padding:clamp(7rem,10vw,9rem) 0 clamp(3rem,6vw,5rem);}
.design-intro>.eyebrow{grid-column:1/-1;}
.design-intro h1{max-width:13ch;margin:0;}
.design-intro__copy{align-self:end;padding-bottom:.4rem;}
.design-disclosure{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--faint);}
.design-commerce{margin-top:.8rem;font-size:.82rem;color:var(--faint);}.design-commerce a{color:var(--text);border-bottom:1px solid var(--accent);}.design-commerce a:hover{color:var(--accent);border-color:transparent;}
.design-jump{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;margin-top:1.2rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.design-jump span{color:var(--accent);transition:transform .35s var(--ease);}
.design-jump:hover{color:var(--text);}
.design-jump:hover span{transform:translateY(3px);}
.design-browse .head{align-items:center;}
.design-count{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);white-space:nowrap;}
.design-browser{margin-bottom:2.5rem;border:1px solid var(--line);background:var(--near);}
.design-browser__tools{display:grid;grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--line);}
.design-search{display:grid;gap:.35rem;padding:1rem 1.2rem;}
.design-search label{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
.design-search input{width:100%;border:0;background:transparent;color:var(--text);font-size:1rem;outline:0;}
.design-search input::placeholder{color:var(--faint);}
.design-search:focus-within{box-shadow:inset 0 -1px var(--accent);}
.design-random{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-width:15rem;padding:1rem 1.2rem;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;text-align:left;}
.design-random i{font-style:normal;color:var(--accent);}
.design-random:hover{background:var(--accent-soft);color:var(--text);}
.design-filters{display:flex;gap:.5rem;flex-wrap:wrap;padding:1rem 1.2rem;}
.design-filters button,.design-device button,.design-screens button{
  min-height:44px;padding:.55rem .9rem;border:1px solid var(--line);background:transparent;color:var(--muted);
  cursor:pointer;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  transition:color .35s var(--ease-2),border-color .35s var(--ease-2),background .35s var(--ease-2);
}
.design-filters button{display:inline-flex;align-items:center;gap:.55rem;}
.design-filters button span{color:var(--faint);font-size:.54rem;}
.design-filters button:hover,.design-device button:hover,.design-screens button:hover{color:var(--text);border-color:var(--line-2);}
.design-filters button[aria-pressed="true"],.design-device button[aria-pressed="true"],.design-screens button[aria-pressed="true"]{
  color:#001528;background:var(--accent);border-color:var(--accent);
}
.design-filters button[aria-pressed="true"] span{color:rgba(0,21,40,.65);}
.design-page-index{display:flex;margin:-1rem 0 2.5rem;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:none;}
.design-page-index[hidden]{display:none;}
.design-page-index::-webkit-scrollbar{display:none;}
.design-page-index button{min-width:7rem;min-height:48px;flex:1 0 auto;padding:.7rem 1rem;border:0;border-right:1px solid var(--line);background:none;color:var(--faint);cursor:pointer;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;}
.design-page-index button:first-child{border-left:1px solid var(--line);}
.design-page-index button:hover{color:var(--text);}
.design-page-index button[aria-current="page"]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 -1px var(--accent);}
.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem);}
.design-card{min-width:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer;}
.design-card__frame{display:block;position:relative;overflow:hidden;background:var(--near);border:1px solid var(--line);}
.design-card__frame::before{content:'';position:absolute;inset:0;z-index:1;border:1px solid transparent;transition:border-color .45s var(--ease-2);pointer-events:none;}
.design-card__frame img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;pointer-events:none;transition:transform .8s var(--ease),opacity .45s var(--ease-2);}
.design-card:hover .design-card__frame::before,.design-card:focus-visible .design-card__frame::before{border-color:var(--accent);}
.design-card:hover .design-card__frame img{transform:scale(1.025);opacity:.9;}
.design-card:focus-visible{outline:2px solid var(--accent);outline-offset:5px;}
.design-card__body{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem .05rem 0;}
.design-card__body>span:first-child{display:grid;gap:.3rem;}
.design-card__body small{font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);}
.design-card__body strong{font-size:.95rem;font-weight:450;}
.design-card__body em{font-family:var(--mono);font-size:.53rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-style:normal;}
.design-card__number{font-family:var(--mono);font-size:.67rem;color:var(--accent);padding-top:.12rem;}
.design-empty{padding:3rem 1.5rem;border:1px solid var(--line);text-align:center;}
.design-empty[hidden],.design-pager[hidden]{display:none;}
.design-empty button{min-height:44px;margin-top:1rem;padding:.65rem 1rem;border:1px solid var(--line-2);background:none;color:var(--text);cursor:pointer;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;}
.design-pager{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-top:clamp(2.5rem,5vw,4rem);padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.design-pager button{min-height:44px;padding:.6rem .2rem;border:0;background:none;color:var(--muted);cursor:pointer;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;}
.design-pager button:hover:not(:disabled){color:var(--accent);}
.design-pager button:disabled{opacity:.28;cursor:not-allowed;}
.design-pager>span{font-family:var(--mono);font-size:.6rem;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);text-align:center;}

@media (min-width:981px){
  .design-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .design-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,2fr) minmax(15rem,.72fr);border:1px solid var(--line);background:var(--near);}
  .design-card:first-child .design-card__frame{border:0;border-right:1px solid var(--line);}
  .design-card:first-child .design-card__body{display:grid;grid-template-columns:1fr auto;align-content:end;padding:clamp(1.4rem,3vw,2.25rem);}
  .design-card:first-child .design-card__body>span:first-child{gap:.65rem;}
  .design-card:first-child .design-card__body strong{font-size:clamp(1.35rem,2.2vw,2rem);font-weight:350;line-height:1.1;white-space:normal;}
  .design-card:first-child .design-card__body em{font-size:.58rem;}
  .design-card:first-child .design-card__number{font-size:.9rem;}
}
.design-viewer{width:min(1500px,calc(100% - 2rem));max-width:none;height:min(92dvh,940px);max-height:none;padding:0;border:1px solid var(--line-2);background:#050607;color:var(--text);overflow:hidden;}
.design-viewer::backdrop{background:rgba(0,0,0,.9);backdrop-filter:blur(10px);}
.design-viewer__top{height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.4rem;border-bottom:1px solid var(--line);}
.design-viewer__top>div{display:flex;align-items:baseline;gap:1rem;min-width:0;}
.design-viewer__number{font-family:var(--mono);font-size:.59rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);white-space:nowrap;}
.design-viewer__top strong{font-size:1rem;font-weight:450;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.design-viewer__close{min-width:44px;min-height:44px;border:0;background:none;color:var(--muted);cursor:pointer;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;}
.design-viewer__close:hover{color:var(--text);}
.design-viewer__body{display:grid;grid-template-columns:280px minmax(0,1fr);height:calc(100% - 68px);}
.design-viewer__aside{display:flex;flex-direction:column;gap:1.25rem;padding:1.4rem;border-right:1px solid var(--line);overflow:auto;}
.design-viewer__meta{display:grid;gap:.45rem;padding-bottom:1rem;border-bottom:1px solid var(--line);}
.design-viewer__meta span:first-child{font-size:.9rem;color:var(--text);}
.design-viewer__meta span:last-child{font-family:var(--mono);font-size:.58rem;line-height:1.6;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);}
.design-device{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.design-device button{background:#050607;border:0;}
.design-screens{display:grid;gap:.4rem;}
.design-screens button{text-align:left;}
.design-inquire{width:100%;justify-content:center;text-align:center;margin-top:.25rem;padding-inline:.7rem;}
.design-related{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--line);}
.design-related>div{display:grid;margin-top:.7rem;}
.design-related button{display:grid;grid-template-columns:2.2rem 1fr;gap:.35rem;align-items:baseline;padding:.5rem 0;border:0;background:none;color:var(--muted);cursor:pointer;text-align:left;font-size:.76rem;}
.design-related button:hover{color:var(--text);}
.design-related button span{font-family:var(--mono);font-size:.59rem;color:var(--accent);}
.design-stage{position:relative;display:grid;place-items:center;min-width:0;overflow:hidden;padding:clamp(1rem,3vw,2.5rem) clamp(3rem,5vw,5rem);background:#0a0b0c;}
.design-stage__screen{width:min(100%,1180px);height:min(74dvh,800px);box-shadow:0 28px 70px rgba(0,0,0,.48);border:1px solid rgba(255,255,255,.15);background:#fff;overflow:hidden;transition:width .5s var(--ease),height .5s var(--ease),border-radius .5s var(--ease),border-width .5s var(--ease);}
.design-stage__screen iframe{display:block;width:100%;height:100%;border:0;background:#fff;}
.design-stage__screen[data-preview-device="tablet"]{width:min(820px,88vw);height:min(74dvh,900px);border:7px solid #17191b;border-radius:18px;}
.design-stage__screen[data-preview-device="mobile"]{width:min(390px,76vw);height:min(74dvh,780px);border:7px solid #17191b;border-radius:24px;}
.design-arrow{position:absolute;top:50%;z-index:2;width:42px;height:42px;transform:translateY(-50%);border:1px solid var(--line-2);border-radius:50%;background:rgba(0,0,0,.68);color:var(--text);cursor:pointer;font-size:1rem;}
.design-arrow:hover{border-color:var(--accent);color:var(--accent);}
.design-arrow--prev{left:.75rem;}
.design-arrow--next{right:.75rem;}
.design-stage__note{position:absolute;left:50%;bottom:.65rem;transform:translateX(-50%);font-family:var(--mono);font-size:.55rem;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);white-space:nowrap;}
.design-stage__status{position:absolute;z-index:4;left:50%;bottom:2rem;max-width:min(34rem,calc(100% - 6rem));margin:0;padding:.65rem .85rem;transform:translateX(-50%);border:1px solid var(--line-2);border-radius:999px;background:rgba(3,4,5,.88);color:var(--text);font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;text-align:center;text-transform:uppercase;opacity:1;transition:opacity .25s var(--ease-2);}
.design-stage__status:empty{opacity:0;pointer-events:none;}

@media (max-width:980px){
  .design-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .design-viewer{height:calc(100dvh - 1rem);width:calc(100% - 1rem);}
  .design-viewer__body{grid-template-columns:230px minmax(0,1fr);}
}
@media (max-width:700px){
  .design-intro{grid-template-columns:1fr;}
  .design-intro>.eyebrow{grid-column:auto;}
  .design-intro h1{margin-top:.7rem;}
  .design-page .design-intro{padding:6.5rem 0 3.5rem;}
  .design-browser__tools{grid-template-columns:1fr;}
  .design-random{min-width:0;border-left:0;border-top:1px solid var(--line);}
  .design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .65rem;}
  .design-card__body{gap:.45rem;padding-top:.65rem;}
  .design-card__body small{font-size:.5rem;letter-spacing:.1em;}
  .design-card__body strong{max-width:100%;font-size:.79rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .design-card__body em{display:none;}
  .design-card__number{font-size:.58rem;}
  .design-filters{flex-wrap:nowrap;overflow-x:auto;padding:1rem;margin-right:0;scrollbar-width:none;}
  .design-filters::-webkit-scrollbar{display:none;}
  .design-filters button{white-space:nowrap;}
  .design-pager{grid-template-columns:auto 1fr auto;gap:.45rem;}
  .design-pager button{font-size:.55rem;}
  .design-pager>span{font-size:.5rem;letter-spacing:.07em;}
  .design-viewer{width:100%;height:100dvh;border:0;}
  .design-viewer__top{height:62px;padding:0 1rem;}
  .design-viewer__top>div{display:grid;gap:.15rem;}
  .design-viewer__body{display:flex;flex-direction:column;height:calc(100% - 62px);overflow:auto;}
  .design-viewer__aside{overflow:visible;border-right:0;border-bottom:1px solid var(--line);padding:1rem;gap:.9rem;}
  .design-viewer__meta{grid-template-columns:auto 1fr;gap:.7rem;align-items:baseline;padding-bottom:.75rem;}
  .design-screens{display:flex;gap:.4rem;overflow-x:auto;}
  .design-screens button{white-space:nowrap;}
  .design-related{display:none;}
  .design-stage{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:1rem 2.8rem 2rem;overflow:visible;}
  .design-stage:has(.design-stage__screen[data-preview-device="mobile"]){justify-content:flex-start;}
  .design-stage__screen{height:min(70dvh,760px);}
  .design-stage__screen[data-preview-device="tablet"]{width:min(820px,84vw);}
  .design-stage__screen[data-preview-device="mobile"]{width:min(390px,76vw);}
  .design-arrow{width:36px;height:36px;}
  .design-arrow--prev{left:.4rem;}
  .design-arrow--next{right:.4rem;}
  .design-stage__note{bottom:.35rem;width:calc(100% - 1.5rem);font-size:.46rem;line-height:1.45;text-align:center;white-space:normal;}
  .design-stage__status{bottom:1.7rem;max-width:calc(100% - 5rem);font-size:.48rem;}
}

/* ── Design archive / editorial experience ────────────── */
.design-page{overflow:hidden;--faint:rgba(255,255,255,.5);}
.design-page .design-intro{
  position:relative;min-height:100svh;padding:clamp(7rem,10vw,9rem) 0 clamp(2rem,4vw,3.5rem);
  display:grid;grid-template-columns:minmax(0,.95fr) minmax(28rem,1.05fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;
}
.design-intro::before{
  content:'59';position:absolute;z-index:-1;left:-.06em;top:50%;transform:translateY(-51%);
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.045);font-size:clamp(20rem,42vw,40rem);font-weight:700;line-height:.75;letter-spacing:-.1em;pointer-events:none;
}
.design-intro__statement{position:relative;z-index:2;}
.design-intro__statement .eyebrow{margin-bottom:clamp(1.5rem,3vw,2.5rem);}
.design-intro__statement h1{max-width:11ch;font-size:clamp(3.35rem,4.8vw,5rem);}
.design-intro__statement h1 em{display:inline;color:var(--white);font-style:normal;}
.design-intro__lead{max-width:37rem;margin-top:clamp(1.5rem,3vw,2.4rem);font-size:clamp(1rem,1.3vw,1.16rem);line-height:1.7;color:var(--muted);}
.design-intro__actions{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap;margin-top:2rem;}
.design-intro__random{min-height:44px;padding:.55rem 0;border:0;background:none;color:var(--muted);cursor:pointer;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;}
.design-intro__random span{display:inline-block;margin-left:.4rem;color:var(--accent);transition:transform .45s var(--ease);}
.design-intro__random:hover{color:var(--text);}
.design-intro__random:hover span{transform:translate(3px,-3px);}
.design-intro__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:clamp(2.5rem,5vw,4rem);background:var(--line);border:1px solid var(--line);}
.design-intro__facts div{display:grid;gap:.22rem;padding:.85rem .9rem;background:rgba(0,0,0,.72);}
.design-intro__facts dt{font-size:.9rem;color:var(--text);}
.design-intro__facts dd{font-family:var(--mono);font-size:.5rem;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);}
.design-intro__gallery{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(9rem,.72fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(.55rem,1.1vw,.9rem);min-width:0;min-height:clamp(25rem,36vw,34rem);}
.design-intro__study{position:relative;min-width:0;padding:0;border:1px solid var(--line);background:var(--near);color:var(--text);cursor:pointer;overflow:hidden;text-align:left;isolation:isolate;}
.design-intro__study--main{grid-row:1/3;}
.design-intro__study--main img{object-position:left center;}
.design-intro__study::after{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.82));pointer-events:none;}
.design-intro__study img{width:100%;height:100%;min-height:0;object-fit:cover;transition:transform 1.05s var(--ease),filter .55s var(--ease-2);}
.design-intro__study>span{position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:center;padding:.8rem .9rem;font-size:.78rem;}
.design-intro__study b{font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;color:var(--accent);font-weight:500;}
.design-intro__study i{font-style:normal;color:var(--accent);transition:transform .45s var(--ease);}
.design-intro__study:hover img,.design-intro__study:focus-visible img{transform:scale(1.035);filter:brightness(.82);}
.design-intro__study:hover i,.design-intro__study:focus-visible i{transform:translate(3px,-3px);}
.design-intro__study:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
.design-intro__boundary{grid-column:1/-1;margin-top:clamp(.5rem,2vw,1.25rem);padding-top:1rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.52rem;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}

.development-feature{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(17rem,.82fr);margin:0 0 clamp(4.5rem,9vw,8.5rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--near);}
.development-feature__media{position:relative;min-height:clamp(24rem,44vw,42rem);overflow:hidden;background:#121513;}
.development-feature__media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,5,.05),rgba(3,7,5,.5));pointer-events:none;}
.development-feature__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .8s var(--ease);}
.development-feature:hover .development-feature__media img{transform:scale(1.025);filter:saturate(.88) contrast(1.04);}
.development-feature__media span{position:absolute;z-index:1;left:1.25rem;bottom:1.15rem;font-family:var(--mono);font-size:.57rem;letter-spacing:.14em;text-transform:uppercase;color:#f8f7f2;}
.development-feature__body{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(1.7rem,4vw,4.4rem);}
.development-feature__body h2{max-width:8.5ch;margin:.65rem 0 1.2rem;font-size:clamp(2.45rem,4.5vw,5.2rem);font-weight:350;line-height:.94;letter-spacing:-.055em;}
.development-feature__body>p:not(.eyebrow){max-width:30rem;margin:0;color:var(--muted);font-size:clamp(.94rem,1.3vw,1.08rem);line-height:1.65;}
.development-feature__index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:clamp(2rem,4vw,3.5rem) 0 1.5rem;border-top:1px solid var(--line);}
.development-feature__index div{display:grid;grid-template-columns:2.15rem 1fr;gap:.35rem;padding:.75rem 0;border-bottom:1px solid var(--line);}
.development-feature__index div:nth-child(odd){border-right:1px solid var(--line);padding-right:.7rem;}.development-feature__index div:nth-child(even){padding-left:.7rem;}
.development-feature__index dt{font-family:var(--mono);font-size:.58rem;color:var(--accent);}.development-feature__index dd{font-size:.76rem;color:var(--muted);}
.development-feature__link{display:flex;align-items:center;justify-content:space-between;gap:2rem;width:100%;min-height:54px;padding-top:1rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text);}
.development-feature__link b{font-size:1rem;color:var(--accent);transition:transform .35s var(--ease);}.development-feature__link:hover b{transform:translate(3px,-3px);}

.design-browse{position:relative;z-index:1;padding-top:clamp(4.5rem,8vw,7.5rem);padding-bottom:clamp(5rem,9vw,8rem);color:#0a0b0c;--text:rgba(8,9,10,.92);--muted:rgba(8,9,10,.68);--faint:rgba(8,9,10,.58);--line:rgba(8,9,10,.13);--line-2:rgba(8,9,10,.24);--near:#e8e7e2;}
.design-browse::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#f2f1ed;border-top:1px solid rgba(255,255,255,.1);}
.design-browse__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr) auto;gap:clamp(1.5rem,5vw,5rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem);}
.design-browse__intro .eyebrow{margin-bottom:1rem;color:var(--faint);}
.design-browse__intro h2{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.95;}
.design-browse__intro>p{max-width:33rem;padding-bottom:.35rem;color:var(--muted);}
.design-count{align-self:start;padding-top:.35rem;color:var(--faint);}
.design-browser{margin-bottom:2.2rem;background:transparent;}
.design-search{padding:1.15rem 1.25rem;}
.design-search input{font-size:1.08rem;}
.design-random{min-width:13.5rem;}
.design-filters{gap:.55rem;}
.design-filters button,.design-page-index button,.design-pager button,.design-empty button{color:var(--muted);}
.design-filters button:hover,.design-page-index button:hover,.design-pager button:hover:not(:disabled){color:var(--text);}
.design-filters button[aria-pressed="true"]{color:#001528;}
.design-grid{gap:clamp(1.5rem,2.5vw,2.3rem) clamp(.8rem,1.4vw,1.2rem);}
.design-card{position:relative;color:var(--text);animation:design-card-enter .7s var(--ease) both;animation-delay:var(--card-delay,0ms);transition:transform .65s var(--ease);}
@keyframes design-card-enter{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.design-card__frame{border-color:var(--line);background:#deddd8;}
.design-card__frame::after{content:'Open';position:absolute;z-index:2;right:.7rem;bottom:.7rem;padding:.45rem .58rem;background:rgba(0,0,0,.78);backdrop-filter:blur(10px);color:#fff;font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease-2),transform .55s var(--ease);}
.design-card:hover,.design-card:focus-visible{transform:translateY(-4px);}
.design-card:hover .design-card__frame::after,.design-card:focus-visible .design-card__frame::after{opacity:1;transform:none;}
.design-card:hover .design-card__frame img{transform:scale(1.018);opacity:.88;}
.design-card__body{padding-top:.85rem;}
.design-card__body small,.design-card__body em{color:var(--faint);}
.design-card__body strong{font-size:1rem;color:var(--text);}
.design-card__number{color:#166dc2;}
.design-page-index{margin:-.5rem 0 2.8rem;}
.design-page-index button[aria-current="page"]{background:rgba(77,163,255,.12);color:#0c65ba;}

.design-beyond{position:relative;overflow:hidden;background:#050607;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.design-beyond__inner{display:grid;grid-template-columns:minmax(17rem,.88fr) minmax(0,1.12fr);gap:clamp(3rem,9vw,9rem);align-items:center;min-height:clamp(34rem,60vw,48rem);padding-top:clamp(5rem,9vw,8rem);padding-bottom:clamp(5rem,9vw,8rem);}
.design-beyond__signal{position:relative;height:min(54vw,31rem);max-height:31rem;border:1px solid var(--line);overflow:hidden;background:url('/images/designs/thumb/49.webp') center/cover no-repeat;filter:grayscale(1) contrast(1.08);}
.design-beyond__signal::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(5,6,7,.18),rgba(5,6,7,.78));}
.design-beyond__signal span{display:none;}
.design-beyond__copy{max-width:40rem;}
.design-beyond__copy h2{max-width:10ch;margin:1rem 0 1.5rem;font-size:clamp(3rem,6vw,5.7rem);line-height:.96;}
.design-beyond__copy>p:not(.eyebrow){font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.75;}
.design-beyond__actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:2rem;}
.design-text-link{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.design-text-link span{color:var(--accent);transition:transform .45s var(--ease);}
.design-text-link:hover{color:var(--text);}
.design-text-link:hover span{transform:translate(3px,-3px);}

.design-viewer{opacity:0;transform:translateY(14px) scale(.985);transition:opacity .35s var(--ease-2),transform .6s var(--ease),overlay .35s allow-discrete,display .35s allow-discrete;}
.design-viewer[open]{opacity:1;transform:none;}
@starting-style{.design-viewer[open]{opacity:0;transform:translateY(14px) scale(.985);}}
.design-viewer__close{width:44px;min-width:44px;overflow:hidden;color:transparent;position:relative;}
.design-viewer__close::before{content:'\00d7';position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:1.45rem;font-family:var(--font);font-weight:200;transition:transform .45s var(--ease),color .3s;}
.design-viewer__close:hover::before{color:var(--text);transform:rotate(90deg);}
.design-stage__screen{transition:width .65s var(--ease),height .65s var(--ease),border-radius .65s var(--ease),border-width .65s var(--ease),opacity .25s var(--ease-2),transform .45s var(--ease);}
.design-stage__screen.is-loading{opacity:.45;transform:scale(.992);}

@media (min-width:981px){
  .design-browse .design-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .design-browse .design-card:first-child{box-shadow:0 24px 65px rgba(8,9,10,.08);}
}
@media (max-width:980px){
  .design-page .design-intro{grid-template-columns:1fr;min-height:auto;padding-top:8rem;}
  .design-intro__statement{max-width:48rem;}
  .design-intro__gallery{min-height:34rem;}
  .design-browse__intro{grid-template-columns:1fr auto;}
  .design-browse__intro>p{grid-column:1/-1;grid-row:2;}
}
@media (max-width:700px){
  .design-page .design-intro{padding:6.5rem 0 2rem;row-gap:1.5rem;}
  .design-intro__statement{display:contents;}
  .design-intro__statement .eyebrow{order:1;margin-bottom:0;}
  .design-intro__statement h1{order:2;}
  .design-intro__lead{order:3;margin-top:0;}
  .design-intro__gallery{order:4;}
  .design-intro__actions{order:5;margin-top:0;}
  .design-intro__facts{order:6;margin-top:0;}
  .design-intro__boundary{order:7;}
  .design-intro::before{top:22rem;font-size:27rem;}
  .design-intro__statement h1{max-width:11ch;font-size:clamp(3.05rem,14.2vw,4rem);}
  .design-intro__lead{font-size:1rem;line-height:1.65;}
  .design-intro__actions{align-items:stretch;gap:.65rem;}
  .design-intro__actions .btn{flex:1 1 100%;justify-content:center;}
  .design-intro__random{width:100%;text-align:center;}
  .design-intro__facts{margin-top:2rem;}
  .design-intro__facts div{padding:.72rem .6rem;}
  .design-intro__facts dt{font-size:.78rem;}
  .design-intro__facts dd{font-size:.43rem;letter-spacing:.07em;}
  .design-intro__gallery{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:.55rem;}
  .design-intro__study--main{grid-column:1/-1;grid-row:auto;aspect-ratio:8/5;}
  .design-intro__study:not(.design-intro__study--main){aspect-ratio:1/1;}
  .design-intro__study>span{padding:.65rem;font-size:.65rem;}
  .design-intro__boundary{margin-top:0;font-size:.45rem;}
  .development-feature{grid-template-columns:1fr;margin-bottom:4.5rem;}.development-feature__media{min-height:23rem;}.development-feature__body{padding:1.4rem;}.development-feature__body h2{font-size:clamp(2.6rem,13vw,4.3rem);}.development-feature__index{margin:2.2rem 0 1.2rem;}
  .design-browse{padding-top:4.5rem;padding-bottom:5rem;}
  .design-browse__intro{grid-template-columns:1fr;gap:1rem;margin-bottom:2.5rem;}
  .design-browse__intro>p{grid-column:auto;grid-row:auto;}
  .design-count{grid-row:auto;padding:0;}
  .design-browse__intro h2{font-size:clamp(3rem,15vw,4.4rem);}
  .design-browse .design-grid{grid-template-columns:1fr;gap:2rem;}
  .design-card__body{padding:.85rem .05rem 0;}
  .design-card__body strong{font-size:1rem;white-space:normal;}
  .design-card__body em{display:block;}
  .design-card__frame::after{opacity:1;transform:none;}
  .design-page-index{margin-bottom:2rem;}
  .design-beyond__inner{grid-template-columns:1fr;min-height:auto;gap:3rem;padding-top:5rem;padding-bottom:5rem;}
  .design-beyond__signal{height:78vw;max-height:24rem;}
  .design-beyond__copy h2{font-size:clamp(3rem,14vw,4.2rem);}
  .design-beyond__actions .btn{flex:1 1 100%;justify-content:center;}
  .design-viewer__body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:calc(100% - 62px);overflow:hidden;}
  .design-stage{order:1;min-height:0;height:auto;padding:.65rem 2.65rem 1.6rem;overflow:hidden;}
  .design-viewer__aside{order:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem .75rem;max-height:12.5rem;padding:.7rem 1rem .8rem;border:0;border-top:1px solid var(--line);overflow:auto;}
  .design-viewer__meta{grid-column:1;padding:0;border:0;display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:baseline;}
  .design-viewer__meta span:first-child{font-size:.7rem;}
  .design-viewer__meta span:last-child{font-size:.45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .design-device{grid-column:2;grid-row:1;}
  .design-device button{min-height:36px;padding:.4rem .5rem;font-size:.48rem;}
  .design-screens{grid-column:1/-1;display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;}
  .design-screens button{min-height:36px;padding:.4rem .65rem;font-size:.48rem;white-space:nowrap;}
  .design-inquire{grid-column:1/-1;min-height:38px;margin:0;padding:.55rem .7rem;font-size:.62rem;}
  .design-stage__screen,.design-stage__screen[data-preview-device="tablet"],.design-stage__screen[data-preview-device="mobile"]{max-height:100%;height:100%;}
  .design-stage__screen[data-preview-device="tablet"]{width:min(820px,82vw);}
  .design-stage__screen[data-preview-device="mobile"]{width:min(390px,74vw);}
  .design-stage__note{font-size:.42rem;}
}

@media (prefers-reduced-motion:reduce){
  .design-card{animation:none;}
  .design-card,.design-intro__study img,.design-stage__screen{transform:none !important;}
}

/* ── Forms ──────────────────────────────────────────────── */
.form{display:grid;gap:1.4rem;max-width:34rem;}
.field label{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:.6rem;}
.field input,.field textarea,.field select{
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-2);
  padding:.65rem 0;font-size:1rem;font-family:inherit;
  transition:border-color .45s var(--ease-2);
}
.field select{color:var(--text);appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff88' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right center;background-size:20px;
}
.field select option{background:#111;color:var(--text);}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-bottom-color:var(--accent);}
.field textarea{resize:vertical;min-height:7rem;}
.field__note{font-size:.82rem;color:var(--faint);margin-top:.5rem;}
.field__meta{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;}
.field__meta .field__note{max-width:38rem;}
.field__meta>span{flex-shrink:0;margin-top:.55rem;font-family:var(--mono);font-size:.58rem;color:var(--faint);}
.field__meta>span.is-ready{color:var(--accent);}
.contact-kind-note{margin-top:-.3rem;}
@media (max-width:560px){.field__meta{display:block}.field__meta>span{display:block;margin-top:.25rem;}}
.hp{position:absolute;left:-9999px;}
.note{
  font-size:.9rem;padding:.9rem 1.1rem;border:1px solid var(--line);
  border-left:1px solid var(--accent);background:var(--raise);
}
.note.bad{border-left-color:#ff6b6b;}

.consent-field{
  display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;
  font-size:.85rem;color:var(--muted);line-height:1.5;
}
.consent-field input{width:auto;margin-top:.2rem;accent-color:var(--accent);flex-shrink:0;}

/* ── Footer ─────────────────────────────────────────────── */
.footer{position:relative;z-index:1;flex-shrink:0;border-top:1px solid var(--line);padding:clamp(3rem,7vw,5.5rem) 0 1.5rem;background:linear-gradient(180deg,transparent,rgba(77,163,255,.035));}
.footer__top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(9rem,.55fr) minmax(14rem,.72fr);gap:clamp(2.5rem,7vw,7rem);align-items:start;padding-bottom:clamp(2.5rem,5vw,4rem);}
.footer h4{font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:1rem;font-weight:400;}
.footer__tag{font-size:.98rem;line-height:1.5;max-width:28ch;margin-top:1rem;color:var(--muted);}
.footer__start{display:inline-flex;gap:.55rem;align-items:center;margin-top:1.5rem;padding-bottom:.28rem;border-bottom:1px solid var(--accent);font-size:.84rem;color:var(--text);transition:color .35s var(--ease-2),gap .35s var(--ease);}
.footer__start:hover{color:var(--accent);gap:.8rem;}
.footer__links{display:grid;gap:.5rem;}
.footer__links a{width:fit-content;font-size:.9rem;color:var(--muted);transition:color .35s var(--ease-2),transform .35s var(--ease);}
.footer__links a:hover{color:var(--text);transform:translateX(3px);}
.footer__share>p{font-size:.82rem;color:var(--muted);margin:-.5rem 0 1rem;}
.footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.72rem;color:var(--faint);}
.footer__credits{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;}
.gh-link{display:inline-flex;align-items:center;gap:.42rem;color:var(--faint);transition:color .35s var(--ease-2);}
.gh-link:hover{color:var(--text);}
.gh-link svg{width:13px;height:13px;fill:currentColor;flex-shrink:0;}
@media (max-width:820px){.footer__top{grid-template-columns:minmax(0,1fr) minmax(10rem,.6fr);}.footer__brand{grid-column:1 / -1;}.footer__share{grid-column:1 / -1;}}
@media (max-width:520px){.footer__top{grid-template-columns:1fr;gap:2.25rem;}.footer__brand,.footer__share{grid-column:auto;}.footer__bottom{align-items:flex-start;flex-direction:column;gap:.75rem;}}

/* ── Share ──────────────────────────────────────────────── */
/* Every share control on the site points at the About page, on purpose —
   it's the one page meant to travel. Each opens the destination app's own
   share composer rather than bllumedia.com itself. */
.share{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.share button{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  border:1px solid var(--line);background:none;color:var(--muted);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:color .4s var(--ease-2),border-color .4s var(--ease-2),background .4s var(--ease-2),transform .3s var(--ease-2);
}
.share button:hover{color:var(--white);border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px);}
.share svg{width:15px;height:15px;fill:currentColor;}

/* ── Consent ────────────────────────────────────────────── */
/* A slim bar rather than a card: it never covers the page's own controls. */
.consent{
  position:fixed;left:0;right:0;bottom:0;z-index:150;
  display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap;
  padding:.85rem var(--gutter);
  background:rgba(8,9,10,.92);backdrop-filter:blur(14px);
  border-top:1px solid var(--line);
  transform:translateY(110%);transition:transform .8s var(--ease);
}
.consent.show{transform:translateY(0);}
.consent p{font-size:.82rem;margin:0;max-width:58ch;}
.consent__row{display:flex;gap:.6rem;flex-wrap:wrap;flex-shrink:0;}
.consent button{
  padding:.55rem 1.1rem;border-radius:2px;cursor:pointer;
  font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;
  border:1px solid var(--line-2);background:none;
  transition:background .4s var(--ease-2),color .4s var(--ease-2),border-color .4s var(--ease-2);
}
.consent button:hover{border-color:var(--white);}
.consent button.yes{background:var(--white);color:#000;border-color:var(--white);}
.consent button.yes:hover{background:var(--accent);border-color:var(--accent);color:#001528;}

/* ── Gate ───────────────────────────────────────────────── */
/* The review entrance is intentionally distinct from the black marketing
   pages. A light canvas and a definite card make it obvious that the page is
   loaded and waiting for credentials—even in embedded or reduced browser
   views where an all-black screen could read as a rendering failure. */
.gate{
  min-height:100svh;display:grid;place-items:center;padding:clamp(1.25rem,4vw,3rem) var(--gutter);
  color:#101214;
  background:
    linear-gradient(rgba(14,18,22,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(14,18,22,.055) 1px,transparent 1px),
    #efeee9;
  background-size:42px 42px;
}
.gate__box{
  width:100%;max-width:29rem;padding:clamp(1.6rem,4vw,3rem);
  background:rgba(255,255,255,.96);border:1px solid rgba(10,13,16,.15);
  border-top:4px solid var(--accent);box-shadow:0 24px 70px rgba(4,10,16,.14);
}
.gate__brand{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:clamp(2.4rem,8vw,4rem);font-size:1.1rem;font-weight:300;}
.gate__brand img{height:30px;}
.gate h1{font-size:clamp(2.6rem,9vw,4.8rem);line-height:.92;letter-spacing:-.06em;margin-bottom:1rem;}
.gate p.sub{max-width:31ch;font-size:.96rem;line-height:1.55;color:#555b61;margin-bottom:2.5rem;}
.gate .field label{color:#656b70;}
.gate .field input{color:#101214;border-bottom-color:rgba(10,13,16,.28);}
.gate .field input:focus{border-bottom-color:var(--accent);}
.gate .btn--solid{min-width:8.5rem;background:#101214;color:#fff;border-color:#101214;}
.gate .note{color:#101214;background:#f3f6f8;border-color:rgba(10,13,16,.14);}
.gate__recovery{margin-top:1.35rem;padding:.35rem 0;border:0;border-bottom:1px solid rgba(10,13,16,.25);background:transparent;color:#555b61;cursor:pointer;font:600 .72rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;}
.gate__recovery:hover,.gate__recovery:focus-visible{color:#101214;border-bottom-color:var(--accent);}
.gate__reset{margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid rgba(10,13,16,.14);}
@media (max-width:520px){
  .gate{place-items:start center;padding-top:1rem;}
  .gate__box{padding:1.45rem;}
  .gate__brand{margin-bottom:3.5rem;}
}

/* ── Admin ──────────────────────────────────────────────── */
.admin{padding-top:calc(var(--nav-h) + 2.5rem);}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:3rem;}
.stat{background:var(--black);padding:1.5rem 1.3rem;}
.stat b{display:block;font-size:2rem;font-weight:300;letter-spacing:-.03em;margin-bottom:.2rem;}
.stat span{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);}

.tabs{display:flex;gap:2rem;border-bottom:1px solid var(--line);margin-bottom:2.5rem;}
.tabs button{
  background:none;border:0;cursor:pointer;padding:.8rem 0;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint);position:relative;
  transition:color .4s var(--ease-2);
}
.tabs button::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--accent);transform:scaleX(0);transition:transform .5s var(--ease);}
.tabs button[aria-selected="true"]{color:var(--text);}
.tabs button[aria-selected="true"]::after{transform:scaleX(1);}
.panel[hidden]{display:none;}

.msg{border:1px solid var(--line);padding:1.3rem;margin-bottom:1rem;background:var(--near);}
.msg.unread{border-left:1px solid var(--accent);}
.msg__top{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.7rem;}
.msg__who{font-size:1rem;color:var(--text);}
.msg__meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:var(--faint);}
.msg__body{font-size:.94rem;white-space:pre-wrap;margin:.8rem 0;}
.msg__acts{display:flex;gap:.5rem;flex-wrap:wrap;}
.mini{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.4rem .8rem;border:1px solid var(--line);background:none;cursor:pointer;color:var(--muted);
  transition:border-color .35s var(--ease-2),color .35s var(--ease-2);
}
.mini:hover{border-color:var(--line-2);color:var(--text);}
.mini.danger:hover{border-color:#ff6b6b;color:#ff6b6b;}

table.data{width:100%;border-collapse:collapse;font-size:.9rem;}
table.data th{
  text-align:left;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--faint);font-weight:400;
  padding:.7rem 1rem .7rem 0;border-bottom:1px solid var(--line);
}
table.data td{padding:.85rem 1rem .85rem 0;border-bottom:1px solid var(--line);color:var(--muted);}
table.data td:first-child{color:var(--text);}

.bars{display:grid;gap:.55rem;}
.bar{display:grid;grid-template-columns:minmax(0,1fr) 3rem;gap:1rem;align-items:center;font-size:.88rem;}
.bar__track{position:relative;height:26px;background:var(--raise);overflow:hidden;}
.bar__fill{position:absolute;inset:0 auto 0 0;background:var(--accent-soft);border-right:1px solid var(--accent);}
.bar__label{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 1.4rem);}
.bar__n{text-align:right;font-family:var(--mono);font-size:.8rem;color:var(--faint);}

.toast{
  position:fixed;left:50%;bottom:2rem;transform:translate(-50%,1.5rem);
  background:var(--white);color:#000;padding:.7rem 1.3rem;font-size:.85rem;
  opacity:0;pointer-events:none;z-index:250;
  transition:opacity .4s var(--ease-2),transform .4s var(--ease);
}
.toast.show{opacity:1;transform:translate(-50%,0);}

/* V13 responsive type integrity. Review controls retain their compact
   character without falling below a reading-safe mobile size. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:700px){
  .design-intro__facts dd,.design-intro__boundary,.design-viewer__meta span:last-child,.design-stage__note,.design-stage__status{font-size:.56rem!important;line-height:1.4;letter-spacing:.06em}
  .design-device button,.design-screens button{font-size:.58rem!important;line-height:1.2;min-height:42px}
  .mini{font-size:.62rem;line-height:1.25;min-height:40px}
  table.data th{font-size:.62rem;line-height:1.3}
}
