/*
Theme Name: Solid
Theme URI: https://solid-mastering.com/
Description: Solid Mastering studio theme. Black studio ground, red accent, analog A/B comparator.
Author: Solid Mastering
Version: 0.3.5
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: solid
*/

/* ============ TOKENS — one world: studio black, always ============ */
:root{
  color-scheme:dark;
  --ground:#070606; --surface:#0F0D0D; --panel:#151312; --panel-2:#1C1918;
  --ink:#F3EEEB; --ink-soft:#BEB4AF; --ink-faint:#958983;
  --line:#221E1C; --line-strong:#37302D;
  --accent:#E0472F; --accent-lit:#FF7455; --accent-dim:#E0472F26;
  --peak:#FF3517; --good:#7FA46F;
  --shadow:0 1px 2px #00000080, 0 12px 32px #00000066;
  --engrave:inset 0 1px 0 #ffffff0d, inset 0 -1px 0 #00000059;
  --hero-ink:#F7F2EF; --hero-soft:#D2C6C0; --hero-faint:#9E918B;
  --sans:Archivo,"Segoe UI",sans-serif;
  --mono:Archivo,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html,body{max-width:100%; overflow-x:hidden}
html{scroll-padding-top:76px; scroll-behavior:smooth}
body{
  background:var(--ground); color:var(--ink);
  font-family:var(--sans); font-size:17px; line-height:1.62; margin:0;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto}
.wrap{max-width:1120px; margin:0 auto; padding:0 28px}
@media(max-width:560px){.wrap{padding:0 18px}}
.narrow{max-width:660px}
.screen-reader-text{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap}
.skip-link:focus{position:fixed; top:10px; left:10px; z-index:100; width:auto; height:auto; clip:auto; background:var(--accent); color:var(--ground); padding:10px 14px}

/* ---- type roles ---- */
.eyebrow{
  font-family:var(--sans); font-variation-settings:"wdth" 88,"wght" 550;
  font-size:11.5px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--ink-faint); margin:0;
}
h1,h2,h3,.disp{font-family:var(--sans); text-wrap:balance; margin:0; color:var(--ink)}
h1{font-variation-settings:"wdth" 112,"wght" 800; font-size:clamp(40px,6.4vw,74px); line-height:1.01; letter-spacing:-.021em}
h2{font-variation-settings:"wdth" 100,"wght" 700; font-size:clamp(26px,3.4vw,38px); line-height:1.08; letter-spacing:-.012em}
h3{font-variation-settings:"wdth" 88,"wght" 700; font-size:16px; letter-spacing:.03em; text-transform:uppercase}
.mono{font-family:var(--mono); font-variant-numeric:tabular-nums}
.lede{font-size:clamp(18px,2vw,21px); color:var(--ink-soft); line-height:1.55}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent-lit); outline-offset:3px; border-radius:2px}

/* ---- rules & sections ---- */
section{padding:64px 0}
.rule{height:1px; background:var(--line); border:0; margin:0}
.sec-head{display:flex; flex-direction:column; gap:12px; margin-bottom:38px}

/* ---- buttons ---- */
.btn{
  font-family:var(--sans); font-variation-settings:"wdth" 90,"wght" 650;
  font-size:13.5px; letter-spacing:.08em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 26px; border-radius:3px; text-decoration:none;
  border:1px solid var(--accent); background:var(--accent); color:var(--ground);
  cursor:pointer; transition:filter .15s ease, transform .15s ease;
}
.btn:hover{filter:brightness(1.12); transform:translateY(-1px)}
.btn.ghost{background:transparent; color:var(--ink); border-color:var(--line-strong)}
.btn.ghost:hover{border-color:var(--accent); color:var(--accent)}

/* ============ HERO (full-bleed, text over the photo) ============ */
.hero-full{
  position:relative; isolation:isolate;
  min-height:clamp(500px, 76vh, 700px);
  display:flex; align-items:flex-end;
  overflow:hidden; background:#070606;
  border-bottom:1px solid var(--line);
}
.hero-bg{
  position:absolute; inset:-8% 0 -8% 0; width:100%; height:116%;
  object-fit:cover; object-position:center 46%;
  z-index:0; will-change:transform;
  filter:brightness(.62) saturate(1.08) contrast(1.04);
}
.hero-scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(to top, #070606 0%, #070606E6 30%, #070606A8 60%, #0706067A 100%),
    radial-gradient(120% 90% at 50% 6%, #AE2A161F 0%, transparent 60%);
}
.hero-inner{position:relative; z-index:2; padding-top:132px; padding-bottom:52px; width:100%}
.hero-inner .eyebrow{color:var(--hero-faint)}
.hero-inner h1{color:var(--hero-ink); margin:16px 0 0; max-width:16ch}
.hero-inner .lede{color:var(--hero-soft); margin:20px 0 0; max-width:52ch}
.hero-inner .cta-note{color:var(--hero-faint)}
.hero-inner .btn.ghost{color:var(--hero-ink); border-color:#FFFFFF4D}
.hero-inner .btn.ghost:hover{border-color:var(--accent-lit); color:var(--accent-lit)}
.hero-room{
  position:absolute; right:28px; bottom:16px; z-index:2;
  font-family:var(--mono); font-size:11px; letter-spacing:.09em;
  color:var(--hero-faint); text-transform:uppercase;
}
@media(max-width:700px){
  .hero-full{min-height:clamp(440px,68vh,560px)}
  .hero-inner{padding-top:96px}
  .hero-room{display:none}
}
@media (prefers-reduced-motion:reduce){ .hero-bg{transform:none!important} }

.cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; align-items:center}
.cta-note{font-size:14px; color:var(--ink-faint); margin:14px 0 0}

.creds{
  display:flex; flex-wrap:wrap; gap:0 30px; margin-top:36px;
  padding-top:22px; border-top:1px solid var(--line);
}
.cred{display:flex; flex-direction:column; gap:2px; padding:8px 0}
.cred b{font-family:var(--sans); font-variation-settings:"wdth" 100,"wght" 800; font-size:27px; letter-spacing:-.01em; line-height:1}
.cred span{font-family:var(--sans); font-variation-settings:"wdth" 84,"wght" 500; font-size:11.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-faint)}

