:root{
  --ink:#15130F;
  --parchment:#F1E9D8;
  --copper:#B5652D;
  --clove:#5B2333;
  --brass:#CBA135;
  --smoke:#8D8573;
  --font-display:'Libre Caslon Display', Georgia, serif;
  --font-body:'IBM Plex Sans', -apple-system, sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
}
body{font-family:var(--font-body); color:var(--ink); background:var(--parchment);}
a{transition:color .2s ease, opacity .2s ease;}

/* Utility bar */
.utility-bar{background:var(--ink); color:var(--parchment); font-family:var(--font-mono); font-size:.76rem; letter-spacing:.03em; padding:.5rem 0; border-bottom:2px solid var(--brass);}
.utility-bar a{color:var(--parchment); text-decoration:none; opacity:.85;}
.utility-bar a:hover{opacity:1; color:var(--brass);}
.utility-contacts{gap:1.5rem;}
.utility-contacts li{display:flex; align-items:center; gap:.4rem;}
.utility-social a{font-size:.95rem; margin-left:1rem;}

/* Header */
.site-header{background:var(--parchment); padding:1.1rem 0; position:sticky; top:0; z-index:1000; transition:padding .25s ease, box-shadow .25s ease;}
.site-header.is-scrolled{padding:.55rem 0; box-shadow:0 6px 20px rgba(21,19,15,.12);}
.brand-lockup{display:flex; align-items:center; gap:.85rem; text-decoration:none; color:var(--ink);}
.brand-stamp{width:46px; height:46px; border-radius:50%; border:2px solid var(--copper); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1rem; color:var(--copper); flex-shrink:0; position:relative;}
.brand-stamp::before{content:''; position:absolute; inset:4px; border:1px solid var(--brass); border-radius:50%;}
.brand-name{font-family:var(--font-display); font-size:1.5rem; line-height:1.1; margin:0;}
.brand-tagline{font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--smoke); margin:0;}

.main-nav .nav-link{font-family:var(--font-body); font-weight:500; color:var(--ink)!important; margin:0 .8rem; position:relative; padding:.3rem 0!important;}
.main-nav .nav-link::after{content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--copper); transition:width .25s ease;}
.main-nav .nav-link:hover::after, .main-nav .nav-link.active::after{width:100%;}
.main-nav .nav-link.active{color:var(--copper)!important;}

/* Hero */
.hero{background:radial-gradient(circle at 18% 20%, rgba(181,101,45,.28), transparent 55%), var(--ink); color:var(--parchment); padding:5.5rem 0 5rem; text-align:center;}
.hero .brand-stamp{width:72px; height:72px; margin:0 auto 1.25rem; border-color:var(--brass); font-size:1.3rem;}
.hero .brand-stamp::before{border-color:var(--copper);}
.hero h1{font-family:var(--font-display); font-size:clamp(2.3rem,5vw,3.8rem); margin-bottom:.6rem;}
.hero p.tagline{font-family:var(--font-mono); letter-spacing:.16em; text-transform:uppercase; font-size:.82rem; color:var(--brass); margin:0;}

.placeholder-block{border:2px dashed var(--smoke); border-radius:6px; padding:3.5rem 1.5rem; text-align:center; color:var(--smoke); font-family:var(--font-mono); font-size:.85rem;}

/* Footer */
.site-footer{background:var(--ink); color:var(--parchment); padding-top:3.5rem;}
.site-footer h6{font-family:var(--font-display); font-size:1rem; letter-spacing:.03em; color:var(--brass); border-bottom:1px solid rgba(203,161,53,.35); padding-bottom:.6rem; margin-bottom:1.1rem;}
.site-footer a{color:var(--parchment);}
.site-footer a:hover{color:var(--brass);}
.footer-col{border-left:1px solid rgba(203,161,53,.2); padding-left:1.75rem;}
.footer-col:first-child{border-left:0; padding-left:0;}
@media(max-width:767px){.footer-col{border-left:0; padding-left:0; margin-bottom:2.25rem;}}

.contact-list{margin:0;}
.contact-list li{display:flex; gap:.65rem; margin-bottom:.85rem; align-items:flex-start; font-size:.88rem; line-height:1.5;}
.contact-list i{color:var(--copper); margin-top:.25rem; flex-shrink:0;}
.contact-list a{text-decoration:none; opacity:.9;}
.contact-list a:hover{opacity:1;}

.map-frame{border:3px solid var(--brass); border-radius:2px; transform:rotate(-1deg); box-shadow:0 10px 26px rgba(0,0,0,.35); overflow:hidden; position:relative; margin-top:.25rem;}
.map-frame iframe{display:block; width:100%; height:200px; border:0; filter:grayscale(.15) contrast(1.05);}
.map-stamp{position:absolute; top:-14px; right:-16px; background:var(--copper); color:var(--parchment); font-family:var(--font-mono); font-size:.62rem; letter-spacing:.06em; width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center; transform:rotate(8deg); box-shadow:0 4px 10px rgba(0,0,0,.35);}

.btn-copper{background:var(--copper); color:var(--parchment); border:none; padding:.5rem 1.25rem; font-family:var(--font-body); font-weight:500; font-size:.85rem; border-radius:2px; transition:background .2s;}
.btn-copper:hover{background:var(--clove); color:var(--parchment);}

.footer-bottom{border-top:1px solid rgba(203,161,53,.2); margin-top:3rem; padding:1.1rem 0; font-size:.78rem; font-family:var(--font-mono); color:var(--smoke); text-align:center;}

.back-to-top{position:fixed; bottom:1.5rem; right:1.5rem; width:44px; height:44px; border-radius:50%; background:var(--copper); color:var(--parchment); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(8px); transition:all .25s; z-index:999; border:none;}
.back-to-top.show{opacity:1; visibility:visible; transform:translateY(0);}
.back-to-top:hover{background:var(--clove);}

a:focus-visible, button:focus-visible{outline:2px solid var(--copper); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){*{transition:none!important;}}
