/* Pappenfüs Guitars. The only stylesheet this site has.
   v1's styles.css (spim-staging/pappenfus at f86aefe, 2026-08-26) carried verbatim below, fonts on the fleet host, four
   endless iteration counts made finite (CSS-9, see Clients/pappenfus-guitars/2026-09-04/build-1/mkcss.py), then the
   glyph masks, the utility classes for v1's inline styles, and the additions that replace v1's empty elements and scripts.
   No endlessly-repeating animation, ever. See docs/css-output-reqs.md CSS-9. */
/* tokens.css - emitted by build.py from site-config.json */
:root {
  --brand-name: 'Pappenfüs Guitars';
  --site-base-url: 'https://www.pappenfusguitars.com';
  --text-base: 1.0625rem;
}

:root{--brand-name:'Pappenfüs Guitars';--site-base-url:'https://www.pappenfusguitars.com';--text-base:1.0625rem}:root{--color-bg:#1c1917;--color-bg-elevated:#231f1b;--color-accent:#c8943e;--color-accent-deep:#a07508;--color-text:#f0e8dc;--color-text-muted:#918471;--color-text-soft:#7a6d5e;--color-focus:rgba(200,148,62,0.4);--target-min:24px;--bg:var(--color-bg);--bg-deep:var(--color-bg);--bg-panel:var(--color-bg-elevated);--bg-elev:var(--color-bg-elevated);--ink-d:var(--color-bg-elevated);--ink-d-soft:var(--color-bg-elevated);--ink:var(--color-text);--ink-mute:var(--color-text-muted);--ink-soft:var(--color-text-soft);--line:rgba(240,232,220,0.12);--line-d:rgba(240,232,220,0.12);--accent:var(--color-accent);--accent-deep:var(--color-accent-deep);--rust:var(--color-accent);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Source Sans 3',system-ui,sans-serif}@font-face{font-family:'Cormorant Garamond';src:url('https://media.beargrassai.com/pappenfus/CormorantGaramond-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Cormorant Garamond';src:url('https://media.beargrassai.com/pappenfus/CormorantGaramond-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:'Cormorant Garamond';src:url('https://media.beargrassai.com/pappenfus/CormorantGaramond-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:'Source Sans 3';src:url('https://media.beargrassai.com/pappenfus/SourceSans3-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Source Sans 3';src:url('https://media.beargrassai.com/pappenfus/SourceSans3-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Source Sans 3';src:url('https://media.beargrassai.com/pappenfus/SourceSans3-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html,body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{position:relative;min-height:100vh;overflow-x:hidden}body::before,body::after{content:"";position:fixed;z-index:0;pointer-events:none;will-change:transform}body::before{inset:-40vh -20vw -40vh -20vw;background:radial-gradient(circle 60vmax at 22% 18%,rgba(200,148,62,0.08) 0,rgba(200,148,62,0.04) 38%,rgba(200,148,62,0.01) 70%,transparent 100%);animation:gDriftA 130s linear 1}body::after{inset:-40vh -20vw -40vh -20vw;background:radial-gradient(circle 55vmax at 82% 78%,rgba(200,148,62,0.06) 0,rgba(200,148,62,0.03) 42%,rgba(200,148,62,0.01) 78%,transparent 100%);animation:gDriftB 100s linear 1}@keyframes gDriftA{0%{transform:translate3d(-2%,-1%,0) scale(1)}50%{transform:translate3d(2%,1%,0) scale(1.05)}100%{transform:translate3d(-2%,-1%,0) scale(1)}}@keyframes gDriftB{0%{transform:translate3d(2%,1%,0) scale(1.02)}50%{transform:translate3d(-2%,-1%,0) scale(1.07)}100%{transform:translate3d(2%,1%,0) scale(1.02)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}[data-zoom-on-view]{transform:none !important;background-size:cover !important}video[autoplay]{display:none !important}.reduced-motion-poster{display:block !important}}:focus{outline:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus)}.skip-nav{position:absolute;top:8px;left:8px;background:var(--color-accent);color:var(--color-bg);padding:10px 14px;font-family:var(--sans);font-weight:600;font-size:14px;text-decoration:none;transform:translateY(-200%);z-index:1000;min-height:var(--target-min);min-width:var(--target-min);display:inline-flex;align-items:center}.skip-nav:focus,.skip-nav:focus-visible{transform:translateY(0);outline:2px solid var(--color-text);outline-offset:2px}main{display:block;position:relative;z-index:1}img.guitar,img[alt*="guitar" i]{filter:none}.site-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 36px;position:fixed;top:0;left:0;right:0;z-index:50;transition:background-color .25s ease,border-color .25s ease;border-bottom:1px solid transparent}.site-nav.scrolled{background:var(--color-bg);border-bottom-color:var(--line)}.site-nav.solid{position:sticky;top:0;padding:18px 36px;background:var(--color-bg);border-bottom:1px solid var(--line)}.nav-brand{display:block;min-height:var(--target-min)}.nav-brand img{display:block;height:44px;width:auto}.nav-links{display:flex;gap:28px;list-style:none;margin:0;padding:0}.nav-links a{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);text-decoration:none;min-height:var(--target-min);display:inline-flex;align-items:center}.nav-links a:hover,.nav-links a:focus-visible{color:var(--color-accent)}.nav-cta{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);padding:9px 16px;border:1px solid var(--accent-deep);text-decoration:none;min-height:var(--target-min);display:inline-flex;align-items:center}.btn-primary,.btn-secondary{display:inline-block;font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:16px 30px;font-weight:500;border:0;cursor:pointer;min-height:var(--target-min)}.btn-primary{color:var(--color-bg);background:var(--accent)}.btn-secondary{color:var(--ink);border:1px solid var(--ink-soft);background:transparent;font-weight:400}.btn-primary:hover,.btn-secondary:hover{filter:brightness(1.05)}/* CSS-DEBT-TAG: the global prose-link rule 'a:hover{color:var(--color-text)}' (near footer) leaks onto .btn-primary buttons (they are <a>), washing hover text to cream-on-gold (~1.9:1). Defend button hover contrast here. Root fix = scope the global anchor rules; see CSS-cleanup backlog. */.btn-primary:hover,.btn-primary:focus-visible{color:var(--color-bg)}.rot{position:relative;overflow:hidden}.rot-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:rotFade 24s 1}.rot-slide video{width:100%;height:100%;object-fit:cover;display:block}.rot-slide:nth-child(1){animation-delay:0s}.rot-slide:nth-child(2){animation-delay:6s}.rot-slide:nth-child(3){animation-delay:12s}.rot-slide:nth-child(4){animation-delay:18s}.rot-3 .rot-slide{animation-duration:18s}.rot-3 .rot-slide:nth-child(1){animation-delay:0s}.rot-3 .rot-slide:nth-child(2){animation-delay:6s}.rot-3 .rot-slide:nth-child(3){animation-delay:12s}@keyframes rotFade{0%{opacity:0}4%{opacity:1}25%{opacity:1}29%{opacity:0}100%{opacity:0}}@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(200,148,62,0.18)}50%{box-shadow:0 0 0 9px rgba(200,148,62,0.05)}}[data-zoom-on-view]{background-size:cover;transition:background-size 2800ms cubic-bezier(0.19,1,0.22,1),transform 2800ms cubic-bezier(0.19,1,0.22,1)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input,textarea,select{font-family:var(--sans);font-size:15px;color:var(--ink);background:rgba(241,235,222,0.04);border:1px solid var(--line);padding:14px 16px;width:100%;min-height:var(--target-min)}textarea{min-height:140px;resize:vertical}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--color-accent)}.video-pause-btn{position:absolute;bottom:28px;left:36px;z-index:6;background:rgba(28,25,23,0.78);color:var(--color-text);border:1px solid var(--color-accent-deep);padding:8px 14px;font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;min-height:var(--target-min);min-width:var(--target-min)}.video-pause-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vA{position:relative;height:720px;overflow:hidden}.vA-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(0.55) contrast(1.05) saturate(0.9);z-index:0}.reduced-motion-poster{display:none}.vA-poster{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;filter:brightness(0.55) contrast(1.05) saturate(0.9)}.prcA-cover-poster{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(0.55) contrast(1.05)}.vA-veil{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at center,rgba(28,25,23,0.15) 0,rgba(28,25,23,0.85) 90%),linear-gradient(180deg,rgba(28,25,23,0.65) 0,rgba(28,25,23,0.25) 35%,rgba(28,25,23,0.9) 100%)}.vA-content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:110px 28px 70px}.vA-mark{display:block;max-width:380px;width:80%;margin:0 auto 40px}.vA-rule{width:56px;height:1px;background:var(--accent);margin:0 auto 30px}.vA-headline{font-family:var(--serif);font-size:44px;font-weight:400;line-height:1.15;max-width:720px;color:var(--ink);letter-spacing:-.005em;margin-bottom:22px}.vA-sub{font-family:var(--serif);font-size:18px;font-style:normal;color:var(--ink);max-width:540px;line-height:1.5}.vA-chip{display:inline-block;margin-top:26px;padding:8px 18px;border:1px solid rgba(200,148,62,0.45);border-radius:999px;font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}.vA-play{position:absolute;bottom:28px;right:36px;z-index:4;display:flex;align-items:center;gap:12px;font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.vA-play .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.vA-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:4;font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);white-space:nowrap}@media(max-width:1100px){.vA{height:600px}.vA-headline{font-size:32px}.vA-sub{font-size:15px}.vA-chip{margin-top:20px;font-size:10px;padding:7px 14px}}.abtA-cover{position:relative;height:480px;overflow:hidden}.abtA-cover-img{position:absolute;inset:0;background-size:cover;background-position:center 30%;filter:grayscale(0.2) brightness(0.6)}.abtA-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,25,23,0.45) 0,rgba(28,25,23,0.05) 25%,rgba(28,25,23,0.94) 100%)}.abtA-title-wrap{position:absolute;left:0;right:0;bottom:50px;z-index:2;padding:0 50px}.abtA-eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);margin-bottom:14px}.abtA-title{font-family:var(--serif);font-size:64px;font-weight:400;color:var(--ink);line-height:1;letter-spacing:-.015em;margin-bottom:16px}.abtA-deck{font-family:var(--serif);font-style:normal;font-size:20px;color:var(--ink);max-width:640px;line-height:1.5}.abtA-body{padding:60px 50px;max-width:760px}.abtA-body h2,.abtA-body h3{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--ink);margin:28px 0 14px;letter-spacing:-.005em}.abtA-body h2:first-child,.abtA-body h3:first-child{margin-top:0}.abtA-body p{font-family:var(--serif);font-size:18px;line-height:1.7;color:var(--ink-mute);margin-bottom:16px;max-width:none}.abtA-pull{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.45;color:var(--ink);border-left:2px solid var(--accent);padding-left:22px;margin:28px 0;max-width:600px}@media(max-width:1100px){.abtA-cover{height:340px}.abtA-title{font-size:38px}.abtA-body{padding:36px 22px}}.prcA-cover{position:relative;height:480px;overflow:hidden}.prcA-cover-bg{position:absolute;inset:0}.prcA-cover-bg video{width:100%;height:100%;object-fit:cover;filter:brightness(0.55) contrast(1.05)}.prcA-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,25,23,0.5) 0,rgba(28,25,23,0.0) 30%,rgba(28,25,23,0.85) 100%)}.prcA-cover-text{position:absolute;left:0;right:0;bottom:48px;z-index:2;padding:0 50px}.prcA-cover-text .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);margin-bottom:12px}.prcA-cover-text h1,.prcA-cover-text h2{font-family:var(--serif);font-size:60px;font-weight:400;color:var(--ink);line-height:1.05;letter-spacing:-.015em;margin-bottom:14px}.prcA-cover-text p{font-family:var(--serif);font-style:normal;font-size:19px;color:var(--ink);max-width:600px;line-height:1.5}.prcA-step{display:grid;grid-template-columns:100px 1fr 1fr;padding:40px 50px;gap:36px;align-items:center;border-top:1px solid var(--line)}.prcA-step .num{font-family:var(--serif);font-size:56px;font-weight:400;color:var(--accent);line-height:1}.prcA-step .copy h2,.prcA-step .copy h3{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--ink);margin-bottom:10px;letter-spacing:-.005em}.prcA-step .copy p{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--ink-mute);max-width:none}.prcA-step .img{position:relative;aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#1a1612;overflow:hidden}.prcA-step .img video{width:100%;height:100%;object-fit:cover}.prcA-cta{border-top:1px solid var(--line);padding:70px 50px;background:var(--bg-panel)}.prcA-cta-inner{max-width:760px;margin:0 auto;text-align:left}.prcA-cta .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.prcA-cta h2{font-family:var(--serif);font-size:38px;font-weight:500;color:var(--ink);line-height:1.1;letter-spacing:-.01em;margin-bottom:16px}.prcA-cta p{font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--ink-mute);margin-bottom:24px;max-width:640px}@media(max-width:1100px){.prcA-cover{height:360px}.prcA-cover-text h1,.prcA-cover-text h2{font-size:36px}.prcA-step{grid-template-columns:60px 1fr;padding:28px 22px;gap:22px}.prcA-step .img{grid-column:1 / -1}.prcA-cta{padding:48px 22px}.prcA-cta h2{font-size:28px}}.comA{display:grid;grid-template-columns:1fr 1.1fr;min-height:760px}.comA-side{background:var(--color-bg);padding:110px 50px 50px;position:relative;overflow:hidden}.comA-side .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(0.45) contrast(1.05)}.comA-side .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,25,23,0.4) 0,rgba(28,25,23,0.85) 100%)}.comA-side .content{position:relative;z-index:2}.comA-side .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);margin-bottom:16px}.comA-side h1,.comA-side h2{font-family:var(--serif);font-size:50px;font-weight:400;color:var(--ink);line-height:1.05;margin-bottom:18px;letter-spacing:-.01em}.comA-side p{font-family:var(--serif);font-style:normal;font-size:18px;color:var(--ink);line-height:1.55;margin-bottom:14px;max-width:420px}.comA-side ul{list-style:none;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.comA-side ul li{padding:10px 0;font-family:var(--serif);color:var(--ink-mute);font-size:16px}.comA-side ul li strong{font-family:var(--sans);display:block;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.comA-form{background:var(--bg-deep);padding:110px 50px 50px}.comA-form .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.comA-form h2,.comA-form h3,.comA-form-title{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--ink);margin:0 0 28px;letter-spacing:-.005em}.comA-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.comA-field{background:rgba(241,235,222,0.04);border:1px solid var(--line);padding:14px 16px}.comA-field label,.comA-field span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.comA-field input{background:transparent;border:0;padding:0;min-height:0;font-family:var(--serif);font-size:16px;color:var(--ink)}.comA-field input::placeholder{color:var(--ink-soft);font-style:italic}.comA-area{background:rgba(241,235,222,0.04);border:1px solid var(--line);padding:14px 16px;min-height:140px;margin-bottom:22px}.comA-area label,.comA-area span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}.comA-area textarea{background:transparent;border:0;padding:0;min-height:100px;font-family:var(--serif);font-size:16px;color:var(--ink)}.comA-area textarea::placeholder{color:var(--ink-soft);font-style:italic}.comA-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.comA-actions .note{font-family:var(--serif);font-size:13px;font-style:italic;color:var(--ink-soft)}@media(max-width:1100px){.comA{grid-template-columns:1fr;min-height:auto}.comA-side,.comA-form{padding:50px 22px}.comA-side h1,.comA-side h2{font-size:32px}.comA-row{grid-template-columns:1fr}}.gtrA-hero{position:relative;height:520px;overflow:hidden}.gtrA-hero-img{position:absolute;inset:0;background-size:cover;background-position:center}.gtrA-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,25,23,0.4) 0,rgba(28,25,23,0.0) 30%,rgba(28,25,23,0.85) 100%)}.gtrA-hero-cap{position:absolute;bottom:28px;left:40px;right:40px;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}.gtrA-hero-cap .crumb{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.gtrA-hero-cap .name{font-family:var(--serif);font-size:48px;font-weight:500;color:var(--ink);letter-spacing:-.01em}.gtrA-hero-cap .stat{font-family:var(--sans);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);padding:8px 14px;border:1px solid var(--accent-deep)}.gtrA-body{padding:50px 50px 50px;display:grid;grid-template-columns:1.4fr 1fr;gap:56px}.gtrA-story h1,.gtrA-story h2,.gtrA-story h3{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--ink);margin-bottom:14px;letter-spacing:-.005em}.gtrA-story p{font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--ink-mute);margin-bottom:14px;max-width:none}.gtrA-spec{background:var(--bg-panel);padding:32px 30px;border:1px solid var(--line)}.gtrA-spec h2,.gtrA-spec h4{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}.gtrA-spec dl{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:26px}.gtrA-spec dt{font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-soft)}.gtrA-spec dd{font-family:var(--serif);font-size:16px;color:var(--ink);margin-top:2px;margin-left:0}@media(max-width:1100px){.gtrA-body{grid-template-columns:1fr;padding:32px 22px;gap:28px}.gtrA-hero{height:360px}.gtrA-hero-cap .name{font-size:32px}}.cat-hero{padding:110px 50px 40px}.cat-eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.cat-title{font-family:var(--serif);font-size:48px;font-weight:400;line-height:1.1;color:var(--ink);letter-spacing:-.01em;margin-bottom:14px}.cat-deck{font-family:var(--serif);font-style:normal;font-size:18px;color:var(--ink-mute);max-width:600px;line-height:1.55}.cat-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:18px 50px 40px;border-bottom:1px solid var(--line)}.cat-cat-tile{background:var(--bg-panel);border:1px solid var(--line);padding:26px 22px;text-align:left;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:8px;min-height:120px}.cat-cat-tile.active{border-color:var(--accent)}.cat-cat-tile[aria-disabled="true"]{opacity:.45;pointer-events:none}.cat-cat-tile .cat-cat-name{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);letter-spacing:-.005em}.cat-cat-tile .cat-cat-status{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}.cat-cat-tile[aria-disabled="true"] .cat-cat-status{color:var(--ink-soft)}.cat-cat-tile .cat-cat-count{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-mute)}.catC-feed{padding:24px 0 40px}.catC-row{display:grid;grid-template-columns:1fr;padding:0;border-top:1px solid var(--line)}.catC-row:first-child{border-top:0}.catC-row.split{grid-template-columns:1.4fr 1fr;gap:0}.catC-row.split.flip{grid-template-columns:1fr 1.4fr}.catC-img{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#000;position:relative;overflow:hidden}.catC-img video{width:100%;height:100%;object-fit:cover}.catC-row.split .catC-img{aspect-ratio:auto;min-height:460px}.catC-meta{padding:60px 50px;display:flex;flex-direction:column;justify-content:center;background:var(--bg-deep);border-left:1px solid var(--line)}.catC-row.split.flip .catC-meta{border-left:0;border-right:1px solid var(--line)}.catC-no{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.catC-name{font-family:var(--serif);font-size:36px;font-weight:500;color:var(--ink);margin-bottom:12px;letter-spacing:-.01em}.catC-spec{font-family:var(--serif);font-style:normal;color:var(--ink-mute);font-size:16px;line-height:1.55;margin-bottom:22px;max-width:none}.catC-link{font-family:var(--sans);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);text-decoration:none}@media(max-width:1100px){.cat-hero{padding:70px 24px 26px}.cat-title{font-size:32px}.cat-categories{grid-template-columns:repeat(2,1fr);padding:18px 24px 28px;gap:12px}.catC-row.split,.catC-row.split.flip{grid-template-columns:1fr}.catC-meta{padding:32px 24px;border-left:0;border-top:1px solid var(--line)}}.models-testimonials{padding:60px 50px;border-top:1px solid var(--line);background:var(--bg-deep)}.models-testimonials .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.models-testimonials h2{font-family:var(--serif);font-size:36px;font-weight:500;color:var(--ink);margin-bottom:32px;letter-spacing:-.01em}.testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.testi-card{background:var(--bg-panel);border:1px solid var(--line);padding:28px 26px}.testi-card blockquote{font-family:var(--serif);font-style:normal;font-size:18px;line-height:1.55;color:var(--ink);margin-bottom:18px;max-width:none}.testi-card cite{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-style:normal}.more-voices{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--accent);min-height:var(--target-min);display:inline-block}@media(max-width:1100px){.testi-grid{grid-template-columns:1fr}.models-testimonials{padding:36px 22px}}.rep-hero{position:relative;height:360px;overflow:hidden;border-top:1px solid var(--line)}.rep-hero-img{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(0.55)}.rep-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,25,23,0.4) 0,rgba(28,25,23,0.85) 100%)}.rep-hero-text{position:absolute;left:0;right:0;bottom:36px;z-index:2;padding:0 50px}.rep-hero-text .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}.rep-hero-text h2{font-family:var(--serif);font-size:42px;font-weight:400;color:var(--ink);letter-spacing:-.01em;line-height:1.1;max-width:720px}.rep-services{padding:60px 50px}.rep-services .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.rep-services h2,.rep-services h3{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--ink);margin-bottom:28px;letter-spacing:-.01em}.rep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.rep-card{background:var(--bg-panel);border:1px solid var(--line);padding:26px 24px}.rep-card h3,.rep-card h4{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);margin-bottom:8px;letter-spacing:-.005em}.rep-card p{font-family:var(--serif);font-size:15px;line-height:1.55;color:var(--ink-mute);margin-bottom:12px;max-width:none}.rep-card .price{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}.rep-disclaimer{font-family:var(--serif);font-style:normal;font-size:14px;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.rep-pricelist-block{margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}.rep-pricelist-block .eb{margin-bottom:12px}.rep-pricelist-block h2,.rep-pricelist-block h3{margin-bottom:12px}.rep-pricelist-note{font-family:var(--serif);font-style:normal;font-size:15px;color:var(--ink-soft);margin-bottom:24px;max-width:700px}.rep-pricelist{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border-top:1px solid var(--line)}.rep-pricelist-row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:14px 4px;border-bottom:1px solid var(--line);align-items:baseline}.rep-pricelist-row dt{font-family:var(--serif);font-size:15px;color:var(--ink);line-height:1.4}.rep-pricelist-row dd{font-family:var(--sans);font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin:0;white-space:nowrap}.rep-includes{margin-top:48px}.rep-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.rep-includes-card{background:var(--bg-panel);border:1px solid var(--line);padding:28px 26px}.rep-includes-card h3,.rep-includes-card h4{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);margin-bottom:14px;letter-spacing:-.005em}.rep-includes-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.rep-includes-card li{font-family:var(--serif);font-size:14px;line-height:1.5;color:var(--ink-mute);padding-left:14px;position:relative}.rep-includes-card li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;background:var(--accent);border-radius:50%}.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.rep-pricelist{grid-template-columns:1fr}.rep-includes-grid{grid-template-columns:1fr}}@media(max-width:1100px){.rep-hero{height:280px}.rep-hero-text{padding:0 22px}.rep-hero-text h2{font-size:28px}.rep-services{padding:36px 22px}.rep-grid{grid-template-columns:1fr}}@media(max-width:700px){.site-nav{padding:14px 18px;gap:10px;flex-wrap:wrap}.nav-links{display:none}.nav-brand img{height:34px}}.site-footer{background:var(--bg-panel);border-top:1px solid var(--line);padding:56px 50px 36px;position:relative;z-index:1}.site-footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;max-width:1200px;margin:0 auto;align-items:start}.site-footer__col{display:flex;flex-direction:column;gap:12px}.site-footer__heading{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-weight:600}.site-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.site-footer__list li{font-family:var(--sans);font-size:13px;color:var(--ink-mute)}.site-footer__list a{font-family:var(--sans);font-size:13px;color:var(--ink-mute);text-decoration:none;min-height:var(--target-min);display:inline-flex;align-items:center}.site-footer__list a:hover,.site-footer__list a:focus-visible{color:var(--accent)}.site-footer__bgai{color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.site-footer__bgai:hover,.site-footer__bgai:focus-visible{color:var(--accent);text-decoration-color:var(--accent)}.site-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.site-footer__logo{display:block;height:38px;width:auto;max-width:max-content;align-self:flex-start}a{color:var(--color-accent)}a:hover,a:focus-visible{color:var(--color-text)}a:visited{color:var(--color-accent)}.comA-actions a,.rep-actions a{color:var(--color-accent);text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:3px}.comA-actions a:hover,.comA-actions a:focus-visible,.rep-actions a:hover,.rep-actions a:focus-visible{color:var(--color-text);text-decoration-color:var(--color-text)}.site-footer__meta{font-family:var(--serif);font-style:normal;font-size:15px;line-height:1.6;color:var(--ink-mute);max-width:380px}.site-footer__nav{display:grid;grid-template-columns:1fr;gap:8px;align-content:start}.site-footer__nav .site-footer__heading{grid-column:1 / -1;margin-bottom:4px}.site-footer__nav a{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);text-decoration:none;min-height:var(--target-min);display:inline-flex;align-items:center}.site-footer__nav a:hover,.site-footer__nav a:focus-visible{color:var(--accent)}.site-footer__copy{grid-column:1 / -1;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}@media(max-width:900px){.site-footer{padding:40px 22px 24px}.site-footer__inner{grid-template-columns:1fr 1fr;gap:24px}.site-footer__brand{grid-column:1 / -1}}@media(max-width:560px){.site-footer__inner{grid-template-columns:1fr}.site-footer__brand{grid-column:auto}}.testi-page{padding:60px 50px;max-width:1200px;margin:0 auto}.testi-page-header{max-width:720px;margin-bottom:48px}.testi-page-header .eyebrow{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.testi-page-header h1{font-family:var(--serif);font-size:48px;font-weight:400;line-height:1.1;color:var(--ink);letter-spacing:-.01em;margin-bottom:16px}.testi-page-header .lede{font-family:var(--serif);font-style:normal;font-size:19px;line-height:1.55;color:var(--ink-mute);max-width:600px}.testimonial-featured{background:var(--bg-panel);border:1px solid var(--line);padding:40px;margin-bottom:48px;display:block;width:100%;max-width:none;box-sizing:border-box}.testimonial-featured__photo{height:360px;background-image:linear-gradient(135deg,var(--bg-deep) 0,var(--bg-panel) 50%,var(--bg-deep) 100%);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-align:center;padding:12px}.testimonial-featured__body p{font-family:var(--serif);font-style:normal;font-weight:400;font-size:20px;line-height:1.65;color:var(--ink);margin:0 0 24px}.testimonial-featured__attribution{padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.testimonial-featured__name{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink)}.testimonial-featured__guitar{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--ink-mute);letter-spacing:.22em;text-transform:uppercase}.testimonial-featured__guitar a{color:var(--accent);text-decoration:none;min-height:var(--target-min);display:inline-flex;align-items:center}.testimonial-featured__guitar a:hover,.testimonial-featured__guitar a:focus-visible{text-decoration:underline}.testimonial-wall-heading{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--ink);margin-bottom:24px;letter-spacing:-.005em}.testimonial-wall{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-bottom:48px}.testimonial-card{background:var(--bg-panel);border:1px solid var(--line);padding:28px 26px;display:flex;flex-direction:column;gap:16px}.testimonial-card__photo{height:180px;background-image:linear-gradient(135deg,var(--bg-deep) 0,var(--bg-panel) 50%,var(--bg-deep) 100%);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-align:center;padding:8px}.testimonial-card__quote{font-family:var(--serif);font-style:normal;font-weight:400;font-size:18px;line-height:1.65;color:var(--ink);margin:0}.testimonial-card__attribution{display:flex;flex-direction:column;gap:4px;padding-top:14px;border-top:1px solid var(--line);margin-top:auto}.testimonial-card__name{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink)}.testimonial-card__guitar{font-family:var(--sans);font-size:10px;font-weight:600;color:var(--ink-mute);letter-spacing:.22em;text-transform:uppercase}.testimonial-card__guitar a{color:var(--accent);text-decoration:none;min-height:var(--target-min);display:inline-flex;align-items:center}.testimonial-card__guitar a:hover,.testimonial-card__guitar a:focus-visible{text-decoration:underline}@media(max-width:1024px){.testimonial-wall{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.testi-page{padding:40px 22px}.testi-page-header h1{font-size:34px}.testimonial-featured{grid-template-columns:1fr;padding:24px}.testimonial-featured__photo{height:220px}.testimonial-featured__body p{font-size:18px}.testimonial-wall{grid-template-columns:1fr}}.home-spine,.models-spine{position:relative;z-index:1}.spine-block{padding:96px 50px;background:var(--color-bg)}.spine-block:nth-of-type(even){background:var(--color-bg-elevated)}.spine-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.spine-eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.spine-block h2{font-family:var(--serif);font-size:44px;font-weight:400;line-height:1.1;color:var(--ink);letter-spacing:-.01em;margin-bottom:6px}.spine-block p{font-family:var(--serif);font-size:18px;line-height:1.65;color:var(--ink-mute);max-width:720px;margin-bottom:12px}.spine-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:14px}.spine-actions .btn-primary,.spine-actions .btn-secondary{min-height:var(--target-min)}.spine-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}.spine-feature-card{background:var(--bg-panel);border:1px solid var(--line);display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:border-color .2s ease;min-height:var(--target-min)}.spine-feature-card:hover,.spine-feature-card:focus-visible{border-color:var(--accent)}.spine-feature-card__media{aspect-ratio:4 / 5;background-size:cover;background-position:center;background-color:#000}.spine-feature-card__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px}.spine-feature-card__crumb{font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}.spine-feature-card__name{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--ink);letter-spacing:-.005em;margin:4px 0 6px}.spine-feature-card__model{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-mute)}.spine-feature-card__status{margin-top:12px;font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);padding:6px 10px;border:1px solid var(--accent);align-self:flex-start;min-height:var(--target-min);display:inline-flex;align-items:center}.spine-feature-card__status.sold{color:var(--ink-soft);border-color:var(--ink-soft)}.spine-feature-cta{margin-top:28px;font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);text-decoration:none;align-self:flex-start;min-height:var(--target-min);display:inline-flex;align-items:center}.spine-feature-cta:hover,.spine-feature-cta:focus-visible{text-decoration:underline}.spine-trust p{max-width:760px}.spine-trust strong{color:var(--ink);font-weight:500}.spine-trust__upcoming-lead{margin-top:28px !important;color:var(--ink);font-weight:500}.spine-trust__upcoming{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:10px;max-width:760px}.spine-trust__upcoming li{font-family:var(--serif);font-size:17px;line-height:1.5;color:var(--ink-mute);padding-left:16px;border-left:2px solid var(--accent)}.spine-trust__upcoming li strong{color:var(--ink);font-weight:600}.spine-trust__upcoming a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}@media(max-width:1100px){.spine-block{padding:70px 28px}.spine-block h2{font-size:34px}.spine-feature-grid{grid-template-columns:1fr;gap:18px}.spine-feature-card__media{aspect-ratio:16 / 10}}.models-tonewood{padding:70px 50px;background:var(--bg-panel);border-top:1px solid var(--line)}.models-tonewood-inner{max-width:1100px;margin:0 auto}.models-tonewood .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.models-tonewood h2{font-family:var(--serif);font-size:36px;font-weight:400;color:var(--ink);letter-spacing:-.01em;margin-bottom:22px}.models-tonewood p{font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--ink-mute);margin-bottom:14px;max-width:800px}.models-tonewood strong{color:var(--ink);font-weight:500}.models-tonewood__group{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--ink);letter-spacing:-.005em;margin-top:38px;margin-bottom:14px;max-width:800px}@media(max-width:1100px){.models-tonewood{padding:50px 28px}.models-tonewood h2{font-size:28px}.models-tonewood__group{font-size:19px;margin-top:28px}}.com-location{padding:70px 50px;background:var(--bg-panel);border-top:1px solid var(--line);text-align:center}.com-location-inner{max-width:640px;margin:0 auto}.com-location .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.com-location h2,.com-location h3{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--ink);letter-spacing:-.005em;margin-bottom:14px}.com-location p{font-family:var(--serif);font-style:normal;font-size:17px;color:var(--ink-mute);line-height:1.6;margin:0 auto 22px;max-width:520px}.com-location .btn-primary{min-height:var(--target-min)}@media(max-width:700px){.com-location{padding:50px 24px}.com-location h2,.com-location h3{font-size:24px}}.testi-send{margin-top:60px;padding:60px 50px;background:var(--bg-panel);border:1px solid var(--line);text-align:center}.testi-send-inner{max-width:640px;margin:0 auto}.testi-send .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.testi-send h2{font-family:var(--serif);font-size:34px;font-weight:400;color:var(--ink);letter-spacing:-.005em;margin-bottom:16px}.testi-send p{font-family:var(--serif);font-style:normal;font-size:17px;color:var(--ink-mute);line-height:1.6;margin:0 auto 22px;max-width:520px}.testi-send .btn-primary{min-height:var(--target-min)}@media(max-width:700px){.testi-send{padding:40px 24px;margin-top:40px}.testi-send h2{font-size:26px}}.faq-page{padding:0}.faq-hero{padding:110px 50px 60px;background:var(--color-bg);border-bottom:1px solid var(--line)}.faq-hero-inner{max-width:900px;margin:0 auto}.faq-hero .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);margin-bottom:16px}.faq-hero h1{font-family:var(--serif);font-size:56px;font-weight:400;color:var(--ink);line-height:1.05;letter-spacing:-.015em;margin-bottom:18px}.faq-hero p{font-family:var(--serif);font-style:normal;font-size:20px;color:var(--ink-mute);line-height:1.55;max-width:700px}.faq-body{padding:60px 50px 100px}.faq-body-inner{max-width:900px;margin:0 auto}.faq-section{padding:40px 0;border-bottom:1px solid var(--line)}.faq-section:last-child{border-bottom:0}.faq-section h2{font-family:var(--serif);font-size:32px;font-weight:400;color:var(--ink);letter-spacing:-.005em;margin-bottom:22px}.faq-item{border-top:1px solid var(--line);padding:18px 0}.faq-item:first-of-type{border-top:0}.faq-item summary{cursor:pointer;font-family:var(--sans);font-size:16px;font-weight:500;color:var(--ink);list-style:none;position:relative;padding:8px 36px 8px 0;min-height:var(--target-min);display:flex;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:22px;color:var(--accent);font-weight:400}.faq-item[open] summary::after{content:"-"}.faq-item summary:hover,.faq-item summary:focus-visible{color:var(--accent)}.faq-answer{padding:14px 0 8px}.faq-answer p{font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--ink-mute);margin-bottom:12px;max-width:720px}.faq-answer a{color:var(--accent)}.faq-still p{font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--ink-mute);margin-bottom:18px}@media(max-width:1100px){.faq-hero{padding:70px 28px 40px}.faq-hero h1{font-size:38px}.faq-hero p{font-size:17px}.faq-body{padding:40px 28px 70px}.faq-section h2{font-size:26px}}.essay-figure{margin:32px 0}.essay-figure__media{aspect-ratio:4 / 3;background-size:cover;background-position:center;background-color:#000}.essay-figure figcaption{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-mute);margin-top:12px;text-align:center}.spine-block--split{padding:96px 50px}.spine-block--split .spine-block__inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:1100px;margin:0 auto}.spine-block--split .spine-block__media{aspect-ratio:3 / 4;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--bg-panel);width:100%;max-width:465px;justify-self:center;align-self:center}.spine-block--split .spine-block__copy{display:flex;flex-direction:column;gap:16px}.spine-block--split .spine-block__copy h2{font-family:var(--serif);font-size:44px;font-weight:400;line-height:1.1;color:var(--ink);letter-spacing:-.01em;margin-bottom:6px}.spine-block--split .spine-block__copy p{font-family:var(--serif);font-size:18px;line-height:1.65;color:var(--ink-mute);max-width:560px;margin-bottom:8px}.spine-block--split .spine-block__copy p strong{color:var(--ink);font-weight:500}.spine-block--split.spine-block--flip .spine-block__inner{direction:rtl}.spine-block--split.spine-block--flip .spine-block__inner>*{direction:ltr}@media(max-width:900px){.spine-block--split{padding:70px 22px}.spine-block--split .spine-block__inner{grid-template-columns:1fr;gap:28px}.spine-block--split .spine-block__media{min-height:260px}.spine-block--split.spine-block--flip .spine-block__inner{direction:ltr}.spine-block--split .spine-block__copy h2{font-size:34px}}.faq-hero--media{position:relative;height:640px;overflow:hidden;padding:0;border-bottom:1px solid var(--line)}.faq-hero--media .faq-hero__media{position:absolute;inset:0;background-size:cover;background-position:center 52%;filter:grayscale(0.2) brightness(0.55)}@media(max-width:1100px){.faq-hero--media{height:520px}}.faq-hero--media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,25,23,0.4) 0,rgba(28,25,23,0.0) 30%,rgba(28,25,23,0.88) 100%);pointer-events:none}.faq-hero--media .faq-hero__title{position:absolute;left:0;right:0;bottom:40px;z-index:2;padding:0 50px;max-width:1100px;margin:0 auto}.faq-hero--media .faq-hero__title h1{margin-bottom:12px}.faq-hero--media .faq-hero__title p{max-width:720px;color:var(--ink)}@media(max-width:1100px){.faq-hero--media{height:280px}.faq-hero--media .faq-hero__title{padding:0 28px;bottom:28px}}.models-tonewood__figure{aspect-ratio:16 / 9;background-size:cover;background-position:center;margin:24px 0;min-height:280px;background-color:#000}@media(max-width:1100px){.models-tonewood__figure{min-height:200px}}.phone-link{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(200,148,62,0.45);padding-bottom:1px}.phone-link:hover,.phone-link:focus{color:var(--ink);border-bottom-color:var(--ink)}.comA-response-note{margin-top:14px;font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.comA-status{margin-top:10px;min-height:1em;font-family:var(--serif);font-size:14px;font-style:italic;color:var(--accent)}.comA-status:empty{display:none}.site-footer__privacy{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent}.site-footer__privacy:hover,.site-footer__privacy:focus{color:var(--ink);border-bottom-color:var(--ink)}.site-footer__sep{color:var(--ink-soft);padding:0 4px}.legal{padding:90px 50px 70px;background:var(--bg)}.legal-inner{max-width:820px;margin:0 auto}.legal .eb{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.legal h1{font-family:var(--serif);font-size:44px;font-weight:400;color:var(--ink);letter-spacing:-.01em;margin-bottom:18px}.legal h2,.legal h3{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--ink);letter-spacing:-.005em;margin-top:32px;margin-bottom:12px}.legal-meta{font-family:var(--sans);font-size:13px;color:var(--ink-mute);margin-bottom:24px;letter-spacing:.04em}.legal p{font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--ink-mute);margin-bottom:14px}.legal strong{color:var(--ink);font-weight:500}.legal a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(200,148,62,0.45)}.legal a:hover,.legal a:focus{color:var(--ink);border-bottom-color:var(--ink)}@media(max-width:1100px){.legal{padding:60px 28px 50px}.legal h1{font-size:32px}.legal h2,.legal h3{font-size:19px;margin-top:24px}.legal p{font-size:15px}}@media(max-width:1100px){.spine-feature-card__media{aspect-ratio:4 / 5}}.spine-feature-card__media picture{display:block;width:100%;height:100%}.spine-feature-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.essay-figure__media{background-position:center top}@media(min-width:769px){.spine-feature-grid{grid-template-columns:repeat(3,1fr)}}.btn-primary{color:var(--color-bg)}.gtrA-story p{font-size:18px}.faq-answer p{font-size:18px}.btn-primary,.btn-secondary{font-size:13px}.comA-form select{width:100%;background:var(--color-grain);color:var(--color-bone);border:1px solid var(--color-binding-input);border-radius:2px;padding:.6em .75em;font-family:var(--font-body);font-size:1rem;appearance:none;-webkit-appearance:none;cursor:pointer}.comA-form select:focus{outline:2px solid var(--color-warmwood);outline-offset:2px}.comA-side .side-link{color:var(--color-bone)}.ct-optional{color:var(--color-driftwood);font-size:.85em;font-weight:normal}.abtA-body{margin-left:auto;margin-right:auto}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;background:var(--color-bg-elevated);border:1px solid var(--line);border-radius:2px;cursor:pointer;-webkit-appearance:none;appearance:none}.nav-toggle__bar{display:block;width:100%;height:2px;background:var(--color-text);transition:transform .2s ease,opacity .2s ease}.nav-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:700px){.nav-toggle{display:inline-flex}.nav-cta{display:none}body.nav-open{overflow:hidden}body.nav-open .site-nav{background:var(--color-bg-elevated)}body.nav-open .nav-links{display:flex;flex-direction:column;flex-basis:100%;width:100%;gap:0;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}body.nav-open .nav-links a{width:100%;padding:14px 2px;font-size:13px;color:var(--color-text)}body.nav-open .nav-links a:hover,body.nav-open .nav-links a:focus-visible{color:var(--color-accent)}body.nav-open .nav-cta{display:inline-flex;flex-basis:100%;width:100%;justify-content:center;margin-top:10px}body.nav-open .nav-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}body.nav-open .nav-toggle__bar:nth-child(2){opacity:0}body.nav-open .nav-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}@media(min-width:701px) and (max-width:860px){.site-nav,.site-nav.solid{padding-left:18px;padding-right:18px}.nav-links{gap:14px}.nav-cta{padding:9px 12px}}.catC-img{aspect-ratio:2/3;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:var(--bg-deep)}.catC-img[data-zoom-on-view]{background-size:contain}.catC-row.split .catC-img{min-height:unset;aspect-ratio:2/3}@media(prefers-reduced-motion:reduce){.catC-img[data-zoom-on-view]{background-size:contain !important}}@media(min-width:1101px){.catC-row.split .catC-img,.catC-row.split .catC-img[data-zoom-on-view]{background-size:cover !important;background-position:top center}}.gtrA-hero{height:80vh;max-height:900px}.gtrA-hero-img{background-size:contain;background-repeat:no-repeat;background-position:center top;background-color:var(--bg-deep)}.gtrA-hero-img[data-zoom-on-view]{background-size:contain}@media(prefers-reduced-motion:reduce){.gtrA-hero-img[data-zoom-on-view]{background-size:contain !important}}@media(max-width:1100px){.gtrA-hero{height:70vh;max-height:700px}}.gtrA-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:24px 50px}@media(max-width:1100px){.gtrA-gallery{grid-template-columns:1fr;padding:16px 22px}}@media(max-width:1100px){.catC-row.split.flip{display:flex;flex-direction:column}.catC-row.split.flip .catC-img{order:1}.catC-row.split.flip .catC-meta{order:2}}@media(min-width:901px){.rep-pricelist{column-gap:0}.rep-pricelist>.rep-pricelist-row:nth-child(odd){padding-right:28px}.rep-pricelist>.rep-pricelist-row:nth-child(even){border-left:1px solid rgba(240,232,220,0.18);padding-left:28px}}.site-footer__copy{text-transform:none}@keyframes gDriftA_noscale{0%{transform:translate3d(-2%,-1%,0)}50%{transform:translate3d(2%,1%,0)}100%{transform:translate3d(-2%,-1%,0)}}@keyframes gDriftB_noscale{0%{transform:translate3d(2%,1%,0)}50%{transform:translate3d(-2%,-1%,0)}100%{transform:translate3d(2%,1%,0)}}body::before{animation-name:gDriftA_noscale}body::after{animation-name:gDriftB_noscale}
/* ===== Track 2: build video + transcript (gtrA-video) — PP-FE 2026-07-26 ===== */
.gtrA-video{padding:8px 50px 24px}
.gtrA-video-heading{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--ink);letter-spacing:-.005em;margin:0 0 18px}
.gtrA-video-player{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-deep)}
.gtrA-video-facade{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:none;background:none;cursor:pointer;display:block}
.gtrA-video-poster{width:100%;height:100%;object-fit:cover;display:block}
.gtrA-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:var(--accent-deep);display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .15s ease}
.gtrA-video-play::before{content:"";display:block;width:0;height:0;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent var(--color-bg);margin-left:5px}
.gtrA-video-facade:hover .gtrA-video-play,.gtrA-video-facade:focus-visible .gtrA-video-play{background:var(--accent);transform:translate(-50%,-50%) scale(1.06)}
.gtrA-video-facade:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus)}
.gtrA-video-frame{width:100%;aspect-ratio:16/9;border:none;display:block}
.gtrA-transcript{margin:18px 0 0;border-top:1px solid var(--line);padding-top:16px}
.gtrA-transcript>summary{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);cursor:pointer;list-style:none;padding:6px 0}
.gtrA-transcript>summary::-webkit-details-marker{display:none}
.gtrA-transcript>summary:hover,.gtrA-transcript>summary:focus-visible{color:var(--ink)}
.gtrA-transcript[open]>summary{margin-bottom:10px}
.gtrA-transcript-body{color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.7;max-width:70ch}
.gtrA-transcript-body p{margin:0 0 .75rem}
@media(prefers-reduced-motion:reduce){.gtrA-video-play{transition:none}.gtrA-video-facade:hover .gtrA-video-play,.gtrA-video-facade:focus-visible .gtrA-video-play{transform:translate(-50%,-50%)}}
@media(max-width:600px){.gtrA-video{padding:4px 22px 16px}.gtrA-video-heading{font-size:24px;margin-bottom:14px}.gtrA-video-play{width:60px;height:60px}.gtrA-video-play::before{border-width:11px 0 11px 17px;margin-left:4px}}
/* Google reviews page 2026-08-09 */.testimonial-stars{color:var(--accent);letter-spacing:.08em;font-size:14px;margin:0 0 10px}.testi-google-links{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}.testimonial-featured__body .testimonial-stars{margin-bottom:12px}.testimonial-card .testimonial-stars{margin:0 0 8px}
/* Google reviews readability 2026-08-09 */.testimonial-featured{display:block;width:100%;max-width:none;box-sizing:border-box}.testimonial-featured__body{display:block;width:100%;max-width:none}.testimonial-featured__body>p:not(.testimonial-stars){font-style:normal!important;font-family:var(--serif);font-weight:400}.testimonial-card__quote{font-style:normal!important;font-family:var(--serif);font-weight:400}
/* Readability 2026-08-10: roman decks/ledes (keep .abtA-pull italic accent) */.vA-sub,.abtA-deck,.prcA-cover-text p,.comA-side p,.cat-deck,.catC-spec,.rep-disclaimer,.rep-pricelist-note,.site-footer__meta,.testi-page-header .lede,.faq-hero p,.com-location p,.testi-send p,.testi-card blockquote{font-style:normal!important}
/* Process step3 reduced-motion poster 2026-08-10 */.prcA-step .img .prcA-step-poster{display:none;position:absolute;inset:0;background-size:cover;background-position:center}@media(prefers-reduced-motion:reduce){.prcA-step .img .prcA-step-poster{display:block!important}}