/* ============ PAGE HEADER (inner pages) ============ */
.page-head{padding:150px 0 44px; border-bottom:1px solid var(--line);
  background:radial-gradient(110% 120% at 50% -10%, #AE2A1624 0%, transparent 60%)}
.page-head h1{font-size:clamp(34px,5vw,56px); margin-top:14px}
.page-head .lede{margin:18px 0 0; max-width:56ch}
@media(max-width:700px){.page-head{padding-top:112px}}

/* ============ THE A/B RACK UNIT ============ */
.rack{
  background:linear-gradient(178deg,var(--panel-2),var(--panel));
  border:1px solid var(--line-strong); border-radius:6px;
  box-shadow:var(--shadow),var(--engrave);
  padding:0; overflow:hidden;
}
.rack-top{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:14px 20px; border-bottom:1px solid var(--line-strong);
  background:linear-gradient(180deg,#ffffff0a,transparent);
}
.rack-id{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap}
.rack-id .nm{font-family:var(--sans); font-variation-settings:"wdth" 82,"wght" 800; font-size:13px; letter-spacing:.2em; text-transform:uppercase}
.rack-id .sub{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-faint); font-family:var(--mono)}
.demo-tag{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent); border:1px solid var(--accent-dim); background:var(--accent-dim);
  padding:5px 9px; border-radius:3px;
}
.rack-genres{width:100%; display:flex; align-items:center; gap:18px; padding-top:15px; margin-top:2px; border-top:1px solid var(--line)}
.rack-genres-label{flex:none; font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft)}
.track-pick{display:flex; flex:1; gap:10px; flex-wrap:wrap}
.track-pick button{font-family:var(--sans); font-size:13px; font-weight:750; letter-spacing:.035em; min-height:42px; padding:9px 18px; border-radius:4px;
  border:1px solid var(--line-strong); background:var(--surface); color:var(--ink); cursor:pointer; transition:background .15s,border-color .15s,transform .15s}
.track-pick button:hover{border-color:var(--accent); transform:translateY(-1px)}
.track-pick button:focus-visible{outline:2px solid var(--accent); outline-offset:3px}
.track-pick button[aria-pressed="true"]{border-color:var(--accent); background:var(--accent); color:var(--ground)}
@media(max-width:700px){
  .rack-genres{align-items:stretch; flex-direction:column; gap:10px}
  .track-pick{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%}
  .track-pick button{width:100%; padding:10px 8px}
}
.rack-body{display:grid; grid-template-columns:1fr; gap:0}
@media(min-width:860px){.rack-body{grid-template-columns:minmax(0,1fr) 268px}}
.deck{padding:24px 20px 22px; display:flex; flex-direction:column; gap:20px; min-width:0}

.transport{display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.play{
  width:56px; height:56px; flex:none; border-radius:50%;
  border:1px solid var(--line-strong); background:var(--surface); color:var(--ink);
  display:grid; place-items:center; cursor:pointer; box-shadow:var(--engrave);
  transition:border-color .15s, color .15s;
}
.play:hover{border-color:var(--accent); color:var(--accent)}
.play[disabled]{opacity:.5; cursor:progress}
.play svg{width:19px; height:19px; fill:currentColor; margin-left:2px}
.play[data-on="1"] svg{margin-left:0}
.abswitch{display:flex; border:1px solid var(--line-strong); border-radius:4px; overflow:hidden; background:var(--surface)}
.abswitch button{
  font-family:var(--sans); font-variation-settings:"wdth" 84,"wght" 700;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  padding:13px 20px; border:0; background:transparent; color:var(--ink-faint); cursor:pointer;
  transition:background .12s, color .12s;
}
.abswitch button + button{border-left:1px solid var(--line-strong)}
.abswitch button[aria-pressed="true"]{background:var(--accent); color:var(--ground)}
.hint{font-size:13.5px; color:var(--ink-faint); margin:0}

.wave-wrap{position:relative; border:1px solid var(--line); border-radius:4px; background:var(--surface); overflow:hidden; cursor:pointer}
.wave-wrap[data-loaded="false"]{cursor:default}
canvas.wave{display:block; width:100%; height:104px}
.wave-placeholder-note{position:absolute; right:12px; bottom:9px; font:10px/1.3 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); pointer-events:none}
.wave-placeholder-note[hidden]{display:none}
.playhead{position:absolute; top:0; bottom:0; width:1px; background:var(--accent); left:0; opacity:0; pointer-events:none}

