/* ============================================================
   ANVIL — the wrought-iron workshop
   Scoped to body.d-anvil. 1rem = 10px.
   ============================================================ */
body.d-anvil{
  --av-coal:#1b1917;--av-coal2:#262320;--av-iron:#3a3632;--av-rust:#b4532a;--av-copper:#d08a4c;--av-parch:#f5eee3;--av-parch2:#ece2d2;
  --av-ink:#221d18;--av-soft:#5d5248;--av-mute:#8d8173;--av-line:#e2d5c2;
  --bg-primary:var(--av-parch);--bg-secondary:var(--av-parch2);--bg-card:#fffaf2;--bg-inset:#efe5d6;
  --fg-primary:var(--av-ink);--fg-soft:var(--av-soft);--fg-muted:var(--av-mute);--border-color:var(--av-line);--border-strong:#d4c2a8;
  background:var(--av-parch);color:var(--av-ink);font-family:'Work Sans',system-ui,sans-serif
}
body.d-anvil :where(h1,h2,h3){font-family:'Cinzel',Georgia,serif;font-weight:600;letter-spacing:.01em;line-height:1.1;color:var(--av-ink)}
body.d-anvil :where(em){font-style:normal;color:var(--av-rust)}
.av-kick{font-size:1.2rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--av-rust);margin-bottom:1.4rem}