/* GLYPHS, generated by extract-v1.py 2026-09-04. Every inline SVG v1 carried, keyed by content hash and
   drawn as a mask so the element that carries it holds no markup. Decoration is stylesheet, not content. */

/* INLINE STYLES, generated by extract-v1.py 2026-09-04. v1 wrote these as style="" attributes; H-13 forbids the
   attribute, so each distinct declaration list is one utility class, named by hash, carried by the same element. */
.u-fa4ac1{background-image:url('https://media.beargrassai.com/pappenfus/process-bench-detail-9cb961f4.jpg') !important}

/* ===== ADDITIONS, pappenfus build 1, 2026-09-04. Everything below is what v1 drew with an empty element, an inline
   style or a script, re-expressed as stylesheet. v1's own styles.css is carried verbatim above this (fonts repointed
   to the fleet host; see mkcss.py for the two edits the law forced). ===== */

/* The image type draws <figure><img></figure>; v1 wrote bare <img>s inside sized wrappers. display:contents makes the
   figure invisible to layout, so the img is laid out as v1's direct child was (the nav brand, the hero mark, the
   feature-card photo) and every v1 `wrapper img` rule applies unchanged. */
figure.media-fill { display: contents; }

/* v1: <div class="reduced-motion-poster vA-poster" style="background-image:url(poster)"> (empty, shown only under
   prefers-reduced-motion, when v1 hides the autoplaying video) and <div class="vA-veil"> (empty, the gradient over the
   reel). Drawn as the hero's two pseudo-elements, same inset, same z-index, same gradients, same filter. */