.readouts{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:4px; overflow:hidden}
.ro{background:var(--surface); padding:11px 13px; display:flex; flex-direction:column; gap:3px}
.ro span{font-family:var(--mono); font-size:10px; letter-spacing:.11em; text-transform:uppercase; color:var(--ink-faint)}
.ro b{font-family:var(--mono); font-weight:600; font-size:19px; letter-spacing:-.01em; font-variant-numeric:tabular-nums}
@media(max-width:480px){.ro b{font-size:15px}}

.meter-panel{border-top:1px solid var(--line-strong); padding:22px 20px; display:flex; flex-direction:column; gap:14px; align-items:center}
@media(min-width:860px){.meter-panel{border-top:0; border-left:1px solid var(--line-strong)}}
canvas.vu{display:block; width:228px; height:132px; max-width:100%}
.chain{width:100%; display:flex; flex-direction:column; gap:7px}
.chain-row{display:flex; align-items:center; justify-content:space-between; gap:10px; font-family:var(--mono); font-size:11.5px}
.chain-row span{color:var(--ink-faint)}
.chain-row b{font-weight:500; color:var(--ink)}
.chain-row.off b{color:var(--ink-faint); text-decoration:line-through; text-decoration-thickness:1px}

/* ============ clients ============ */
.names{display:flex; flex-wrap:wrap; gap:9px}
.name-chip{
  font-family:var(--sans); font-variation-settings:"wdth" 88,"wght" 600;
  font-size:13px; letter-spacing:.04em;
  border:1px solid var(--line); border-radius:3px; padding:8px 13px; color:var(--ink-soft);
}
.name-chip.lit{border-color:var(--accent); color:var(--accent)}

/* ============ SERVICES ============ */
.svc{display:grid; grid-template-columns:1fr; gap:16px}
@media(min-width:800px){.svc{grid-template-columns:repeat(3,1fr)}}
.svc-card{border:1px solid var(--line); border-radius:5px; background:var(--surface); padding:24px 22px 22px; display:flex; flex-direction:column; gap:14px}
.svc-card.pick{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent-dim)}
.svc-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px}
.price{font-family:var(--mono); font-weight:600; font-size:30px; letter-spacing:-.02em; line-height:1; white-space:nowrap}
.price small{font-size:12px; font-weight:400; color:var(--ink-faint); letter-spacing:.06em}
.price-alt{font-family:var(--mono); font-size:12.5px; color:var(--ink-soft); margin:-6px 0 0}
.price-alt b{color:var(--ink); font-weight:600}
.svc-card p{margin:0; font-size:15.5px; color:var(--ink-soft); line-height:1.55}
.svc-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px}
.svc-list li{font-family:var(--mono); font-size:12.5px; color:var(--ink-soft); padding-left:16px; position:relative}
.svc-list li::before{content:"+"; position:absolute; left:0; color:var(--accent)}
.svc-card .btn{margin-top:auto; justify-content:center}

/* ============ GEAR ============ */
.gear{display:grid; grid-template-columns:1fr; gap:0; border:1px solid var(--line); border-radius:5px; overflow:hidden}
@media(min-width:760px){.gear{grid-template-columns:1fr 1fr}}
.gear-blk{padding:20px 22px; border-bottom:1px solid var(--line); background:var(--surface)}
@media(min-width:760px){.gear-blk:nth-child(odd){border-right:1px solid var(--line)}}
.gear-blk h3{color:var(--accent); margin-bottom:12px; font-size:12px; letter-spacing:.15em}
.gear-blk ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px}
.gear-blk li{font-family:var(--mono); font-size:13px; color:var(--ink-soft); line-height:1.45}

/* ============ REVIEWS ============ */
.revs{display:grid; grid-template-columns:1fr; gap:22px 26px}
@media(min-width:780px){.revs{grid-template-columns:repeat(2,1fr)}}
.rev{border-left:2px solid var(--accent); padding:4px 0 4px 18px; display:flex; flex-direction:column; gap:8px}
.rev p{margin:0; font-size:16px; line-height:1.55}
.rev .by{font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; color:var(--ink-faint)}
.stars{color:var(--accent); letter-spacing:.16em; font-size:12px}
.more-link{margin-top:30px}

