*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#eeeae1;color:#1d211f;font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}
.wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.skip{position:absolute;left:-9999px;top:auto}
.skip:focus{left:15px;top:15px;z-index:50;background:#fff;padding:10px;border:2px solid #111}
header{background:#eeeae1;border-bottom:1px solid #c8c3b8;position:sticky;top:0;z-index:20}
.bar{width:min(1120px,calc(100% - 40px));min-height:76px;margin:auto;display:flex;align-items:center;gap:30px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:-.025em}
.logo-mark{width:37px;height:37px;display:grid;place-items:center;border:2px solid #1d211f;font-size:11px}
nav{display:flex;gap:25px;margin-left:auto}
nav a,.call{font-size:13px;font-weight:800;text-decoration:none}
nav a:hover,nav a:focus-visible,.underlink:hover,.underlink:focus-visible{ text-decoration:underline;text-underline-offset:5px}
.call{border-bottom:1px solid #1d211f;padding-bottom:3px}
.hero{min-height:650px;display:grid;grid-template-columns:1fr 250px;align-items:center;gap:75px;padding:85px 0 100px}
.kicker{font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:900;margin:0 0 20px}
.hero h1{font-size:clamp(68px,10vw,128px);line-height:.83;letter-spacing:-.08em;margin:0 0 35px;font-weight:900}
.hero h1 span{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em}
.intro{font-size:19px;max-width:650px;margin:0 0 32px}
.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.button{display:inline-block;padding:14px 19px;border:1px solid currentColor;text-decoration:none;font-weight:900}
.dark{background:#1d211f;color:#eeeae1}
.light{color:#eeeae1;border-color:#eeeae1}
.underlink{font-weight:900;text-underline-offset:5px}
.hero-note{border-left:1px solid #aaa59a;padding-left:25px}
.rule{width:42px;height:3px;background:#1d211f;margin-bottom:27px}
.hero-note p{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;margin:0 0 16px}
.hero-note strong,.hero-note span,.hero-note a{display:block}
.hero-note strong{font-size:20px}
.hero-note span{margin-bottom:22px}
.hero-note a{font-weight:900}
.service{border-top:1px solid #bcb7ad;padding:80px 0 115px;display:grid;grid-template-columns:1.1fr 1fr;gap:100px}
.service h2,.review-title h2,.contact h2{font-size:clamp(40px,5vw,68px);line-height:.98;letter-spacing:-.06em;margin:0}
.service-copy{padding-top:43px;font-size:17px}
.service-copy p:first-child{margin-top:0}
.details{background:#dcd7cc}
.details-grid{display:grid;grid-template-columns:150px 1fr;grid-template-columns:150px 1fr;padding:20px 0}
.detail-label,.details-grid>div:nth-child(2n){border-bottom:1px solid #aaa59a;padding:26px 0}
.detail-label{display:flex;gap:20px}
.detail-label span{font-size:10px;font-weight:900;letter-spacing:.12em}
.detail-label p{margin:0;font-weight:900}
.details-grid>div:nth-child(2n){padding-left:35px}
.details-grid>div:nth-last-child(-n+2){border-bottom:0}
.details-grid>div:nth-child(2n) p{margin:0;max-width:650px}
.reviews{border-top:1px solid #bcb7ad;padding:95px 0 125px;display:grid;grid-template-columns:1fr 1.05fr 1.05fr;gap:50px}
.review-title h2{font-size:clamp(39px,4.5vw,60px);margin-bottom:28px}
figure{margin:35px 0 0;border-left:2px solid #1d211f;padding-left:23px}
figure.offset{margin-top:125px}
blockquote{font:400 22px/1.36 Georgia,serif;margin:0 0 18px}
figcaption{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.contact{background:#1d211f;color:#eeeae1;padding:90px 0}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.contact h2{font-size:clamp(48px,6vw,82px);margin-bottom:22px}
.contact p{font-size:18px;max-width:500px}
.contact-right{display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.phone{font-size:clamp(30px,4vw,48px);font-weight:900;text-decoration:none;letter-spacing:-.04em;border-bottom:2px solid #eeeae1}
footer{background:#1d211f;color:#eeeae1;border-top:1px solid #555650;padding:28px 0 35px}
.footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;font-size:12px}
.footer p{margin:0}
.footer p:last-child{text-align:right}
@media(max-width:800px){
 .wrap,.bar{width:min(100% - 28px,1120px)}
 .bar{min-height:68px;gap:15px}
 nav{display:none}
 .call{margin-left:auto;font-size:11px}
 .hero{grid-template-columns:1fr;gap:50px;min-height:auto;padding:65px 0 80px}
 .hero h1{font-size:clamp(58px,18vw,92px)}
 .hero-note{border-left:0;border-top:1px solid #aaa59a;padding:25px 0 0}
 .service{grid-template-columns:1fr;gap:20px;padding:60px 0 85px}
 .service-copy{padding-top:0}
 .details-grid{grid-template-columns:75px 1fr}
 .details-grid>div:nth-child(2n){padding-left:20px}
 .reviews{grid-template-columns:1fr;gap:5px;padding:65px 0 90px}
 figure.offset{margin-top:45px}
 .contact{padding:70px 0}
 .contact-inner{grid-template-columns:1fr;gap:40px}
 .footer{grid-template-columns:1fr;gap:12px}
 .footer p:last-child{text-align:left}
}
@media(max-width:480px){
 .logo{font-size:14px}
 .logo-mark{width:31px;height:31px}
 .hero h1{font-size:56px}
 .intro{font-size:17px}
 .details-grid{grid-template-columns:1fr}
 .detail-label{border-bottom:0;padding-bottom:5px}
 .details-grid>div:nth-child(2n){padding:0 0 24px}
 blockquote{font-size:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
