@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@300;400;500;600&display=swap');
:root{--ink:#2c3345;--sage:#56664f;--gold:#b59158;--pale:#f3f4ef;--line:#dedfd7;--muted:#5e625e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:white;font:15px/1.75 Montserrat,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{max-width:100%;display:block}p{margin:0 0 1.3rem}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12;margin:0 0 24px}h1{font-size:clamp(48px,5.6vw,84px);letter-spacing:-2px}h2{font-size:clamp(34px,3.4vw,52px);letter-spacing:-1px}h3{font-size:34px}em{font-weight:400;color:var(--sage)}.topline{padding:9px 5%;background:var(--pale);font-size:9px;letter-spacing:1.8px;display:flex;justify-content:space-between}header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.logo{display:inline-flex;gap:10px;align-items:center;flex-shrink:0}.logo img{width:105px;height:auto}.logo span{font-size:40px;font-weight:300;line-height:1;letter-spacing:3px}nav{display:flex;gap:27px;font-size:12px}nav a{padding:6px 0}nav a[aria-current=page]{border-bottom:1px solid var(--sage)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:14px 23px;background:var(--sage);color:#fff;border:1px solid var(--sage);font-size:12px;font-weight:600;cursor:pointer}.button:hover{background:var(--ink);border-color:var(--ink)}.small-button{min-height:44px;padding:10px 18px}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding:5px 0;font-size:13px}.hero{max-width:1600px;margin:auto;padding:55px 5% 65px;display:grid;grid-template-columns:1.12fr 1fr;gap:7%;align-items:center}.hero figure{margin:0;position:relative;height:580px}.hero figure img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero figcaption{position:absolute;bottom:23px;left:23px;background:white;padding:10px 18px;font-size:10px;letter-spacing:2px}.eyebrow,.number{font-size:10px;letter-spacing:2px;color:var(--sage);font-weight:600}.eyebrow{margin-bottom:22px}.lede{font-size:16px;max-width:670px;color:var(--muted);line-height:1.9}.micro{font-size:9px;letter-spacing:1.5px;margin:30px 0 0}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}.intro-strip{padding:43px 8%;border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--pale)}.intro-strip>p{font:32px/1.25 'Playfair Display',Georgia,serif;margin:0}.intro-strip>div{font-size:14px;max-width:550px}.section{padding:80px 8%;max-width:1600px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.section-head h2{margin:0}.section-head .text-link{flex-shrink:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{padding:38px;border:1px solid var(--line);min-height:310px;display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:var(--pale)}.service-card .number{margin-bottom:28px}.service-card h3{font-size:39px}.service-card p{max-width:440px;color:var(--muted);font-size:14px}.card-end{display:flex;justify-content:space-between;gap:18px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:11px}.card-end b{font-weight:500}.accent-card{background:var(--pale);border-top:2px solid var(--gold)}.visit-band{background:var(--pale);padding:70px 8%;border-block:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:45px 0 25px}.steps span{font:italic 27px 'Playfair Display',serif;color:var(--sage)}.steps h3{font-size:25px;margin:18px 0}.steps p{font-size:13px;max-width:350px}.contact{text-align:center}.contact p{max-width:600px;margin:0 auto 26px}footer{padding:50px 5% 20px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}footer h2{font:500 12px Montserrat,sans-serif;letter-spacing:1px;margin-bottom:18px}footer p{font-size:12px;margin-top:20px}footer>div>a:not(.logo){display:block;font-size:12px;margin-bottom:10px;overflow-wrap:anywhere}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:10px;display:flex;justify-content:space-between}.page-intro{padding:70px 8% 55px;background:var(--pale);border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(48px,5vw,72px)}.jump-links{margin-top:32px;flex-wrap:wrap;gap:12px}.jump-links a{padding:8px 20px;border:1px solid var(--line);background:white}.menu-section{display:grid;grid-template-columns:.8fr 1.3fr;gap:9%;border-bottom:1px solid var(--line)}.menu-heading p{font-size:13px}.menu-item{border-top:1px solid var(--line)}.menu-item:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:21px;color:var(--sage);flex-shrink:0}details[open]>summary:after{content:'−'}summary strong{font-size:14px;font-weight:500}summary small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.menu-price{margin-left:auto;text-align:right;font-size:13px;min-width:60px}.service-detail{padding:0 30px 24px 0;font-size:12px}.service-detail p{margin-bottom:10px}.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.three-cards article{border-top:1px solid var(--gold);padding-top:24px}.three-cards h2{font-size:33px;margin-top:25px}.three-cards p{font-size:14px}.faq{max-width:1000px}.faq details{border-bottom:1px solid var(--line)}.faq details p{font-size:14px;max-width:750px}.policy{max-width:1000px}.policy article{padding-bottom:35px;margin-bottom:35px;border-bottom:1px solid var(--line)}.policy h2{font-size:35px;margin-top:20px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}dialog{max-width:560px;width:calc(100% - 32px);padding:32px;border:1px solid var(--gold);color:var(--ink);background:white}dialog::backdrop{background:#1118}dialog h2{font-size:30px}dialog button{margin-top:12px}.text-button{font:inherit;color:var(--sage);border:0;background:none;text-decoration:underline;cursor:pointer}footer>.text-button{justify-self:start}.privacy-page{padding:60px 8%;max-width:1000px;margin:auto}.privacy-page h2{font-size:30px;margin-top:35px}.privacy-page a{text-decoration:underline}
@media(max-width:1000px){header{flex-wrap:wrap}header nav{order:3;width:100%;justify-content:center}.hero{gap:5%;padding-block:40px}.hero figure{height:500px}.hero h1{font-size:56px}.section{padding:60px 6%}.service-card{padding:28px}.card-end{flex-direction:column;gap:6px}.menu-section{gap:5%}.steps{gap:25px}}
@media(max-width:650px){.topline span{display:none}.topline{font-size:8px}header{padding:18px 5%;gap:18px}.logo img{width:85px}.logo span{font-size:33px}header nav{gap:18px;font-size:10px;justify-content:space-between}header .small-button{padding:8px 12px;font-size:10px}.hero{grid-template-columns:1fr;padding:36px 6%;gap:32px}.hero h1{font-size:clamp(43px,10vw,58px);letter-spacing:-1px}.hero figure{height:390px}.lede{font-size:14px}.actions{gap:18px}.intro-strip{grid-template-columns:1fr;gap:22px;padding:35px 6%}.intro-strip>p{font-size:29px}.section{padding:45px 6%}.section-head{display:block}.section-head .text-link{margin-top:20px}.service-grid,.steps,.three-cards,.menu-section{grid-template-columns:1fr}.service-card{min-height:280px}.service-card h3{font-size:35px}.card-end{flex-direction:row}.steps{gap:24px;margin-top:30px}.steps h3{margin:10px 0}.steps p{max-width:none}.visit-band{padding:45px 6%}.page-intro{padding:45px 6%}.page-intro h1{font-size:49px}.menu-section{gap:24px}.menu-heading h2{font-size:35px}.menu-price{font-size:12px}summary{gap:12px}summary strong{font-size:13px}.three-cards{gap:28px}footer{grid-template-columns:1fr 1fr;padding:35px 6%;gap:30px}footer>div:first-child{grid-column:1/-1}.copyright{gap:20px;align-items:start}.copyright span{max-width:130px;text-align:right}.micro{line-height:1.8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
