:root{
  --bg:#1A1612;
  --ivory:#F0E7D8;
  --brass:#8C6A32;
  --line:rgba(140,106,50,.38);
  --soft:rgba(240,231,216,.62);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ivory);
  font-family:"Jost",sans-serif;
  font-weight:300;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.sec-title,.mono__name,blockquote,.srv__price,.price-list__val{font-family:"Marcellus",serif;font-weight:400}
a{color:var(--ivory);text-decoration:none;border-bottom:1px solid var(--line)}
a:hover{color:var(--brass)}

.wrap{width:min(1120px,92vw);margin:0 auto}
.label{
  font-family:"Jost",sans-serif;
  text-transform:uppercase;
  letter-spacing:.3em;
  font-size:.68rem;
  font-weight:400;
  color:var(--soft);
}
.label--brass{color:var(--brass);display:block;margin-bottom:1rem}
.muted{color:var(--soft)}
.small{font-size:.9rem}

/* top bar */
.topbar{
  position:sticky;top:0;z-index:40;
  background:rgba(26,22,18,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(6px);
}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 0}
.mono{display:flex;align-items:center;gap:.8rem;border:0}
.mono__mark{
  display:inline-grid;place-items:center;
  width:38px;height:38px;
  border:1px solid var(--brass);
  color:var(--brass);
  font-family:"Marcellus",serif;
  font-size:.9rem;letter-spacing:.08em;
}
.mono__name{font-size:1.2rem;letter-spacing:.16em;text-transform:uppercase}
.nav{display:flex;gap:2rem}
.nav a{border:0}
.nav a:hover{color:var(--brass)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ivory);padding:.55rem .9rem;cursor:pointer}

/* hero */
.hero{position:relative;overflow:hidden;padding:7rem 0 5rem;border-bottom:1px solid var(--line)}
.hero__texture{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);
  font-family:"Marcellus",serif;
  font-size:min(52vw,540px);
  line-height:1;
  letter-spacing:.04em;
  color:transparent;
  -webkit-text-stroke:1px rgba(140,106,50,.17);
  pointer-events:none;
  user-select:none;
}
.hero__in{position:relative;text-align:center}
.hero__title{
  font-size:clamp(2.3rem,7.2vw,5rem);
  line-height:1.08;
  margin:.2rem 0 1.4rem;
}
.hero__sub{max-width:40ch;margin:0 auto 2.4rem;color:var(--soft)}
.ghost{
  display:inline-block;
  border:1px solid var(--brass);
  color:var(--brass);
  padding:.95rem 2.3rem;
  text-transform:uppercase;
  letter-spacing:.26em;
  font-size:.7rem;
  background:none;
  cursor:pointer;
  transition:background .25s,color .25s;
}
.ghost:hover{background:var(--brass);color:var(--bg)}
.ghost--solid{width:100%;font-family:"Jost",sans-serif}
.hero__facts{
  display:grid;gap:2rem;
  grid-template-columns:repeat(3,1fr);
  margin-top:4.5rem;text-align:left;
  border-top:1px solid var(--line);padding-top:2.4rem;
}
.hero__facts p{margin:.4rem 0 0;color:var(--soft);font-size:.95rem}

/* form */
.form-sec{padding:5rem 0;border-bottom:1px solid var(--line)}
.form-sec__in{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.form-sec h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:0 0 1.2rem}
.form{border:1px solid var(--line);padding:2rem}
.field{margin-bottom:1.4rem;display:flex;flex-direction:column;gap:.5rem}
input,textarea{
  background:transparent;
  border:1px solid rgba(240,231,216,.22);
  color:var(--ivory);
  font-family:"Jost",sans-serif;
  font-size:1rem;
  padding:.8rem .9rem;
}
input:focus,textarea:focus{outline:none;border-color:var(--brass)}
textarea{resize:vertical}
.form__note{min-height:1.2rem;margin:.9rem 0 .4rem;font-size:.9rem;color:var(--brass)}

