:root {
  color-scheme:dark;
  --bg:#171c1b;
  --surface:#202725;
  --ink:#f4f0e8;
  --muted:#bcbfb6;
  --accent:#e4ae7f;
  --line:#3c4540;
  font-family:Arial,Helvetica,sans-serif;
  font-synthesis:none
}
* {
  box-sizing:border-box
}
html {
  scroll-padding-top:24px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-size:1.0625rem;
  line-height:1.7
}
a {
  color:inherit;
  text-decoration:none
}
a:focus-visible,button:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:6px
}
a:hover {
  color:var(--accent)
}
img {
  display:block;
  max-width:100%;
  height:auto
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2 {
  font-weight:400;
  letter-spacing:-.045em;
  line-height:1.08
}
h1 {
  font-size:clamp(2.75rem,5.4vw,5rem);
  margin-bottom:28px
}
h2 {
  font-size:clamp(2.3rem,4vw,3.7rem);
  margin-bottom:24px
}
h3 {
  font-size:1.3rem;
  line-height:1.3;
  letter-spacing:-.025em
}
em {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  color:var(--accent)
}
p {
  color:var(--muted)
}
.wrap {
  width:min(1200px,calc(100% - 48px));
  margin-inline:auto
}
.site-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-block:24px;
  border-bottom:1px solid var(--line)
}
.brand {
  display:flex;
  align-items:center;
  gap:13px;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.5
}
.brand small {
  display:block;
  font-size:.56rem;
  font-weight:400;
  letter-spacing:.2em;
  color:var(--muted)
}
.brand-mark {
  font-family:Georgia,serif;
  font-size:3rem;
  line-height:1;
  letter-spacing:-.1em
}
.brand-mark span {
  color:var(--accent)
}
nav {
  display:flex;
  gap:30px;
  font-size:.84rem
}
nav a:last-child {
  color:var(--accent)
}
.hero {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:center;
  gap:36px;
  padding-block:60px 70px
}
.eyebrow,.tag {
  font-size:.65rem;
  letter-spacing:.17em;
  font-weight:700;
  line-height:1.6
}
.eyebrow {
  color:var(--accent);
  margin-bottom:28px
}
.small-line {
  display:inline-block;
  width:28px;
  height:1px;
  background:var(--accent);
  vertical-align:middle;
  margin-right:8px
}
.lead {
  font-size:1.3rem;
  color:var(--ink);
  margin-bottom:12px
}
.hero-description {
  max-width:470px;
  font-size:1rem;
  margin-bottom:30px
}
.button {
  display:inline-flex;
  gap:38px;
  align-items:center;
  padding:15px 23px;
  background:var(--accent);
  color:var(--bg);
  font-size:.86rem;
  font-weight:700
}
.button:hover {
  background:#f0c5a1;
  color:var(--bg)
}
.hero-note {
  font-size:.69rem;
  margin-top:19px;
  max-width:390px
}
.hero-art {
  position:relative;
  overflow:hidden;
  background:#242e28;
  border-radius:220px 220px 4px 4px;
  border:1px solid #414a3d;
  isolation:isolate
}
.hero-art img {
  width:100%
}
.hero-art .electric-guitar {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .9s ease;
  pointer-events:none
}
.hero-art.show-electric .electric-guitar {
  opacity:1
}
.art-controls {
  display:flex;
  align-items:center;
  gap:2px
}
.art-controls[hidden] {
  display:none
}
.art-controls button {
  min-width:32px;
  min-height:36px;
  padding:4px;
  border:0;
  background:transparent;
  color:var(--muted);
  font:inherit;
  cursor:pointer
}
.art-controls button[aria-pressed="true"],.art-controls button:hover {
  color:var(--accent)
}
@media(prefers-reduced-motion:reduce) {
  .hero-art .electric-guitar { transition:none }
}
.art-label {
  position:absolute;
  top:15%;
  left:0;
  right:0;
  text-align:center;
  font-size:.58rem;
  letter-spacing:.24em;
  color:#d5c7b2;
  z-index:1
}
.art-caption {
  position:absolute;
  bottom:25px;
  left:28px;
  right:28px;
  display:flex;
  justify-content:space-between;
  align-items:end;
  font-size:.72rem;
  color:#e9dcc7
}
.art-caption span:last-child {
  font-size:.6rem;
  letter-spacing:.15em
}
.intro-strip {
  border-block:1px solid var(--line)
}
.intro-strip .wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-block:28px
}
.intro-strip p {
  margin:0;
  font-size:.88rem
}
.intro-strip strong {
  font-weight:400;
  color:var(--ink)
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:35px;
  border-bottom:1px solid #8d7964;
  padding-bottom:7px;
  font-size:.83rem;
  color:var(--accent)
}
.section {
  padding-block:95px
}
.section-heading {
  display:grid;
  grid-template-columns:1fr 1.65fr;
  gap:0 70px;
  align-items:end;
  margin-bottom:40px
}
.section-heading .eyebrow {
  grid-column:1/-1;
  margin-bottom:20px
}
.section-heading h2 {
  margin-bottom:0
}
.section-heading>p:last-child {
  max-width:460px;
  margin-bottom:5px
}
.cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}
.card {
  background:var(--surface);
  border:1px solid var(--line);
  padding:30px;
  display:flex;
  flex-direction:column;
  align-items:start
}
.card-number {
  font-family:Georgia,serif;
  font-size:2rem;
  color:var(--accent);
  margin-bottom:34px
}
.card p {
  font-size:1rem;
  margin-bottom:34px
}
.tag {
  font-size:.58rem;
  color:var(--accent);
  margin-top:auto
}
.about {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:85px;
  align-items:center;
  padding-top:15px
}
.portrait-placeholder {
  min-height:420px;
  padding:32px;
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(140deg,#303a32,#1c2421);
  display:flex;
  flex-direction:column;
  justify-content:space-between
}
.portrait-placeholder>.eyebrow {
  font-size:.58rem;
  color:var(--muted)
}
.portrait-lines {
  position:absolute;
  inset:60px 0 0;
  display:flex;
  gap:21px;
  justify-content:center;
  transform:rotate(25deg);
  opacity:.35
}
.portrait-lines i {
  width:1px;
  background:var(--accent)
}
.trial {
  background:#202623;
  border-block:1px solid var(--line)
}
.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px;
  list-style:none;
  padding:0;
  counter-reset:step;
  margin:45px 0
}
.steps li {
  counter-increment:step;
  border-top:1px solid #55594b;
  padding-top:24px
}
.steps li::before {
  content:'0' counter(step);
  display:block;
  color:var(--accent);
  font-family:Georgia,serif;
  font-size:1.4rem;
  margin-bottom:20px
}
.steps p {
  font-size:1rem;
  margin-bottom:0
}
.price-row {
  border-top:1px solid var(--line);
  padding-top:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px
}
.price-row h3 {
  margin:10px 0
}
.price-row p {
  font-size:.95rem;
  margin-bottom:0
}
.contact {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:70px;
  align-items:center
}
.contact-panel {
  border:1px solid #555044;
  padding:34px
}
.contact-panel h3 {
  margin-top:20px
}
.contact-panel p {
  font-size:1rem
}
.contact-panel dl {
  font-size:.95rem;
  border-top:1px solid var(--line);
  margin:24px 0
}
.contact-panel dl div {
  padding:14px 0;
  border-bottom:1px solid var(--line)
}
dt {
  color:var(--muted);
  font-size:.72rem
}
dd {
  margin:3px 0 0
}
.contact-panel .contact-hint {
  font-size:.875rem;
  margin-bottom:0
}
.contact-panel form { margin-top:24px }
.form-field { margin-bottom:16px }
.form-field label { display:block; margin-bottom:5px; color:var(--ink); font-size:.85rem }
.form-field label span:not(.optional) { color:var(--accent) }
.optional { color:var(--muted); font-size:.72rem }
.form-field input,.form-field textarea {
  display:block;
  width:100%;
  padding:12px;
  border:1px solid #677069;
  border-radius:0;
  background:var(--bg);
  color:var(--ink);
  font:inherit;
  font-size:.95rem
}
.form-field textarea { resize:vertical }
.form-field input:focus-visible,.form-field textarea:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:2px
}
.honeypot {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.contact-panel button { border:0; cursor:pointer }
.contact-panel button:disabled { opacity:.7; cursor:wait }
.form-status { margin:12px 0 0; font-size:.9rem }
.form-status[data-state="success"] { color:#c1e6be }
.form-status[data-state="error"] { color:#f3c2a8 }
.footer {
  border-top:1px solid var(--line);
  padding-block:28px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:18px
}
.footer p {
  font-size:.72rem;
  margin:0
}
.footer-brand {
  font-size:.82rem
}
.footer .preview-note {
  flex-basis:100%;
  font-size:.67rem;
  max-width:750px
}
.footer-links {
  flex-wrap:wrap;
  gap:12px 24px
}
.legal-page {
  max-width:800px;
  overflow-wrap:anywhere
}
.legal-page h1 {
  font-size:clamp(2rem,5vw,3.7rem);
  margin-top:36px
}
.legal-page section {
  margin-top:36px
}
.legal-page h2 {
  font-size:clamp(1.25rem,2.5vw,1.6rem);
  line-height:1.35;
  letter-spacing:-.02em;
  margin-bottom:16px
}
.legal-page address {
  font-style:normal;
  color:var(--muted);
  margin-bottom:20px
}
.legal-page ul {
  color:var(--muted);
  padding-left:24px
}
.legal-page li {
  margin-block:8px
}
.legal-page section a,.contact-panel dd a {
  color:var(--accent);
  text-decoration:underline;
  text-underline-offset:3px;
  overflow-wrap:anywhere
}
.skip-link {
  position:absolute;
  top:10px;
  left:20px;
  padding:12px;
  background:var(--ink);
  color:var(--bg);
  z-index:10;
  transform:translateY(-180%)
}
.skip-link:focus {
  transform:none;
  color:var(--bg)
}

@media(min-width:1400px) {
  .hero {
  gap:65px
}
.hero-art {
  max-width:480px;
  justify-self:end
}

}

@media(max-width:900px) {
  .hero {
  gap:24px
}
h1 {
  font-size:3.1rem
}
.hero-description {
  font-size:1rem
}
.hero-note {
  font-size:.63rem
}
.card {
  padding:24px
}
.about {
  gap:35px
}
.contact {
  gap:32px
}
.section-heading {
  gap:0 35px
}
.steps {
  gap:28px
}

}

@media(max-width:650px) {
  .wrap {
  width:calc(100% - 40px)
}
.site-header {
  padding-block:18px;
  flex-wrap:wrap;
  gap:17px
}
.brand {
  font-size:.6rem
}
.brand-mark {
  font-size:2.5rem
}
nav {
  width:100%;
  justify-content:space-between;
  gap:16px;
  font-size:.78rem;
  border-top:1px solid var(--line);
  padding-top:15px
}
.hero {
  grid-template-columns:1fr;
  padding-block:42px;
  gap:30px
}
h1 {
  font-size:clamp(2.4rem,10vw,3.7rem)
}
.eyebrow {
  font-size:.58rem;
  margin-bottom:22px
}
.lead {
  font-size:1.15rem
}
.hero-description {
  font-size:.95rem
}
.hero-note {
  font-size:.7rem;
  margin-bottom:0
}
.hero-art {
  width:min(100%,390px);
  justify-self:center
}
.hero-art img {
  max-height:450px;
  object-fit:cover;
  object-position:50% 55%
}
.art-label {
  top:12%
}
.intro-strip .wrap {
  flex-wrap:wrap;
  gap:20px
}
.intro-strip p {
  font-size:.83rem
}
.intro-strip .text-link {
  margin-top:2px
}
.section {
  padding-block:60px
}
.section-heading {
  display:block;
  margin-bottom:28px
}
.section-heading h2 {
  margin-bottom:22px
}
.section-heading>p:last-child {
  font-size:.95rem
}
.cards {
  grid-template-columns:1fr
}
.card {
  padding:27px
}
.card-number {
  margin-bottom:20px
}
.card p {
  margin-bottom:24px
}
.about {
  grid-template-columns:1fr;
  padding-top:0;
  gap:30px
}
.portrait-placeholder {
  min-height:300px
}
.steps {
  grid-template-columns:1fr;
  gap:25px;
  margin-block:30px
}
.steps li::before {
  margin-bottom:12px
}
.steps h3 {
  margin-bottom:12px
}
.price-row {
  display:block
}
.price-row .text-link {
  margin-top:24px
}
.contact {
  grid-template-columns:1fr;
  gap:20px
}
.contact-panel {
  padding:25px
}
.footer {
  gap:12px
}
.footer>p {
  flex-basis:100%
}

}