body.d-anvil .bx-nav{background:#1b1917;border-bottom:1px solid rgba(208,138,76,.25)}
body.d-anvil .bx-brand-mark{border-radius:50%;background:#fff;overflow:hidden}
body.d-anvil .bx-brand-mark img{object-fit:cover}
body.d-anvil .bx-brand-txt b{font-family:'Cinzel',serif;color:#fff;font-size:1.85rem}
body.d-anvil .bx-brand-txt small{color:var(--av-copper)}
body.d-anvil .bx-nav-links a{font-size:1.4rem;color:rgba(255,255,255,.72)}
body.d-anvil .bx-nav-links a:hover,body.d-anvil .bx-nav-links a.active{color:#fff}
body.d-anvil .bx-nav-links a::after{background:var(--av-copper)}
body.d-anvil .bx-nav-cta{background:var(--av-rust);border-radius:2px}
body.d-anvil .burger span{background:#fff}

/* hero — the iron panel drawing itself */
.av-hero{position:relative;overflow:hidden;padding-top:var(--nav-h);background:radial-gradient(ellipse 50% 70% at 78% 45%,#3a2a1e 0,var(--av-coal) 65%);color:#f3e7d6}
.av-grain{position:absolute;inset:0;opacity:.25;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 2px,transparent 2px 7px)}
.av-hero-in{position:relative;max-width:var(--max-w);margin:0 auto;padding:7rem 3rem 8rem;display:grid;grid-template-columns:1.15fr .85fr;gap:5rem;align-items:center}
.av-hero-in>*{min-width:0}
.av-hero .av-kick{color:var(--av-copper)}
body.d-anvil .av-hero h1{font-size:clamp(4rem,5.6vw,6.6rem);color:#fff;font-weight:600}
body.d-anvil .av-hero h1 em{color:var(--av-copper)}
.av-lede{font-size:1.75rem;line-height:1.65;color:rgba(243,231,214,.78);margin-top:2.4rem;max-width:54ch}
.av-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.2rem}
.av-btn{display:inline-flex;align-items:center;gap:.9rem;padding:1.5rem 2.6rem;border-radius:2px;font-size:1.45rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:transform .2s var(--ease),background .2s,color .2s}
.av-btn-main{background:var(--av-rust);color:#fff}
.av-btn-main:hover{background:#c96232;transform:translateY(-2px)}
.av-btn-line{border:1px solid rgba(208,138,76,.55);color:#fff}
.av-btn-line:hover{background:rgba(255,255,255,.06)}
.av-facts{display:flex;flex-wrap:wrap;gap:3.6rem;margin-top:4rem;padding-top:2.4rem;border-top:1px solid rgba(208,138,76,.25)}
.av-facts dt{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,231,214,.55)}
.av-facts dd{margin:.4rem 0 0;font-family:'Cinzel',serif;font-size:2.8rem;color:#fff}

.av-panel{position:relative;justify-self:center;width:100%;max-width:440px;aspect-ratio:1;border:1px solid rgba(208,138,76,.3);padding:6%;background:radial-gradient(circle,rgba(208,138,76,.08),transparent 70%)}
.av-scroll{width:100%;height:100%;overflow:visible}
.av-p{stroke:#cfc3b3;stroke-width:9;stroke-dasharray:900;stroke-dashoffset:900;animation:av-draw 2.4s cubic-bezier(.6,0,.3,1) forwards}
.av-p1{stroke-width:11;animation-delay:.1s}.av-p2{animation-delay:.5s}.av-p3{animation-delay:.9s}.av-p4{animation-delay:1.3s;stroke-width:7}
.av-rivet{fill:var(--av-copper);stroke:none}
@keyframes av-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.av-p{animation:none;stroke-dashoffset:0}}
.av-seal{position:absolute;right:-24px;bottom:-24px;width:110px;height:110px;border-radius:50%;background:#fff;border:4px solid var(--av-copper);overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.4)}
.av-seal img{width:100%;height:100%;object-fit:contain}

/* strip */
.av-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--av-coal2);color:#f3e7d6}
.av-strip>div{display:grid;grid-template-columns:auto 1fr;column-gap:1.4rem;align-items:center;padding:2.6rem max(2.4rem,calc((100vw - var(--max-w)) / 8))}
.av-strip>div+div{border-left:1px solid rgba(208,138,76,.18)}
.av-strip i{grid-row:span 2;font-size:2.2rem;color:var(--av-copper)}
.av-strip b{font-family:'Cinzel',serif;font-size:1.65rem;color:#fff}
.av-strip small{font-size:1.3rem;color:rgba(243,231,214,.6);line-height:1.4}

/* sections */
.av-sec{padding:9rem 3rem 0}
.av-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.av-head{text-align:center;margin-bottom:4.4rem}
.av-head-l{text-align:left;margin-bottom:0}
.av-head>p:last-child:not(.av-kick){font-size:1.6rem;color:var(--av-soft);margin-top:1.4rem;line-height:1.6}
.av-sec h2{font-size:clamp(3rem,4.2vw,4.8rem)}
.av-txt{font-size:1.65rem;line-height:1.7;color:var(--av-soft);margin:1.6rem 0 2.6rem}

.av-plates{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.av-plate{position:relative;display:flex;flex-direction:column;gap:1rem;padding:3.6rem 3rem 3rem;background:#fffaf2;border:1px solid var(--av-line);color:inherit;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.av-plate::before,.av-plate::after{content:"";position:absolute;width:34px;height:34px;border:2px solid var(--av-copper);opacity:.6;transition:width .35s var(--ease),height .35s var(--ease),opacity .3s}
.av-plate::before{left:10px;top:10px;border-right:0;border-bottom:0;border-radius:14px 0 0 0}
.av-plate::after{right:10px;bottom:10px;border-left:0;border-top:0;border-radius:0 0 14px 0}
.av-plate:hover{transform:translateY(-4px);box-shadow:0 24px 44px rgba(34,29,24,.12);border-color:#d4c2a8}
.av-plate:hover::before,.av-plate:hover::after{width:60px;height:60px;opacity:1}
.av-plate-n{position:absolute;right:2.4rem;top:2rem;font-family:'Cinzel',serif;font-size:2rem;color:#d9c9b1}
.av-plate>i{width:54px;height:54px;display:flex;align-items:center;justify-content:center;background:var(--av-coal);color:var(--av-copper);font-size:2rem;border-radius:2px}
.av-plate h3{font-size:2.1rem}
.av-plate p{font-size:1.5rem;line-height:1.6;color:var(--av-soft);flex:1}
.av-go{font-size:1.3rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--av-rust);display:inline-flex;gap:.6rem;align-items:center}

.av-order{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:center;padding:5rem;background:var(--av-coal);color:#f3e7d6}
.av-order>*{min-width:0}
body.d-anvil .av-order h2{color:#fff}
body.d-anvil .av-order h2 em{color:var(--av-copper)}
.av-order .av-kick{color:var(--av-copper)}
.av-order .av-head>p:last-child{color:rgba(243,231,214,.7)}
.av-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.av-steps li{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:1.4rem;padding:2.2rem;border:1px solid rgba(208,138,76,.25)}
.av-steps li>span{position:absolute;right:1.6rem;top:1.2rem;font-family:'Cinzel',serif;font-size:3rem;color:rgba(208,138,76,.3)}
.av-steps li>i{grid-row:span 2;font-size:2rem;color:var(--av-copper);padding-top:.3rem}
.av-steps b{font-family:'Cinzel',serif;font-size:1.7rem;color:#fff}
.av-steps small{font-size:1.35rem;line-height:1.5;color:rgba(243,231,214,.65);margin-top:.4rem}

.av-about{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;padding-bottom:1rem;border-bottom:1px solid var(--av-line)}
.av-about>*{min-width:0}
.av-sign{margin-top:2rem;font-family:'Cinzel',serif;font-size:2rem;color:var(--av-rust)}
.av-sign small{display:block;font-family:'Work Sans',sans-serif;font-size:1.25rem;letter-spacing:.14em;text-transform:uppercase;color:var(--av-mute);margin-top:.3rem}
.av-prose p{font-size:1.7rem;line-height:1.8;color:var(--av-soft)}
.av-prose p+p{margin-top:1.4rem}
.av-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.av-gal-item{padding:0;border:0;aspect-ratio:1;overflow:hidden;cursor:zoom-in}
.av-gal-item img{width:100%;height:100%;object-fit:cover}
.av-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.av-rev blockquote{font-size:1.7rem;line-height:1.55}

.av-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;background:var(--av-parch2);border:1px solid var(--av-line)}
.av-contact>*{min-width:0}
.av-hours{margin-top:2.4rem}
body.d-anvil .ci{border-radius:2px;background:#fffaf2}
body.d-anvil .ci-ico{background:var(--av-coal);color:var(--av-copper)}
body.d-anvil .ci-ico.wa{background:#25d366;color:#fff}
body.d-anvil .contact-form{border-radius:2px}
body.d-anvil .contact-form h3{font-size:2.4rem;margin-bottom:1.6rem}
body.d-anvil .cf-field input,body.d-anvil .cf-field textarea{border-radius:2px}
body.d-anvil .btn-onbiz{background:var(--av-rust);border-radius:2px}
.av-map{margin-top:3rem}
.av-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 3rem}
body.d-anvil .bx-foot{background:var(--av-coal);color:rgba(243,231,214,.72);margin-top:8rem}
body.d-anvil .bx-foot p,body.d-anvil .bx-foot li,body.d-anvil .bx-foot a{color:rgba(243,231,214,.68)}
body.d-anvil .bx-foot h2{color:var(--av-copper)}
body.d-anvil .bx-foot .bx-brand-txt b{color:#fff}
body.d-anvil .bx-foot .btn-onbiz{background:var(--av-rust)}
body.d-anvil .bx-foot .btn-outline{border-color:rgba(255,255,255,.3);color:#fff}
body.d-anvil .bx-foot-bottom{border-top-color:rgba(255,255,255,.1)}

@media (max-width:980px){
  .av-hero-in{grid-template-columns:1fr;padding:5rem 2rem 7rem;gap:4rem}
  .av-panel{max-width:320px}
  .av-strip{grid-template-columns:1fr 1fr}
  .av-strip>div:nth-child(3){border-left:0}
  .av-strip>div:nth-child(n+3){border-top:1px solid rgba(208,138,76,.18)}
  .av-plates{grid-template-columns:1fr 1fr}
  .av-order,.av-about,.av-contact{grid-template-columns:1fr;gap:3rem}
}
@media (max-width:640px){
  body.d-anvil .av-hero h1{font-size:3.6rem}
  .av-lede{font-size:1.6rem}
  .av-facts{gap:2.4rem}
  .av-seal{width:84px;height:84px;right:-10px;bottom:-14px}
  .av-strip{grid-template-columns:1fr}
  .av-strip>div{border-left:0!important;padding:2rem 1.8rem}
  .av-strip>div+div{border-top:1px solid rgba(208,138,76,.18)}
  .av-sec{padding:6.4rem 1.6rem 0}
  .av-plates,.av-steps{grid-template-columns:1fr}
  .av-order,.av-contact{padding:2.8rem 1.8rem}
  .av-share{padding:0 1.6rem}
}
