:root{
    --paper:#0A0A0A;
    --panel:#141210;
    --panel-2:#1B1712;
    --cream:#F1EAD9;
    --ink-soft:#B3A98F;
    --gold:#D4AF6A;
    --gold-dim:#8C7038;
    --gold-wash:#2A2419;
    --line:rgba(212,175,106,0.32);
    --radius:16px;
    font-family:'Inter',system-ui,-apple-system,sans-serif;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{background:var(--paper);color:var(--cream);line-height:1.6;}
  .serif{font-family:'Instrument Serif','Georgia',serif;}
  a{color:inherit;}
  button{font-family:inherit;cursor:pointer;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

  header{position:sticky;top:0;z-index:50;background:rgba(10,10,10,0.9);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
  .navbar{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
  .brand{display:flex;align-items:center;gap:10px;letter-spacing:-0.01em;}
  .brand .wm{font-family:'Playfair Display',serif;font-weight:700;font-size:21px;color:var(--gold);line-height:1;}
  .brand .sub{font-size:9.5px;letter-spacing:0.2em;color:var(--ink-soft);text-transform:uppercase;line-height:1;margin-top:4px;}
  .star-divider{display:flex;align-items:center;gap:10px;margin:0 0 22px;max-width:300px;}
  .star-divider .ln{flex:1;height:1px;background:var(--line);}
  .star-divider .star{color:var(--gold);font-size:12px;}
  .tagline{font-family:'Instrument Serif',serif;font-style:italic;font-size:19px;color:var(--gold);margin:0;}
  .navlinks{display:flex;gap:4px;align-items:center;}
  .navlinks a,.navlinks button{background:none;border:none;padding:9px 14px;border-radius:8px;font-size:13.5px;color:var(--ink-soft);font-weight:500;letter-spacing:0.02em;text-decoration:none;display:inline-block;}
  .navlinks a.active,.navlinks button.active{background:var(--gold);color:#141210;font-weight:600;}
  .navlinks a:hover:not(.active),.navlinks button:hover:not(.active){background:var(--panel-2);color:var(--cream);}
  .call-btn{background:var(--gold);color:#141210;border:none;padding:9px 18px;border-radius:8px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:6px;text-decoration:none;}
  .menu-toggle{display:none;background:none;border:none;font-size:22px;padding:6px;color:var(--cream);}

  .strings{width:100%;height:50px;overflow:hidden;}
  .strings svg{width:100%;height:100%;display:block;}
  .string-line{transform-origin:center;}
  @media (prefers-reduced-motion: no-preference){
    .string-line{animation:pluck 2.6s ease-in-out infinite;}
    .string-line:nth-child(1){animation-delay:0s;}
    .string-line:nth-child(2){animation-delay:0.15s;}
    .string-line:nth-child(3){animation-delay:0.3s;}
    .string-line:nth-child(4){animation-delay:0.45s;}
    .string-line:nth-child(5){animation-delay:0.6s;}
    .string-line:nth-child(6){animation-delay:0.75s;}
  }
  @keyframes pluck{0%,100%{transform:translateY(0);}50%{transform:translateY(1.5px);}}

  section.page{display:none;}
  section.page.active{display:block;}

  /* FRAME — mirrors the business card panel */
  .frame{border:1px solid var(--line);border-radius:24px;background:var(--panel);padding:44px;position:relative;}
  @media (max-width:700px){.frame{padding:28px 22px;}}

  .hero-wrap{padding:36px 0 0;}
  .hero-inner{display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:center;}
  .hero-guitar{width:100%;display:block;filter:drop-shadow(0 0 18px rgba(212,175,106,0.08));}
  .eyebrow{font-size:12px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;}
  .hero h1{font-size:clamp(32px,5vw,52px);font-weight:400;margin:0 0 18px;line-height:1.08;color:var(--cream);}
  .hero p.lead{font-size:16.5px;color:var(--ink-soft);max-width:480px;margin:0 0 22px;}
  .cta-row{display:flex;gap:12px;flex-wrap:wrap;}
  .btn-primary{background:var(--gold);color:#141210;border:none;padding:13px 26px;border-radius:9px;font-size:14.5px;font-weight:600;}
  .btn-secondary{background:transparent;color:var(--cream);border:1.5px solid var(--line);padding:12px 24px;border-radius:9px;font-size:14.5px;font-weight:600;display:inline-flex;align-items:center;gap:8px;text-decoration:none;}
  @media (max-width:700px){.hero-inner{grid-template-columns:1fr;}.hero-guitar{width:120px;margin:0 auto;}}

  .badges{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:36px 0 0;}
  .badge{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-align:center;}
  .badge .n{font-size:14.5px;font-weight:600;margin:0 0 2px;color:var(--cream);}
  .badge .s{font-size:12.5px;color:var(--ink-soft);margin:0;}

  .section{padding:52px 0;}
  .section h2{font-size:clamp(24px,3.6vw,32px);font-weight:400;margin:0 0 8px;color:var(--cream);}
  .section .sub{color:var(--ink-soft);font-size:14.5px;margin:0 0 30px;max-width:520px;}

  .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
  .card .ic{width:38px;height:38px;border-radius:50%;background:var(--gold);color:#141210;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:16px;font-weight:600;}
  .card h3{font-size:15.5px;font-weight:600;margin:0 0 6px;color:var(--cream);}
  .card p{font-size:13.5px;color:var(--ink-soft);margin:0;}

  .quote-card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
  .quote-card p.q{font-family:'Instrument Serif',serif;font-size:18px;line-height:1.4;margin:0 0 14px;color:var(--cream);}
  .quote-card p.a{font-size:12.5px;color:var(--gold);margin:0;}
  .placeholder-note{font-size:12px;color:var(--ink-soft);margin-top:18px;opacity:0.7;}

  .price-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:560px;}
  .price-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative;}
  .price-card.popular{border:1.5px solid var(--gold);}
  .price-card .tag{position:absolute;top:-11px;left:20px;background:var(--gold);color:#141210;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;}
  .price-card .len{font-size:13.5px;color:var(--ink-soft);margin:0 0 4px;}
  .price-card .amt{font-family:'Instrument Serif',serif;font-size:36px;margin:0;color:var(--gold);}

  .list-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .list-item{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;}
  .list-item .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);margin-top:7px;flex:none;}
  .list-item h4{margin:0 0 3px;font-size:14.5px;font-weight:600;color:var(--cream);}
  .list-item p{margin:0;font-size:13px;color:var(--ink-soft);}

  .about-copy p{font-size:15px;color:var(--ink-soft);max-width:600px;margin:0 0 16px;}
  .video-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px;}
  .video-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-decoration:none;display:flex;flex-direction:column;gap:10px;}
  .video-card .play{width:36px;height:36px;border-radius:50%;background:var(--gold);color:#141210;display:flex;align-items:center;justify-content:center;font-size:14px;}
  .video-card h4{margin:0;font-size:13.5px;font-weight:600;color:var(--cream);}
  .video-card span{font-size:12px;color:var(--gold);}

  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{width:100%;text-align:left;background:none;border:none;padding:18px 0;font-size:15.5px;font-weight:600;display:flex;justify-content:space-between;align-items:center;color:var(--cream);}
  .faq-q .chev{transition:transform 0.2s ease;color:var(--gold);font-size:14px;}
  .faq-item.open .chev{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height 0.25s ease;}
  .faq-item.open .faq-a{max-height:200px;}
  .faq-a p{margin:0 0 18px;font-size:14px;color:var(--ink-soft);max-width:560px;}

  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  .contact-info{padding-right:32px;border-right:1px solid var(--line);}
  .contact-info .row{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:14.5px;}
  .contact-info .ic{width:38px;height:38px;border-radius:50%;background:var(--gold);color:#141210;display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;}
  .contact-info .txt .lbl{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:0.08em;margin:0 0 1px;}
  .contact-info .txt a, .contact-info .txt span{font-size:14.5px;color:var(--cream);font-weight:500;}
  .form-side{padding-left:32px;}
  @media (max-width:700px){.contact-grid{grid-template-columns:1fr;}.contact-info{border-right:none;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:28px;margin-bottom:28px;}.form-side{padding-left:0;}}
  .form-card label{display:block;font-size:12.5px;font-weight:600;margin:0 0 6px;color:var(--cream);}
  .form-card input,.form-card textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:14px;margin-bottom:14px;background:var(--paper);color:var(--cream);}
  .form-card textarea{min-height:80px;resize:vertical;}
  .form-success{display:none;background:var(--gold-wash);color:var(--gold);border-radius:9px;padding:12px 14px;font-size:13.5px;font-weight:600;margin-bottom:14px;}

  footer{border-top:1px solid var(--line);padding:32px 0;text-align:center;}
  footer p{font-size:13px;color:var(--ink-soft);margin:0 0 8px;}
  .foot-social{display:flex;gap:16px;justify-content:center;font-size:13px;flex-wrap:wrap;}
  .foot-social a{text-decoration:none;color:var(--gold);}

  .disclaimer{background:var(--gold-wash);color:var(--gold);font-size:12.5px;padding:10px 16px;text-align:center;}

  /* Mobile nav panel — hidden by default, shown via .open on small screens */
  .mobile-nav{display:none;flex-direction:column;background:var(--panel);border-top:1px solid var(--line);}
  .mobile-nav a{padding:14px 24px;font-size:15px;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--line);}
  .mobile-nav a.active{color:var(--gold);font-weight:600;}
  .mobile-nav.open{display:flex;}

  @media (max-width:760px){
    .navlinks{display:none;}
    .menu-toggle{display:block;}
    .grid-2,.grid-3,.list-grid,.video-row,.price-grid{grid-template-columns:1fr;}
    .badges{grid-template-columns:1fr;}
  }

/* ---------- Admin panel ---------- */
.admin-body{background:var(--paper);color:var(--cream);font-family:'Inter',system-ui,sans-serif;min-height:100vh;margin:0;}
.admin-wrap{max-width:960px;margin:0 auto;padding:32px 24px 80px;}
.admin-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line);background:var(--panel);}
.admin-header .wm{font-family:'Playfair Display',serif;font-weight:700;font-size:19px;color:var(--gold);}
.admin-nav{display:flex;gap:6px;flex-wrap:wrap;margin:24px 0 32px;}
.admin-nav a{padding:9px 16px;border-radius:8px;font-size:13.5px;color:var(--ink-soft);text-decoration:none;border:1px solid var(--line);}
.admin-nav a.active,.admin-nav a:hover{background:var(--gold);color:#141210;border-color:var(--gold);}
.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px;margin-bottom:24px;}
.admin-card h2{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--cream);}
.admin-card .desc{color:var(--ink-soft);font-size:13.5px;margin:0 0 20px;}
.afield{margin-bottom:18px;}
.afield label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--cream);}
.afield .hint{font-size:12px;color:var(--ink-soft);margin-top:4px;}
.afield input[type=text],.afield input[type=email],.afield input[type=password],.afield input[type=number],
.afield textarea,.afield select{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);
  color:var(--cream);font-family:inherit;font-size:14px;
}
.afield textarea{min-height:90px;resize:vertical;}
.afield.checkbox{display:flex;align-items:center;gap:10px;}
.afield.checkbox input{width:auto;}
.repeat-block{border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px;background:var(--panel-2);}
.repeat-block .rm{float:right;background:none;border:1px solid var(--line);color:#D97757;border-radius:6px;padding:4px 10px;font-size:12px;}
.btn{background:var(--gold);color:#141210;border:none;padding:11px 20px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;}
.btn.secondary{background:transparent;border:1.5px solid var(--line);color:var(--cream);}
.btn.danger{background:transparent;border:1.5px solid #D97757;color:#D97757;}
.flash{background:var(--gold-wash);color:var(--gold);border-radius:9px;padding:12px 16px;margin-bottom:20px;font-size:14px;}
.flash.error{color:#D97757;}
table.admin-table{width:100%;border-collapse:collapse;}
table.admin-table th,table.admin-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);font-size:14px;}
table.admin-table th{color:var(--ink-soft);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.04em;}
.login-box{max-width:380px;margin:80px auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:36px;}