/* ============ CLOSER ============ */
.closer{
  position:relative; overflow:hidden; isolation:isolate; background:#070606;
  border:1px solid var(--line-strong); border-radius:6px;
  padding:44px 34px; text-align:center; display:flex; flex-direction:column; gap:16px; align-items:center;
  box-shadow:var(--engrave);
}
.closer p{margin:0; max-width:52ch}
.closer-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; filter:brightness(.5) saturate(1.05)}
.closer-scrim{position:absolute; inset:0; z-index:0; background:radial-gradient(90% 85% at 50% 50%, #070606A6 0%, #070606EB 100%)}
.closer > :not(.closer-bg):not(.closer-scrim){position:relative; z-index:1}
.steps{display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:center; margin-top:6px}
.step{display:flex; align-items:baseline; gap:8px; font-family:var(--mono); font-size:12.5px; color:var(--ink-soft)}
.step b{color:var(--accent); font-weight:600}
@media(max-width:560px){.closer{padding:36px 20px}}

/* ============ FOOTER ============ */
.site-footer{padding:40px 0 56px; border-top:1px solid var(--line); margin-top:40px}
.foot{display:flex; flex-wrap:wrap; gap:26px; justify-content:space-between; align-items:flex-start}
.foot > div{display:flex; flex-direction:column; gap:5px}
.foot p{margin:0; font-family:var(--mono); font-size:12.5px; color:var(--ink-faint); line-height:1.6}
.foot a{color:var(--ink-soft); text-decoration:none}
.foot a:hover{color:var(--accent)}
.foot-brand{display:block; height:46px; width:auto; max-width:none; align-self:flex-start; margin-bottom:8px}
.foot-links{display:flex; flex-wrap:wrap; gap:6px 18px}

/* ---- photography ---- */
.band{margin:0; border:1px solid var(--line-strong); border-radius:6px; overflow:hidden; background:var(--panel); box-shadow:var(--shadow)}
.band img{display:block; width:100%; height:auto}
figure.shot{margin:0; display:flex; flex-direction:column; gap:9px}
figcaption{font-family:var(--mono); font-size:11.5px; letter-spacing:.05em; color:var(--ink-faint); line-height:1.5}
figcaption b{color:var(--accent); font-weight:500}
.intro-shot{margin-top:36px!important}
.intro-shot .band img,.feature-band img{display:block; width:100%; aspect-ratio:16/7; object-fit:cover}
.intro-shot .band img{object-position:center 45%}
.feature-band img{object-position:center 54%}
.studio-gallery{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:26px}
.studio-gallery .band{aspect-ratio:3/2}
.studio-gallery .band img{display:block; width:100%; height:100%; object-fit:cover}
@media(max-width:760px){.studio-gallery{grid-template-columns:1fr; gap:20px}}
.who{display:grid; grid-template-columns:1fr; gap:28px; align-items:center}
@media(min-width:820px){.who{grid-template-columns:400px minmax(0,1fr)}}
.who p{margin:0 0 14px}
.who p:last-child{margin-bottom:0}
.sig{font-family:var(--mono); font-size:12.5px; letter-spacing:.06em; color:var(--ink-faint); margin-top:16px!important}

/* ============ SITE BAR: darkens progressively with scroll (--p 0..1) ============ */
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
.sitebar{position:fixed; top:0; left:0; right:0; z-index:50; --p:0;
  background-color:rgba(7,6,6,calc(var(--p) * .9));
  -webkit-backdrop-filter:saturate(calc(1 + var(--p) * .2)) blur(calc(var(--p) * 10px));
  backdrop-filter:saturate(calc(1 + var(--p) * .2)) blur(calc(var(--p) * 10px));
  border-bottom:1px solid rgba(34,30,28,var(--p));
  transition:background-color .35s ease-out, border-color .35s ease-out, backdrop-filter .35s ease-out, -webkit-backdrop-filter .35s ease-out}
.admin-bar .sitebar{top:32px}
@media(max-width:782px){.admin-bar .sitebar{top:46px}}
.topbar{display:flex; align-items:center; gap:28px;
  padding-top:calc(20px - var(--p) * 10px); padding-bottom:calc(20px - var(--p) * 10px);
  transition:padding .35s ease-out}
.brand-link{display:block; line-height:0}
.brand{display:block; width:auto; height:calc(51px - var(--p) * 13px); transition:height .35s ease-out}
.nav{display:flex; align-items:center; gap:26px; margin-left:auto}
.nav a{font-family:var(--sans); font-variation-settings:"wdth" 88,"wght" 550; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--hero-soft); text-decoration:none; padding:6px 0; border-bottom:1px solid transparent; transition:color .2s, border-color .2s}
.nav a:hover{color:var(--accent-lit)}
.nav a[aria-current="true"],.nav a[aria-current="page"]{color:var(--hero-ink); border-bottom-color:var(--accent)}
.langs{display:flex; gap:2px; font-family:var(--mono); font-size:11px}
.langs a{padding:4px 6px; border:0; letter-spacing:.08em; color:var(--hero-faint); font-family:var(--mono); font-size:11px}
.langs a.current{color:var(--hero-ink); border:1px solid var(--line-strong); border-radius:2px}
.bar-cta{padding:10px 16px; font-size:12px; opacity:clamp(0, calc((var(--p) - .45) * 2.2), 1);
  visibility:hidden; pointer-events:none; transition:opacity .35s ease-out, visibility .35s, filter .15s ease}
.sitebar.is-stuck .bar-cta, .sitebar.solid-bar .bar-cta{visibility:visible; pointer-events:auto; opacity:1}
.menu-toggle{display:none; margin-left:auto; background:transparent; border:1px solid var(--line-strong); color:var(--hero-ink);
  width:42px; height:42px; border-radius:3px; cursor:pointer; place-items:center}
.menu-toggle svg{width:18px; height:18px; stroke:currentColor}
@media(max-width:860px){
  .brand{height:calc(40px - var(--p) * 7px)}
  .menu-toggle{display:grid}
  .bar-cta{display:none}
  .nav{position:fixed; inset:0; top:0; flex-direction:column; justify-content:center; gap:22px; margin:0;
    background:#070606F5; opacity:0; visibility:hidden; transition:opacity .2s, visibility .2s; z-index:-1}
  .nav a{font-size:15px}
  .nav-open .nav{opacity:1; visibility:visible}
}

/* ============ GENERIC PAGE CONTENT ============ */
.entry{padding:56px 0 20px}
.entry > *{max-width:720px}
.entry > .alignwide, .entry > .wp-block-columns, .entry > .wp-block-table, .entry > figure.wp-block-image{max-width:none}
.entry h2{margin:44px 0 14px}
.entry h3{margin:30px 0 10px; color:var(--accent); font-size:13px; letter-spacing:.15em}
.entry p, .entry li{color:var(--ink-soft)}
.entry a{color:var(--accent-lit)}
.entry ul li::marker{color:var(--accent)}
.entry blockquote{margin:26px 0; border-left:2px solid var(--accent); padding:2px 0 2px 18px}
.entry table{border-collapse:collapse; width:100%; font-family:var(--mono); font-size:13px}
.entry td,.entry th{border:1px solid var(--line); padding:9px 12px; text-align:left}
.entry img{border-radius:5px}
.error-404{padding:170px 0 90px}

/* ============ CONVERSION PAGES (v3 staging) ============ */
.conversion-head{padding-bottom:52px}
.conversion-head .test-mode{margin-top:24px}
.test-mode{
  display:inline-flex; align-items:center; gap:8px; width:max-content;
  font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent-lit); border:1px solid var(--accent-dim); background:var(--accent-dim);
  padding:7px 10px; border-radius:3px;
}
.test-mode::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--accent-lit); box-shadow:0 0 0 4px var(--accent-dim)}
.conversion-section{padding:56px 0 24px}
.conversion-grid{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px; align-items:start}
.info-stack{display:flex; flex-direction:column; gap:14px}
.info-card,.lead-form,.review-card{
  background:var(--surface); border:1px solid var(--line); border-radius:6px; box-shadow:var(--engrave);
}
.info-card{padding:22px}
.info-card h2{font-size:22px; margin-bottom:12px}
.info-card h3{font-size:12px; color:var(--accent); letter-spacing:.14em; margin-bottom:8px}
.info-card p{margin:0; color:var(--ink-soft); font-size:15.5px}
.process-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:18px}
.process-list li{display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:start}
.process-list b{font-family:var(--mono); color:var(--accent); font-size:12px; padding-top:3px}
.process-list strong{font-family:var(--sans); display:block; font-size:15px; margin-bottom:2px}
.process-list span{display:block; color:var(--ink-faint); font-size:14px; line-height:1.5}
.lead-form{padding:26px; display:grid; grid-template-columns:1fr 1fr; gap:18px}
.lead-form h2,.lead-form .form-wide{grid-column:1/-1}
.lead-form h2{font-size:26px}
.field{display:flex; flex-direction:column; gap:7px}
.field label,.field-label{font-family:var(--sans); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft)}
.field input,.field select,.field textarea{
  width:100%; color:var(--ink); background:var(--ground); border:1px solid var(--line-strong); border-radius:3px;
  padding:13px 14px; font:inherit; line-height:1.35;
}
.field textarea{min-height:132px; resize:vertical}
.field input[type="file"]{font-family:var(--mono); font-size:12px; padding:11px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent); outline:2px solid var(--accent-dim); outline-offset:1px}
.field-help{font-size:12.5px; color:var(--ink-faint); margin:0}
.check-field{display:flex; gap:10px; align-items:flex-start; color:var(--ink-soft); font-size:14px}
.check-field input{margin-top:5px; accent-color:var(--accent)}
.form-actions{display:flex; flex-wrap:wrap; align-items:center; gap:14px}
.form-status{margin:0; color:var(--good); font-family:var(--mono); font-size:12.5px; min-height:1.5em}
.form-note{margin:0; color:var(--ink-faint); font-size:13px}
.service-summary{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.service-summary button{
  text-align:left; color:var(--ink-soft); background:var(--ground); border:1px solid var(--line-strong); border-radius:4px;
  padding:14px; cursor:pointer;
}
.service-summary button strong{display:block; color:var(--ink); font-family:var(--sans); font-size:13px; margin-bottom:3px}
.service-summary button span{font-family:var(--mono); font-size:12px}
.service-summary button[aria-pressed="true"]{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent-dim)}
.policy-copy{max-width:760px; padding-top:54px}
.policy-copy h2{margin-top:38px}
.policy-copy .policy-alert{border-left:2px solid var(--accent); padding:12px 0 12px 18px; color:var(--ink-soft)}
.reviews-page{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding-top:54px}
.review-card{padding:24px; display:flex; flex-direction:column; gap:14px}
.review-card blockquote{margin:0; color:var(--ink-soft); font-size:17px; line-height:1.58}
.review-card cite{font-family:var(--mono); font-style:normal; font-size:12px; color:var(--ink-faint)}
.page-cta{margin-top:28px}
@media(max-width:820px){
  .conversion-grid{grid-template-columns:1fr}
  .lead-form{order:-1}
  .service-summary{grid-template-columns:1fr}
}
@media(max-width:600px){
  .lead-form{grid-template-columns:1fr; padding:20px}
  .lead-form > *{grid-column:1!important}
  .reviews-page{grid-template-columns:1fr}
}
@media(max-width:560px){
  section{padding:52px 0}
  .creds{gap:0 20px; margin-top:28px}
  .cred{min-width:calc(50% - 10px)}
  .intro-shot{margin-top:28px!important}
  .intro-shot .band img,.feature-band img{aspect-ratio:4/3}
}

