/* Stillwater Resort. Direction A, "The cove at morning". One stylesheet, no framework. */
@font-face{font-family:Literata;src:url(/fonts/literata-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Literata;src:url(/fonts/literata-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Literata;src:url(/fonts/literata-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:SourceSans;src:url(/fonts/source-sans-3-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:SourceSans;src:url(/fonts/source-sans-3-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{--ink:#1f2b33;--lake:#15499f;--lake-dk:#0f3878;--water:#4b76a7;--mist:#eef1ea;--sage:#c1c5b1;--white:#fff;--line:#d5dbd2;--muted:#4a5560;--night:#0f2338;--focus:#8a5d00;--focus-lt:#e0a100}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:SourceSans,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:19px;line-height:1.6;color:var(--ink);background:var(--white)}
img{display:block;max-width:100%;height:auto}
picture{display:block}
h1,h2,h3{font-family:Literata,Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(40px,5vw,60px)}
h2{font-size:clamp(30px,3.4vw,42px)}
h3{font-size:24px}
p{margin:0 0 1em}
a{color:var(--lake);text-underline-offset:3px}
a:hover{color:var(--lake-dk)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.site-foot :focus-visible,.book :focus-visible,.hero :focus-visible,.viewer :focus-visible{outline-color:var(--focus-lt)}
.wrap{max-width:1180px;margin:0 auto;padding-inline:32px}
.narrow > *{max-width:760px}
.lede{font-size:21px;max-width:60ch}
.small{font-size:16px;color:var(--muted)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:10}
.skip:focus{left:8px;top:8px}

/* buttons */
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.btn{display:inline-block;background:var(--lake);color:#fff;text-decoration:none;padding:12px 22px;border-radius:6px;font-weight:700;line-height:1.3;border:2px solid var(--lake);white-space:nowrap;font-size:18px;font-family:inherit;cursor:pointer}
.btn:hover{background:var(--lake-dk);border-color:var(--lake-dk);color:#fff}
.btn-quiet{background:#fff;color:var(--lake)}
.btn-quiet:hover{background:var(--mist);color:var(--lake-dk)}
.btn-line{background:transparent;color:#fff;border-color:#fff}
.btn-line:hover{background:#fff;color:var(--lake)}
.btn-light{background:#fff;color:var(--lake);border-color:#fff}
.btn-light:hover{background:var(--mist);color:var(--lake-dk);border-color:var(--mist)}
.inline-call{font-weight:700;white-space:nowrap}

/* header */
.site-head{border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:5}
.head-in{display:flex;align-items:center;gap:20px;padding:12px 32px;max-width:1240px;margin:0 auto}
.brand img{height:64px;width:auto}
.verse{font-family:Literata,Georgia,serif;font-style:italic;font-size:15px;color:var(--muted);white-space:nowrap}
.nav-desk{margin-left:auto}
.nav-desk ul,.nav-mob ul{list-style:none;margin:0;padding:0}
.nav-desk ul{display:flex;gap:18px}
.nav-desk a{color:var(--ink);text-decoration:none;font-size:17px;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}
.nav-desk a:hover,.nav-desk a[aria-current]{border-bottom-color:var(--lake);color:var(--ink)}
.btn-head{font-size:16px;padding:10px 16px}
.nav-mob{display:none}

/* home */
.hero{position:relative;height:78vh;min-height:560px;max-height:820px;color:#fff;overflow:hidden;background:var(--night)}
.hero picture,.hero .hero-img{position:absolute;inset:0;width:100%;height:100%}
.hero .hero-img{object-fit:cover;object-position:50% 60%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,24,40,.82) 0,rgba(10,24,40,.35) 45%,rgba(10,24,40,0) 72%)}
.hero-text{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:56px}
.hero h1{font-size:clamp(44px,5.2vw,68px);max-width:17ch;margin:0 0 .25em}
.hero p{font-size:22px;max-width:38ch;margin:0 0 24px}
.about{padding-block:96px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about blockquote{margin:0;font-family:Literata,Georgia,serif;font-size:26px;line-height:1.5}
.about blockquote p{margin:0}
.about blockquote footer{margin-top:18px;font-family:SourceSans,system-ui,sans-serif;font-size:17px;color:var(--muted)}
.about img,.split img{width:100%;border-radius:4px}
.band{background:var(--mist);padding-block:88px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px}
.card a{color:inherit;text-decoration:none}
.card a:hover h3{color:var(--lake);text-decoration:underline}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:4px}
.card h3{margin:14px 0 4px;font-size:26px}
.card p{margin:0;font-size:17px}
.more{margin:32px 0 0;font-weight:700}
.split{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center;padding-block:96px}
.split-rev{grid-template-columns:1fr 1.3fr}
.split + .split{padding-top:0}
.book{background:var(--lake);color:#fff;padding-block:72px}
.book h2{font-size:40px}
.book p{max-width:56ch}
.book a:not(.btn){color:#fff}
.book-link{margin:24px 0 0;font-size:17px}

/* inner pages */
.page-head{padding-block:64px 24px}
.page-head + .split{padding-top:40px}
.block{padding-block:40px}
.list{border-top:1px solid var(--line);margin-bottom:24px}
.item{display:grid;grid-template-columns:320px 1fr auto;gap:36px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.item img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:4px}
.item h2{font-size:32px;margin:0 0 6px}
.item h2 a{color:var(--ink);text-decoration:none}
.item h2 a:hover{color:var(--lake);text-decoration:underline}
.item p{margin:0}
.facts{display:flex;flex-wrap:wrap;gap:12px 32px;margin:14px 0 0;font-size:16px}
.facts dt{color:var(--muted)}
.facts dd{margin:0;font-family:Literata,Georgia,serif;font-size:24px;font-weight:600}
.facts dd.dd-sm{font-family:SourceSans,system-ui,sans-serif;font-size:18px;font-weight:700;padding-top:4px}
.facts dd span{font-family:SourceSans,system-ui,sans-serif;font-size:16px;font-weight:400;color:var(--muted)}
.cta-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);margin-bottom:56px}
.cta-row p{margin:0;font-size:21px}
.cta-row .btns{margin:0}

/* cabin page */
.cabin-hero img{width:100%;height:62vh;min-height:320px;max-height:640px;object-fit:cover}
.cabin-top{display:grid;grid-template-columns:1fr 400px;gap:56px;padding-block:48px 24px;align-items:start}
.crumb{margin:0 0 8px;font-size:16px}
.cabin-top h1{font-size:clamp(46px,5vw,64px);margin:0 0 .2em}
dl.spec{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;margin:0;padding:24px;border:1px solid var(--line);border-radius:6px;background:#fff}
dl.spec dt{color:var(--muted)}
dl.spec dd{margin:0;font-weight:700}
.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:16px}
.gallery > a{grid-column:span 2}
.gal-4 > a{grid-column:span 3}
.gal-5 > a:nth-child(-n+2){grid-column:span 3}
.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:4px}
.plan-cal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:56px;align-items:start;padding-bottom:64px}
.plan{max-width:420px;width:100%;max-height:520px;object-fit:contain;padding:12px;border:1px solid var(--line);border-radius:4px;background:#fff}
.cal{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff;margin-bottom:8px}
.cal iframe{display:block;width:100%;height:480px;border:0}
.cal-note{font-size:16px;color:var(--muted)}
.pager{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:24px 64px;border-top:1px solid var(--line);font-weight:700}
.pager span{min-width:5em}
.pager span:last-child{text-align:right}

/* rates */
.table-wrap{overflow-x:auto;margin-bottom:16px}
table.rates{border-collapse:collapse;width:100%;font-size:18px}
table.mins{min-width:0;max-width:760px}
.rates th,.rates td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.rates thead th{font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:2px solid var(--ink)}
.rates tbody th{font-weight:700}
.rates .num{font-variant-numeric:tabular-nums;font-weight:700}
table.rates:not(.mins) tbody th,.nowrap{white-space:nowrap}
.plain{padding-left:1.2em;margin:0 0 1.2em}
.plain li{margin-bottom:.5em}
.cols{columns:2;column-gap:48px}

/* availability */
.jump{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.jump a{display:inline-block;padding:8px 14px;border:1px solid var(--water);border-radius:6px;text-decoration:none;font-weight:700}
.jump a:hover{background:var(--mist)}
.cal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;padding-bottom:72px}
.cal-block{padding-block:32px;border-top:1px solid var(--line);scroll-margin-top:16px;min-width:0}
.cal-block p{font-size:17px}

/* gallery page */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:80px}
.photo-grid figure{margin:0}
.photo-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:4px}
.photo-grid figcaption{font-size:16px;color:var(--muted);margin-top:8px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:32px}
.contact-grid h3{font-size:20px;margin:1.2em 0 .3em}
.contact-grid h2 + p,.contact-grid h2:first-child{margin-top:0}
.contact-grid > * > h2:not(:first-child){margin-top:48px}
.form label{display:block;font-weight:700;margin:16px 0 6px}
.form input,.form select,.form textarea{display:block;width:100%;font:inherit;font-size:18px;padding:10px 12px;border:1px solid #6b7680;border-radius:6px;background:#fff;color:var(--ink);min-height:48px}
.form textarea{resize:vertical}
.form .cf-turnstile{margin:20px 0 8px;min-height:65px}
.form .btn{margin-top:12px}
.form .small{margin-top:12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* photo viewer */
a.zoom{display:block;cursor:zoom-in;border-radius:4px}
a.zoom:hover img{opacity:.92}
.viewer{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:none;max-height:none;background:rgba(10,20,30,.94);color:#fff}
.viewer::backdrop{background:rgba(10,20,30,.94)}
.viewer figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 72px 24px}
.viewer img{max-width:100%;max-height:calc(100vh - 140px);width:auto;height:auto;border-radius:4px}
.viewer figcaption{margin-top:12px;font-size:18px;text-align:center}
.viewer button{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:2px solid rgba(255,255,255,.6);border-radius:6px;font:inherit;font-weight:700;font-size:18px;min-width:48px;min-height:48px;padding:8px 14px;cursor:pointer}
.viewer button:hover{background:rgba(255,255,255,.28)}
.viewer .v-close{top:12px;right:12px}
.viewer .v-prev{left:12px;top:50%;transform:translateY(-50%)}
.viewer .v-next{right:12px;top:50%;transform:translateY(-50%)}
.viewer .v-count{position:absolute;top:22px;left:16px;font-size:16px}
@media (max-width:820px){.viewer figure{padding:64px 8px 88px}.viewer .v-prev,.viewer .v-next{top:auto;bottom:16px;transform:none}.viewer .v-prev{left:16px}.viewer .v-next{right:16px}}

/* style guide page (/styleguide/, noindex) */
.sg-swatches{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:24px}
.sg-chip{height:88px;border-radius:6px;border:1px solid var(--line);margin-bottom:10px}
.sg-name{font-weight:700;margin:0 0 2px}
.sg-swatches .small{margin:0}
.sg-h1,.sg-h2,.sg-h3{font-family:Literata,Georgia,serif;font-weight:600;line-height:1.15;margin:0 0 .4em}
.sg-h1{font-size:clamp(40px,5vw,60px)}.sg-h2{font-size:clamp(30px,3.4vw,42px)}.sg-h3{font-size:24px}
.sg-spec{max-width:520px;margin-top:24px}
.sg-fig{margin:0;max-width:560px}
.sg-fig img{border-radius:4px}

/* footer */
.site-foot{background:var(--ink);color:#e7ece4;padding:56px 0 24px;font-size:16px}
.site-foot a{color:#fff}
.foot-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.foot-name{font-family:Literata,Georgia,serif;font-size:24px;margin:0 0 8px;color:#fff}
.foot-nav{list-style:none;padding:0;margin:0;columns:2;column-gap:48px}
.foot-nav li{margin-bottom:4px}
.foot-nav a,.foot-grid p a{display:inline-block;padding-block:6px}
.foot-legal{border-top:1px solid #3b4851;margin-top:32px;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.foot-legal p{margin:0}

@media (max-width:1100px){
 .nav-desk{display:none}
 .btn-head{margin-left:auto;order:3}
 .head-in{flex-wrap:wrap;padding:10px 20px;gap:8px 14px}
 .nav-mob{display:block;order:4}
 .nav-mob nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:0 20px 8px;box-shadow:0 8px 16px rgba(0,0,0,.08)}
 .nav-mob summary{list-style:none;cursor:pointer;font-weight:700;padding:10px 0;color:var(--lake);min-height:44px;display:flex;align-items:center;gap:8px}
 .nav-mob summary::-webkit-details-marker{display:none}
 .nav-mob summary::before{content:"";width:18px;height:12px;border-block:2px solid currentColor;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat}
 .nav-mob li a{display:block;padding:12px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font-size:18px}
 .nav-mob li a[aria-current]{color:var(--lake);font-weight:700}
 .cal-grid{grid-template-columns:1fr}
}
@media (max-width:960px){
 .item{grid-template-columns:240px 1fr;gap:24px}
 .item .btn{grid-column:2;justify-self:start}
 .cabin-top{grid-template-columns:1fr;gap:28px}
 .plan-cal{grid-template-columns:1fr;gap:40px}
}
@media (max-width:820px){
 body{font-size:18px}
 .wrap{padding-inline:20px}
 .brand img{height:52px}
 .head-in{gap:2px 12px}
 .btn-head{order:1;margin-left:auto}
 .site-head .head-in::after{content:"";order:2;flex-basis:100%;height:0}
 .verse{order:3}
 .nav-mob{order:4;margin-left:auto}
 .nav-mob summary{padding:4px 0}
 .hero{height:auto;min-height:0;max-height:none;overflow:visible}
 .hero picture,.hero .hero-img{position:relative;height:300px}
 .hero::after{display:none}
 .hero-text{background:var(--night);padding-block:28px 36px}
 .hero h1{font-size:40px}.hero p{font-size:19px}
 .about,.split,.split-rev,.contact-grid{grid-template-columns:1fr;gap:28px;padding-block:56px}
 .split-rev > div{order:2}
 .split + .split{padding-top:0}
 .about blockquote{font-size:22px}
 .band{padding-block:56px}
 .grid3,.photo-grid{grid-template-columns:1fr}
 .item{grid-template-columns:1fr;gap:14px}
 .item .btn{grid-column:auto}
 .gallery{grid-template-columns:1fr}
 .gallery > a,.gal-4 > a,.gal-5 > a:nth-child(-n+2){grid-column:auto}
 .plan-cal #availability{order:-1}
 .rates .beds{display:none}
 .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
 .facts dd{font-size:20px}
 .facts dd span{display:block;font-size:14px}
 .book .btns{flex-direction:column}
 .book .btns .btn{text-align:center}
 .cabin-hero img{height:300px;min-height:0}
 .page-head{padding-block:40px 16px}
 .lede{font-size:19px}
 .cols{columns:1}
 .cal iframe{height:520px}
 .book{padding-block:56px}.book h2{font-size:34px}
}
@media (max-width:420px){
 .btn{white-space:normal}
 .foot-nav{columns:1}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