.vA::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(ellipse at center, rgba(28,25,23,0.15) 0, rgba(28,25,23,0.85) 90%),
              linear-gradient(180deg, rgba(28,25,23,0.65) 0, rgba(28,25,23,0.25) 35%, rgba(28,25,23,0.9) 100%);
}
.vA::after {
  content: '';
  display: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url('https://media.beargrassai.com/pappenfus/home-workshop-poster-c9b7e59f.jpg') center / cover no-repeat;
  filter: brightness(0.55) contrast(1.05) saturate(0.9);
}
@media (prefers-reduced-motion: reduce) {
  .vA::after { display: block; }
}

/* v1: <div class="vA-rule"> (empty, the 56x1 accent line between the mark and the headline), a flex item of
   .vA-content. Measured 2026-09-04: the hero's content overflows its box and flex-shrink squeezes that item to 0px on
   both viewports, so v1 shows no line. A pseudo-element on the mark's display:contents figure is a flex item in the
   same slot with the same box, so it shrinks the same way (a ::before inside the headline did not, and drew a line). */
.vA-mark-figure::after {
  content: '';
  width: 56px;
  height: 1px;
  background: var(--accent);
  margin: 0 auto 30px;
}

/* v1: <div class="spine-block__media" role="img" aria-label="…" style="background-image:url(photo)"> (empty). Here the
   words are the alt and the photo is an <img> carrying the same class: v1's .spine-block--split .spine-block__media
   rule sizes it (aspect-ratio 3/4, max-width 465px, centred) and object-fit does what background-size:cover did. */