@media (prefers-reduced-motion:reduce){*{animation:none!important; transition:none!important}}

/* ============ COMMERCE (v3 staging) ============ */
.cart-link{display:inline-flex!important; align-items:center; gap:6px}
.cart-link span{display:grid; place-items:center; min-width:19px; height:19px; padding:0 5px; border:1px solid var(--accent); border-radius:99px; color:var(--accent-lit); font:10px/1 var(--mono)}
.commerce-head .lede{max-width:680px}
.commerce-shell{padding:58px 0 28px; min-height:52vh}
.commerce-shell .woocommerce-breadcrumb{font:11px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:28px}
.commerce-shell .woocommerce-breadcrumb a{color:var(--ink-soft); text-decoration:none}
.woocommerce ul.products{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:none; width:auto; margin:0; padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:6px; box-shadow:var(--engrave)}
.woocommerce ul.products li.product a img{background:var(--panel); border:1px solid var(--line); border-radius:4px; margin-bottom:20px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:24px; color:var(--ink); padding:0 0 10px}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--accent-lit); font:600 20px/1.25 var(--mono)}
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button{
  color:var(--ground)!important; background:var(--accent)!important; border:1px solid var(--accent)!important; border-radius:3px!important;
  padding:12px 17px!important; font:600 12px/1.2 var(--sans)!important; letter-spacing:.08em; text-transform:uppercase;
}
.woocommerce .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.wc-block-components-button:hover{filter:brightness(1.12)}
.woocommerce div.product{display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr); gap:44px}
.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product .summary{float:none; width:auto; margin:0}
.woocommerce div.product .product_title{font-size:clamp(34px,5vw,64px); margin-bottom:16px}
.woocommerce div.product form.cart{display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; margin-top:28px}
.woocommerce div.product form.cart .variations{width:100%; margin:0 0 10px}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block; text-align:left; padding:0 0 8px}
.woocommerce div.product form.cart label{font:11px/1.4 var(--sans); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft)}
.woocommerce div.product form.cart select,.woocommerce .quantity .qty,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{
  color:var(--ink); background:var(--ground); border:1px solid var(--line-strong); border-radius:3px; padding:12px 13px; font:inherit;
}
.woocommerce .quantity .qty{width:72px}
.woocommerce-tabs{grid-column:1/-1; margin-top:18px}
.woocommerce-tabs ul.tabs{padding:0!important; margin:0 0 24px!important}
.woocommerce-tabs ul.tabs::before{border-bottom-color:var(--line)!important}
.woocommerce-tabs ul.tabs li{background:var(--surface)!important; border-color:var(--line)!important}
.woocommerce-tabs ul.tabs li a{color:var(--ink-soft)!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error{color:var(--ink); background:var(--surface); border:1px solid var(--line); border-top:2px solid var(--accent); border-radius:4px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--accent)}
.woocommerce table.shop_table{border-color:var(--line); border-radius:5px; background:var(--surface)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line); padding:14px}
.woocommerce table.shop_table a{color:var(--accent-lit)}
.woocommerce .cart-collaterals .cart_totals{float:none; width:min(100%,520px); margin-left:auto}
.woocommerce form.checkout{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:38px}
.woocommerce form.checkout #customer_details,.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review{float:none; width:auto}
.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review{grid-column:2}
.woocommerce form.checkout #order_review_heading{grid-row:1; margin:0}
.woocommerce form.checkout #order_review{grid-row:1; margin-top:52px}
.woocommerce form .form-row label{font:11px/1.4 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft)}
.woocommerce-checkout #payment{background:var(--panel); border:1px solid var(--line); color:var(--ink)}
.woocommerce-checkout #payment div.payment_box{background:var(--surface); color:var(--ink-soft)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--surface)}
.order-service-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px}
.order-service-card{display:flex; flex-direction:column; gap:16px; min-height:390px; padding:28px; background:var(--surface); border:1px solid var(--line); border-radius:6px; box-shadow:var(--engrave)}
.order-service-card.featured{border-color:var(--accent)}
.order-service-card h2{font-size:28px}
.order-service-card p{color:var(--ink-soft); margin:0}
.order-service-card .btn{margin-top:auto; align-self:flex-start}
.order-price{font:600 24px/1.2 var(--mono); color:var(--accent-lit)}
.order-price small{font-size:11px; color:var(--ink-faint)}
.order-price.quote{font-size:19px}
.checkout-path{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:28px; background:var(--line); border:1px solid var(--line); border-radius:5px; overflow:hidden}
.checkout-path>div{display:grid; grid-template-columns:auto 1fr; gap:2px 12px; padding:20px; background:var(--panel)}
.checkout-path span{grid-row:1/3; color:var(--accent); font:11px/1.4 var(--mono)}
.checkout-path strong{font-size:14px}
.checkout-path small{color:var(--ink-faint)}
.order-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}
@media(max-width:900px){
  .woocommerce ul.products,.order-service-grid{grid-template-columns:1fr}
  .woocommerce div.product,.woocommerce form.checkout{grid-template-columns:1fr}
  .woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review{grid-column:1; grid-row:auto; margin-top:0}
  .checkout-path{grid-template-columns:1fr}
}

