
:root{
 --ink:#383a35;--muted:#7a7c75;--stone:#eeeae1;--sand:#f7f4ee;--sage:#8e998d;
 --sage2:#637269;--cream:#fbfaf7;--rose:#caa99d;--line:#e5e0d7;--white:#fff;
 --shadow:0 22px 70px rgba(52,56,49,.11);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.75}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1160px,92%);margin:auto}
.top{font-size:.73rem;letter-spacing:.08em;text-transform:uppercase;color:#8b8d86;border-bottom:1px solid var(--line);background:#fff}.top .wrap{padding:8px 0;text-align:center}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(70,70,65,.08)}
.nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:270px;height:64px;object-fit:contain;object-position:left center}
.menu{display:flex;align-items:center;gap:25px;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.menu a{position:relative}.menu a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--ink);transition:.22s}.menu a:hover:after,.menu a.active:after{right:0}.menu a.active{color:#51564f}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 19px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--ink)}.btn.sage{background:var(--sage2);border-color:var(--sage2)}
.menu-toggle{display:none;border:0;background:transparent;font-size:1.6rem}
.hero{background:var(--sand);padding:72px 0;overflow:hidden;position:relative}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center}.eyebrow,.kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.19em;color:#8a8e83;font-weight:800}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.08;margin:0 0 18px;color:#3d3f39}h1{font-size:clamp(3.8rem,6.2vw,6.5rem);letter-spacing:-.04em}h2{font-size:clamp(2.5rem,4.1vw,4.6rem);letter-spacing:-.035em}.hero p{font-size:1.02rem;color:var(--muted);max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-photo{height:590px;background:#e8e4da;overflow:hidden;box-shadow:var(--shadow)}.hero-photo img{width:100%;height:100%;object-fit:cover}
.section{padding:92px 0}.section.soft{background:var(--cream)}.section.stone{background:var(--stone)}.section.dark{background:#454943;color:#f0f1ec}.section.dark h2,.section.dark h3{color:#fff}.section.dark p{color:#d4d8d2}.section-head{max-width:800px;margin-bottom:45px}.section-head p,.muted{color:var(--muted)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:19px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.card{background:#fff;border:1px solid var(--line);padding:29px}.card h3{font-size:1.42rem}.card p,.card li{color:var(--muted)}
.service{padding:0;overflow:hidden}.service .photo{height:260px;overflow:hidden;background:#e7e4dd}.service .photo img{width:100%;height:100%;object-fit:cover}.service .body{padding:25px}.tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#8a8e83;font-weight:800}
.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.photo-frame{height:500px;overflow:hidden;background:#e7e4dd;box-shadow:var(--shadow)}.photo-frame img{width:100%;height:100%;object-fit:cover}.quote{font-family:Georgia,serif;font-size:1.6rem;line-height:1.45;color:#585b54;border-left:2px solid var(--rose);padding-left:22px}
.page-hero{padding:84px 0;background:var(--sand);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(3rem,5.3vw,5.8rem)}.page-hero p{max-width:790px;color:var(--muted)}.breadcrumbs{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:#8d8c84;margin-bottom:13px}
.service-row{display:grid;grid-template-columns:220px 1fr 150px;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.service-row img{width:220px;height:150px;object-fit:cover}.service-row h3{font-size:1.55rem}.price{font-family:Georgia,serif;font-size:1.55rem;color:#4f554e;text-align:right}.small{font-size:.83rem;color:var(--muted)}
.details{display:grid;grid-template-columns:1fr 320px;gap:40px}.sidebox{background:var(--sand);padding:26px;border:1px solid var(--line)}.sidebox h3{font-size:1.25rem}.checks{display:grid;gap:11px;margin:20px 0}.check{display:flex;gap:12px}.check i{font-style:normal;color:#7c8a7c}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form .full{grid-column:1/-1}.form input,.form textarea,.form select{width:100%;padding:14px 15px;border:1px solid #d8d4cc;background:#fff;font:inherit}.form textarea{min-height:145px}.notice{padding:16px 18px;background:#faf4e6;border-left:3px solid #bea46d;color:#6f6653}
.calendar{background:#fff;border:1px solid var(--line);padding:30px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:20px}.day{min-height:72px;padding:8px;border:1px solid #ebe7df;font-size:.8rem;color:#999}.day.open{background:#f1f4ef;color:#596156}.slot{display:inline-block;margin-top:6px;padding:4px 6px;background:#fff;border:1px solid #b8c2b6}
.footer{background:#efede7;color:#666963;padding:58px 0 27px}.footer-grid{display:grid;grid-template-columns:1.25fr .8fr .9fr 1fr;gap:34px}.footer .brand img{width:220px}.footer h3{font-family:inherit;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#4c4f49}.footer a{display:block;margin:8px 0}.footer p{font-size:.87rem}.footline{margin-top:36px;padding-top:18px;border-top:1px solid #d7d3ca;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.78rem}
@media(max-width:1000px){.brand img{width:230px}.menu{gap:15px;font-size:.7rem}}
@media(max-width:920px){.menu{display:none;position:absolute;left:4%;right:4%;top:82px;background:#fff;padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.menu.open{display:flex}.menu-toggle{display:block}.hero-grid,.split,.details{grid-template-columns:1fr}.hero-photo{height:430px}.grid-4,.grid-3{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:170px 1fr}.service-row img{width:170px}.price{grid-column:2;text-align:left}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.nav{height:76px}.brand img{width:190px;height:45px}.hero{padding:52px 0}.hero h1{font-size:clamp(3.1rem,14vw,4.8rem)}.hero-photo{height:340px}.grid-4,.grid-3,.grid-2,.footer-grid{grid-template-columns:1fr}.service-row{grid-template-columns:1fr}.service-row img{width:100%;height:220px}.price{grid-column:auto}.section{padding:68px 0}.form{grid-template-columns:1fr}.form .full{grid-column:auto}.calendar-grid{grid-template-columns:repeat(2,1fr)}}