img.spine-block__media { display: block; object-fit: cover; object-position: center; height: auto; }

/* v1's nav.site-nav.solid was position:sticky as the first child of <main>. Here it sits in <header> (H-6), so the
   header is the sticky box and carries the nav's z-index above <main>'s stacking context (main is z-index:1). */
.site-header--solid { position: sticky; top: 0; z-index: 50; }

/* THE PHONE DRAWER, without script (SOP §11 item 10, [MARK] 2026-09-04: the hamburger must show on a phone). v1: a
   <button class="nav-toggle"> and a script toggling body.nav-open. Here a <details class="nav-drawer"> sits where the
   button sat; its <summary class="nav-toggle"> carries v1's three .nav-toggle__bar spans, so v1's own .nav-toggle rules
   draw it (display:none base, inline-flex at ≤700px). Its panel holds a second copy of the links and the CTA and is
   positioned under the nav bar with v1's open-state metrics (row gap 10, list margin 8 + padding 8 + border, links
   14px 2px, CTA margin 10, nav padding-bottom 14). Above 700px the drawer does not exist; the desktop nav is v1's. */
.nav-drawer > summary { list-style: none; }
.nav-drawer > summary::-webkit-details-marker { display: none; }
@media (min-width: 701px) {
  .nav-drawer { display: none; }
}
@media (max-width: 700px) {
  .nav-drawer { display: block; }
  .nav-drawer[open] .nav-drawer__panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 4px);
    background: var(--color-bg-elevated);
    padding: 0 18px 14px;
  }
  /* v1's .site-nav.solid keeps padding 18px 36px on a phone (specificity beats the ≤700px .site-nav rule), so its
     row 1 is 62px tall inside an 80px padding box and its CTA sits 36px in: measured on /about by drawer-check-3
     (menu 80, CTA x36 w318 on v1 against 84 / x18 w354 with the home formula). */
  .site-nav.solid .nav-drawer[open] .nav-drawer__panel { top: calc(100% - 8px); padding: 0 36px 18px; }
  .site-nav.solid:has(.nav-drawer[open]) .nav-drawer__panel { border-bottom: 1px solid var(--line); }
  .nav-drawer[open] .nav-links--drawer {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0;
    margin: 8px 0 0;
    padding-top: 8px;
    border-top: 1px solid var(--line);
  }
  .nav-drawer[open] .nav-links--drawer a { width: 100%; padding: 14px 2px; font-size: 13px; color: var(--color-text); }
  .nav-drawer[open] .nav-links--drawer a:hover, .nav-drawer[open] .nav-links--drawer a:focus-visible { color: var(--color-accent); }
  /* 20px = v1's flex row gap (10px) above the CTA row + the CTA's own margin-top (10px); measured 473 vs 463 by drawer-check-1 */
  .nav-drawer[open] .nav-cta--drawer { display: inline-flex; width: 100%; justify-content: center; margin-top: 20px; }
  .site-nav:has(.nav-drawer[open]) { background-color: var(--color-bg-elevated) !important; border-bottom-color: transparent; }
  body:has(.nav-drawer[open]) { overflow: hidden; }
  .nav-drawer[open] .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-drawer[open] .nav-toggle__bar:nth-child(2) { opacity: 0; }
  .nav-drawer[open] .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

