:root{color-scheme:light dark;--paper:#fbf9f5;--paper-2:#f4efe6;--paper-3:#e9e1d3;--surface:#ffffff;--surface-2:#fdfbf7;--ink:#1a1f24;--ink-2:#454e56;--ink-3:#79838c;--rule:#ded5c6;--accent:#1d5c73;--accent-2:#14455699;--accent-solid:#144556;--clay:#b5643c;--olive:#6b7355;--sea:#2f6b5c;--sand:#cba14a;--warn:#a3541b;--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:ui-sans-serif,-apple-system,"Segoe UI",Inter,Helvetica,Arial,sans-serif;--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;--measure:34rem;--page:76rem;--shadow:0 6px 22px rgba(26,31,36,0.14)}@media (prefers-color-scheme:dark){:root{--paper:#14171a;--paper-2:#1b1f23;--paper-3:#232a2f;--surface:#1c2126;--surface-2:#20262b;--ink:#eae4d8;--ink-2:#b7bdc3;--ink-3:#8a939b;--rule:#333b42;--accent:#6fb2c9;--accent-2:#8ecbdf99;--accent-solid:#8ecbdf;--clay:#d68a5f;--olive:#93a07c;--sea:#6fbfa3;--sand:#dcbb72;--warn:#d9924e;--shadow:0 6px 24px rgba(0,0,0,0.5)}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:.85rem;padding:.7rem 1.1rem;text-decoration:none}.skip:focus{left:.5rem;top:.5rem}.page{max-width:var(--page);margin:0 auto;padding:0 1.75rem}.narrow{max-width:46rem}.prose{max-width:var(--measure)}.prose p{margin:0 0 1.15em}.prose--wide{max-width:42rem}.section{padding:5rem 0}.section--tight{padding:3.25rem 0}.section+.section{border-top:1px solid var(--rule)}.section--tint{background:var(--paper-2)}h1,h2,h3,h4{font-weight:400;line-height:1.15;letter-spacing:-.015em;margin:0}h1{font-size:clamp(2.4rem,5.5vw,4rem)}h2{font-size:clamp(1.7rem,3vw,2.35rem)}h3{font-size:1.25rem}.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 1.1rem}.eyebrow a{text-decoration:none;color:inherit}.eyebrow a:hover{color:var(--accent)}.lede{font-size:1.25rem;line-height:1.55;color:var(--ink-2)}.meta{font-family:var(--sans);font-size:.82rem;color:var(--ink-3);letter-spacing:.01em}.masthead{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--rule)}.masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4.25rem}.masthead__actions{display:flex;align-items:center;gap:.75rem}.wordmark{font-size:1.2rem;letter-spacing:.06em;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:.42rem}.wordmark__sep{width:6px;height:6px;border-radius:50%;background:var(--clay);display:inline-block;flex:none}.nav{display:flex;gap:1.5rem;font-family:var(--sans);font-size:.86rem}.nav a{text-decoration:none;color:var(--ink-2);padding:.25rem 0;border-bottom:1px solid transparent}.nav a:hover{color:var(--ink);border-bottom-color:var(--accent)}.navdrawer{display:none;position:relative}.navdrawer>summary{list-style:none;cursor:pointer;width:2.4rem;height:2.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--rule);border-radius:3px;background:transparent}.navdrawer>summary::-webkit-details-marker{display:none}.navdrawer>summary span{display:block;width:16px;height:1.5px;background:var(--ink);transition:transform .18s ease,opacity .18s ease}.navdrawer[open]>summary span:first-child{transform:translateY(6.5px) rotate(45deg)}.navdrawer[open]>summary span:nth-child(2){opacity:0}.navdrawer[open]>summary span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.navdrawer__panel{position:absolute;right:0;top:calc(100% + .65rem);width:min(19rem,calc(100vw - 2.5rem));max-height:min(28rem,calc(100vh - 6rem));overflow-y:auto;background:var(--paper);border:1px solid var(--rule);border-radius:4px;box-shadow:var(--shadow);padding:1.1rem 1.25rem 1.25rem;font-family:var(--sans)}.navdrawer__group+.navdrawer__group{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--rule)}.navdrawer__group h4{font-family:var(--sans);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .6rem;font-weight:500}.navdrawer__group ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:.15rem;gap:.15rem}.navdrawer__group a{display:block;text-decoration:none;color:var(--ink-2);font-size:.92rem;padding:.4rem 0}.navdrawer__group a:hover{color:var(--accent)}.btn{display:inline-block;font-family:var(--sans);font-size:.86rem;letter-spacing:.04em;padding:.72rem 1.35rem;border:1px solid var(--ink);border-radius:2px;text-decoration:none;background:var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn,.btn:hover{color:var(--paper)}.btn:hover{background:var(--accent);border-color:var(--accent)}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn--small{padding:.5rem .95rem;font-size:.79rem}.hero{position:relative;padding:6rem 0 4.5rem;overflow:hidden}.hero__art{position:absolute;inset:0;background:radial-gradient(120% 85% at 84% 4%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 60%),radial-gradient(90% 70% at 6% 98%,color-mix(in srgb,var(--clay) 16%,transparent),transparent 62%),radial-gradient(60% 45% at 50% 40%,color-mix(in srgb,var(--olive) 8%,transparent),transparent 70%),linear-gradient(178deg,var(--paper-2),var(--paper))}.hero__art:after{content:"";position:absolute;inset:0;background-image:radial-gradient(14rem 9rem at 18% 22%,rgba(255,255,255,.35),transparent 70%),radial-gradient(18rem 11rem at 72% 68%,rgba(255,255,255,.28),transparent 72%),radial-gradient(10rem 14rem at 46% 8%,rgba(0,0,0,.025),transparent 70%),repeating-linear-gradient(102deg,rgba(26,31,36,.022) 0 1px,transparent 1px 7px);mix-blend-mode:soft-light}.hero__inner{position:relative}.hero h1{max-width:16ch}.hero .lede{max-width:36ch;margin:1.75rem 0 2.25rem}.hero__actions{display:flex;gap:.85rem;flex-wrap:wrap}.grid{display:grid;grid-gap:1.5rem;gap:1.5rem}.grid--2{grid-template-columns:repeat(auto-fit,minmax(26rem,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.card{border:1px solid var(--rule);border-radius:3px;background:var(--surface-2);padding:1.6rem;display:flex;flex-direction:column}.card h3{margin-bottom:.5rem}.card p{margin:0 0 1rem;color:var(--ink-2)}.card__foot{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.roomcard{text-decoration:none;display:block;border:1px solid var(--rule);border-radius:3px;overflow:hidden;background:var(--surface);transition:border-color .15s ease,transform .15s ease}.roomcard:hover{border-color:var(--accent);transform:translateY(-2px)}.roomcard__art{aspect-ratio:16/10;position:relative}.roomcard__body{padding:1.35rem 1.5rem 1.55rem}.roomcard__body h3{margin-bottom:.4rem}.roomcard__body p{color:var(--ink-2);margin:0 0 1rem;font-size:.97rem}.roomcard__rate{font-family:var(--sans);font-size:.82rem;color:var(--ink-3)}.roomcard__rate strong{color:var(--ink);font-weight:600}.art-sea{background:linear-gradient(168deg,#0e3547,#2c7791 42%,#74a8ad 66%,#ded0b4)}.art-courtyard{background:linear-gradient(152deg,#402f22,#85643f 40%,#6b7355 72%,#cdc0a4)}.art-terrace{background:linear-gradient(172deg,#17475c,#4b8aa0 38%,#a8b3a4 68%,#ddcdaf)}.art-loft{background:linear-gradient(160deg,#33261d,#8f6242 46%,#c39a6c 74%,#e0cfae)}.art-dining{background:linear-gradient(160deg,#1e1b18,#56422f 48%,#b5643c 76%,#c9a878)}.art-pool{background:linear-gradient(166deg,#0d414c,#2a8790 40%,#86c6bd 68%,#e0d5bd)}.art-arch{background:linear-gradient(156deg,#e9e0ce,#d3c5ac 40%,#9b8a70 70%,#6f5f4b)}.art-headland{background:linear-gradient(160deg,#29383a,#586a62 42%,#9aa48f 70%,#d6cbb3)}.art-grain:before{background-image:radial-gradient(12rem 8rem at 22% 18%,rgba(255,255,255,.16),transparent 72%),radial-gradient(16rem 10rem at 76% 74%,rgba(255,255,255,.11),transparent 74%),radial-gradient(9rem 12rem at 58% 30%,rgba(0,0,0,.09),transparent 72%)}.art-grain:after,.art-grain:before{content:"";position:absolute;inset:0;pointer-events:none}.art-grain:after{background-image:repeating-linear-gradient(96deg,rgba(255,255,255,.06) 0 1px,transparent 1px 6px)}.factlist{list-style:none;margin:0;padding:0;display:grid;grid-gap:0;gap:0}.factlist li{display:flex;justify-content:space-between;gap:2rem;padding:.8rem 0;border-bottom:1px solid var(--rule);font-family:var(--sans);font-size:.9rem}.factlist li:first-child{border-top:1px solid var(--rule)}.factlist span:first-child{color:var(--ink-3)}.factlist a{color:var(--accent);text-decoration:none}.factlist a:hover{text-decoration:underline}.taglist{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}.taglist li{font-family:var(--sans);font-size:.76rem;letter-spacing:.02em;border:1px solid var(--rule);border-radius:100px;padding:.28rem .7rem;color:var(--ink-2)}.ticklist{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;grid-gap:.6rem;gap:.6rem}.ticklist li{position:relative;padding-left:1.5rem;font-family:var(--sans);font-size:.92rem;line-height:1.55;color:var(--ink-2)}.ticklist li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--clay)}.offer{border:1px solid var(--rule);border-radius:3px;overflow:hidden;background:var(--surface);display:flex;flex-direction:column}.offer__art{aspect-ratio:21/9;position:relative}.offer__body{padding:1.6rem 1.65rem 1.75rem;display:flex;flex-direction:column;flex:1 1}.offer__body h3{margin:.35rem 0 .7rem;font-size:1.4rem}.offer__body>p{color:var(--ink-2);margin:0}.offer__terms{font-family:var(--sans);font-size:.78rem;line-height:1.55;color:var(--ink-3);margin:1.25rem 0 0;padding-top:1rem;border-top:1px dashed var(--rule)}.offer__foot{margin-top:1.35rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.offer__rate{font-family:var(--sans);font-size:.84rem;color:var(--ink-3)}.offer__rate strong{color:var(--ink);font-weight:600;font-size:1.05rem}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));grid-gap:1.25rem;gap:1.25rem}.gallery__item{margin:0}.gallery__item--wide{grid-column:span 2}.gallery__art{aspect-ratio:4/3;position:relative;border-radius:3px;overflow:hidden}.gallery__item--wide .gallery__art{aspect-ratio:21/9}.gallery__cap{font-family:var(--sans);font-size:.8rem;line-height:1.5;color:var(--ink-3);margin-top:.7rem}.faq{border-top:1px solid var(--rule)}.faq__item{border-bottom:1px solid var(--rule)}.faq__item>summary{cursor:pointer;list-style:none;padding:1.1rem 2rem 1.1rem 0;font-size:1.05rem;position:relative}.faq__item>summary::-webkit-details-marker{display:none}.faq__item>summary:after{content:"";position:absolute;right:.35rem;top:1.55rem;width:9px;height:9px;border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);transform:rotate(45deg);transition:transform .18s ease}.faq__item[open]>summary:after{transform:rotate(-135deg);top:1.75rem}.faq__item>p{margin:0 0 1.2rem;color:var(--ink-2);max-width:44rem}.contactcard{border:1px solid var(--rule);border-radius:3px;background:var(--surface);padding:1.7rem 1.75rem}.contactcard h3{font-size:1.1rem;margin-bottom:.6rem}.contactcard p{color:var(--ink-2);margin:0 0 1rem;font-size:.97rem}.contactcard a.contactlink{font-family:var(--sans);font-size:1.02rem;color:var(--accent);text-decoration:none;word-break:break-word}.contactcard a.contactlink:hover{text-decoration:underline}.mapblock{position:relative;border:1px solid var(--rule);border-radius:3px;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(103deg,var(--paper-3) 0 38%,color-mix(in srgb,var(--accent) 26%,var(--paper)) 38.6% 100%)}.mapblock:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(103deg,color-mix(in srgb,var(--accent) 12%,transparent) 0 2px,transparent 2px 26px),repeating-linear-gradient(13deg,rgba(255,255,255,.14) 0 1px,transparent 1px 34px)}.mapblock__pin{width:12px;height:12px;border-radius:50%;background:var(--clay);box-shadow:0 0 0 4px color-mix(in srgb,var(--clay) 30%,transparent)}.mapblock__label,.mapblock__pin{position:absolute;left:22%;top:40%}.mapblock__label{transform:translate(1.15rem,-.55rem);font-family:var(--sans);font-size:.76rem;letter-spacing:.04em;color:var(--ink);background:color-mix(in srgb,var(--paper) 85%,transparent);padding:.2rem .5rem;border-radius:2px;white-space:nowrap}.mapblock__sea{position:absolute;right:1.1rem;bottom:1rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--paper) 82%,transparent)}.bookbar{border:1px solid var(--rule);background:var(--surface);border-radius:3px;padding:1.4rem;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));align-items:end}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-family:var(--sans);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.field input,.field select{font:inherit;font-size:.95rem;padding:.55rem .6rem;border:1px solid var(--rule);border-radius:2px;background:var(--paper);color:var(--ink)}.field input:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:1px}.footer{border-top:1px solid var(--rule);background:var(--paper-2);padding:3.5rem 0 2.5rem;margin-top:4rem}.footer__grid{display:grid;grid-gap:2.5rem;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.footer h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .9rem;font-weight:500}.footer ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem;font-size:.95rem}.footer a{text-decoration:none;color:var(--ink-2)}.footer a:hover{color:var(--accent)}.footer__base{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;flex-wrap:wrap;font-family:var(--sans);font-size:.78rem;color:var(--ink-3)}.footer__base nav{display:flex;gap:1.1rem;flex-wrap:wrap}.smallprint{margin:1.1rem 0 0;font-family:var(--sans);font-size:.75rem;line-height:1.6;color:var(--ink-3);max-width:60rem}.smallprint a{color:var(--ink-3);text-decoration:underline;text-underline-offset:2px}.smallprint a:hover{color:var(--accent)}.disclosure{margin-top:2.75rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-family:var(--sans);font-size:.8rem;line-height:1.6;color:var(--ink-3);max-width:58rem}.disclosure strong{color:var(--ink-2);font-weight:600}.badge{position:fixed;right:1rem;bottom:1rem;z-index:60;display:flex;align-items:center;gap:.55rem;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:.76rem;letter-spacing:.02em;padding:.55rem .85rem;border-radius:100px;text-decoration:none;box-shadow:var(--shadow)}.badge:hover{background:var(--accent)}.badge__dot{width:7px;height:7px;border-radius:50%;background:#6ee7a8;box-shadow:0 0 0 0 rgba(110,231,168,.7);animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(110,231,168,.55)}70%{box-shadow:0 0 0 7px rgba(110,231,168,0)}to{box-shadow:0 0 0 0 rgba(110,231,168,0)}}.instr{font-family:var(--sans)}.instr h1,.instr h2,.instr h3{font-family:var(--serif)}.instr code,.mono{font-family:var(--mono);font-size:.85em}.callout{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--paper));padding:1.1rem 1.3rem;margin:1.75rem 0;font-family:var(--sans);font-size:.92rem;line-height:1.6}.callout--warn{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 9%,var(--paper))}.callout p{margin:0 0 .7rem}.callout p:last-child{margin:0}.trial{border:1px solid var(--rule);border-radius:3px;background:var(--surface);padding:1.35rem 1.5rem;margin-bottom:1rem}.trial__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}.trial__head h3{font-family:var(--serif);font-size:1.15rem}.trial p{margin:0 0 .8rem;font-family:var(--sans);font-size:.92rem;color:var(--ink-2);line-height:1.6}.trial pre{background:#14171a;color:#eae4d8;padding:.85rem 1rem;border-radius:3px;overflow-x:auto;font-size:.79rem;line-height:1.55;margin:0 0 .85rem}.expect,.trial pre{font-family:var(--mono)}.expect{font-size:.78rem;line-height:1.6;border-top:1px dashed var(--rule);padding-top:.8rem;color:var(--ink-2)}.expect b{color:var(--ink)}.expect b,.tag{font-weight:600}.tag{display:inline-block;font-family:var(--sans);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;padding:.2rem .5rem;border-radius:2px;white-space:nowrap}.tag--measured{background:#1f3f2e;color:#a7e6c0}.tag--estimated{background:#4a3a12;color:#f0d68a}.tag--notcounted{background:#4a1f1f;color:#f5b7b7}.tag--panel{background:#23384a;color:#a9d3f0}.datatable{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.86rem}.datatable td,.datatable th{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}.datatable th{font-weight:600;color:var(--ink-3);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.datatable tr:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.stale{color:var(--warn);font-weight:600}.fresh{color:var(--sea)}.stateful{padding:7rem 0 5rem;text-align:center}.stateful__code{font-family:var(--mono);font-size:.8rem;letter-spacing:.24em;color:var(--ink-3);margin:0 0 1.5rem}.stateful h1{max-width:20ch;margin:0 auto}.stateful p{max-width:40ch;margin:1.5rem auto 2.25rem;color:var(--ink-2)}.stateful__actions{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap}.stateful__links{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--rule);max-width:34rem;margin-inline:auto}@media (max-width:960px){.nav{display:none}.navdrawer{display:block}}@media (max-width:720px){.section{padding:3.5rem 0}.hero{padding:3.5rem 0 3rem}.grid--2{grid-template-columns:1fr}.gallery__item--wide{grid-column:span 1}.gallery__item--wide .gallery__art{aspect-ratio:4/3}.page{padding:0 1.15rem}.footer__base{flex-direction:column;gap:.9rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}