@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/manrope-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/manrope-latin-800-normal.woff2) format('woff2')}
:root{--bg:#F6F1EC;--bg2:#EDE4DB;--ink:#2A1424;--pine:#1D2B26;--sage:#3E5B4F;--blush:#E8CFC4;--rose:#B0365F;--line:#D9CCBF;--hd:'Cormorant Garamond',Georgia,serif;--bd:'Manrope',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}.rm{scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--bd);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}.sr{position:absolute;left:-9999px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:.5rem;z-index:99}
.wrap{max-width:1240px;margin:0 auto;padding:0 1.5rem}.narrow{max-width:760px}
.demo-strip{background:#0f1714;color:#efe3da;font-size:.8rem;text-align:center;padding:.4rem 1rem}.demo-strip strong{background:var(--blush);color:#111;padding:.05rem .45rem;border-radius:3px;margin-right:.4rem;text-transform:uppercase;letter-spacing:.06em}.demo-strip a{color:var(--blush)}
h1,h2,h3{font-family:var(--hd);font-weight:600;line-height:1;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(3rem,7.6vw,6.2rem)}h2{font-size:clamp(2.1rem,4.4vw,3.4rem)}h3,.h3{font-size:1.65rem}
.kick{font:800 .72rem/1 var(--bd);letter-spacing:.18em;text-transform:uppercase;color:var(--blush);margin:0 0 1rem}.kick.dk{color:var(--sage)}
.btn{display:inline-block;background:var(--pine);color:#fff;text-decoration:none;font:700 .92rem var(--bd);padding:.9rem 1.5rem;border-radius:4px;border:2px solid var(--pine);cursor:pointer;transition:background .2s,transform .2s}.btn:hover{background:var(--sage);border-color:var(--sage);transform:translateY(-1px)}.btn.sm{padding:.55rem 1.1rem;font-size:.84rem}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--rose);outline-offset:2px}
.top{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1rem;padding-top:.7rem;padding-bottom:.7rem}.logo{text-decoration:none;display:flex;align-items:baseline;gap:.3rem;margin-right:auto;flex-wrap:wrap}.logo b{font:600 1.9rem/1 var(--hd)}.logo i{font:500 italic 1.5rem/1 var(--hd);color:var(--sage)}.logo small{font:800 .58rem var(--bd);letter-spacing:.22em;text-transform:uppercase;color:#5b5057;margin-left:.4rem}
.tel{font-weight:700;text-decoration:none}.mbtn{display:flex;align-items:center;gap:.6rem;background:none;border:2px solid var(--ink);border-radius:4px;height:44px;padding:0 .9rem;cursor:pointer;font:700 .85rem var(--bd);position:relative}.mbtn i{display:none}
.ov{position:fixed;inset:0;background:var(--pine);color:#f4e9e1;z-index:45;display:flex;flex-direction:column;justify-content:center;padding:6rem 1.5rem 2rem;clip-path:circle(0 at calc(100% - 3rem) 2rem);visibility:hidden;transition:clip-path .55s cubic-bezier(.7,0,.2,1),visibility 0s .55s}.ov.open{clip-path:circle(150% at calc(100% - 3rem) 2rem);visibility:visible;transition:clip-path .55s cubic-bezier(.7,0,.2,1)}
.ov ul{list-style:none;margin:0 auto;padding:0;width:min(1100px,100%)}.ov li{overflow:hidden}.ov li a{display:block;text-decoration:none;font:500 clamp(2.4rem,7vw,5rem)/1.15 var(--hd);transform:translateY(100%);transition:transform .6s calc(.18s + var(--i)*70ms)}.ov.open li a{transform:none}.ov li a:hover,.ov li a[aria-current]{font-style:italic;color:var(--blush)}.ov a:focus-visible{outline-color:var(--blush)}
.ovf{width:min(1100px,100%);margin:2rem auto 0;color:#cdbfb6}.ovf a{color:#fff}body.nav-open{overflow:hidden}body.nav-open .top{z-index:60;background:transparent;border-color:transparent;color:#f4e9e1}body.nav-open .logo i,body.nav-open .logo small{color:var(--blush)}body.nav-open .mbtn{border-color:#f4e9e1;color:#f4e9e1}body.nav-open .tel,body.nav-open .bar .btn{visibility:hidden}
.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,6vw,5rem);background:var(--pine);color:#f4e9e1;overflow:hidden}.hg{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}.hero h1{max-width:8ch}.lede{font:500 italic 1.7rem/1.2 var(--hd);max-width:20ch;margin:0 0 1.6rem;color:#f0dfd6}.pts{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.pts li{padding-left:1.4rem;position:relative}.pts li::before{content:"";position:absolute;left:0;top:.65em;width:.7rem;height:2px;background:var(--blush)}
.hph{margin-top:2rem}.hph img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}
.he{opacity:0;transform:translateY(26px);animation:he .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--i,0)*130ms)}@keyframes he{to{opacity:1;transform:none}}
/* booking widget */
.bk{background:var(--bg);color:var(--ink);border-radius:10px;padding:1.5rem;display:grid;gap:1rem;box-shadow:0 24px 60px rgba(0,0,0,.28)}.bk-h{font-size:2rem;margin:0}.bk-h small{font:800 .62rem var(--bd);letter-spacing:.14em;text-transform:uppercase;background:var(--blush);padding:.2rem .5rem;border-radius:3px;vertical-align:middle;margin-left:.4rem}
.bk fieldset{border:0;padding:0;margin:0}.bk legend{font-weight:800;font-size:.84rem;margin-bottom:.5rem;padding:0}.bk legend b{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--pine);color:#fff;font-size:.72rem;margin-right:.4rem}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{border:1.5px solid #bfae9e;border-radius:999px;padding:0;background:#fff;color:var(--ink);cursor:pointer;font:inherit}.chip span{display:block;padding:.4rem .85rem;font-size:.86rem;font-weight:600}.chip span em{font-style:normal;color:var(--rose);font-weight:800;margin-left:.2rem}.chip[aria-pressed=true]{background:var(--pine);border-color:var(--pine);color:#fff}.chip[aria-pressed=true] span em{color:var(--blush)}.chip:disabled{opacity:.5;cursor:not-allowed}.chip:disabled span{text-decoration:line-through}
.hint,.nojs{margin:0;font-size:.86rem;color:#5b5057}.js .nojs{display:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.bk label,.form label{display:grid;gap:.25rem;font-weight:700;font-size:.86rem}.bk input[type=text],.bk input[type=tel],.form input,.form textarea,.form select,.bk input:not([type=radio]){font:400 1rem var(--bd);padding:.65rem .75rem;border:1.5px solid #bfae9e;border-radius:6px;background:#fff;width:100%}
.sum{margin:0;font-weight:700;background:var(--bg2);border-radius:6px;padding:.6rem .8rem;font-size:.9rem}.form-ok{background:#E3EFE4;padding:.7rem;border-radius:6px;margin:0}
.sec{padding:clamp(3.5rem,8vw,7rem) 0}.sec.band{background:var(--bg2)}.ph0{padding-top:clamp(2.5rem,5vw,4rem)}
.sh{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.sh h2{margin:0;max-width:16ch}.link{font-weight:800;text-decoration:none;border-bottom:2px solid var(--rose)}
/* photo reel */
.reel{padding:clamp(3rem,6vw,5rem) 0;background:var(--bg)}.reel-h{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.5rem;gap:1rem}.reel-h h2{margin:0}.reel-btns{display:flex;gap:.5rem}.rb{width:48px;height:48px;border-radius:50%;border:2px solid var(--ink);background:none;font-size:1.2rem;cursor:pointer}.rb:hover{background:var(--ink);color:#fff}
.rail{list-style:none;margin:0;padding:0 max(1.5rem,calc((100vw - 1240px)/2 + 1.5rem));display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:max(1.5rem,calc((100vw - 1240px)/2 + 1.5rem));scrollbar-width:thin}.rail li{flex:0 0 min(420px,78vw);scroll-snap-align:start;aspect-ratio:3/4;border-radius:6px;overflow:hidden}.rail li:nth-child(even){margin-top:2.5rem;aspect-ratio:3/3.5}.rail img{width:100%;height:100%;object-fit:cover}
.cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.cats a{display:block;text-decoration:none;position:relative;border-radius:6px;overflow:hidden;aspect-ratio:3/4;color:#fff}.cats img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.cats a:hover img{transform:scale(1.06)}.cats span{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1rem 1rem;background:linear-gradient(transparent,rgba(15,23,20,.88));display:flex;justify-content:space-between;align-items:baseline}.cats b{font:600 1.8rem var(--hd)}.cats em{font-style:normal;font-weight:700;font-size:.85rem}
.stg{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.stg li{background:#fff;border-radius:8px;padding:1.4rem;display:grid;gap:.2rem;align-content:start}.stg h3,.stg .h3{margin:.4rem 0 0}.stg p{margin:0;color:#4d444b}.stg a{font-weight:800;margin-top:.6rem}.role{font-weight:700;color:var(--sage)!important}
.av{width:72px;height:72px;border-radius:50%;background:var(--blush);display:grid;place-items:center;font:600 1.6rem var(--hd);color:var(--pine)}.big2{grid-template-columns:repeat(2,1fr)}.big2 li{grid-template-columns:auto 1fr;column-gap:1.2rem;align-items:start}.big2 .av{grid-row:1/5;width:96px;height:96px;font-size:2.1rem}.big2 .btn{justify-self:start;margin-top:.8rem;color:#fff}
.two-c{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}.two-c img{border-radius:8px;width:100%}
.hrs{border-collapse:collapse;width:100%;max-width:420px;margin:1.2rem 0 1.5rem}.hrs th,.hrs td{text-align:left;padding:.6rem 0;border-bottom:1px solid var(--line)}.hrs td{text-align:right}
.big{font:600 2.2rem var(--hd);margin:.4rem 0}.big a{text-decoration:none}.lede2{font:500 italic 1.5rem var(--hd);max-width:28ch;margin:0 0 1.6rem}
/* services */
.tabs{display:flex;gap:.4rem;border-bottom:2px solid var(--line);margin-bottom:1.5rem;flex-wrap:wrap}.tabs [role=tab]{background:none;border:0;padding:.8rem 1.2rem;font:700 1rem var(--bd);cursor:pointer;border-bottom:4px solid transparent;margin-bottom:-2px}.tabs [aria-selected=true]{border-color:var(--rose)}
.svgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:2rem;align-items:start}.svl{list-style:none;margin:0;padding:0}.sv{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line);align-items:center}.sv h3{font-size:1.6rem;margin:0}.sv p{margin:.1rem 0;color:#4d444b}.meta{font-size:.8rem;font-weight:700;color:var(--sage)}.sv-p{display:flex;align-items:center;gap:1rem}.sv-p b{font:600 1.7rem var(--hd)}
.add{border:2px solid var(--pine);background:#fff;border-radius:4px;padding:.5rem 1rem;font:800 .85rem var(--bd);cursor:pointer;min-width:84px}.add[aria-pressed=true]{background:var(--pine);color:#fff}.add[aria-pressed=true] span:first-child::before{content:"✓ "}
.tray{position:sticky;top:90px;background:#fff;border-radius:10px;padding:1.4rem;border:1px solid var(--line)}.tl{list-style:none;margin:.5rem 0;padding:0;display:grid;gap:.4rem}.tl li{display:flex;justify-content:space-between;gap:.5rem;border-bottom:1px dashed var(--line);padding-bottom:.3rem}.anc{position:relative;top:-90px;display:block;height:0}.tl .empty{color:#5b5057;border:0}.tot{display:flex;justify-content:space-between;font-size:1.05rem;margin:.8rem 0}.tot b{font:600 1.7rem var(--hd)}.fine2{font-size:.8rem;color:#5b5057;margin:.6rem 0 0}
.bgrid{display:grid;grid-template-columns:.8fr 1.1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}.bgrid .bk{box-shadow:0 10px 40px rgba(29,43,38,.12);border:1px solid var(--line)}
.pband{padding-bottom:4rem}.pband img{border-radius:8px;width:100%;max-height:480px;object-fit:cover}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.chipb{border:2px solid var(--ink);background:none;border-radius:999px;padding:.45rem 1.1rem;font:700 .9rem var(--bd);cursor:pointer}.chipb[aria-pressed=true]{background:var(--ink);color:#fff}
.gal{list-style:none;margin:0;padding:0;columns:3;column-gap:1rem}.gal li{break-inside:avoid;margin-bottom:1rem;border-radius:6px;overflow:hidden}.gal li[hidden]{display:none}.gal img{width:100%;height:auto}
.map{margin:0 0 1.5rem}.map svg{width:100%;height:auto;border-radius:10px;display:block}.map figcaption{font-size:.8rem;color:#5b5057;margin-top:.4rem}.form{display:grid;gap:.9rem}
.credit-list{padding-left:1.1rem}.credit-list li{margin:.35rem 0}
.foot{background:#111b17;color:#d8cbc2;padding:3rem 0 5rem}.foot a{color:#fff;display:block;margin:.2rem 0}.foot p a{display:inline}.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.foot b{display:block;margin-bottom:.4rem;color:#fff}.fine{font-size:.8rem;opacity:.85;margin-top:2rem}
.callbar{display:none}.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--d,0ms),transform .8s var(--d,0ms)}.rv.in,.rm .rv{opacity:1;transform:none}.rm .he{animation:none;opacity:1;transform:none}.rm .ov,.rm .ov li a{transition:none}
@media(max-width:1000px){.hg,.two-c,.svgrid,.bgrid{grid-template-columns:1fr}.cats,.stg{grid-template-columns:repeat(2,1fr)}.gal{columns:2}.fg{grid-template-columns:1fr}.tray{position:static}}
@media(max-width:760px){.demo-strip{font-size:.72rem}.tel,.bar .btn{display:none}.mbtn{margin-left:auto}.big2{grid-template-columns:1fr}.two{grid-template-columns:1fr}.sv{flex-direction:column;align-items:flex-start}.sv-p{width:100%;justify-content:space-between}.logo small{display:none}.gal{columns:1}.rail li:nth-child(even){margin-top:0}
.callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--pine);padding:.55rem;gap:.5rem}.callbar a{background:var(--blush);color:var(--pine);text-align:center;font-weight:800;text-decoration:none;padding:.8rem;border-radius:4px}.callbar a.alt{background:transparent;border:2px solid var(--blush);color:#fff}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
