:root{--ink:#211f1b;--paper:#f4f1eb;--paper2:#ebe6dc;--green:#596553;--line:#d6d0c4;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}.topline{height:31px;background:var(--ink);color:#d9d2c7;display:flex;justify-content:space-between;align-items:center;padding:0 6.5%;font-size:9px;letter-spacing:.18em}.nav-wrap{height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 6.5%;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.mark,.footer-mark{font:600 30px var(--serif);letter-spacing:-.1em}.mark span,.footer-mark span{color:#a17b55}.wordmark-name{font-size:8px;line-height:1.3;font-weight:700;letter-spacing:.2em}.nav-links{display:flex;align-items:center;gap:36px}.nav-links a{color:var(--ink);text-decoration:none;font-size:11px}.nav-links .nav-cta{padding:12px 17px;border:1px solid var(--ink)}.nav-cta span{padding-left:16px}.menu-toggle{display:none;background:none;border:0;font-size:23px}.hero{position:relative;max-width:1600px;margin:auto;padding:65px 10% 74px;display:grid;grid-template-columns:.85fr 1fr;gap:8%;align-items:center}.eyebrow{display:flex;align-items:center;gap:11px;font-size:9px;font-weight:600;letter-spacing:.19em}.eyebrow-line{width:27px;height:1px;background:var(--green)}h1,h2,.intro-quote,.closing p{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(48px,6.2vw,88px);line-height:1.02;margin:25px 0 22px}h1 em,h2 em,.intro-quote em,.closing em{color:var(--green);font-weight:500}.hero-intro{max-width:360px;color:#69645c;line-height:1.9;font-size:13px}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 18px;border:0;text-decoration:none;font:500 11px var(--sans);cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#f8f5ee}.button span{font-size:15px}.text-link{font-size:10px;color:var(--ink);text-decoration:none}.text-link span{margin-left:7px}.hero-note{display:flex;align-items:center;gap:9px;margin-top:53px;color:#777167;font-size:9px;letter-spacing:.08em}.note-dot{width:6px;height:6px;background:var(--green);border-radius:50%}.hero-image{height:min(610px,64vw);min-height:430px;position:relative;background:#d5cec1;overflow:visible}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(.78)}.image-caption{position:absolute;bottom:-29px;left:0;right:0;display:flex;justify-content:space-between;color:#69645c;font-size:8px;letter-spacing:.16em}.hero-stamp{position:absolute;right:-23px;bottom:53px;width:76px;height:76px;border:1px solid rgba(244,241,235,.8);color:#f8f5ee;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-12deg)}.hero-stamp span{font:italic 25px var(--serif)}.hero-stamp small{font-size:6px;letter-spacing:.15em;text-align:center}.hero-bottom{position:absolute;left:10%;right:10%;bottom:24px;display:flex;gap:14px;align-items:center;color:#777167;font-size:8px;letter-spacing:.16em}.bottom-rule{height:1px;background:var(--line);width:70px}.intro-strip{background:var(--paper2);padding:72px 16% 62px;display:grid;grid-template-columns:1fr 1.4fr;column-gap:10%;align-items:start}.intro-strip>.eyebrow{margin-top:10px}.intro-quote{font-size:clamp(28px,3vw,42px);line-height:1.35;margin:0;max-width:520px}.intro-detail{grid-column:2;display:flex;align-items:center;gap:18px;margin-top:28px;max-width:470px}.detail-mark{font:italic 18px var(--serif);color:var(--green);white-space:nowrap}.intro-detail p{color:#69645c;line-height:1.8;font-size:11px;margin:0}.arrow-link{margin-left:auto;color:var(--ink);font-size:19px;text-decoration:none}.work-section,.services-section{padding:105px 10%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px}.section-heading h2,.booking-copy h2{font-size:clamp(42px,5.2vw,68px);line-height:1.04;margin:19px 0 0}.heading-side{font-size:11px;line-height:1.8;color:#777167;margin:0 0 8px}.filter-row{display:flex;gap:26px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:30px}.filter{font:10px var(--sans);color:#777167;border:0;background:none;padding:0;cursor:pointer}.filter.active{color:var(--ink)}.filter span{font-size:8px;color:#a17b55;margin-left:5px}.sample-note{margin-left:auto;font-size:8px;color:#947455;letter-spacing:.13em}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 22px;align-items:start}.gallery-item{min-width:0}.gallery-item:nth-child(even){margin-top:52px}.gallery-photo{position:relative;overflow:hidden;background:#ded8cf;height:clamp(260px,34vw,450px)}.gallery-item.short .gallery-photo{height:clamp(220px,27vw,350px)}.gallery-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .6s cubic-bezier(.2,.65,.3,1)}.gallery-item:hover img{transform:scale(1.04)}.photo-index{position:absolute;top:12px;left:13px;color:white;font-size:8px;letter-spacing:.1em}.gallery-meta{display:flex;justify-content:space-between;align-items:start;padding-top:12px}.gallery-meta h3{font:500 18px var(--serif);margin:0 0 6px}.gallery-meta p{color:#888176;font-size:8px;letter-spacing:.14em;margin:0}.gallery-meta>span{color:var(--green)}.gallery-disclaimer{font-size:9px;color:#837d72;line-height:1.6;margin-top:34px}.services-section{padding-top:74px;padding-bottom:105px}.rates-heading{margin-bottom:40px}.rate-list{border-top:1px solid var(--line)}.rate-row{display:grid;grid-template-columns:38px 1.05fr 1.1fr .65fr;gap:22px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.rate-num{font-size:9px;color:#9b8b76}.rate-title h3{font:500 21px var(--serif);margin:0 0 5px}.rate-title p{font-size:9px;color:#888176;margin:0}.rate-description{font-size:10px;line-height:1.7;color:#777167;max-width:245px}.rate-price{display:flex;flex-direction:column;gap:9px;align-items:flex-start}.rate-price span{font-size:8px;letter-spacing:.12em;color:#947455}.rate-price a{font-size:10px;color:var(--ink);text-decoration:none}.rates-footnote{font-size:9px;line-height:1.6;color:#837d72;margin:19px 0 0 60px}.booking-section{background:var(--green);color:#f5f2eb;padding:90px 13%;display:grid;grid-template-columns:.9fr 1.1fr;gap:11%}.booking-section .eyebrow{color:#ded8cc}.booking-section .eyebrow-line{background:#d1b393}.booking-copy h2{font-size:clamp(43px,5vw,65px)}.booking-copy h2 em{color:#ddc9ad}.booking-copy>p:not(.eyebrow){max-width:350px;color:#e0ddd4;font-size:11px;line-height:1.9;margin-top:22px}.booking-aside{display:flex;gap:12px;align-items:center;margin-top:58px;font-size:7px;letter-spacing:.15em;color:#d0ccbf}.booking-aside>span:first-child{font:italic 19px var(--serif)}.aside-rule{height:1px;width:36px;background:#aaa991}.booking-form{display:flex;flex-direction:column;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form label{display:flex;flex-direction:column;gap:8px;font-size:9px;letter-spacing:.05em;color:#f4f1eb}.booking-form input,.booking-form select,.booking-form textarea{border:0;border-bottom:1px solid #9ca293;background:transparent;padding:10px 0;color:white;font:11px var(--sans);border-radius:0;outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#e5c8a5}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#c1c4b8}.booking-form select{color:#f3f0e9}.booking-form option{color:#211f1b}.booking-form textarea{resize:vertical}.booking-form input[type=date]{color-scheme:dark}.button-light{align-self:flex-start;background:#f4f1eb;color:var(--ink);margin-top:2px}.form-small{font-size:8px;color:#d0ccbf;margin:0}.honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}.form-status{font-size:11px;line-height:1.6}.form-status:empty{display:none}.form-status.error{color:#ffe1cf}.form-status.success{color:#e1dfbe}.closing{background:#e9e3d8;text-align:center;padding:67px 15px 72px}.closing>span{font-size:8px;letter-spacing:.2em;color:#777167}.closing p{font-size:clamp(32px,4.5vw,56px);margin:12px 0 19px}.closing>a{font-size:10px;color:var(--ink);text-decoration:none;border-bottom:1px solid #a79e8e;padding-bottom:5px}.footer{min-height:75px;padding:18px 6.5%;display:flex;align-items:center;justify-content:space-between;color:#777167;font-size:8px;letter-spacing:.12em}.footer-mark{color:var(--ink);font-size:25px;text-decoration:none}.footer>a:last-child{color:var(--ink);text-decoration:none}.gallery-item[hidden]{display:none}
@media(max-width:800px){.nav-wrap{height:72px}.nav-links{gap:17px}.nav-links a{font-size:10px}.hero{padding:50px 7% 72px;gap:5%;grid-template-columns:.9fr 1fr}.hero-image{min-height:390px}.hero-actions{gap:13px}.hero-note{margin-top:36px}.intro-strip{padding:60px 10%}.work-section,.services-section{padding:75px 7%}.booking-section{padding:70px 8%;gap:7%}.rate-row{grid-template-columns:25px 1fr 1fr .6fr;gap:13px}.rate-title h3{font-size:18px}.rate-description{font-size:9px}}
@media(max-width:600px){.topline{padding:0 5%;font-size:7px}.nav-wrap{padding:0 5%;position:relative}.menu-toggle{display:block;color:var(--ink)}.nav-links{display:none;position:absolute;z-index:5;top:71px;left:0;right:0;padding:18px 5% 22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px}.nav-links.open{display:flex}.nav-links .nav-cta{text-align:center}.hero{display:flex;flex-direction:column;align-items:stretch;padding:40px 7% 64px;gap:34px}.hero-copy{padding-right:3%}h1{font-size:61px;margin:21px 0 17px}.hero-intro{max-width:420px}.hero-image{height:110vw;min-height:360px;max-height:560px;margin-right:12px}.hero-stamp{right:-22px}.hero-bottom{left:7%;right:7%;bottom:20px}.hero-note{margin-top:28px}.intro-strip{display:block;padding:48px 8%}.intro-quote{font-size:34px;margin:23px 0 0}.intro-detail{margin-top:22px}.section-heading{display:block;margin-bottom:29px}.section-heading h2,.booking-copy h2{font-size:48px}.heading-side{margin-top:15px}.filter-row{gap:15px;flex-wrap:wrap}.filter{font-size:9px}.sample-note{width:100%;margin:2px 0 0}.gallery{grid-template-columns:1fr 1fr;gap:27px 13px}.gallery-item:nth-child(even){margin-top:34px}.gallery-photo{height:63vw;max-height:400px}.gallery-item.short .gallery-photo{height:49vw;max-height:320px}.gallery-meta h3{font-size:16px}.gallery-meta p{font-size:7px}.gallery-disclaimer{margin-top:26px}.services-section{padding-top:60px;padding-bottom:70px}.rate-row{grid-template-columns:23px 1fr auto;gap:11px;padding:20px 0}.rate-description{grid-column:2;grid-row:2;margin:0}.rate-price{grid-column:3;grid-row:1/3;align-self:center}.rate-price span{font-size:7px}.rate-title h3{font-size:17px}.rate-title p{font-size:8px}.rates-footnote{margin-left:34px}.booking-section{display:block;padding:60px 8%}.booking-copy>p:not(.eyebrow){margin-bottom:0}.booking-aside{margin:28px 0 38px}.form-row{grid-template-columns:1fr;gap:16px}.booking-form{gap:16px}.footer{padding:19px 5%;gap:12px;flex-wrap:wrap}.footer>span{font-size:7px}.footer>span:nth-child(3){display:none}}
