:root{--red: #b91c1c;--ember: #991b1b;--deep: #7f1d1d;--ink: #1c1917;--drift: #57534e;--line: #e7e5e4;--birch: #f5f5f4;--paper: #fff;--blush: #fef2f2;--pine: #15803d;--lake: #1d4ed8;--serif: "Source Serif 4", Georgia, serif;--sans: Inter, system-ui, sans-serif;--r: 12px;--shadow: 0 6px 24px rgb(28 25 23 / .1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);line-height:1.15;margin:0;letter-spacing:-.01em;text-wrap:balance}h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:600}h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600}h3{font-size:1.2rem;font-weight:600}p{margin:0}.container{width:min(1180px,100% - 40px);margin-inline:auto}.eyebrow{font:500 .72rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin-bottom:10px}.muted{color:var(--drift)}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:99}:focus-visible{outline:3px solid var(--lake);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 .95rem var(--sans);padding:13px 22px;border-radius:10px;border:0;background:var(--red);color:#fff;cursor:pointer;text-decoration:none;transition:background .15s}.btn:hover{background:var(--ember)}.btn:disabled{background:var(--line);color:var(--drift);cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn.ghost:hover{background:var(--birch)}.btn.block{width:100%}.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}.header-inner{width:min(1180px,100% - 40px);margin-inline:auto;height:72px;display:flex;align-items:center;gap:24px}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.wordmark strong{font:700 1.05rem var(--serif);letter-spacing:.16em;display:block}.wordmark small{font:500 .55rem var(--sans);letter-spacing:.22em;color:var(--drift);display:block}.wordmark.light{color:#fff}.wordmark.light small{color:#fecaca}.site-header nav{margin-left:auto;display:flex;gap:26px;font-size:.92rem}.site-header nav a{text-decoration:none;color:var(--drift)}.site-header nav a:hover{color:var(--ink)}@media(max-width:760px){.site-header nav a:not(.cta){display:none}.site-header nav{gap:0}}.site-header .cta{background:var(--red);color:#fff;padding:9px 16px;border-radius:999px;font-weight:600}.hero{position:relative;min-height:min(78vh,720px);display:grid;align-items:end;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1c19171a 30%,#1c1917b8)}.hero-copy{position:relative;z-index:1;padding:0 0 56px}.hero-copy .eyebrow{color:#fecaca}.hero-copy p{max-width:52ch;margin-top:14px;font-size:1.1rem;color:#f5f5f4}.search-bar{position:relative;z-index:2;margin-top:-44px}.search-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:14px;display:grid;grid-template-columns:1.1fr 1.6fr .8fr auto;gap:10px;align-items:stretch;color:var(--ink)}@media(max-width:900px){.search-card{grid-template-columns:1fr 1fr}.search-card .btn{grid-column:1 / -1}}.field{display:grid;gap:2px;padding:8px 14px;border-radius:12px;border:1px solid transparent;text-align:left;background:#fff;font:inherit;cursor:pointer}.field:hover{background:var(--birch)}.field small{font:600 .66rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--drift)}.field select,.field input{font:500 1rem var(--sans);border:0;background:transparent;padding:0;color:var(--ink);width:100%}.field strong{font-weight:500}section.band{padding:84px 0}.band.birch{background:var(--birch)}.band.dark{background:var(--deep);color:#fff}.section-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}@media(max-width:900px){.stay-grid{grid-template-columns:1fr}}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card img{aspect-ratio:4 / 3;object-fit:cover;width:100%}.card-body{padding:20px;display:grid;gap:8px}.facts{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--drift);font-size:.9rem}.facts b{font:700 1.05rem var(--serif);color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-size:.82rem;background:var(--birch);border:1px solid var(--line);border-radius:999px;padding:4px 12px}.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center;margin-top:28px}@media(max-width:700px){.fact-strip{grid-template-columns:repeat(2,1fr)}}.fact-strip b{font:600 2.2rem var(--serif);display:block}.fact-strip span{font:500 .7rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--drift)}.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}@media(max-width:900px){.two{grid-template-columns:1fr;gap:28px}}.two img{border-radius:var(--r);width:100%;aspect-ratio:3 / 2;object-fit:cover}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}@media(max-width:900px){.rules{grid-template-columns:1fr}}.rule{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}.rule h3{font-size:1rem;margin-bottom:4px}.quote{font:italic 1.5rem/1.4 var(--serif);text-align:center;max-width:30ch;margin:0 auto}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}@media(max-width:900px){.reviews{grid-template-columns:1fr}}.review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}.review p{font:italic 1.05rem/1.5 var(--serif)}.review small{display:block;margin-top:12px;color:var(--drift)}.crumbs{padding:18px 0 10px;font-size:.9rem;color:var(--drift)}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;border-radius:16px;overflow:hidden;height:min(52vh,460px)}.gallery button{padding:0;border:0;cursor:zoom-in;background:var(--birch)}.gallery button:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:filter .2s}.gallery button:hover img{filter:brightness(.92)}@media(max-width:760px){.gallery{grid-template-columns:1fr 1fr;grid-template-rows:1.6fr 1fr;height:360px}.gallery button:first-child{grid-row:auto;grid-column:1 / -1}.gallery button:nth-child(n+4){display:none}}.stay-layout{display:grid;grid-template-columns:1fr 380px;gap:56px;padding:32px 0 80px;align-items:start}@media(max-width:980px){.stay-layout{grid-template-columns:1fr}}.stay-main>section{padding:28px 0;border-bottom:1px solid var(--line)}.stay-main>section:last-child{border:0}.amen{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;margin-top:14px;padding:0;list-style:none}@media(max-width:600px){.amen{grid-template-columns:1fr}}.amen li{display:flex;gap:10px;align-items:baseline}.amen svg{color:var(--pine);flex:none;transform:translateY(3px)}.notice{background:var(--blush);border:1px solid #fecaca;color:var(--ember);border-radius:var(--r);padding:14px 16px;font-size:.95rem}.book{position:sticky;top:92px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px;display:grid;gap:14px}.book-price{font:600 1.5rem var(--serif)}.book-price small{font:400 .9rem var(--sans);color:var(--drift)}.grid2{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--drift);border-radius:12px;overflow:hidden}.grid2 .field{border-radius:0}.grid2 .field+.field{border-left:1px solid var(--drift)}.grid2 .full{grid-column:1 / -1;border-top:1px solid var(--drift)}.lines{display:grid;gap:6px;font-size:.95rem}.lines div{display:flex;justify-content:space-between;gap:12px}.lines .total{border-top:1px solid var(--line);padding-top:8px;font-weight:700}.fine{font-size:.82rem;color:var(--drift)}.err{color:var(--ember);font-size:.9rem}.check{display:flex;gap:8px;align-items:flex-start;font-size:.88rem}.check input{margin-top:4px;accent-color:var(--red)}.input{font:inherit;padding:11px 12px;border:1px solid #a8a29e;border-radius:10px;width:100%;background:#fff;color:var(--ink)}.form{display:grid;gap:10px}.mobile-book{display:none;position:fixed;inset:auto 0 0;z-index:25;background:#fff;border-top:1px solid var(--line);padding:12px 20px;gap:12px;align-items:center;justify-content:space-between}@media(max-width:980px){.mobile-book{display:flex}body{padding-bottom:70px}.book{position:static}}dialog.cal{border:0;border-radius:18px;padding:22px;width:min(420px,94vw);box-shadow:0 20px 60px #0000004d}dialog.cal::backdrop{background:#1c191780}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin:14px 0}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:999px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer}.icon-btn:disabled{opacity:.3}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.cal-grid .wd{font-size:.72rem;color:var(--drift);padding:6px 0}.cal-grid button{aspect-ratio:1;border:0;border-radius:999px;background:#fff;font:inherit;cursor:pointer}.cal-grid button:hover:not(:disabled){outline:2px solid var(--ink)}.cal-grid button:disabled{color:#c4bfba;text-decoration:line-through;cursor:not-allowed}.cal-grid .sel{background:var(--ink);color:#fff}.cal-grid .rng{background:var(--birch);border-radius:0}.legend{display:flex;gap:16px;font-size:.82rem;color:var(--drift);margin-top:10px}dialog.lightbox{border:0;padding:0;background:transparent;max-width:96vw}dialog.lightbox::backdrop{background:#000000d9}dialog.lightbox img{max-height:90vh;border-radius:10px}.lightbox .close{position:fixed;top:16px;right:16px}.site-footer{background:var(--deep);color:#fff;padding:64px 0 28px}.site-footer h2{color:#fff}.site-footer a{color:#fecaca}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}@media(max-width:800px){.footer-grid{grid-template-columns:1fr}}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgb(255 255 255 / .2);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.85rem;color:#fecaca}.narrow{width:min(720px,100% - 40px);margin:40px auto 90px;display:grid;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:12px}.status{display:inline-block;font:600 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--birch);width:fit-content}.status.held,.status.deposit_paid,.status.balance_paid{background:#dcfce7;color:#14532d}.status.cancelled{background:#fee2e2;color:#7f1d1d}.status.quoted{background:#fef3c7;color:#78350f}table.sched{width:100%;border-collapse:collapse;font-size:.95rem}.sched td,.sched th{padding:8px 4px;border-bottom:1px solid var(--line);text-align:left}.sched .n{text-align:right;font-variant-numeric:tabular-nums}.admin{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start}.list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.list button{width:100%;text-align:left;font:inherit;padding:12px;background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer;display:grid;gap:4px}.list button.on{border-color:var(--red);background:var(--blush)}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@media(max-width:760px){.site-footer a{display:inline-block;padding:10px 0}.check input{width:22px;height:22px;margin-top:0}.check{align-items:center;min-height:44px}.breadcrumb a,nav[aria-label=Breadcrumb] a{display:inline-block;padding:10px 0}.site-header nav .cta{white-space:nowrap}}.more-photos{margin-top:12px}dialog.lightbox{overflow:visible}.lightbox-cap{color:#fff;font-size:.9rem;text-align:center;margin:10px 0 0;max-width:90vw}.lightbox .nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:1.8rem;line-height:1}.lightbox .prev{left:12px}.lightbox .next{right:12px}@media(max-width:760px){dialog.lightbox img{max-height:70vh;width:96vw;object-fit:contain}.lightbox .nav{top:auto;bottom:18px;transform:none}}.more-photos.btn{background:#fff;color:var(--ink);border:1px solid #a8a29e}.studio{padding:28px 0 90px}.studio-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:1px solid #d6d3d1;background:#fff;border-radius:999px;padding:10px 16px;min-height:44px;font:inherit;cursor:pointer}.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.cal-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.cal-year{font:700 1.4rem var(--serif);min-width:4ch;text-align:center}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;margin:0;padding:0;font-size:.82rem}.legend li{display:flex;align-items:center;gap:6px}.legend .sat{width:14px;height:14px;background:#ece9e6;border-radius:3px}.bar{display:block;height:8px;border-radius:3px;border:0;padding:0}.legend .bar{width:22px}.bar.booked{background:#b91c1c}.bar.quoted{background:#f59e8e}.bar.requested{background:repeating-linear-gradient(90deg,#a8a29e 0 4px,transparent 4px 7px)}.bar.option{background:repeating-linear-gradient(135deg,#f59e0b 0 4px,#fde68a 4px 8px)}.bar.block{background:#57534e}.bar.clash{outline:2px solid #1D4ED8}.months{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:16px}.month h3{font-size:.95rem;margin:0 0 4px}.dow,.days{display:grid;grid-template-columns:repeat(7,1fr)}.dow span{font-size:.68rem;color:#78716c;text-align:center}.day{position:relative;min-height:38px;border:1px solid #f0eeec;padding:2px 3px}.day.sat{background:#ece9e6}.day[role=button]{cursor:pointer}.day[role=button]:hover{background:#fef2f2}.day b{font-size:.68rem;font-weight:500;color:#57534e}.day .bar{position:absolute;left:0;right:0;cursor:pointer;border-radius:0;height:9px;min-width:0}.day .l1{bottom:14px}.day .l2{bottom:3px}.chip{margin-left:8px;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:999px;background:#f5f5f4;color:#44403c;white-space:nowrap}.chip.booked{background:#fee2e2;color:#991b1b}.chip.option{background:#fef3c7;color:#92400e}.chip.cancelled{text-decoration:line-through}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}@media(max-width:760px){.two-up{grid-template-columns:1fr}}ul.plain{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}button.link{background:none;border:0;padding:4px 0;font:inherit;color:var(--lake, #1D4ED8);text-decoration:underline;cursor:pointer;min-height:32px}.row.wrap{flex-wrap:wrap}.stay-form fieldset{border:1px solid #e7e5e4;border-radius:12px;padding:12px 14px 14px;margin:14px 0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.stay-form legend{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#991b1b;padding:0 6px}.stay-form label{display:grid;gap:4px;font-size:.88rem}.stay-form label.check{display:flex;align-items:center;gap:8px;min-height:44px}.stay-form label.check input{width:22px;height:22px}.covers{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.covers label{position:relative;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer}.covers label.on{border-color:#b91c1c}.covers input{position:absolute;opacity:0}.covers img{width:100%;height:80px;object-fit:cover;display:block}@media(max-width:900px){.admin{grid-template-columns:1fr}}