/* THE NAV SCROLL STATE, without script. v1: a scroll listener added .site-nav.scrolled past 60px (background and a
   bottom border on the home page's fixed nav). Here a scroll-driven animation flips the same two properties over the
   pixel from 59 to 60. Plays once, is not repeating (CSS-9), and the sheet already carries prefers-reduced-motion. */
@supports (animation-timeline: scroll()) {
  .site-nav:not(.solid) {
    animation: nav-scrolled linear both;
    animation-timeline: scroll(root block);
    animation-range: 59px 60px;
  }
  @keyframes nav-scrolled {
    from { background-color: transparent; border-bottom-color: transparent; }
    to { background-color: var(--color-bg); border-bottom-color: var(--line); }
  }
}

/* ===== THE OTHER 22 ROUTES, 2026-09-05 ===== */

/* A BACKGROUND PHOTOGRAPH AS AN <img>. v1 drew nine families of photograph as an empty <div role="img" aria-label
   style="background-image:…">; each is now an <img class="<v1 class> bg-photo" alt="<the aria-label>"> inside a
   display:contents figure, so v1's own rules for that class still give it its box (position, inset, aspect-ratio,
   min-height, background-color, filter) and these lines translate the one thing an img needs said differently:
   background-size/position -> object-fit/position, and a replaced element's auto size -> fill the box. */