/* quote */
.quote-sec{padding:5.5rem 0;border-bottom:1px solid var(--line)}
.quote{
  margin:0;
  border:1px solid var(--line);
  padding:clamp(2rem,5vw,3.6rem);
  text-align:center;
  position:relative;
}
.quote blockquote{
  margin:0 auto 1.6rem;
  max-width:30ch;
  font-size:clamp(1.4rem,3.2vw,2.1rem);
  line-height:1.4;
}
.quote::before{
  content:"";position:absolute;inset:10px;
  border:1px solid rgba(140,106,50,.16);
  pointer-events:none;
}

/* prices */
.prices{padding:5rem 0;border-bottom:1px solid var(--line)}
.sec-title{font-size:clamp(1.9rem,4vw,2.9rem);margin:0 0 2.4rem}
.price-list{list-style:none;margin:0 0 1.6rem;padding:0}
.price-list li{
  display:flex;align-items:baseline;gap:1rem;
  padding:1.05rem 0;
  border-bottom:1px solid rgba(240,231,216,.14);
}
.price-list li:first-child{border-top:1px solid rgba(240,231,216,.14)}
.price-list__name{flex:0 1 auto}
.rule{flex:1 1 auto;height:1px;background:rgba(140,106,50,.3)}
.price-list__val{color:var(--brass);white-space:nowrap;font-size:1.1rem}

/* services */
.services{padding:5rem 0;border-bottom:1px solid var(--line)}
.srv{list-style:none;margin:0;padding:0}
.srv__row{
  display:grid;
  grid-template-columns:56px 1fr auto;
  gap:1.6rem;
  align-items:start;
  padding:1.9rem 0;
  border-top:1px solid rgba(240,231,216,.14);
}
.srv__row:last-child{border-bottom:1px solid rgba(240,231,216,.14)}
.srv__num{color:var(--brass);padding-top:.45rem}
.srv__body h3{margin:0 0 .35rem;font-size:1.25rem;letter-spacing:.01em}
.srv__body p{margin:0;color:var(--soft);font-size:.97rem;max-width:58ch}
.srv__price{color:var(--brass);white-space:nowrap;font-size:1.05rem;padding-top:.2rem}

/* contact */
.contact{padding:5rem 0}
.contact__in{display:grid;grid-template-columns:1.3fr 1fr;gap:3.5rem}
.contact__addr{font-style:normal;font-size:1.1rem;margin:0 0 1.4rem;line-height:1.9}
.contact__side{border-left:1px solid var(--line);padding-left:2.4rem}
.social{list-style:none;margin:0 0 1.6rem;padding:0}
.social li{border-bottom:1px solid rgba(240,231,216,.14)}
.social a{display:flex;align-items:center;gap:.9rem;padding:.85rem 0;border:0;color:var(--ivory)}
.social a:hover{color:var(--brass)}

/* policy */
.policy{padding:5rem 0 6rem}
.policy h2{font-size:1.25rem;margin:2.2rem 0 .5rem;color:var(--brass)}
.policy p{max-width:66ch;color:var(--soft)}

/* footer */
.foot{border-top:1px solid var(--line);padding:1.8rem 0}
.foot__in{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.foot__links{display:flex;gap:1.8rem}
.foot__links a{border:0}

@media(max-width:860px){
  .nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;
    background:var(--bg);
    border-bottom:1px solid var(--line);
    display:none;
  }
  .nav.is-open{display:flex}
  .nav a{padding:1rem 4vw;border-bottom:1px solid rgba(240,231,216,.12)}
  .nav-toggle{display:block}
  .topbar__in{position:relative}
  .hero{padding:4.5rem 0 3.5rem}
  .hero__facts{grid-template-columns:1fr;gap:1.6rem}
  .form-sec__in,.contact__in{grid-template-columns:1fr;gap:2.4rem}
  .contact__side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:2rem}
  .srv__row{grid-template-columns:40px 1fr;gap:1rem}
  .srv__price{grid-column:2;padding-top:.6rem}
  .price-list li{flex-wrap:wrap}
  .rule{display:none}
  .price-list__val{margin-left:auto}
}