/* Inter latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/inter-300-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Inter latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/fonts/inter-300-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Lekton latin-ext */
@font-face {
  font-family: 'Lekton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/lekton-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lekton latin */
@font-face {
  font-family: 'Lekton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/lekton-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Lekton latin-ext */
@font-face {
  font-family: 'Lekton';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/lekton-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Lekton latin */
@font-face {
  font-family: 'Lekton';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/lekton-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

  :root{
    --bg:#E7E6E2; --surface:#F2F1ED; --surface-hi:#FAF9F6; --ink:#141416; --muted:#5B5B63; --faint:#66656B;
    --line:#D3D1CB; --orange:#D9572A; --blue:#3B3FD8; --edge:rgba(255,255,255,.75);
    --shadow:0 1px 1px rgba(20,20,22,.04), 0 14px 34px -18px rgba(20,20,22,.3);
    --logo-filter:none; --logo-blend:multiply;
    --display:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    --body:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
    --mono:'Lekton',ui-monospace,Menlo,monospace;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0F1013; --surface:#17191E; --surface-hi:#1E2027; --ink:#ECEBE6; --muted:#9C9EA7; --faint:#82848D;
      --line:#2A2C33; --orange:#F0703F; --blue:#7C80FF; --edge:rgba(255,255,255,.07);
      --shadow:0 1px 1px rgba(0,0,0,.3), 0 16px 38px -18px rgba(0,0,0,.75);
      --logo-filter:invert(1) hue-rotate(180deg); --logo-blend:screen;
    }
  }
  :root[data-theme="dark"]{
    --bg:#0F1013; --surface:#17191E; --surface-hi:#1E2027; --ink:#ECEBE6; --muted:#9C9EA7; --faint:#82848D;
    --line:#2A2C33; --orange:#F0703F; --blue:#7C80FF; --edge:rgba(255,255,255,.07);
    --shadow:0 1px 1px rgba(0,0,0,.3), 0 16px 38px -18px rgba(0,0,0,.75);
    --logo-filter:invert(1) hue-rotate(180deg); --logo-blend:screen;
  }

  *{box-sizing:border-box}
  body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--body); font-optical-sizing:auto; font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased}
  a{color:inherit}
  img{max-width:100%; display:block}
  :focus-visible{outline:2px solid var(--blue); outline-offset:3px; border-radius:4px}
  .wrap{max-width:1200px; margin:0 auto; padding-inline:clamp(16px,4vw,40px)}
  .label{font-family:var(--mono); font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
  .satin{background:linear-gradient(180deg,var(--surface-hi),var(--surface)); border:1px solid var(--line); border-radius:16px; box-shadow:inset 0 1px 0 var(--edge), var(--shadow)}
  .photo{border-radius:16px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); background:var(--surface)}
  .photo img{width:100%; height:100%; object-fit:cover}
  h1,h2,h3{text-wrap:balance}
  .h-xl{font-family:var(--display); font-weight:500; font-size:clamp(42px,7.6vw,104px); line-height:.94; letter-spacing:-.02em; margin:16px 0 0}
  .h-xl em{font-style:normal; font-weight:300}
  .h-l{font-family:var(--display); font-weight:600; font-size:clamp(30px,4.2vw,52px); line-height:1.02; letter-spacing:-.015em; margin:10px 0 0}
  .h-m{font-family:var(--display); font-weight:600; font-size:clamp(22px,2.2vw,28px); line-height:1.15; margin:0}
  .lead{font-size:clamp(17px,1.6vw,20px); color:var(--muted); max-width:56ch; margin:22px 0 0}
  .lead strong{color:var(--ink); font-weight:600}
  .prose p{color:var(--muted); max-width:62ch; margin:0 0 18px}
  .prose h3{font-family:var(--display); font-weight:600; font-size:22px; margin:34px 0 10px; color:var(--ink)}
  .prose h3:first-child{margin-top:0}
  .btn{display:inline-flex; align-items:center; gap:10px; padding:14px 22px; border-radius:999px; text-decoration:none; font-family:var(--mono); font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; transition:transform .2s; cursor:pointer; border:0}
  .btn.primary{background:var(--ink); color:var(--bg)}
  .btn.ghost{border:1px solid var(--line); color:var(--ink); background:linear-gradient(180deg,var(--surface-hi),var(--surface)); box-shadow:inset 0 1px 0 var(--edge)}
  .btn:hover{transform:translateY(-1px)}
  .ctas{display:flex; gap:12px; flex-wrap:wrap; margin-top:32px}
  section{padding-block:clamp(52px,7vw,96px)}
  .sec-head{display:flex; justify-content:space-between; align-items:end; gap:24px; flex-wrap:wrap; margin-bottom:34px}
  .more{font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; color:var(--muted); border-bottom:1px solid var(--line); padding-bottom:3px}
  .more:hover{color:var(--ink)}

  header{position:sticky; top:0; z-index:20; background:color-mix(in srgb,var(--bg) 84%,transparent); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
  header .wrap{display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:12px; position:relative}
  .brand{display:flex; align-items:center; gap:12px; text-decoration:none}
  .brand img{height:34px; width:auto; filter:var(--logo-filter); mix-blend-mode:var(--logo-blend)}
  .brand span{font-family:var(--mono); font-weight:700; font-size:19px; letter-spacing:.02em}
  nav.main{display:flex; align-items:center; gap:clamp(14px,2vw,26px)}
  nav.main a{font-family:var(--mono); font-size:14px; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; color:var(--muted); padding:6px 0; border-bottom:1px solid transparent; transition:color .2s,border-color .2s}
  nav.main a:hover{color:var(--ink)}
  nav.main a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--orange)}
  nav.main a.btn{padding:10px 16px; color:var(--bg); border:0}
  .burger{display:none; background:none; border:1px solid var(--line); border-radius:10px; width:42px; height:42px; color:var(--ink); cursor:pointer; font-size:18px}
  @media (max-width:880px){
    .burger{display:block}
    nav.main{position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:flex-start; gap:4px; padding:12px clamp(16px,4vw,40px) 22px; background:var(--bg); border-bottom:1px solid var(--line); display:none}
    nav.main.open{display:flex}
    nav.main a{font-size:14px; padding:10px 0}
  }

  [data-route]{display:none}
  [data-route].on{display:block; animation:fade .45s ease}
  @keyframes fade{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}
  @media (prefers-reduced-motion: reduce){ [data-route].on{animation:none} }

  .hero{position:relative; overflow:hidden; padding-block:clamp(40px,7vw,88px) clamp(48px,7vw,96px)}
  .waves{position:absolute; inset:0; width:100%; height:100%; pointer-events:none}
  .hero .wrap{position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,5vw,64px); align-items:center}
  @media (max-width:880px){ .hero .wrap{grid-template-columns:1fr} }
  .portrait-wrap{position:relative}
  .portrait-wrap .photo{aspect-ratio:4/5}
  .live-tag{position:absolute; left:16px; bottom:16px; display:flex; align-items:center; gap:10px; padding:10px 14px; border-radius:999px; background:color-mix(in srgb,var(--surface-hi) 88%,transparent); backdrop-filter:blur(8px); border:1px solid var(--line); font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase}
  .dot{display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 20%,transparent); animation:pulse 2.4s ease-in-out infinite}
  @keyframes pulse{50%{opacity:.35}}
  @media (prefers-reduced-motion: reduce){ .dot{animation:none} }
  .readout{display:flex; gap:28px; flex-wrap:wrap; margin-top:44px}
  .readout div{display:flex; flex-direction:column; gap:4px}
  .readout b{font-family:var(--mono); font-weight:500; font-size:13px}

  .names{display:flex; flex-wrap:wrap; gap:.12em .5em; font-family:var(--display); font-weight:500; font-size:clamp(24px,4vw,52px); line-height:1.1; letter-spacing:-.02em}
  .names span{transition:color .25s}
  .names span:hover{color:var(--orange)}
  .names i{font-style:normal; color:var(--line); font-weight:300}
  .allnames{padding:28px clamp(18px,3vw,32px); columns:4 180px; column-gap:28px}
  .allnames ul{margin:0; padding:0}
  .allnames li{list-style:none; break-inside:avoid; font-size:15px; color:var(--muted); padding:3px 0}
  .allnames li.top{color:var(--ink); font-weight:600}

  .releases{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px}
  .rel{padding:12px; display:flex; flex-direction:column; gap:12px}
  .rel canvas{width:100%; aspect-ratio:1; border-radius:10px; display:block}
  .rel .t{font-weight:600; line-height:1.3}
  .rel .a{font-size:14px; color:var(--muted)}
  .rel .d{font-family:var(--mono); font-size:11px; color:var(--faint); display:flex; justify-content:space-between}

  .grid3{display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:16px}
  .card{overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:transform .3s}
  .card:hover{transform:translateY(-3px)}
  .card .img{aspect-ratio:4/3; overflow:hidden}
  .card .img img{width:100%; height:100%; object-fit:cover; transition:transform .6s}
  .card:hover .img img{transform:scale(1.04)}
  .card .body{padding:22px 24px 26px; display:flex; flex-direction:column; gap:10px; flex:1}
  .card p{margin:0; color:var(--muted); font-size:15.5px}
  .card .go{margin-top:auto; padding-top:8px; font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase}

  .phero{padding-block:clamp(36px,6vw,72px) 0}
  .phero .grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:end}
  @media (max-width:880px){ .phero .grid{grid-template-columns:1fr} }
  .phero .photo{aspect-ratio:5/4}
  .two{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:clamp(24px,5vw,72px)}
  @media (max-width:880px){ .two{grid-template-columns:1fr} }

  .steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); border-top:1px solid var(--line)}
  .step{padding:24px 22px 10px 0; border-right:1px solid var(--line)}
  .step:last-child{border-right:none}
  @media (max-width:900px){ .step{border-right:none; border-bottom:1px solid var(--line); padding-bottom:22px} }
  .step .k{font-family:var(--mono); font-size:12px; color:var(--orange)}
  .step h3{font-family:var(--display); font-weight:600; font-size:21px; margin:10px 0 8px}
  .step p{margin:0; color:var(--muted); font-size:15px; max-width:34ch}

  details{border-bottom:1px solid var(--line)}
  summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:20px; padding:20px 0; font-weight:600; font-size:18px}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+"; font-family:var(--mono); font-weight:400; color:var(--muted); transition:transform .25s}
  details[open] summary::after{transform:rotate(45deg)}
  details p{margin:0 0 22px; color:var(--muted); max-width:62ch}

  .posts{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px}
  .post .img{aspect-ratio:16/9}
  .post .meta{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--faint)}
  .post h3{font-family:var(--display); font-weight:600; font-size:21px; line-height:1.25; margin:0}

  .cta-block{padding:clamp(32px,6vw,72px); position:relative; overflow:hidden}
  .cta-block .waves{opacity:.6}
  .cta-block > *{position:relative}
  .mail{font-family:var(--mono); font-size:clamp(15px,2.4vw,24px); text-decoration:none; border-bottom:2px solid var(--orange); padding-bottom:4px; word-break:break-all}
  .links{display:flex; gap:22px; flex-wrap:wrap; margin-top:36px}
  .links a{font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); text-decoration:none}
  .links a:hover{color:var(--ink)}

  footer{border-top:1px solid var(--line); margin-top:24px}
  footer .wrap{display:grid; grid-template-columns:1.2fr repeat(3,1fr); gap:28px; padding-block:44px}
  @media (max-width:760px){ footer .wrap{grid-template-columns:1fr 1fr} }
  footer .fh{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); font-weight:400; margin:0 0 12px}
  footer a{display:block; text-decoration:none; color:var(--muted); font-size:15px; padding:3px 0}
  footer a.brand{display:flex}
  footer a:hover{color:var(--ink)}
  footer .fine{grid-column:1/-1; font-family:var(--mono); font-size:11px; color:var(--faint); padding-top:18px; border-top:1px solid var(--line)}
  .note{font-family:var(--mono); font-size:11px; color:var(--faint); margin-top:14px}
  .prose a{color:var(--ink); text-decoration-color:var(--orange); text-underline-offset:3px}
  .prose ul,.prose ol{color:var(--muted); max-width:62ch; padding-left:20px; margin:0 0 18px}
  .prose li{margin:6px 0}
  .prose li::marker{color:var(--orange)}
  .prose strong{color:var(--ink)}
  .chips{display:flex; flex-wrap:wrap; gap:8px}
  .chips a{font-family:var(--mono); font-size:11.5px; letter-spacing:.04em; text-decoration:none; color:var(--ink); padding:9px 14px; border-radius:999px; border:1px solid var(--line); background:linear-gradient(180deg,var(--surface-hi),var(--surface)); box-shadow:inset 0 1px 0 var(--edge); transition:border-color .2s}
  .chips a:hover{border-color:var(--orange)}
  .article{max-width:760px; margin:0 auto}
  .article .cover{aspect-ratio:16/8; margin:32px 0 40px}
  .article .prose p, .article .prose ul, .article .prose ol{max-width:none; font-size:18px}
  .article .prose h2{font-family:var(--display); font-weight:600; font-size:clamp(24px,2.6vw,30px); margin:44px 0 12px; color:var(--ink)}
  .byline{display:flex; gap:14px; align-items:center; margin-top:24px}
  .byline img{width:44px; height:44px; border-radius:50%; object-fit:cover}
  .table-wrap{overflow-x:auto; margin:0 0 22px}
  .table-wrap table{border-collapse:collapse; width:100%; min-width:460px; font-size:16px}
  .table-wrap th,.table-wrap td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--line)}
  .table-wrap th{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); font-weight:400}
  .table-wrap td{color:var(--muted); font-variant-numeric:tabular-nums}
  .author{display:grid; grid-template-columns:72px 1fr; gap:18px; align-items:center; padding:24px; margin-top:44px}
  .author img{width:72px; height:72px; border-radius:50%; object-fit:cover}
  .author p{margin:4px 0 0; color:var(--muted); font-size:15px}
  .flag{border:1px dashed var(--orange); border-radius:12px; padding:14px 16px; font-family:var(--mono); font-size:12px; color:var(--muted); margin:0 0 22px}
  /* restraint pass: flat surfaces, square edges, text links, no motion */
  .satin{background:var(--surface); border:1px solid var(--line); border-radius:0; box-shadow:none}
  .photo{border-radius:0; box-shadow:none; border:0}
  .card,.card:hover{transform:none} .card .img img{transition:none} .card:hover .img img{transform:none}
  .card .go{font-family:var(--body); text-transform:none; letter-spacing:0; font-size:15px; text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:4px}
  .btn,.btn.primary,.btn.ghost{padding:0; border:0; border-radius:0; background:none; box-shadow:none; color:var(--ink); font-family:var(--body); font-size:17px; text-transform:none; letter-spacing:0; text-decoration:underline; text-decoration-color:var(--orange); text-decoration-thickness:1.5px; text-underline-offset:5px}
  .btn:hover{transform:none; text-decoration-color:var(--ink)}
  .ctas{gap:28px}
  nav.main a.btn{padding:6px 0; color:var(--ink); font-family:var(--mono); font-size:14px; text-transform:uppercase; letter-spacing:.08em; text-decoration:none; border-bottom:1px solid transparent}
  .label{text-transform:none; letter-spacing:.01em; font-size:15px}
  .h-xl{font-size:clamp(38px,5.6vw,76px); letter-spacing:-.025em; line-height:1}
  .h-xl em{font-style:normal; font-weight:inherit}
  .h-l{font-weight:500; font-size:clamp(26px,3vw,38px)}
  .names{font-size:clamp(22px,3vw,40px); font-weight:400}
  .names span:hover{color:inherit}
  [data-route].on{animation:none}
  .chips{gap:8px 22px}
  .chips a{padding:0; border:0; border-radius:0; background:none; box-shadow:none; font-family:var(--body); font-size:15.5px; letter-spacing:0; text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:4px}
  .chips a:hover{text-decoration-color:var(--orange)}
  .more{font-family:var(--body); text-transform:none; letter-spacing:0; font-size:15.5px}
  .releases{display:block; border-top:1px solid var(--line)}
  .rel{display:grid; grid-template-columns:1fr 1.4fr auto; gap:16px; padding:14px 0; border-bottom:1px solid var(--line)}
  .rel .a{color:var(--muted)} .rel .t{font-weight:500} .rel .d{font-family:var(--mono); color:var(--faint); font-size:14px}
  .rel .m{display:block; font-weight:400; font-size:14px; color:var(--faint); margin-top:2px}
  .rel a.d{color:var(--ink); text-decoration:underline; text-decoration-color:var(--orange); text-underline-offset:4px}
  @media (max-width:600px){ .rel{grid-template-columns:1fr auto} .rel .a{grid-column:1/-1} }
  .steps{display:block; border:0}
  .step{border:0; padding:0 0 12px}
  .step .k{display:none}
  .step h3{display:inline; font-size:inherit; margin:0}
  .step h3::after{content:". "}
  .step p{display:inline; font-size:17px}
  .cta-block{padding:clamp(28px,5vw,56px)}
  .post .meta{text-transform:none; letter-spacing:0; font-size:14px}
  .byline .label{font-size:14px}
  header{background:var(--bg); backdrop-filter:none; -webkit-backdrop-filter:none}
  .ds-feats{display:flex; flex-direction:column; gap:clamp(40px,6vw,72px)}
  .ds-feat{display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(24px,4vw,48px); align-items:center}
  .ds-feat:nth-child(even) > .photo{order:2}
  .ds-feat .photo{border:1px solid var(--line)}
  .ds-feat p{color:var(--muted); margin:12px 0 0; max-width:48ch}
  @media (max-width:820px){ .ds-feat{grid-template-columns:1fr} .ds-feat:nth-child(even) > .photo{order:0} }
  .playlist{margin-top:32px}
  .pl-card{display:flex; flex-direction:column; gap:6px; padding:24px; border:1px solid var(--line); background:var(--surface); text-decoration:none}
  .pl-card b{font-size:20px; font-weight:500} .pl-card span{color:var(--muted)}
  .pl-card .go{color:var(--ink); text-decoration:underline; text-decoration-color:var(--orange); text-underline-offset:4px; margin-top:6px} .playlist iframe{display:block; border:0; border-radius:12px; background:var(--surface)}
  .playlist .note a{color:var(--ink)}
  .studio-logo{display:inline-block} .studio-logo img{width:220px; height:auto; filter:var(--logo-filter); mix-blend-mode:var(--logo-blend)}
  .covers{display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:22px}
  .covers a{text-decoration:none; display:flex; flex-direction:column; gap:6px}
  .covers img{width:100%; aspect-ratio:1; object-fit:cover; border:1px solid var(--line)}
  .covers b{font-weight:500; line-height:1.3} .covers span{font-size:14px; color:var(--faint)}
  .ds-teaser{display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(24px,4vw,48px); align-items:center}
  @media (max-width:820px){ .ds-teaser{grid-template-columns:1fr} }
  section{padding-block:clamp(36px,4.5vw,64px)}
  .h-s{font-family:var(--display); font-weight:500; font-size:18px; line-height:1.3; margin:0 0 16px; color:var(--ink)}
  .two .h-s{margin-top:4px}
  .card.satin{background:none; border:0}
  .card .img{border:1px solid var(--line)}
  .card .body{padding:18px 0 0}
  .meta-line{font-size:14px; color:var(--faint)}
  .rel .d, .covers span, .readout b{font-variant-numeric:tabular-nums}
  ::selection{background:var(--orange); color:#fff}
  html{scrollbar-color:var(--line) var(--bg); accent-color:var(--orange); caret-color:var(--orange)}
  .has-sub{position:relative}
  .sub-toggle{background:none; border:0; padding:6px 0; cursor:pointer; font-family:var(--mono); font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid transparent; display:inline-flex; align-items:center; gap:6px}
  .sub-toggle::after{content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s}
  .has-sub.open .sub-toggle::after{transform:translateY(1px) rotate(-135deg)}
  .sub-toggle:hover,.has-sub.open .sub-toggle{color:var(--ink)}
  .sub-toggle.current{color:var(--ink); border-bottom-color:var(--orange)}
  .sub{display:none; position:absolute; top:calc(100% + 10px); left:-18px; min-width:220px; padding:10px 18px; background:var(--bg); border:1px solid var(--line); flex-direction:column; z-index:30}
  .has-sub.open .sub{display:flex}
  @media (hover:hover) and (min-width:881px){ .has-sub:hover .sub{display:flex} .has-sub:hover .sub-toggle{color:var(--ink)} .has-sub::before{content:""; position:absolute; left:0; right:0; top:100%; height:12px} }
  .sub a{padding:7px 0 !important; text-transform:none !important; letter-spacing:0 !important; font-family:var(--body) !important; font-size:15.5px !important; border-bottom:0 !important}
  @media (max-width:880px){
    .has-sub{width:100%}
    .sub-toggle{font-size:14px; padding:10px 0}
    .sub{position:static; display:flex; border:0; padding:0 0 6px 14px; min-width:0; background:none}
    .sub-toggle::after{display:none}
  }
  .rel-grid{display:grid !important; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:28px 22px; border:0 !important}
  .rel-tile{display:flex; flex-direction:column; gap:4px; min-width:0}
  .rel-tile .cover{display:block; margin-bottom:8px}
  .rel-tile img{width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; border:1px solid var(--line)}
  .rel-tile .ra{font-size:14px; color:var(--muted)}
  .rel-tile .rt{font-weight:500; line-height:1.35}
  .rel-tile .rt a{text-decoration:none} .rel-tile .rt a:hover{text-decoration:underline; text-decoration-color:var(--orange); text-underline-offset:3px}
  .rel-tile .rm{font-size:13.5px; color:var(--faint)}
  .rel-src{font-size:13px; color:var(--faint); margin-top:18px}
  /* homepage services: black and white photos, colour returns on hover */
  .svc .card .img img{filter:grayscale(1) contrast(1.08); transition:filter .5s ease, transform .6s ease}
  @media (hover:hover){ .svc .card:hover .img img{filter:grayscale(0) contrast(1)} }
  /* credits: studios row */
  .studios{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:18px}
  .studio{display:flex; flex-direction:column; justify-content:space-between; gap:18px; min-height:150px; padding:24px; border-radius:16px; text-decoration:none; color:var(--ink)}
  .studio img{height:44px; width:auto; align-self:flex-start; filter:var(--logo-filter)}
  .studio img.brand-color{filter:none; height:30px}
  .studio .rb{display:flex; flex-direction:column; gap:6px; align-items:flex-start}
  .studio .rb b{font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:.32em; text-transform:uppercase}
  .studio .wordmark{font-family:var(--mono); font-weight:700; font-size:21px; letter-spacing:.14em; text-transform:uppercase; line-height:1.15}
  .studio span{font-size:14px; color:var(--muted)}
  a.studio:hover span{color:var(--ink)}
  @media (max-width:1000px){ .studios{grid-template-columns:1fr 1fr} } @media (max-width:560px){ .studios{grid-template-columns:1fr} .studio{min-height:0} }
  /* Ambertone logo: own transparent versions per theme, no filter */
  img.amb{filter:none !important; mix-blend-mode:normal !important} .amb-d{display:none !important}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .amb-l{display:none !important} :root:not([data-theme="light"]) .amb-d{display:block !important} }
  :root[data-theme="dark"] .amb-l{display:none !important} :root[data-theme="dark"] .amb-d{display:block !important}
  :where(img[width][height]){height:auto}
  /* about: facts list */
  .facts{display:grid; gap:0; margin:26px 0 0; border-top:1px solid var(--line)}
  .facts > div{display:grid; grid-template-columns:200px 1fr; gap:24px; padding:16px 0; border-bottom:1px solid var(--line)}
  .facts dt{color:var(--muted); font-size:15px} .facts dd{margin:0; max-width:62ch}
  @media (max-width:640px){ .facts > div{grid-template-columns:1fr; gap:4px} }
  .tldr{margin:26px 0 8px; padding:20px 22px; border-radius:14px} .tldr b{display:block; font-size:14px; color:var(--muted); font-weight:600; margin-bottom:6px} .tldr p{margin:0; font-size:17px; line-height:1.6}
  /* quote form */
  .pl-load{margin-top:14px; min-height:44px; padding:0 20px; border-radius:999px; border:1px solid var(--line); background:var(--surface); color:var(--ink); font:600 15px/1 var(--body); cursor:pointer}
  .pl-load:focus-visible{outline:2px solid var(--orange); outline-offset:3px}
  .pl-note{margin:8px 0 0; font-size:13px; color:var(--faint)}
  .qform{display:grid; gap:16px; margin-top:34px; max-width:720px; position:relative}
  .qform .anchor{position:absolute; top:-110px}
  .qrow{display:grid; grid-template-columns:1fr 1fr; gap:16px}
  .qform label{display:grid; gap:7px; font-size:14px; color:var(--muted)}
  .qform .opt{color:var(--faint); font-size:12.5px}
  .qform .lt{display:block}
  .qform input,.qform select{height:50px}
  .qform select{appearance:none; -webkit-appearance:none; padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%239C9EA7' stroke-width='1.6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center}
  .qform input,.qform select,.qform textarea{font:inherit; font-size:16px; color:var(--ink); background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:12px 14px; width:100%; box-sizing:border-box}
  .qform textarea{resize:vertical; min-height:110px}
  .qform input:focus,.qform select:focus,.qform textarea:focus{outline:none; border-color:var(--orange); box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 22%,transparent)}
  .qform input::placeholder,.qform textarea::placeholder{color:var(--faint)}
  .qform .hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}
  .qsend{display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:4px}
  .qbtn{display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 26px; border-radius:999px; border:0; background:var(--ink); color:var(--bg); font:600 15px/1 var(--body); text-decoration:none; cursor:pointer; transition:transform .2s, opacity .2s}
  .qbtn:hover{transform:translateY(-1px)} .qbtn:disabled{opacity:.6; cursor:default; transform:none}
  .qbtn:focus-visible{outline:2px solid var(--orange); outline-offset:3px}
  .form-status{margin:0; font-size:15px} .form-status.ok{color:var(--ink)} .form-status.err{color:var(--orange)}
  .qform.sent label,.qform.sent .qrow{opacity:.45; pointer-events:none}
  .qnote{margin:6px 0 0; font-size:13.5px; color:var(--faint)} .qnote a{color:var(--muted)}
  .cta-row{display:flex; align-items:center; gap:22px 28px; flex-wrap:wrap; margin:28px 0 0}
  @media (max-width:640px){ .qrow{grid-template-columns:1fr} }
  /* phones: floating quote button */
  .quote-fab{display:none}
  @media (max-width:760px){
    .quote-fab{display:flex; position:fixed; z-index:40; left:16px; right:16px; bottom:calc(14px + env(safe-area-inset-bottom)); justify-content:center; align-items:center; min-height:50px; border-radius:999px; background:var(--ink); color:var(--bg); font:600 16px/1 var(--body); text-decoration:none; box-shadow:0 10px 30px -10px rgba(0,0,0,.55); transition:transform .3s ease, opacity .3s ease}
    .quote-fab.away{transform:translateY(130%); opacity:0; pointer-events:none}
  }
  /* phones: two covers per row, thumb sized tap targets */
  @media (max-width:600px){
    .rel-grid{grid-template-columns:1fr 1fr; gap:24px 14px}
    .rel-tile .rt{font-size:14.5px} .rel-tile .rt a{display:inline-block; padding:5px 0} .rel-tile .ra,.rel-tile .rm{font-size:13px}
    footer a{padding:10px 0}
    .chips{gap:2px 22px} .chips a{padding:10px 0}
    .links{gap:0 24px} .links a{font-size:13px; padding:14px 0}
    /* tables: each row becomes a small card, cells labeled by their column */
    .table-wrap{overflow:visible}
    .table-wrap table{min-width:0; font-size:15px}
    .table-wrap thead{display:none}
    .table-wrap tr{display:block; padding:12px 0; border-bottom:1px solid var(--line)}
    .table-wrap td{display:grid; grid-template-columns:42% 1fr; gap:12px; padding:4px 0; border:0}
    .table-wrap td::before{content:attr(data-label); font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); padding-top:3px}
    .table-wrap td:first-child{display:block; color:var(--ink); font-weight:500; padding-bottom:6px} .table-wrap td:first-child::before{display:none}
    /* Dr. Session screenshots: shown large, swipe sideways to read the whole screen */
    .ds-feat .photo{overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; -webkit-mask-image:linear-gradient(90deg,#000 82%,transparent); mask-image:linear-gradient(90deg,#000 82%,transparent)}
    .ds-feat .photo::-webkit-scrollbar{display:none}
    .ds-feat .photo img{width:230%; max-width:none; height:auto; display:block}
    .ds-feat .photo + div::before{content:"Swipe the screenshot to see the full screen"; display:block; font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); margin:-6px 0 14px}
  }