img.bg-photo { display: block; width: 100%; object-fit: cover; object-position: center; }
/* Only a photo whose v1 div was position:absolute (inset:0) or a stretched grid item needs height:100%: an absolutely
   positioned replaced element with auto height keeps its intrinsic height. A block-flow photo with an aspect-ratio
   (spine-block__media, prcA-step .img, models-tonewood__figure, essay-figure__media) must keep height:auto — measured
   pass 6: height:100% on those shrank home by 569px and process by 926px on mobile. */
img.bg-photo.gtrA-hero-img, img.bg-photo.faq-hero__media, img.bg-photo.abtA-cover-img, .comA-side img.bg-photo.bg,
.catC-row.split img.bg-photo.catC-img { height: 100%; }
img.bg-photo.gtrA-hero-img { object-fit: contain; object-position: center top; }         /* .gtrA-hero-img: contain, center top */
img.bg-photo.catC-img { object-fit: contain; }                                           /* .catC-img: contain (2401), [data-zoom-on-view] contain */
@media (min-width: 1101px) {
  .catC-row.split img.bg-photo.catC-img { object-fit: cover; object-position: top center; }   /* 2416: cover !important, top center */
}
img.bg-photo.faq-hero__media { object-position: center 52%; }
img.bg-photo.essay-figure__media { object-position: center top; }                        /* 2293 overrides 2062's center */
img.bg-photo.abtA-cover-img { object-position: center 30%; filter: grayscale(0.2) brightness(0.6); }   /* restated: `img[alt*="guitar" i]{filter:none}` outranks the single class */

