*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
:root{
  --gold:#F2B024;
  --gold-deep:#C98A12;
  --bg:#141210;
  --surface:#1E1B18;
  --elev:#26221E;
  --text:#F6F2EA;
  --muted:#A8A099;
  --hair:rgba(242,176,36,0.28);
  --alert:#E4553B;
}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:Oswald,Impact,sans-serif;text-transform:uppercase;margin:0;line-height:1.04;font-weight:600}
p{margin:0 0 1rem}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:20px}
.center{text-align:center}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:#141210;padding:.75rem 1.25rem;font-weight:700;z-index:200}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* eyebrow */
.eyebrow{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:.18em;color:var(--gold);display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem}
.sq{width:9px;height:9px;background:var(--gold);display:inline-block;flex:none}

.sec-title{font-size:clamp(1.9rem,5vw,3.75rem);letter-spacing:-.01em;display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem}
.sec-title>span:first-child{min-width:0}
.sec-title__rule{flex:1;min-width:0;height:1px;background:var(--hair);display:none}
.lede{color:var(--muted);max-width:52ch}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:600;
  padding:.95rem 1.6rem;border-radius:0;text-decoration:none;min-height:48px;
  border:1px solid transparent;transition:.2s;font-size:.95rem;text-align:center}
.btn--gold{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#191309;box-shadow:0 12px 30px -16px rgba(242,176,36,.8)}
.btn--gold:hover{filter:brightness(1.08)}
.btn--ghost{border-color:var(--hair);color:var(--gold);background:rgba(20,18,16,.5)}
.btn--ghost:hover{border-color:var(--gold);background:rgba(242,176,36,.1)}
.btn--sm{padding:.6rem 1rem;font-size:.82rem;min-height:42px}
.btn--block{display:flex;width:100%}
.link-gold{color:var(--gold);text-decoration:none;font-weight:600;border-bottom:1px solid var(--hair);display:inline-block}
.link-gold:hover{border-color:var(--gold)}

/* promobar */
.promobar{background:#0E0C0B;border-bottom:1px solid rgba(242,176,36,.14);font-size:.78rem;color:var(--muted)}
.promobar__inner{display:flex;flex-wrap:wrap;gap:.15rem 1rem;justify-content:space-between;padding-block:.45rem}
.promobar p{margin:0}
.promobar a{color:var(--gold);text-decoration:none}
.promobar__nums{display:flex;gap:.5rem;flex-wrap:wrap}

/* header */
.site-header{position:sticky;top:0;z-index:120;background:rgba(20,18,16,.82);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:.25s}
.site-header.is-stuck{border-bottom-color:var(--hair);background:rgba(14,12,11,.96)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.5rem}
.brand{flex:none}
.brand img{height:58px;width:auto}
.nav{display:none}
.nav__list{list-style:none;display:flex;align-items:center;gap:.25rem;margin:0;padding:0}
.nav__item{position:relative}
.nav__item>a{display:inline-block;padding:.7rem .6rem;text-decoration:none;font-family:Oswald,sans-serif;text-transform:uppercase;font-size:.84rem;letter-spacing:.07em;color:var(--text)}
.nav__item>a:hover{color:var(--gold)}
.nav__item--cta{margin-left:.6rem}
.nav__toggle{background:none;border:0;color:var(--gold);cursor:pointer;padding:.3rem;font-size:.7rem}
.has-sub{display:flex;align-items:center}
.subnav{position:absolute;top:100%;left:0;min-width:250px;background:#17140F;border:1px solid var(--hair);list-style:none;margin:0;padding:.4rem 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;box-shadow:0 24px 50px -20px #000;z-index:10}
.has-sub:hover .subnav,.has-sub:focus-within .subnav{opacity:1;visibility:visible;transform:none}
.subnav a{display:block;padding:.55rem 1rem;text-decoration:none;font-size:.85rem;color:var(--muted)}
.subnav a:hover{color:var(--gold);background:rgba(242,176,36,.07)}
.burger{background:none;border:1px solid var(--hair);width:48px;height:48px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;flex:none}
.burger span{width:22px;height:2px;background:var(--gold);display:block}

/* drawer */
.drawer{position:fixed;inset:0;z-index:150;background:#100E0C;overflow-y:auto;padding:1.25rem 0 6rem}
.drawer[hidden]{display:none}
.drawer__inner{max-width:600px;margin-inline:auto;padding:0 20px}
.drawer__list{list-style:none;margin:0 0 1.5rem;padding:0}
.drawer__row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(242,176,36,.16)}
.drawer__row a{flex:1;min-width:0;padding:1rem 0;text-decoration:none;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:1.05rem}
.drawer__toggle{background:none;border:0;color:var(--gold);font-size:1.4rem;width:48px;height:48px;cursor:pointer}
.drawer__sub{list-style:none;margin:0;padding:.25rem 0 .6rem .8rem;display:none}
.drawer__sub.is-open{display:block}
.drawer__sub a{display:block;padding:.5rem 0;color:var(--muted);text-decoration:none;font-size:.92rem}
.drawer__calls{display:grid;gap:.5rem;margin-top:1.25rem}
.drawer__calls a{color:var(--gold);text-decoration:none;font-weight:600}

/* hero */
.hero{position:relative;min-height:min(92vh,780px);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero__pic{position:absolute;inset:0;z-index:-2;display:block}
.hero__img{width:100%;height:100%;object-fit:cover;object-position:48% 52%}
.hero__scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(30,26,24,.95) 0%,rgba(30,26,24,.72) 40%,rgba(20,18,16,.22) 72%,rgba(20,18,16,.6) 100%),
             linear-gradient(0deg,rgba(20,18,16,.96) 0%,rgba(20,18,16,0) 58%)}
.hero__content{padding-block:4.5rem 3rem;width:100%;position:relative}
.hero h1{font-weight:700;font-size:clamp(2.6rem,11vw,7rem);letter-spacing:-.01em;line-height:.92}
.hero h1 .gold{color:var(--gold);display:block}
.hero__rule{display:block;width:120px;height:2px;background:var(--gold);margin:1.3rem 0 1rem}
.hero__sub{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.04em;font-size:clamp(1rem,2.4vw,1.35rem);color:var(--text);margin-bottom:1.6rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem}
.hero__note{display:flex;align-items:center;gap:.6rem;margin:1.4rem 0 0;color:var(--muted);font-size:.82rem;letter-spacing:.03em}
.hero__note .dot{width:7px;height:7px;border-radius:50%;background:#5FD08A;flex:none;box-shadow:0 0 0 3px rgba(95,208,138,.18)}

/* contact strip */
.contactstrip{background:#0F0D0C;border-block:1px solid var(--hair)}
.contactstrip__grid{display:grid;gap:.25rem;padding-block:.5rem}
.cs{display:flex;gap:.85rem;align-items:center;text-decoration:none;padding:.85rem 0;border-bottom:1px solid rgba(242,176,36,.1);min-width:0}
.cs:last-child{border-bottom:0}
.cs__ico{width:38px;height:38px;flex:none;display:grid;place-items:center;border:1px solid var(--hair);color:var(--gold);font-size:1rem}
.cs strong{display:block;font-family:Oswald,sans-serif;font-size:1rem;letter-spacing:.02em}
.cs em{display:block;font-style:normal;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}
.cs:hover strong{color:var(--gold)}

/* work */
.work{padding:clamp(60px,9vw,120px) 0 clamp(56px,7vw,90px)}
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(130px,40vw,220px);gap:6px;margin-top:2.25rem}
.tile{margin:0;overflow:hidden;position:relative;background:var(--surface);min-width:0}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(242,176,36,.22),rgba(20,18,16,.15));opacity:0;transition:.35s}
.tile:hover img{transform:scale(1.04)}
.tile:hover::after{opacity:1}
.work__foot{margin-top:1.75rem}

.pole{height:10px;background:repeating-linear-gradient(115deg,var(--gold) 0 14px,#141210 14px 28px);opacity:.5}

/* about */
.about{padding:clamp(60px,9vw,130px) 0}
.about__grid{display:grid;gap:2.5rem}
.about__copy p{color:var(--muted);max-width:60ch}
.about__copy .btn{margin-top:.5rem}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);box-shadow:0 40px 70px -40px #000}
.stat{background:var(--elev);padding:1.6rem 1.1rem;min-width:0}
.stat__num{display:block;font-family:Oswald,sans-serif;font-weight:700;color:var(--gold);font-size:clamp(2rem,6vw,2.9rem);line-height:1;font-variant-numeric:tabular-nums}
.stat__lab{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-top:.4rem}

/* what we do */
.whatwedo{padding:clamp(56px,8vw,110px) 0;background:var(--surface);border-block:1px solid rgba(242,176,36,.14)}
.cards{display:grid;gap:14px;margin:2rem 0 2.5rem;grid-template-columns:1fr}
.card{position:relative;background:var(--elev);border-top:2px solid var(--gold);padding:1.9rem 1.5rem;min-width:0;transition:.25s;box-shadow:0 30px 50px -35px #000;overflow:hidden}
.card:hover{transform:translateY(-4px);background:#2C2722}
.card__no{position:absolute;top:.6rem;right:.9rem;font-family:Oswald,sans-serif;font-weight:700;font-size:2.6rem;color:rgba(242,176,36,.10);line-height:1}
.card__ico{width:52px;height:auto;margin-bottom:1rem}
.card h3{color:var(--gold);font-size:1.3rem;letter-spacing:.05em;margin-bottom:.5rem}
.card p{color:var(--muted);margin:0;font-size:.94rem}

/* prices */
.prices{padding:clamp(60px,9vw,130px) 0}
.prices__head{display:grid;gap:1.25rem}
.prices__switch{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}
.toggle{display:inline-flex;border:1px solid var(--hair);background:var(--surface)}
.toggle__btn{background:none;border:0;color:var(--muted);font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;padding:.8rem 1.1rem;cursor:pointer;min-height:46px}
.toggle__btn.is-active{background:var(--gold);color:#191309;font-weight:600}
.prices__cols{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-size:.85rem}
.ledger{border-top:1px solid var(--hair);margin-top:1.5rem}
.row{padding:1.1rem 0;border-bottom:1px solid rgba(242,176,36,.14)}
.row__main{display:flex;align-items:baseline;gap:.75rem}
.row__main h3{font-size:clamp(1.1rem,2.6vw,1.5rem);letter-spacing:.03em;min-width:0}
.row__main h3 a{text-decoration:none}
.row__main h3 a:hover{color:var(--gold)}
.leader{flex:1;min-width:12px;border-bottom:1px dotted rgba(242,176,36,.45);transform:translateY(-4px)}
.row__price{margin:0;display:flex;align-items:baseline;gap:.35rem;font-family:Oswald,sans-serif;font-weight:600;font-variant-numeric:tabular-nums;font-size:clamp(1.05rem,2.6vw,1.5rem);flex:none}
.row__price .sep{color:var(--muted);opacity:.6}
.row__price .p{color:var(--muted);transition:.25s}
.loc-kb .p--kb,.loc-me .p--me{color:var(--gold)}
.loc-kb .p--me,.loc-me .p--kb{opacity:.55}
.row__desc{color:var(--muted);font-size:.9rem;margin:.35rem 0 0;max-width:78ch}
.prices__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem}
.prices__foot p{margin:0;color:var(--muted);font-size:.88rem;max-width:44ch}

/* locations */
.locations{padding:clamp(60px,9vw,130px) 0;background:var(--surface);border-top:1px solid rgba(242,176,36,.14)}
.loc-grid{display:grid;gap:20px;margin-top:2rem}
.panel{background:var(--bg);border:1px solid var(--hair);padding:1.5rem;min-width:0;box-shadow:0 40px 70px -45px #000}
.panel__tag{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--muted);margin:0 0 .6rem}
.panel__title{color:var(--gold);font-size:clamp(1.35rem,3.4vw,2rem);line-height:1.1;margin-bottom:1.25rem;letter-spacing:.01em}
.notice{display:block;color:var(--alert);border-left:3px solid var(--alert);background:rgba(228,85,59,.09);padding:.6rem .8rem;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;line-height:1.45}
.facts{list-style:none;margin:0 0 1.75rem;padding:0;display:grid;gap:.85rem}
.facts li{border-left:2px solid var(--hair);padding-left:.85rem;min-width:0}
.facts strong{display:block;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:.98rem;line-height:1.3}
.facts span{display:block;color:var(--muted);font-size:.85rem}
.hours__title{color:var(--text);font-size:1.1rem;letter-spacing:.08em;margin-bottom:.6rem}
.hours{list-style:none;margin:0 0 1.5rem;padding:0}
.hours li{display:flex;align-items:baseline;gap:.6rem;padding:.4rem 0;border-bottom:1px dashed rgba(242,176,36,.14)}
.hours span{font-family:Oswald,sans-serif;text-transform:uppercase;font-size:.82rem;letter-spacing:.06em;color:var(--muted);flex:none;width:54px}
.hours i{flex:1;min-width:10px;border-bottom:1px dotted rgba(242,176,36,.35);transform:translateY(-3px)}
.hours b{font-family:Oswald,sans-serif;font-weight:500;color:var(--gold);font-size:.88rem;flex:none}

/* CSS map card (no external map tiles) */
.mapcard{display:flex;gap:1rem;align-items:center;text-decoration:none;position:relative;overflow:hidden;
  border:1px solid var(--hair);padding:1.1rem 1.2rem;margin-bottom:1.25rem;background:#100E0C;
  background-image:
    linear-gradient(115deg,rgba(242,176,36,.18) 0 2px,transparent 2px 100%),
    repeating-linear-gradient(0deg,rgba(246,242,234,.055) 0 1px,transparent 1px 34px),
    repeating-linear-gradient(90deg,rgba(246,242,234,.055) 0 1px,transparent 1px 34px);
  transition:.25s}
.mapcard:hover{border-color:var(--gold);background-color:#161310}
.mapcard__pin{width:16px;height:16px;flex:none;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--gold);box-shadow:0 0 0 6px rgba(242,176,36,.14)}
.mapcard__body{min-width:0}
.mapcard__addr{display:block;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;color:var(--text)}
.mapcard__cross{display:block;color:var(--muted);font-size:.82rem}
.mapcard__link{display:inline-block;margin-top:.35rem;color:var(--gold);font-weight:600;font-size:.85rem}

/* footer */
.site-footer{background:var(--bg);border-top:1px solid var(--hair);padding:clamp(48px,7vw,80px) 0 6.5rem;text-align:center}
.foot-addr{display:grid;gap:1.5rem;text-align:left;max-width:760px;margin:0 auto 2.5rem}
.foot-addr p{color:var(--muted);margin:0;font-size:.92rem}
.foot-addr a{color:var(--gold);text-decoration:none}
.foot-logo{width:120px;height:auto;margin:0 auto 1.75rem}
.foot-nav ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;margin:0 0 1.75rem;padding:0}
.foot-nav a{text-decoration:none;color:var(--gold);font-family:Oswald,sans-serif;text-transform:uppercase;font-size:.85rem;letter-spacing:.08em}
.foot-nav a:hover{color:var(--text)}
.socials{display:flex;justify-content:center;gap:.75rem;margin-bottom:2rem}
.copy{color:var(--muted);font-size:.82rem;margin:0}
.copy a{color:var(--gold);text-decoration:none}

/* mobile sticky CTA */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:130;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:6px;padding:8px;background:rgba(14,12,11,.97);border-top:1px solid var(--hair)}
.mobile-cta .btn{padding:.6rem .3rem;font-size:.8rem;min-height:46px}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.is-in{opacity:1;transform:none}

@media (max-width:479px){
  .promobar__msg{display:none}
  .promobar__inner{justify-content:center}
}

@media (min-width:600px){
  .contactstrip__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}
  .cs{border-bottom:0}
  .cards{grid-template-columns:repeat(2,1fr)}
  .foot-addr{grid-template-columns:repeat(2,1fr)}
  .sec-title__rule{display:block}
  /* 3-column mosaic, exact fit (no holes) */
  .mosaic{grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(150px,23vw,240px);gap:8px}
  .tile:nth-child(1){grid-column:1/3;grid-row:1/3}
  .tile:nth-child(2){grid-column:3;grid-row:1}
  .tile:nth-child(3){grid-column:3;grid-row:2}
  .tile:nth-child(4){grid-column:1/3;grid-row:3}
  .tile:nth-child(5){grid-column:3;grid-row:3}
  .tile:nth-child(6){grid-column:1;grid-row:4}
  .tile:nth-child(7){grid-column:2;grid-row:4}
  .tile:nth-child(8){grid-column:3;grid-row:4}
}
@media (min-width:900px){
  .mobile-cta{display:none}
  .site-footer{padding-bottom:clamp(48px,7vw,80px)}
  .burger{display:none}
  .nav{display:block}
  .brand img{height:74px}
  /* 4-column mosaic, exact fit */
  .mosaic{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(175px,16.5vw,270px);gap:8px;padding-inline:8px}
  .tile:nth-child(1){grid-column:1/3;grid-row:1/3}
  .tile:nth-child(2){grid-column:3;grid-row:1}
  .tile:nth-child(3){grid-column:4;grid-row:1}
  .tile:nth-child(4){grid-column:3/5;grid-row:2}
  .tile:nth-child(5){grid-column:1;grid-row:3}
  .tile:nth-child(6){grid-column:2;grid-row:3}
  .tile:nth-child(7){grid-column:3;grid-row:3}
  .tile:nth-child(8){grid-column:4;grid-row:3}
  .about__grid{grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}
  .cards{grid-template-columns:repeat(4,1fr)}
  .loc-grid{grid-template-columns:1fr 1fr;gap:24px}
  .panel{padding:2.4rem}
  .hero__content{padding-block:8rem 5rem}
  .hero h1 .gold{display:inline}
  .prices__head{grid-template-columns:1fr auto;align-items:end}
  .prices__switch{justify-content:flex-end;flex-direction:column;align-items:flex-end;gap:.6rem}
}
@media (max-width:899px){
  .drawer.is-open{display:block}
  body{padding-bottom:64px}
  .hero__content{padding-bottom:2rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}