@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Quicksand:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--ink:#332720;--muted:#66564b;--paper:#fbf7ef;--soft:#efe4d6;--clay:#80482f;--line:#ddcbbb;--heading:Quicksand,"Trebuchet MS",sans-serif;--body:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 var(--body)}
a{color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
p,h1,h2,h3{margin:0}
.wrap{width:min(1228px,calc(100% - 10vw));margin-inline:auto}
.skip{position:absolute;left:1rem;top:-6rem;background:var(--paper);padding:.7rem;z-index:5}
.skip:focus{top:1rem}
:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.header{position:absolute;inset:0 0 auto;z-index:2;display:flex;min-height:112px;align-items:center;gap:clamp(15px,4vw,60px);color:#fffaf3}
.brand{width:76px;height:76px;display:block;flex:none}
.brand img{object-fit:contain}
nav{margin-left:auto;display:flex;gap:clamp(14px,2.7vw,38px);align-items:center}
nav a{font-family:var(--heading);font-size:.94rem;font-weight:600;text-decoration:none;white-space:nowrap}
nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero{min-height:max(690px,94svh);position:relative;isolation:isolate;display:grid;align-items:center;background:#342921;color:#fffaf3;overflow:hidden;padding:150px 0 90px}
.hero-image{position:absolute;z-index:-2;inset:0 0 0 auto;width:84%;object-position:50% 66%}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#211b17 0%,rgba(33,27,23,.91) 23%,rgba(33,27,23,.5) 53%,rgba(33,27,23,.12) 100%),linear-gradient(180deg,rgba(30,23,19,.42),transparent 27%,transparent 70%,rgba(30,23,19,.25))}
.hero-inner{padding-top:45px}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.115em;text-transform:uppercase;color:var(--clay)}
.hero .eyebrow{color:#fffaf3;letter-spacing:.045em;text-transform:none;width:fit-content;padding:5px 13px;border:1px solid #fff8;border-radius:100px;background:#fff1}
h1,h2,h3{font-family:var(--heading);font-weight:500;letter-spacing:-.05em;line-height:1.05}
h1{font-size:clamp(3.15rem,6.15vw,6.4rem);margin:19px 0 22px}
h2{font-size:clamp(2.35rem,4.5vw,4.35rem)}
h3{font-size:clamp(1.4rem,2.4vw,2rem);font-weight:600}
.hero-description{color:#f3e7db;font-size:clamp(1rem,1.55vw,1.15rem);max-width:44ch}
.actions{display:flex;align-items:center;gap:12px 15px;flex-wrap:wrap;margin-top:23px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:100px;background:var(--clay);color:white;padding:11px 18px;text-decoration:none;font:600 .88rem/1.3 var(--body);min-height:46px}
.button span{display:grid;place-items:center;background:#fff7ed;color:var(--clay);border-radius:50%;width:23px;height:23px}
.button:hover{background:#663822}
.button.outline{background:#211b1740;border-color:#fff9;color:#fffaf3}
.button.outline:hover{background:#211b17a0}
.section{padding-block:clamp(54px,7.4vw,106px)}
.intro{margin-bottom:30px}
.intro .eyebrow{margin-bottom:9px}
.intro p:not(.eyebrow){margin-top:13px;color:var(--muted);max-width:56ch}
.intro .button{margin-top:23px}
.centered{text-align:center}
.centered p{margin-inline:auto}
.gallery,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(11px,1.6vw,24px)}
.gallery a{display:block;overflow:hidden;border-radius:17px;background:var(--soft)}
.gallery img{aspect-ratio:1 / 1.03;object-position:center 65%;transition:transform .3s}
.gallery a:hover img{transform:scale(1.045)}
.tinted{background:var(--soft)}
.cards article,.address{padding:clamp(18px,2.6vw,33px);border:1px solid var(--line);border-radius:20px;background:var(--paper)}
.cards p,.other p{color:var(--muted);margin-top:11px}
.other{margin-top:29px;border-top:1px solid var(--line);padding-top:22px}
.split,.location,.faq{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,90px);align-items:center}
.split .intro,.location .intro,.faq .intro{margin:0}
.analysis-photo{height:clamp(320px,40vw,485px);border-radius:24px;object-position:center 65%}
.location .intro .button{margin-top:0}
.address address{font-style:normal;color:var(--muted);margin:10px 0 14px}
.text-link{font-weight:600;text-underline-offset:4px}
details{border-bottom:1px solid #cdb8a3;padding:12px 0}
details:first-child{border-top:1px solid #cdb8a3}
summary{font-weight:600;cursor:pointer;padding:6px 0}
details p{color:var(--muted);padding:0 0 6px 16px}
footer{background:#2b211b;color:#f8ecdd}
.footer{display:flex;align-items:center;gap:18px;padding-block:25px}
.footer .brand{width:52px;height:52px}
.footer p,.footer .text-link{font-size:.84rem}
.footer>.text-link{margin-left:auto}
@media(max-width:800px){
 .header{min-height:88px;gap:18px}
 .header .brand{width:58px;height:58px}
 .header-book{display:none}
 nav{gap:clamp(10px,3vw,22px)}
 nav a{font-size:.85rem}
 .cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:580px){
 .wrap{width:calc(100% - 36px)}
 .header .brand{width:45px;height:45px}
 .header{min-height:70px;gap:8px}
 nav{gap:clamp(8px,2.7vw,15px)}
 nav a{font-size:.71rem}
 .hero{min-height: min(780px, max(640px, 95svh));align-items:end;padding:105px 0 58px}
 .hero-inner{padding-top:0}
 .hero-image{width:100%;object-position:56% 60%}
 .hero::before{background:linear-gradient(0deg,#211b17 0%,rgba(33,27,23,.78) 37%,transparent 75%),linear-gradient(180deg,rgba(30,23,19,.67),transparent 35%)}
 h1{font-size:clamp(2.9rem,9.7vw,4.3rem)}
 .gallery img{aspect-ratio:2 / 3}
 .gallery a,.cards article{border-radius:12px}
 .cards,.split,.location,.faq{grid-template-columns:1fr}
 .split .intro{grid-row:1}
 .analysis-photo{height:330px}
 .footer{gap:11px}
 .footer p,.footer .text-link{font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
.arrow::before{content:"";width:8px;height:1px;background:currentColor;transform:rotate(-45deg)}
.arrow::after{content:"";position:absolute;width:5px;height:5px;border-top:1px solid;border-right:1px solid;transform:translate(2px,-2px)}
