:root{
  --caliche:#EAE7DE;
  --armor:#26221D;
  --hide:#3B342C;
  --brass:#A96F2E;
  --brass-dk:#8A5A24;
  --rust:#A8402C;
  --juniper:#5F6653;
  --paper:#F6F4EE;
  --line:#CFC9BB;
  --display:'Bitter',Georgia,serif;
  --body:'Source Sans 3','Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--caliche);color:var(--armor);line-height:1.6;font-size:17px}
img{max-width:100%;display:block;height:auto}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);font-weight:500}
h1,h2,h3{font-family:var(--display);line-height:1.15;font-weight:700}
section{padding:80px 0}
a{color:var(--brass-dk)}
.btn{display:inline-block;font-family:var(--body);font-weight:700;font-size:17px;background:var(--brass);color:#fff;padding:16px 34px;border:none;border-radius:3px;cursor:pointer;text-decoration:none;transition:background .15s ease}
.btn:hover{background:var(--brass-dk)}
.btn:focus-visible{outline:3px solid var(--armor);outline-offset:3px}
.btn-ghost{display:inline-block;font-weight:700;font-size:17px;color:var(--caliche);text-decoration:none;padding:16px 4px;border-bottom:2px solid var(--brass);margin-left:22px}
.btn-ghost:hover{color:#fff}
.cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}

.bands{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;height:10px}
.bands span{background:var(--brass);border-radius:1px;opacity:.9}
.bands span:nth-child(even){opacity:.45}

nav{background:var(--armor);padding:16px 0}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mark{display:flex;align-items:center;gap:18px;color:var(--caliche);text-decoration:none}
.mark img{width:96px;height:96px;flex:none;object-fit:contain}
.mark .name{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.1}
.mark .name em{font-style:normal;color:var(--brass)}
nav .btn{padding:10px 20px;font-size:15px;white-space:nowrap}

.hero{background:var(--armor);color:var(--caliche);padding:76px 0 70px}
.hero .bands{max-width:340px;margin-bottom:30px}
.hero .eyebrow{margin-bottom:20px}
.hero h1{font-size:clamp(32px,5vw,54px);font-weight:800;max-width:18ch;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--brass)}
.hero p.sub{font-size:clamp(17px,2vw,20px);max-width:60ch;margin:24px 0 34px;color:#D8D3C6}

.statbar{background:#1C1915;color:#B8B1A0;border-top:1px solid #332E27;padding:24px 0}
.statbar ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.statbar .n{font-family:var(--display);font-weight:800;font-size:26px;color:var(--caliche);display:block}
.statbar .l{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;display:block}

.intro .inner{max-width:700px;margin:0 auto;text-align:center}
.intro p{font-size:19px;margin-bottom:18px;color:var(--hide);line-height:1.68}
.intro p:last-child{margin-bottom:0;font-family:var(--display);font-weight:600;font-size:21px;color:var(--armor)}

.visits{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.visits h2{font-size:clamp(26px,3.6vw,38px);margin-bottom:12px}
.visits .lead{color:var(--hide);max-width:64ch;margin-bottom:44px;font-size:18px}
.vgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.visit{background:#fff;border:1px solid var(--line);border-radius:4px;padding:26px 24px}
.visit .stepband{display:grid;grid-template-columns:repeat(9,1fr);gap:3px;height:8px;margin-bottom:16px}
.visit .stepband span{background:var(--line);border-radius:1px}
.visit:nth-child(1) .stepband span:nth-child(-n+2){background:var(--brass)}
.visit:nth-child(2) .stepband span:nth-child(-n+4){background:var(--brass)}
.visit:nth-child(3) .stepband span:nth-child(-n+6){background:var(--brass)}
.visit:nth-child(4) .stepband span{background:var(--brass)}
.visit .times{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);font-weight:500;display:block;margin-bottom:8px}
.visit h3{font-size:19px;margin-bottom:10px}
.visit p{font-size:15.5px;color:var(--hide)}
.visits .after{margin-top:34px;max-width:72ch;font-size:16.5px;border-left:3px solid var(--brass);padding-left:20px;color:var(--hide)}

.catalog h2{font-size:clamp(26px,3.6vw,38px);margin-bottom:12px}
.catalog .lead{color:var(--hide);max-width:64ch;margin-bottom:44px;font-size:18px}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cat{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:26px 24px}
.cat h3{font-size:18px;margin-bottom:4px}
.cat .count{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);font-weight:500;display:block;margin-bottom:14px}
.cat ul{list-style:none}
.cat li{padding:9px 0;border-bottom:1px dashed var(--line);font-size:15px;color:var(--hide);display:flex;gap:10px;justify-content:space-between;align-items:baseline}
.cat li:last-child{border-bottom:none}
.cat li .freq{font-family:var(--mono);font-size:11px;color:var(--brass);white-space:nowrap;flex:none;letter-spacing:.04em}

.math{background:var(--armor);color:var(--caliche)}
.math h2{font-size:clamp(26px,3.6vw,38px);max-width:20ch;margin-bottom:18px}
.math .lead{color:#D8D3C6;max-width:66ch;margin-bottom:38px}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);color:var(--armor)}
th,td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);font-size:16px}
thead th{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;background:#1C1915;color:var(--caliche);font-weight:500}
tbody tr:last-child td{border-bottom:none}
td.strike{color:#9A927F;text-decoration:line-through}
td.keep{font-family:var(--display);font-weight:800;font-size:19px;color:var(--juniper)}
td.big{font-family:var(--display);font-weight:800;font-size:19px}
.math .note{margin-top:20px;font-size:14.5px;color:#8F887A}

.price{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.price h2{font-size:clamp(26px,3.6vw,38px);margin-bottom:14px}
.price .lead{color:var(--hide);max-width:56ch;margin:0 auto 40px;font-size:18px}
.plate{max-width:440px;margin:0 auto;background:#fff;border:2px solid var(--brass);border-radius:4px;padding:38px 32px}
.plate .tier{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);font-weight:500}
.plate .amount{font-family:var(--display);font-weight:800;font-size:52px;line-height:1.1;margin:10px 0 2px}
.plate .per{color:var(--hide);font-size:15px;margin-bottom:22px}
.plate ul{list-style:none;text-align:left;margin-bottom:26px}
.plate li{padding:9px 0 9px 26px;position:relative;font-size:15.5px;border-bottom:1px dashed var(--line)}
.plate li:last-child{border-bottom:none}
.plate li::before{content:"";position:absolute;left:0;top:15px;width:13px;height:7px;border-left:2.5px solid var(--juniper);border-bottom:2.5px solid var(--juniper);transform:rotate(-45deg)}
.plate .btn{width:100%}

.scarcity{background:var(--armor);color:var(--caliche);text-align:center}
.scarcity .inner{max-width:640px;margin:0 auto}
.scarcity .bands{max-width:220px;margin:0 auto 26px}
.scarcity h2{font-size:clamp(24px,3.2vw,32px);margin-bottom:16px}
.scarcity p{color:#D8D3C6}

.faq h2{font-size:clamp(26px,3.6vw,38px);margin-bottom:40px}
.qa{max-width:780px}
.qa .q{font-family:var(--display);font-weight:700;font-size:19px;margin-bottom:10px}
.qa .a{color:var(--hide);margin-bottom:32px;padding-left:20px;border-left:3px solid var(--line);font-size:17px}

.final{background:var(--armor);color:var(--caliche);text-align:center;padding:88px 0}
.final .bands{max-width:340px;margin:0 auto 28px}
.final h2{font-size:clamp(26px,4vw,40px);max-width:22ch;margin:0 auto 16px}
.final p{color:#D8D3C6;max-width:56ch;margin:0 auto 34px}

footer{background:#1C1915;color:#8F887A;padding:32px 0;font-size:14px;border-top:1px solid #332E27}
footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
footer a{color:#B8B1A0}

@media(max-width:960px){
  .cats{grid-template-columns:repeat(2,1fr)}
  .vgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  section{padding:58px 0}
  .statbar ul{grid-template-columns:repeat(2,1fr);gap:24px}
  .mark img{width:72px;height:72px}
  .mark .name{font-size:18px}
  nav .btn{padding:9px 14px;font-size:14px}
  .btn-ghost{margin-left:0}
}
@media(max-width:620px){
  .cats,.vgrid{grid-template-columns:1fr}
  th,td{padding:13px 14px;font-size:15px}
}
@media(max-width:420px){
  nav .mark .name{display:none}
}

/* service pages: work gallery + service list (ported from index.html) */
.work{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.shot{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.shot img{width:100%;height:190px;object-fit:cover;background:var(--line)}
.shot figcaption{padding:11px 13px;font-size:13.5px;color:var(--hide);line-height:1.35}
.work .after{margin-top:36px;text-align:center}
.cats{list-style:none}
.cats li{font-family:var(--display);font-weight:600;font-size:18px}
@media(max-width:960px){ .grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:620px){ .grid{grid-template-columns:repeat(2,1fr)} .shot img{height:150px} }

/* service pages: reviews block (ported from index.html) */
.reviews{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.quote{background:#fff;border:1px solid var(--line);border-radius:4px;padding:28px 26px;display:flex;flex-direction:column}
.stars{color:var(--brass);letter-spacing:2px;margin-bottom:14px;font-size:15px}
.quote p{font-size:16px;flex:1;color:var(--hide)}
.quote cite{font-style:normal;font-family:var(--display);font-weight:700;font-size:15px;margin-top:18px;display:block}
.ti-wrap{margin-bottom:8px}
.reviews .after{margin-top:36px;text-align:center}
@media(max-width:820px){ .quotes{grid-template-columns:repeat(2,1fr)} }
@media(max-width:620px){ .quotes{grid-template-columns:1fr} }