/* v1: <div class="veil"> (empty) between the photo and the words in .comA-side. Mirrors `.comA-side .veil`. */
.comA-side::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(28,25,23,0.4) 0, rgba(28,25,23,0.85) 100%);
}

/* v1: <div class="reduced-motion-poster prcA-cover-poster" style="background-image:…"> (empty) under the process cover
   reel, shown only under prefers-reduced-motion. Mirrors `.prcA-cover-poster`. */
.prcA-cover-bg::after {
  content: '';
  display: none;
  position: absolute;
  inset: 0;
  background: url('https://media.beargrassai.com/pappenfus/process-bench-detail-9cb961f4.jpg') center / cover no-repeat;
  filter: brightness(0.55) contrast(1.05);
}
@media (prefers-reduced-motion: reduce) {
  .prcA-cover-bg::after { display: block; }
}

/* Anchor facade (retired 2026-09-16): if an <a class="gtrA-video-facade"> returns, these draw the play glyph.
   Live guitar pages use <button> + <span class="gtrA-video-play"> per v1 ([MARK] 2026-09-16). */
a.gtrA-video-facade::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--accent-deep);
  transition: background .15s ease, transform .15s ease;
}
a.gtrA-video-facade::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 0 13px 21px;
  border-color: transparent transparent transparent var(--color-bg);
  transform: translate(calc(-50% + 2.5px), -50%);
}
a.gtrA-video-facade:hover::before, a.gtrA-video-facade:focus-visible::before {
  background: var(--accent);
  transform: translate(-50%, -50%) scale(1.06);
}

