@charset "UTF-8";
:root {
  color-scheme:dark;
  --bg:#131413;
  --panel:#1c1e1c;
  --ink:#f0f0e8;
  --muted:#a5a79f;
  --line:#363832;
  --orange:#ff7847;
  --lime:#d5e3ae;
  --mono:ui-monospace,SFMono-Regular,Consolas,monospace;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:35px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input {
  font:inherit;
}
img,svg {
  max-width:100%;
  display:block;
}
p {
  line-height:1.65;
}
::selection {
  background:var(--orange);
  color:var(--bg);
}
:focus-visible {
  outline:2px solid var(--orange);
  outline-offset:6px;
}
.wrap {
  width:min(1280px,calc(100% - 96px));
  margin:auto;
}
.skip {
  position:absolute;
  top:-100px;
  left:20px;
  padding:15px;
  background:var(--orange);
  color:#111;
  z-index:10;
}
.skip:focus {
  top:10px;
}
.topbar {
  height:106px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  gap:24px;
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:23px;
  font-weight:700;
  letter-spacing:-1px;
}
.brand-mark {
  display:flex;
  align-items:center;
  gap:4px;
  height:32px;
}
.brand-mark i {
  display:block;
  width:5px;
  border-radius:3px;
  background:var(--orange);
  height:14px;
}
.brand-mark i:nth-child(2),.brand-mark i:nth-child(4) {
  height:27px;
}
.brand-mark i:nth-child(3) {
  height:37px;
}
.nav {
  display:flex;
  gap:33px;
  align-items:center;
  font-size:13px;
}
.nav a:hover,.text-link:hover {
  color:var(--orange);
}
.nav-contact {
  border:1px solid #55574f;
  padding:12px 19px;
  border-radius:4px;
}
.eyebrow,.micro {
  font:11px/1.5 var(--mono);
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
}
.status-dot {
  width:6px;
  height:6px;
  background:var(--orange);
  border-radius:50%;
  display:inline-block;
}
.muted {
  color:var(--muted);
}
.hero {
  padding:73px 0 43px;
  position:relative;
}
.hero-top {
  display:flex;
  justify-content:space-between;
}
.hero-layout {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  align-items:center;
  gap:30px;
}
.hero h1 {
  font-size:clamp(65px,7.6vw,110px);
  font-weight:500;
  letter-spacing:-7px;
  line-height:.98;
  margin:35px 0 28px;
}
.hero h1 span {
  color:var(--orange);
}
.hero-copy {
  max-width:430px;
  font-size:16px;
  color:var(--muted);
  margin-bottom:28px;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  background:var(--orange);
  color:#161714;
  border:1px solid var(--orange);
  padding:17px 23px;
  border-radius:3px;
  font-size:13px;
  font-weight:600;
  transition:background .2s,transform .2s;
}
.button:hover {
  background:#ff946c;
  transform:translateY(-2px);
}
.button.secondary {
  background:transparent;
  color:var(--ink);
  border-color:#55574f;
}
.actions {
  display:flex;
  align-items:center;
  gap:27px;
  flex-wrap:wrap;
}
.text-link {
  font-size:13px;
  display:inline-flex;
  gap:20px;
  align-items:center;
}
.sound-art {
  position:relative;
  align-self:stretch;
  min-height:380px;
  display:flex;
  align-items:center;
  justify-content:center;
  background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.sound-art:before,.sound-art:after {
  content:'';
  position:absolute;
  border:1px solid #55574f55;
  border-radius:50%;
  width:330px;
  height:330px;
}
.sound-art:after {
  width:240px;
  height:240px;
}
.sound-art svg {
  width:100%;
  z-index:1;
  overflow:visible;
}
.art-label {
  position:absolute;
  bottom:33px;
  left:50%;
  transform:translateX(-50%);
  white-space:nowrap;
  color:var(--muted);
}
.hero-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid var(--line);
  margin-top:52px;
  padding-top:23px;
  color:var(--muted);
}
.platforms {
  display:flex;
  gap:26px;
  font:11px var(--mono);
}
.section {
  padding:70px 0;
  border-top:1px solid var(--line);
}
.section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:30px;
}
.section h1, .section h2 {
  font-size:42px;
  letter-spacing:-1.8px;
  font-weight:500;
  margin:12px 0 0;
}
.section-head p {
  margin:0;
  color:var(--muted);
  font-size:14px;
}
.featured {
  background:#252a25;
  display:grid;
  grid-template-columns:1fr 1.17fr;
  border:1px solid #3f463b;
  border-radius:6px;
  overflow:hidden;
  min-height:385px;
}
.featured-copy {
  padding:42px;
  display:flex;
  flex-direction:column;
  align-items:start;
}
.pill {
  display:inline-block;
  font:10px var(--mono);
  padding:7px 10px;
  border:1px solid #707e59;
  border-radius:3px;
  color:var(--lime);
  text-transform:uppercase;
  letter-spacing:1px;
}
.featured h3 {
  font-size:56px;
  font-weight:500;
  letter-spacing:-2px;
  margin:24px 0 0;
}
.featured p {
  max-width:350px;
  color:#b9c1b2;
  font-size:14px;
  margin:16px 0 25px;
}
.featured .text-link {
  margin-top:auto;
  color:var(--lime);
}
.featured-image {
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#24282b;
}
.featured-image img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:24px;
}
.card {
  min-width:0;
}
.card-image {
  display:block;
  aspect-ratio:1.36;
  background:#24282b;
  border:1px solid var(--line);
  border-radius:5px;
  overflow:hidden;
}
.card-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s;
}
.card-image:hover img {
  transform:scale(1.035);
}
.card-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:21px 0 7px;
}
.card h3 {
  font-size:24px;
  letter-spacing:-.6px;
  font-weight:500;
  margin:0;
}
.card p {
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
  margin:10px 0;
}
.card .micro {
  font-size:9px;
  letter-spacing:1px;
  color:var(--muted);
}
.catalog {
  margin-top:50px;
}
.catalog summary {
  cursor:pointer;
  padding:22px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:14px;
}
.catalog summary span {
  color:var(--muted);
  font:11px var(--mono);
  margin-left:14px;
}
.catalog-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 40px;
}
.catalog-item {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:24px 0;
  border-bottom:1px solid var(--line);
}
.catalog-item:hover {
  color:var(--orange);
}
.catalog-item small {
  display:block;
  font:10px var(--mono);
  color:var(--muted);
  margin-top:8px;
}
.about {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
}
.about h2 {
  font-size:53px;
  line-height:1.07;
  max-width:470px;
}
.about-copy {
  padding-top:10px;
}
.about-copy p {
  color:var(--muted);
  font-size:16px;
  margin-top:0;
}
.signature {
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:29px;
}
.avatar {
  width:43px;
  height:43px;
  border-radius:50%;
  border:1px solid #62665b;
  display:grid;
  place-items:center;
  font:12px var(--mono);
  color:var(--lime);
}
.signature strong {
  display:block;
  font-size:13px;
  font-weight:500;
}
.signature small {
  display:block;
  font:10px var(--mono);
  color:var(--muted);
  margin-top:5px;
}
.support-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:30px;
}
.support-card {
  padding:25px;
  border:1px solid var(--line);
  border-radius:4px;
  transition:border-color .2s;
}
.support-card:hover {
  border-color:var(--orange);
}
.support-card .number {
  font:11px var(--mono);
  color:var(--orange);
}
.support-card h3 {
  font-size:18px;
  font-weight:500;
  margin:28px 0 10px;
}
.support-card p {
  color:var(--muted);
  font-size:13px;
  margin:0;
}
.support-card h3 span {
  float:right;
}
.footer {
  padding:35px 0 25px;
  border-top:1px solid var(--line);
}
.footer-top,.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:center;
}
.footer-top {
  padding-bottom:38px;
}
.footer-links {
  display:flex;
  gap:23px;
  font-size:12px;
  color:var(--muted);
}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-top:22px;
  font:10px/1.7 var(--mono);
  color:var(--muted);
}
.footer .brand {
  font-size:19px;
}
.page-header {
  padding:70px 0 45px;
}
.page-header h1 {
  font-size:clamp(44px,6vw,78px);
  font-weight:500;
  letter-spacing:-3px;
  margin:25px 0 20px;
}
.page-header p {
  color:var(--muted);
  max-width:620px;
}
.product-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
  padding-bottom:60px;
}
.product-hero img {
  border-radius:6px;
  max-height:560px;
  object-fit:contain;
  width:100%;
}
.product-hero h1 {
  font-size:clamp(40px,5vw,66px);
}
.product-hero .actions {
  gap:15px;
}
.prose {
  color:#b9bcb3;
  max-width:850px;
  font-size:16px;
  line-height:1.8;
}
.prose b {
  color:var(--ink);
}
.features {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  padding:0;
  gap:0 50px;
  list-style:none;
  margin-top:30px;
}
.features li {
  border-bottom:1px solid var(--line);
  padding:15px 0;
  font-size:14px;
  color:#bdc0b6;
}
.features li:before {
  content:'+';
  color:var(--orange);
  margin-right:13px;
}
.resource-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 45px;
  margin-bottom:65px;
}
.resource {
  padding:25px 0;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
}
.resource:hover {
  color:var(--orange);
}
.resource small {
  display:block;
  color:var(--muted);
  margin-top:8px;
  font-size:12px;
}
.back {
  font:11px var(--mono);
  color:var(--muted);
}
@media(min-width:1500px) {
  .hero h1 {
    font-size:112px;
  }
}
@media(max-width:1000px) {
  .wrap {
    width:calc(100% - 56px);
  }
  .hero h1 {
    letter-spacing:-4px;
  }
  .hero-layout {
    grid-template-columns:1.2fr 1fr;
  }
  .featured-copy {
    padding:30px;
  }
  .about {
    gap:45px;
  }
  .about h2 {
    font-size:45px;
  }
  .platforms {
    gap:13px;
  }
  .hero-top>.micro {
    display:none;
  }
  .nav {
    gap:22px;
  }
}
@media(max-width:700px) {
  .wrap {
    width:calc(100% - 40px);
  }
  .topbar {
    height:auto;
    min-height:95px;
    flex-wrap:wrap;
    padding:24px 0 18px;
    gap:24px;
  }
  .brand {
    font-size:21px;
  }
  .nav {
    width:100%;
    justify-content:space-between;
    gap:10px;
    font-size:12px;
  }
  .nav-contact {
    padding:8px 12px;
  }
  .hero {
    padding:43px 0 28px;
  }
  .hero-layout {
    grid-template-columns:1fr;
    gap:0;
  }
  .hero h1 {
    font-size:clamp(57px,12.8vw,87px);
    letter-spacing:-3.5px;
    margin-top:27px;
  }
  .hero-copy {
    font-size:15px;
  }
  .sound-art {
    min-height:230px;
    margin-top:25px;
  }
  .sound-art svg {
    max-height:235px;
  }
  .sound-art:before {
    width:210px;
    height:210px;
  }
  .sound-art:after {
    width:150px;
    height:150px;
  }
  .art-label {
    bottom:8px;
    font-size:9px;
  }
  .hero-bottom {
    margin-top:20px;
    gap:20px;
    align-items:start;
  }
  .hero-bottom>.micro {
    max-width:115px;
    font-size:9px;
  }
  .platforms {
    flex-wrap:wrap;
    justify-content:flex-end;
    max-width:190px;
    gap:10px 17px;
    font-size:10px;
  }
  .section {
    padding:43px 0;
  }
  .section h1, .section h2 {
    font-size:34px;
  }
  .section-head {
    align-items:start;
  }
  .section-head>p {
    max-width:140px;
    font-size:12px;
    padding-top:25px;
  }
  .featured {
    grid-template-columns:1fr;
  }
  .featured h3 {
    font-size:46px;
  }
  .featured-copy {
    padding:29px;
  }
  .featured-image {
    aspect-ratio:1.35;
  }
  .cards {
    grid-template-columns:1fr;
    gap:28px;
  }
  .card-image {
    aspect-ratio:1.45;
  }
  .card-title {
    margin-top:16px;
  }
  .catalog {
    margin-top:35px;
  }
  .catalog-grid,.about,.support-grid,.resource-list,.product-hero,.features {
    grid-template-columns:1fr;
  }
  .about {
    gap:28px;
  }
  .about h2 {
    font-size:43px;
  }
  .support-grid {
    gap:12px;
  }
  .support-card h3 {
    margin-top:18px;
  }
  .footer-top,.footer-bottom {
    align-items:start;
    flex-direction:column;
  }
  .footer-links {
    flex-wrap:wrap;
    gap:20px;
  }
  .footer-top {
    padding-bottom:25px;
  }
  .page-header {
    padding:45px 0 30px;
  }
  .page-header h1 {
    letter-spacing:-2px;
  }
  .product-hero {
    gap:35px;
  }
  .resource-list {
    gap:0;
  }
  .features {
    gap:0;
  }
  .actions {
    gap:20px;
  }
  .catalog summary span {
    font-size:9px;
    margin-left:4px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important;
  }
}