/* WooCommerce-safe logo sizing v1 */
body img.brand{
  display:block;
  width:auto;
  height:calc(51px - var(--p,0) * 13px);
  max-width:none;
}
body img.foot-brand{
  display:block;
  width:auto;
  height:46px;
  max-width:180px;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:860px){
  body img.brand{height:calc(40px - var(--p,0) * 7px)}
}

/* Homepage portrait crop v1 */
.home .intro-shot .band img{
  aspect-ratio:2.103/1;
  object-position:center 58%;
}
@media(max-width:560px){
  .home .intro-shot .band img{
    aspect-ratio:4/3;
    object-position:center center;
  }
}

/* Shop grid hardening and global back link v1 */
.site-back{
  display:inline-flex;
  flex:none;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 10px;
  color:var(--hero-soft);
  border:1px solid var(--line-strong);
  border-radius:3px;
  text-decoration:none;
  font:600 11px/1 var(--sans);
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:color .18s,border-color .18s,background-color .18s;
}
.site-back:hover,.site-back:focus-visible{
  color:var(--hero-ink);
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 8%,transparent);
}
.site-back-arrow{font:18px/1 var(--mono);letter-spacing:0;transform:translateY(-1px)}
@media(min-width:861px) and (max-width:1180px){
  .site-back{padding-inline:9px}
  .site-back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}

