:root{
  --ink:#191816;
  --paper:#f3efe8;
  --cream:#e5dbcc;
  --taupe:#a28d77;
  --line:rgba(25,24,22,.18);
  --rail:112px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-weight:300}
a{color:inherit;text-decoration:none}
button{font:inherit}
main,footer{margin-left:var(--rail)}
.page-rail{
  position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:50;
  background:#f8f5ef;border-right:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;padding:32px 12px 24px
}
.rail-brand{font-family:Georgia,"Times New Roman",serif;font-size:20px;letter-spacing:.08em;text-align:center}
.rail-brand small{display:block;font:500 8px Arial,Helvetica,sans-serif;letter-spacing:.35em;margin-top:4px}
.rail-line{width:1px;height:70px;background:var(--line);margin:34px 0 22px}
.rail-index{display:grid;gap:18px;font-size:9px;letter-spacing:.15em}
.rail-index a{opacity:.5}.rail-index a:hover{opacity:1}
.rail-bottom{margin-top:auto;writing-mode:vertical-rl;font-size:8px;letter-spacing:.28em;opacity:.45}
.menu-trigger{
  position:fixed;z-index:70;top:26px;right:28px;background:transparent;color:#fff;border:0;
  display:grid;grid-template-columns:auto 28px;gap:5px 12px;align-items:center;cursor:pointer
}
.menu-trigger span{grid-row:1/3;font-size:10px;letter-spacing:.24em}
.menu-trigger i{display:block;height:1px;background:currentColor;width:28px}
.site-menu{
  position:fixed;z-index:80;inset:0 0 0 auto;width:min(460px,100%);
  background:#171614;color:#f4efe8;padding:72px 72px 50px;
  transform:translateX(102%);transition:.45s cubic-bezier(.2,.75,.25,1);
  display:flex;flex-direction:column
}
.site-menu.open{transform:none}
.menu-close{position:absolute;right:28px;top:20px;border:0;background:none;color:inherit;font-size:34px;cursor:pointer}
.menu-kicker{font-size:10px;letter-spacing:.28em;color:#b9a38b;margin-bottom:42px}
.site-menu a{display:flex;gap:24px;align-items:baseline;border-bottom:1px solid #393631;padding:15px 0;font:500 30px Georgia,"Times New Roman",serif}
.site-menu a span{font:400 9px Arial,Helvetica,sans-serif;letter-spacing:.18em;color:#a28d77}
.site-menu p{margin-top:auto;font-size:11px;line-height:1.8;color:#aaa29a}
.hero{min-height:760px;display:grid;grid-template-columns:44% 46% 10%;background:#181714;color:#f7f2eb}
.hero-copy{padding:150px 7vw 80px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.eyebrow{font-size:9px;letter-spacing:.28em;font-weight:500}
.hero h1,.section h2,.signature h2,.contact h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:.96}
.hero h1{font-size:clamp(55px,6vw,95px);margin:26px 0 26px}
.hero h1 em{color:#cbb49c;font-weight:500}
.lead{font-size:15px;line-height:1.75;max-width:540px;color:#d8d1c9}
.hero-actions{display:flex;align-items:center;gap:28px;margin:32px 0 52px}
.btn{display:inline-flex;gap:40px;align-items:center;padding:17px 20px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:600}
.btn-dark{background:#d1b89e;color:#171614;border-color:#d1b89e}
.text-link,.line-link{font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px}
.hours{margin-top:auto;font-size:10px;color:#aaa39b;word-spacing:3px}.hours span{color:#fff;margin-right:6px}
.photo-cover{background-size:cover;background-position:center}
.hero-photo{
  position:relative;
  background-image:
    linear-gradient(90deg,rgba(20,18,16,.05),rgba(20,18,16,.16)),
    url('https://images.unsplash.com/photo-1521590832167-7bcbfaa6381f?auto=format&fit=crop&w=1500&q=85');
}
.photo-tag{position:absolute;bottom:36px;left:34px;background:#efe7dc;color:#24211e;padding:18px 20px;font:500 9px/1.8 Arial,Helvetica,sans-serif;letter-spacing:.18em}
.hero-note{padding:130px 22px 30px;border-left:1px solid #36332f;display:flex;flex-direction:column;justify-content:space-between}
.hero-note span{font-size:10px;color:#a99079}.hero-note p{font:500 18px/1.35 Georgia,"Times New Roman",serif;writing-mode:vertical-rl;transform:rotate(180deg);margin:auto}
.section{padding:100px 6vw}
.intro{display:grid;grid-template-columns:1.05fr 1fr .45fr;gap:0;padding:0;min-height:560px}
.intro-image{background-image:url('https://images.unsplash.com/photo-1560066984-138dadb4c035?auto=format&fit=crop&w=1200&q=85');min-height:560px}
.intro-copy{background:#f5f1eb;padding:90px 6vw}
.intro-copy h2{font-size:clamp(42px,4vw,68px);margin:20px 0 30px}
.intro-copy p{line-height:1.8;max-width:560px}
.intro-copy .line-link{display:inline-block;margin-top:28px}
.intro blockquote{margin:0;background:#c9b39c;padding:80px 28px;display:flex;align-items:flex-end;font:500 26px/1.25 Georgia,"Times New Roman",serif}
.services{background:#1d1b18;color:#f4efe8}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:60px}
.section-head h2{font-size:clamp(50px,5vw,76px);margin:14px 0 0}
.section-head>p{max-width:470px;line-height:1.7;color:#bbb3aa}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #4a4640}
.service-grid article{position:relative;padding:28px 20px 30px;border-right:1px solid #4a4640}
.service-grid article:first-child{border-left:1px solid #4a4640}
.service-no{font:500 44px Georgia,"Times New Roman",serif;color:#a79079}
.service-img{height:190px;margin:14px 0 26px;background-size:cover;background-position:center;filter:saturate(.75)}
.service-img-1{background-image:url('https://images.unsplash.com/photo-1522337360788-8b13dee7a37e?auto=format&fit=crop&w=700&q=80')}
.service-img-2{background-image:url('https://images.unsplash.com/photo-1562322140-8baeececf3df?auto=format&fit=crop&w=700&q=80')}
.service-img-3{background-image:url('https://images.unsplash.com/photo-1605497788044-5a32c7078486?auto=format&fit=crop&w=700&q=80')}
.service-img-4{background-image:linear-gradient(135deg,#9c8771,#2b2824)}
.service-grid h3{font:500 25px Georgia,"Times New Roman",serif;margin:0 0 10px}
.service-grid p{font-size:12px;line-height:1.7;color:#c7c0b7;min-height:62px}
.service-grid strong{font-size:11px;color:#fff}
.signature{display:grid;grid-template-columns:1.25fr .75fr;background:#d9ccbc;min-height:560px}
.signature-photo{background-image:url('https://images.unsplash.com/photo-1562322140-8baeececf3df?auto=format&fit=crop&w=1400&q=85');filter:saturate(.65)}
.signature-copy{padding:100px 6vw;display:flex;flex-direction:column;justify-content:center}
.signature-copy h2{font-size:clamp(42px,4.2vw,70px);margin:18px 0 28px}
.signature-copy>p{line-height:1.8}
.signature-meta{display:flex;gap:22px;margin-top:35px;font-size:9px;letter-spacing:.2em}
.results{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:24px;background:#f6f3ed}
.results-title{padding-right:35px}.results-title h2{font-size:clamp(42px,4vw,64px);margin-top:16px}
.result{display:grid;grid-template-columns:1fr 1fr;column-gap:3px;align-content:start}
.result .before,.result .after{height:300px;background-size:cover;background-position:center}
.result h3,.result p{grid-column:1/3}.result h3{font:500 20px Georgia,"Times New Roman",serif;margin:14px 0 3px}.result p{font-size:10px;letter-spacing:.05em;margin:0;color:#6d675f}
.result-a .before{background-image:linear-gradient(#5d5146,#292521)}.result-a .after{background-image:linear-gradient(#b49a7f,#6b5747)}
.result-b .before{background-image:linear-gradient(#3e332d,#171514)}.result-b .after{background-image:linear-gradient(#7a5b48,#332821)}
.result-c .before{background-image:linear-gradient(#4a413b,#211e1c)}.result-c .after{background-image:linear-gradient(#9f8069,#4e3f36)}
.team{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:28px;background:#d4c4b3}
.team-copy{padding-right:40px}.team-copy h2{font-size:clamp(42px,4vw,62px);margin:16px 0 24px}.team-copy p{font-size:12px;line-height:1.8}
.team-photo{height:310px;background-size:cover;background-position:center;filter:saturate(.45) contrast(.92)}
.team-1{background-image:linear-gradient(160deg,#3a2f2a,#9b806d)}
.team-2{background-image:linear-gradient(160deg,#9b806d,#362b27)}
.team-3{background-image:linear-gradient(160deg,#4f4137,#b39a83)}
.team-card h3{font:500 20px Georgia,"Times New Roman",serif;margin:12px 0 4px}.team-card p{font-size:10px;letter-spacing:.06em}
.prices{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;background:#f6f3ed}
.prices h2{font-size:clamp(45px,5vw,72px);margin:18px 0}
.prices dl{margin:0}
.prices dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0}
.prices dt{font:500 18px Georgia,"Times New Roman",serif}.prices dd{margin:0;font-size:12px;font-weight:600}
.contact{margin-left:0;background:#171614;color:#f5efe7;display:grid;grid-template-columns:1.2fr .8fr}
.contact-main{padding:110px 7vw}
.contact-main h2{font-size:clamp(58px,6vw,95px);margin:18px 0 24px}
.contact-main>p{max-width:560px;color:#bcb4ab;line-height:1.7}
.btn-light{margin-top:28px;background:#e4d6c6;color:#1c1a18;border-color:#e4d6c6}
.contact-details{border-left:1px solid #37332f;padding:70px 5vw;display:grid;align-content:center;gap:0}
.contact-details div{padding:28px 0;border-bottom:1px solid #37332f}
.contact-details span{display:block;font-size:8px;letter-spacing:.24em;color:#998f86;margin-bottom:8px}
.contact-details strong{font:500 18px/1.5 Georgia,"Times New Roman",serif}
footer{background:#0e0d0c;color:#b9b0a7;padding:34px 5vw;display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:center;font-size:9px}
.footer-brand{font:500 20px Georgia,"Times New Roman",serif;color:#fff;letter-spacing:.1em}.footer-brand small{font:500 7px Arial,Helvetica,sans-serif;letter-spacing:.3em}
footer a{margin-left:20px;color:#ddd4cb}
.demo-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);z-index:100;background:#f2e7da;color:#191816;padding:14px 18px;border:1px solid #a48f79;font-size:11px;transition:.3s}
.demo-toast.show{transform:translate(-50%,0)}
@media (max-width:1050px){
  :root{--rail:76px}
  .rail-brand{font-size:15px}.rail-index{display:none}
  .hero{grid-template-columns:48% 52%}.hero-note{display:none}
  .service-grid{grid-template-columns:1fr 1fr}.service-grid article{border-bottom:1px solid #4a4640}
  .results,.team{grid-template-columns:1fr 1fr}.results-title,.team-copy{grid-column:1/3}
  .intro{grid-template-columns:1fr 1fr}.intro blockquote{display:none}
}
@media (max-width:760px){
  :root{--rail:0px}
  .page-rail{display:none}
  main,footer{margin-left:0}
  .menu-trigger{color:#fff;top:18px;right:18px}
  .hero{display:block;min-height:auto}
  .hero-copy{padding:105px 24px 70px;min-height:620px}
  .hero-photo{height:520px}.hero-note{display:none}
  .hero h1{font-size:58px}
  .hero-actions{align-items:flex-start;flex-direction:column}
  .intro,.signature,.contact,.prices{grid-template-columns:1fr}
  .intro-image,.signature-photo{min-height:420px}
  .intro-copy,.signature-copy,.section{padding:70px 24px}
  .section-head{grid-template-columns:1fr;gap:20px}
  .service-grid{grid-template-columns:1fr}
  .service-grid article,.service-grid article:first-child{border-left:0;border-right:0}
  .results,.team{grid-template-columns:1fr;gap:38px}
  .results-title,.team-copy{grid-column:auto}
  .result .before,.result .after{height:260px}
  .team-photo{height:420px}
  .contact-main{padding:80px 24px}.contact-details{border-left:0;border-top:1px solid #37332f;padding:40px 24px}
  footer{grid-template-columns:1fr;gap:16px}footer a{margin:0 18px 0 0}
  .site-menu{padding:70px 28px 40px}.site-menu a{font-size:26px}
}