/* H-4 lowered v1's faq "Model N" h4s (after an h2) to h3. v1 has no rule for them: they drew at the browser's h4
   font-size (1em) with v1's reset margin (0, measured). The h3 gets the same font-size so nothing moves. */
.faq-model-spec-block h3 { font-size: 1em; }

/* The facade glyph's other two v1 rules: 60px at ≤600px (triangle 11/17, offset 4 -> 2px), and no transition under
   prefers-reduced-motion. Mirrors `.gtrA-video-play` in those two media blocks. */
@media (max-width: 600px) {
  a.gtrA-video-facade::before { width: 60px; height: 60px; }
  a.gtrA-video-facade::after { border-width: 11px 0 11px 17px; transform: translate(calc(-50% + 2px), -50%); }
}
@media (prefers-reduced-motion: reduce) {
  a.gtrA-video-facade::before { transition: none; }
}

/* [MARK] 2026-09-16 — gold CTA hover: v1 parity (3ac1083). Global a:hover leaks cream onto .btn-primary. */
.btn-primary:hover,
.btn-primary:focus-visible {
  color: var(--color-bg);
}

/* v1's .models-tonewood__figure is a div with aspect-ratio 16/9 and min-height 280px (200px at ≤1100px): the browser
   transfers that min-height through the ratio into a min-width, so on a phone the div is 356px wide inside a 334px
   container (measured: 200 × 16/9). A replaced element with width:100% does not transfer it, so it is written out. */
img.bg-photo.models-tonewood__figure { min-width: calc(280px * 16 / 9); }
@media (max-width: 1100px) {
  img.bg-photo.models-tonewood__figure { min-width: calc(200px * 16 / 9); }
}

/* H5, FIX PASS 2026-09-06. The hero mark now carries width="2055" height="976" (the file's real pixels) so the box is
   reserved and first-visit CLS goes to 0. In a COLUMN flex container those attributes also become the item's flex BASE
   SIZE -- 976px, not the 127px the aspect ratio gives -- and the item then shrinks toward its transferred minimum
   rather than sitting at it, which stretched the logo from 267x127 to 267x170 at 390 the moment the hero had room.
   Measured by bisection: dropping the two attributes restored 127px, `flex:none` printed the full 976px.
   `height:auto` puts the base size back on the content, so the attributes reserve space and change no layout.
   MEASURED after: 390 267x127, 701 380x180, 1280 380x180 -- v1's numbers exactly. */
.vA-mark { height: auto; }

/* MEATCHECK / home at 390, FIX PASS 2026-09-06. The three hero micro-labels print ON TOP OF EACH OTHER in one
   ~30px strip on BOTH sides (v1 measured identical, so this is an inherited v1 defect, fixed here and declared,
   never reproduced for parity -- V2-BUILD-KIT item 10, [MARK] 2026-09-05):

     .vA-chip   "Custom builds start at $4,000"   x  70-320  y 558-588
     .vA-play   "Workshop Reel . Plays on Loop"   x 142-354  y 557-572
     .vA-scroll "Scroll . View Gallery"           x 122-268  y 558-572

   v1 never wrote a phone step-down for the hero: .vA-play is bottom-right and .vA-scroll bottom-centre at desktop
   metrics, and below ~642px their boxes cross, while the chip -- the last flow item in a column that OVERFLOWS its
   own padding box -- lands in the same band. Legible at 760px and up, unreadable at 390.

   The fix is a stack, and it may not change the hero's height (.vA is 600px at <=1100px and bands.mjs holds it):
   the flow column is laid out from the top instead of centred, its four vertical rhythms tighten by 54px total, and
   the two labels take the strip that frees up, one above the other, both centred. NOTHING outside this media query
   changes, so 760px and every desktop width are byte-identical to build 1 and to v1. */
@media (max-width: 700px) {
  .vA-content { justify-content: flex-start; padding-top: 74px; padding-bottom: 0; }
  .vA-mark { margin-bottom: 20px; }              /* v1 40 */
  .vA-mark-figure::after { margin-bottom: 16px; } /* v1's .vA-rule, 30 */
  .vA-headline { margin-bottom: 12px; }          /* v1 22 */
  .vA-chip { margin-top: 10px; }                 /* v1 20 at <=1100px */
  .vA-scroll { bottom: 26px; }                   /* v1 28, unchanged in kind: still centred */
  /* full-width box, not left:50% + translate: an absolutely positioned shrink-to-fit box offset from the left
     edge is capped at viewport-minus-offset, which wrapped this label onto two lines at 390 (195x30) and put it
     back into the scroll label. left:0/right:0 + centre gives the same optical position and one line (212x15). */
  .vA-play { left: 0; right: 0; transform: none; bottom: 6px; justify-content: center; }
}