body.woocommerce.archive .commerce-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px 28px;
  align-items:end;
}
body.woocommerce.archive .commerce-shell > .woocommerce-breadcrumb,
body.woocommerce.archive .commerce-shell > .woocommerce-notices-wrapper,
body.woocommerce.archive .commerce-shell > ul.products{
  grid-column:1/-1;
}
body.woocommerce.archive .commerce-shell > .woocommerce-breadcrumb{margin-bottom:0}
body.woocommerce.archive .woocommerce-result-count,
body.woocommerce.archive .woocommerce-ordering{float:none!important;margin:0!important}
body.woocommerce.archive .woocommerce-ordering select{
  min-width:210px;
  padding:11px 36px 11px 13px;
  color:var(--ink);
  background:var(--surface);
  border:1px solid var(--line-strong);
  border-radius:3px;
  font:13px/1.2 var(--sans);
}

body.woocommerce-page ul.products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after{
  content:none!important;
  display:none!important;
}
body.woocommerce-page ul.products > li.product{
  display:flex!important;
  float:none!important;
  flex-direction:column;
  width:100%!important;
  min-width:0;
  min-height:300px;
  margin:0!important;
  padding:26px!important;
}
body.woocommerce-page ul.products > li.product > a.woocommerce-LoopProduct-link{
  display:flex;
  flex:1;
  flex-direction:column;
  text-decoration:none;
}
body.woocommerce-page ul.products > li.product a img{
  width:100%!important;
  aspect-ratio:16/10;
  object-fit:contain;
  padding:14px;
  margin:0 0 22px!important;
}
body.woocommerce-page ul.products > li.product a img.woocommerce-placeholder{display:none!important}
body.woocommerce-page ul.products > li.product .woocommerce-loop-product__title{
  padding:0 0 12px!important;
  font-size:clamp(24px,2.2vw,32px)!important;
  line-height:1.05;
}
body.woocommerce-page ul.products > li.product .price{margin:0 0 24px!important}
body.woocommerce-page ul.products > li.product .button{align-self:flex-start;margin-top:auto!important}

@media(max-width:900px){
  body.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  body.woocommerce.archive .commerce-shell{grid-template-columns:1fr;gap:18px}
  body.woocommerce.archive .commerce-shell > *{grid-column:1!important}
  body.woocommerce.archive .woocommerce-ordering,
  body.woocommerce.archive .woocommerce-ordering select{width:100%}
  body.woocommerce-page ul.products{grid-template-columns:1fr!important}
  body.woocommerce-page ul.products > li.product{min-height:0;padding:22px!important}
}

/* Commerce responsive gutters v1 */
@media(max-width:1176px){
  body.woocommerce .commerce-shell{
    width:calc(100% - 48px);
    padding-left:0;
    padding-right:0;
  }
}
@media(max-width:560px){
  body.woocommerce .commerce-shell{width:calc(100% - 36px)}
}

/* Homepage service icons v1 */
.svc-icon-wrap{
  display:grid;
  place-items:center;
  width:100px;
  height:100px;
  margin:0 auto 4px;
  padding:7px;
  background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--ground) 72%);
  border:1px solid var(--line);
  border-radius:5px;
}
.svc-icon{
  display:block;
  width:84px;
  height:84px;
  max-width:none;
  object-fit:contain;
}
@media(max-width:560px){
  .svc-icon-wrap{width:84px;height:84px;padding:6px}
  .svc-icon{width:72px;height:72px}
}

