@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{--ink:#171a18;--panel:#202420;--paper:#f2f1eb;--muted:#b7beb5;--bronze:#c9aa84;--line:#424940}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,select{font:inherit}a,button,select{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--bronze);outline-offset:6px}.skip{position:absolute;top:-80px;background:var(--paper);color:var(--ink);padding:12px;z-index:10}.skip:focus{top:0}.concept{padding:8px 5%;background:#c9aa84;color:#171a18;font-size:12px;letter-spacing:.09em;display:flex;justify-content:space-between}.concept span{letter-spacing:0}header{display:flex;align-items:center;justify-content:space-between;padding:30px 5%;border-bottom:1px solid var(--line);gap:25px}.logo{display:inline-block;font-family:Arial,sans-serif;font-size:38px;font-weight:500;letter-spacing:.1em;line-height:1}.logo span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.18em;margin-top:10px}nav{display:flex;gap:35px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--bronze);color:var(--ink);padding:17px 25px;font-size:14px;font-weight:600;border:1px solid var(--bronze)}.button:hover{background:#e3c7a3}.button.small{padding:12px 20px;background:transparent;color:var(--paper)}.button.small:hover{background:var(--bronze);color:var(--ink)}.hero{display:grid;grid-template-columns:1.12fr 1fr;min-height:690px}.hero-copy{padding:70px 6% 30px 9%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:500;color:var(--bronze);margin:0 0 24px}h1,h2{font-weight:400;line-height:1.06;letter-spacing:-.035em;margin:0}h1{font-size:clamp(54px,5.7vw,90px)}em{font-family:'Italiana',Georgia,serif;font-weight:400;letter-spacing:-.02em}h1 em{display:inline-block;margin-top:7px}.intro{color:var(--muted);margin:30px 0;font-size:17px;line-height:1.8}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{display:inline-flex;gap:24px;border:0;border-bottom:1px solid var(--bronze);padding:8px 0;background:transparent;color:inherit;font-size:14px;cursor:pointer}.text-link:hover{color:var(--bronze)}.hero-foot{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);letter-spacing:.04em;margin-top:80px}.hero-foot i{font-family:Georgia,serif;letter-spacing:0}.portrait{margin:0;position:relative;overflow:hidden;background:#242620}.portrait img{display:block;width:100%;height:100%;max-height:790px;object-fit:cover;object-position:center 30%}.portrait figcaption{position:absolute;bottom:28px;left:30px;font-size:11px;letter-spacing:.15em;text-shadow:0 1px 8px black}.section{padding:100px 7%}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:55px}h2{font-size:clamp(40px,4vw,62px)}.section-head>p{max-width:365px;color:var(--muted);margin:0}.note{display:block;font-size:13px;line-height:1.6;color:var(--muted);margin-top:16px}.service-list article{display:grid;grid-template-columns:60px 1fr 170px;gap:25px;align-items:center;border-top:1px solid var(--line);padding:28px 0}.service-list article:last-child{border-bottom:1px solid var(--line)}.index{color:var(--bronze);font-family:Georgia,serif;font-size:20px}h3{font-weight:400;font-size:26px;line-height:1.25;margin:0 0 12px}.service-list p{color:var(--muted);max-width:640px;margin:0}.service-label{font-size:11px;letter-spacing:.13em;text-align:right;color:var(--bronze)}.service-label strong{display:block;font-size:16px;letter-spacing:.08em;color:var(--paper)}.service-label small{display:block;margin-top:7px;font-size:10px;line-height:1.45;letter-spacing:.06em;color:var(--muted)}.packages{background:var(--paper);color:var(--ink)}.packages .eyebrow{color:#6f5234}.packages .section-head>p,.packages .note{color:#5b625b}.package-grid{display:grid;grid-template-columns:repeat(3,1fr)}.package{padding:36px 30px;border:1px solid #bcc0b7;display:flex;flex-direction:column}.package+.package{border-left:0}.package h3{font-family:'Italiana',Georgia,serif;font-size:44px;margin-top:8px}.package p{color:#555f55;min-height:54px}.package ul{list-style:none;margin:12px 0 30px;padding:0;font-size:14px}.package li{padding:9px 0;border-bottom:1px solid #c7cbc1}.package li:before{content:'+';margin-right:12px;color:#7b6041}.package button{margin-top:auto;justify-content:space-between}.featured{background:#dce0d6}.booking{background:var(--panel);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.booking-panel{border:1px solid var(--line);padding:32px}.booking-panel label{display:block;font-size:14px;margin:22px 0 10px}select{width:100%;border:1px solid #788373;border-radius:0;background:var(--ink);color:var(--paper);padding:14px 10px;font-size:15px}#booking-status{color:var(--paper);font-size:15px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:100px}.visit address{font-style:normal;margin:30px 0 0}.hours{padding-top:12px}.hours>p{color:var(--muted);max-width:365px}.hours .eyebrow{color:var(--bronze)}.hours-bottom{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin-top:36px;display:flex;justify-content:space-between;gap:20px;font-size:14px}.hours-bottom span{color:var(--muted)}footer{margin:0 5%;padding:40px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}footer p,footer>span{font-size:11px;color:var(--muted);letter-spacing:.08em}@media(min-width:1600px){main,header,footer{max-width:1600px;margin:auto}}@media(max-width:900px){header{flex-wrap:wrap}nav{gap:20px}.hero{min-height:580px}.hero-copy{padding-top:45px}h1{font-size:58px}.hero-foot{margin-top:45px;flex-direction:column}.section{padding:70px 6%}.package{padding:25px 20px}.booking,.visit{gap:35px}.service-list article{grid-template-columns:35px 1fr 150px}.section-head{gap:30px}}@media(max-width:640px){.concept{font-size:11px;display:block}.concept span{display:block;font-size:11px;margin-top:2px}header{padding:24px 6%;gap:24px}.logo{font-size:32px}nav{order:3;width:100%;justify-content:space-between}.button.small{font-size:12px;padding:10px 13px;gap:18px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 30px}h1{font-size:clamp(46px,10vw,64px)}.hero-foot{flex-direction:row;margin-top:40px;font-size:10px}.portrait{height:440px}.portrait img{object-position:center 25%}.intro{font-size:16px}.section-head{display:block;margin-bottom:35px}.section-head>p{margin-top:25px}.section{padding:60px 6%}h2{font-size:43px}.service-list article{grid-template-columns:30px 1fr;gap:12px}.service-label{grid-column:2;text-align:left;margin-top:4px}.service-list h3{font-size:23px}.service-list p{font-size:15px}.package-grid,.booking,.visit{grid-template-columns:1fr}.package+.package{border-left:1px solid #bcc0b7;border-top:0}.package p{min-height:0}.package{padding:30px}.booking-panel{padding:24px}.hours{padding-top:20px}footer{flex-wrap:wrap}.actions{gap:18px}footer>span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

header{position:sticky;top:0;z-index:20;background:var(--ink)}nav a[aria-current=page]{color:var(--bronze)}main{min-height:65vh}
.package-meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 24px!important;padding-top:18px;border-top:1px solid #a9afa4;color:var(--ink)!important;min-height:0!important}.package-meta strong{font-family:'Italiana',Georgia,serif;font-size:30px;font-weight:400}.package-meta span{font-size:13px;letter-spacing:.08em;text-transform:uppercase}.brand-signature{display:flex;justify-content:center;padding:28px 5% 56px;background:var(--ink)}.brand-signature img{display:block;width:min(440px,88vw);height:auto}.logo{font-size:clamp(22px,2.3vw,38px)}
.package ul{flex:1}.package-meta strong{font-family:'DM Sans',Arial,sans-serif;font-size:30px;font-weight:800}.header-logo{display:block;width:clamp(180px,19vw,280px);height:82px;overflow:hidden;flex:0 0 auto}.header-logo img{display:block;width:100%;height:100%;object-fit:contain}.brand-signature{display:none}@media(max-width:640px){.header-logo{width:170px;height:68px}header{padding-top:14px;padding-bottom:14px}}
@media(min-width:901px){.hero{min-height:560px}.hero-copy{padding-top:48px;padding-bottom:24px}.hero-foot{margin-top:42px}.portrait img{max-height:610px}}