/* Newsletter: native form validation, no third-party scripts. */
.newsletter { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.newsletter > div > p { color:var(--muted); max-width:390px; font-size:14px; }
.newsletter-form { position:relative; min-width:0; }
.newsletter-form > label:first-child { display:block; font-size:12px; margin-bottom:12px; }
.newsletter-input-row { display:flex; gap:10px; }
.newsletter-input-row input { min-width:0; flex:1; border:1px solid #62665b; background:var(--panel); color:var(--ink); border-radius:3px; padding:16px; }
.newsletter-input-row input::placeholder { color:var(--muted); }
.newsletter-input-row .button { cursor:pointer; gap:18px; }
.newsletter-consent { display:flex; align-items:flex-start; gap:10px; font-size:12px; line-height:1.6; color:#b9bcb3; margin-top:19px; }
.newsletter-consent input { accent-color:var(--orange); margin:3px 0 0; width:17px; height:17px; flex-shrink:0; }
.newsletter-consent a,.prose a { text-decoration:underline; text-underline-offset:3px; }
.newsletter-note { color:var(--muted); font-size:11px; line-height:1.6; }
.newsletter-trap { position:absolute; left:-5000px; width:1px; height:1px; overflow:hidden; }
.legal-links { display:flex; gap:18px; }
.legal-page { padding-bottom:70px; }
.legal-page .prose section { margin-bottom:35px; }
.legal-page .prose h2 { font-size:25px; line-height:1.3; font-weight:500; color:var(--ink); letter-spacing:-.5px; }
@media(max-width:700px) {
  .newsletter { grid-template-columns:1fr; gap:25px; }
  .newsletter-input-row { flex-direction:column; }
  .newsletter-input-row .button { align-self:flex-start; }
}

/* The instrument collection now opens the homepage. */
#instruments { border-top:0; }
.about { align-items:center; gap:70px; }
.studio-photo { width:100%; height:auto; border-radius:5px; }
.about-copy h2 { margin-bottom:28px; }
@media(max-width:1000px) { .about { gap:40px; } }
@media(max-width:700px) { .about { gap:30px; } }

.about-copy p a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }
.about-copy p a:hover { color:var(--orange); }
.shop-section { display:flex; justify-content:space-between; align-items:center; gap:32px; }
.shop-section p { color:var(--muted); font-size:14px; }
.shop-section .button { flex-shrink:0; }
@media(max-width:700px) {
  .shop-section { flex-direction:column; align-items:flex-start; gap:15px; }
  .nav { flex-wrap:wrap; gap:12px 16px; }
  .signature small { line-height:1.6; }
}

.about-links { display:flex; flex-wrap:wrap; gap:16px 26px; margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.about-links .text-link { gap:10px; }