/* Single product layout hardening v1 */
body.single-product.woocommerce-page .commerce-shell > div.product{
  align-items:start;
}
body.single-product.woocommerce-page .commerce-shell > div.product > .woocommerce-product-gallery,
body.single-product.woocommerce-page .commerce-shell > div.product > .summary{
  float:none!important;
  width:100%!important;
  max-width:none;
  margin:0!important;
}
body.single-product.woocommerce-page .commerce-shell > div.product > .woocommerce-product-gallery{
  display:grid;
  place-items:center;
  padding:28px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:6px;
  box-shadow:var(--engrave);
  overflow:hidden;
}
body.single-product.woocommerce-page .woocommerce-product-gallery__wrapper{margin:0}
body.single-product.woocommerce-page .woocommerce-product-gallery img{
  display:block;
  width:100%!important;
  height:auto!important;
  object-fit:contain;
}
body.single-product.woocommerce-page .commerce-shell > div.product > .woocommerce-tabs,
body.single-product.woocommerce-page .commerce-shell > div.product > .related.products,
body.single-product.woocommerce-page .commerce-shell > div.product > .upsells.products{
  grid-column:1/-1;
  float:none!important;
  width:100%!important;
  max-width:none;
  margin-left:0!important;
  margin-right:0!important;
}
body.single-product.woocommerce-page .commerce-shell > div.product > .related.products,
body.single-product.woocommerce-page .commerce-shell > div.product > .upsells.products{
  padding-top:8px;
}
body.single-product.woocommerce-page .related.products > h2,
body.single-product.woocommerce-page .upsells.products > h2{
  margin:0 0 24px;
  font-size:clamp(30px,4vw,46px);
}
@media(max-width:900px){
  body.single-product.woocommerce-page .commerce-shell > div.product > .woocommerce-product-gallery{
    width:min(100%,480px)!important;
    justify-self:center;
    padding:24px;
  }
}
@media(max-width:560px){
  body.single-product.woocommerce-page .commerce-shell > div.product > .woocommerce-product-gallery{
    width:100%!important;
    padding:18px;
  }
}

/* Wide checkout layout v1 */
body.woocommerce-checkout .entry > .woocommerce{
  width:100%;
  max-width:none;
}
body.woocommerce-checkout .woocommerce form.checkout{
  grid-template-columns:minmax(0,2fr) minmax(360px,1fr);
  gap:44px;
  width:100%;
  max-width:none;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  min-width:0;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details > .col-1,
body.woocommerce-checkout .woocommerce form.checkout #customer_details > .col-2{
  float:none!important;
  width:100%!important;
  min-width:0;
  margin:0!important;
}
body.woocommerce-checkout .woocommerce form.checkout #order_review_heading,
body.woocommerce-checkout .woocommerce form.checkout #order_review{
  min-width:0;
}
@media(max-width:900px){
  body.woocommerce-checkout .woocommerce form.checkout{
    grid-template-columns:1fr;
    gap:34px;
  }
}
@media(max-width:650px){
  body.woocommerce-checkout .woocommerce form.checkout #customer_details{
    grid-template-columns:1fr;
    gap:24px;
  }
}

/* Checkout customer grid clearfix fix v1 */
body.woocommerce-checkout .woocommerce form.checkout #customer_details::before,
body.woocommerce-checkout .woocommerce form.checkout #customer_details::after{
  content:none!important;
  display:none!important;
}

/* Compact checkout billing layout v1 */
body.woocommerce-checkout .woocommerce form.checkout #customer_details{
  grid-template-columns:1fr;
  gap:0;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details > .col-1{
  grid-column:1;
  width:100%!important;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details > .col-2{
  display:none!important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 22px;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row{
  float:none!important;
  width:100%!important;
  min-width:0;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-wide{
  grid-column:1/-1;
}
body.woocommerce-checkout #billing_postcode_field,
body.woocommerce-checkout #billing_state_field{
  grid-column:1;
}
body.woocommerce-checkout #billing_city_field,
body.woocommerce-checkout #billing_phone_field{
  grid-column:2;
}
body.woocommerce-checkout #billing_email_field{
  grid-column:1/-1;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper select{
  width:100%;
}
@media(max-width:650px){
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
    grid-template-columns:1fr;
    gap:16px;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row{
    grid-column:1!important;
  }
}

/* Original-site reviews and the custom-quote product. */
.reviews-page-shell{padding-top:48px}
.reviews-page-shell .reviews-page{padding-top:18px}
.reviews-count{margin:0;color:var(--ink-soft);font-size:15px}
.reviews-pagination{margin-top:28px}
.reviews-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.reviews-pagination a,.reviews-pagination span{
  display:grid;place-items:center;min-width:42px;min-height:42px;padding:0 10px;
  border:1px solid var(--line);border-radius:4px;text-decoration:none;color:var(--ink);
}
.reviews-pagination .current{background:var(--accent);border-color:var(--accent);color:#111}
.solid-quote-action{margin:28px 0 10px}
.solid-quote-action .btn{display:inline-flex;justify-content:center}
.solid-quote-action p{max-width:540px;margin:12px 0 0;color:var(--ink-soft);font-size:14px}
body.single-product.woocommerce-page .commerce-shell > div.product > .solid-product-feedback{
  grid-column:1/-1;width:100%;padding:52px 0 20px;
}
.solid-product-feedback h2{margin:6px 0 24px;font-size:clamp(30px,4vw,46px)}
.solid-product-feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.solid-product-feedback .review-card{padding:22px}
.solid-product-feedback > p:last-child{margin-top:22px}
@media(max-width:820px){
  .solid-product-feedback-grid{grid-template-columns:1fr}
}
