
:root{
  --ink:#17201c;
  --ink-2:#243029;
  --paper:#f3efe6;
  --paper-2:#e7dfd2;
  --cream:#fffaf0;
  --moss:#49604d;
  --rust:#a44f34;
  --gold:#c59a58;
  --line:rgba(23,32,28,.18);
  --white:#fff;
  --shadow:0 24px 70px rgba(21,29,25,.16);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
::selection{background:var(--gold);color:var(--ink)}
.container{width:min(1240px,calc(100% - 48px));margin:auto}
.eyebrow{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:750;color:var(--rust)}
.display{font-family:var(--serif);font-weight:400;line-height:.96;letter-spacing:-.045em;margin:0;font-size:clamp(3.3rem,8vw,7.7rem)}
.heading{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:.35rem 0 1rem;font-size:clamp(2.5rem,5.2vw,5.3rem)}
.subheading{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,3vw,3rem)}
.lede{font-size:clamp(1.08rem,1.5vw,1.28rem);max-width:700px;color:rgba(23,32,28,.78)}
.muted{color:rgba(23,32,28,.67)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.92rem 1.2rem;border:1px solid var(--ink);font-size:.79rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;transition:.2s;background:transparent;cursor:pointer}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.08)}
.btn-dark{background:var(--ink);color:var(--white)}
.btn-light{border-color:rgba(255,255,255,.6);color:var(--white)}
.btn-rust{background:var(--rust);border-color:var(--rust);color:#fff}
.text-link{display:inline-flex;align-items:center;gap:.5rem;border-bottom:1px solid currentColor;padding-bottom:.15rem;font-weight:700}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:.6rem 1rem;z-index:100}.skip:focus{left:8px}

.top-note{background:var(--rust);color:#fff;text-align:center;padding:.55rem 1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.site-header{position:sticky;top:0;z-index:40;background:rgba(243,239,230,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}
.nav-left,.nav-right{display:flex;align-items:center;gap:1.55rem}.nav-right{justify-content:flex-end}
.nav-link{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;font-weight:800;position:relative}
.nav-link:after{content:'';position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--ink);transition:.25s}.nav-link:hover:after,.nav-link[aria-current='page']:after{width:100%}
.brand{text-align:center;line-height:1}.brand-main{font-family:var(--serif);font-size:1.7rem;letter-spacing:-.04em}.brand-small{font-size:.56rem;text-transform:uppercase;letter-spacing:.19em;font-weight:800;margin-top:.28rem}
.menu-toggle{display:none;border:0;background:none;padding:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.mobile-menu{display:none}

.hero{position:relative;min-height:calc(100svh - 112px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.88) contrast(1.02)}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,14,.16) 12%,rgba(10,18,14,.18) 44%,rgba(10,18,14,.82) 100%)}
.hero-inner{position:relative;z-index:2;color:#fff;width:100%;padding:8vh 0 6vh}
.hero-kicker{display:flex;gap:1rem;align-items:center;font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;font-weight:800;margin-bottom:1.1rem}.hero-kicker:before{content:'';width:44px;height:1px;background:#fff}
.hero-copy{max-width:790px}.hero-copy p{font-size:clamp(1rem,1.6vw,1.25rem);max-width:620px;color:rgba(255,255,255,.84);margin:1.4rem 0 1.7rem}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-card{position:absolute;z-index:3;right:max(24px,calc((100vw - 1240px)/2));bottom:6vh;width:min(345px,calc(100% - 48px));background:var(--cream);color:var(--ink);padding:1.25rem;border-top:5px solid var(--gold);box-shadow:var(--shadow)}
.hero-card .row{display:flex;justify-content:space-between;gap:1rem;padding:.58rem 0;border-bottom:1px solid var(--line);font-size:.88rem}.hero-card .row:last-of-type{border-bottom:0}.hero-card strong{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em}.hero-card .btn{width:100%;margin-top:1rem}

.marquee{overflow:hidden;border-bottom:1px solid var(--line);background:var(--cream)}
.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite;padding:1rem 0}.marquee span{font-family:var(--serif);font-size:1.25rem;margin-right:3rem}.marquee b{font-family:var(--sans);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;margin-right:3rem;color:var(--rust)}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{padding:clamp(4rem,8vw,8rem) 0}.section-tight{padding:clamp(3rem,5vw,5rem) 0}.section-dark{background:var(--ink);color:#fff}.section-cream{background:var(--cream)}
.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,7rem);align-items:start}.intro-grid .lede{margin-top:0}.rule{border-top:1px solid var(--line);padding-top:1rem}

.feature-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:3.2rem}.feature{position:relative;overflow:hidden;min-height:460px;background:#ddd;box-shadow:0 8px 35px rgba(0,0,0,.08)}.feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.feature:hover img{transform:scale(1.025)}.feature:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,16,12,.76))}.feature-copy{position:absolute;z-index:2;left:1.4rem;right:1.4rem;bottom:1.3rem;color:#fff}.feature-copy p{margin:.4rem 0 0;color:rgba(255,255,255,.78);max-width:440px}.feature-a{grid-column:span 7}.feature-b{grid-column:span 5}.feature-c{grid-column:span 5}.feature-d{grid-column:span 7}

.quote-band{background:var(--moss);color:#fff;padding:clamp(4rem,8vw,7rem) 0}.quote{font-family:var(--serif);font-size:clamp(2rem,4.5vw,4.6rem);line-height:1.08;letter-spacing:-.03em;max-width:1050px;margin:0}.quote-meta{margin-top:1.5rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.72)}

.split{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.split-media img{width:100%;height:100%;object-fit:cover}.split-content{padding:clamp(3rem,7vw,7.5rem);display:flex;flex-direction:column;justify-content:center}.split-content p{max-width:570px}.split-reverse .split-media{order:2}.split-reverse .split-content{order:1}

.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2.2rem}.info-card{background:var(--cream);border:1px solid var(--line);padding:1.5rem;min-height:230px;display:flex;flex-direction:column;justify-content:space-between}.card-no{font-family:var(--serif);font-size:2.4rem;color:var(--rust)}.info-card h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;margin:.4rem 0}.info-card p{margin:0;color:rgba(23,32,28,.7)}

.page-hero{position:relative;min-height:66svh;display:flex;align-items:flex-end;background:var(--ink);color:#fff;overflow:hidden}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14),rgba(6,14,10,.76))}.page-hero .container{position:relative;z-index:2;padding-bottom:4.5rem}.page-hero p{max-width:650px;color:rgba(255,255,255,.82);font-size:1.12rem}.page-hero .display{font-size:clamp(3.5rem,8vw,7rem)}

.hours{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.hours-list{border-top:1px solid var(--line)}.hours-row{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.hours-row strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.photo-duo{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:end}.photo-duo img:first-child{aspect-ratio:4/5;object-fit:cover}.photo-duo img:last-child{aspect-ratio:16/10;object-fit:cover}

.stay-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:5vw;align-items:center}.stay-grid img{aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}.bullet-list{list-style:none;padding:0;margin:1.7rem 0}.bullet-list li{padding:.8rem 0;border-bottom:1px solid var(--line);display:flex;gap:.7rem}.bullet-list li:before{content:'✦';color:var(--rust)}

.dog-banner{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.dog-banner img{width:100%;height:100%;min-height:520px;object-fit:cover}.dog-copy{padding:clamp(3rem,7vw,6rem);display:flex;flex-direction:column;justify-content:center}.badge{display:inline-flex;align-self:flex-start;border:1px solid rgba(255,255,255,.35);padding:.45rem .7rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;margin-bottom:1.3rem}

.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:6vw}.contact-block{padding:1rem 0 1.3rem;border-bottom:1px solid var(--line)}.contact-block small{display:block;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--rust);margin-bottom:.35rem}.contact-block a{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.5rem)}
.form{display:grid;gap:1rem;background:var(--cream);border:1px solid var(--line);padding:1.4rem}.field{display:grid;gap:.4rem}.field label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fff;padding:.9rem;color:var(--ink)}.field textarea{min-height:130px;resize:vertical}
.notice{padding:1rem;border-left:3px solid var(--rust);background:rgba(164,79,52,.07);font-size:.9rem}

.cta{position:relative;overflow:hidden;background:var(--rust);color:#fff;padding:clamp(4rem,7vw,7rem) 0}.cta:after{content:'G';position:absolute;right:-1vw;bottom:-11vw;font-family:var(--serif);font-size:34vw;line-height:1;color:rgba(255,255,255,.06)}.cta-inner{position:relative;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:2rem}.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,7vw,6.3rem);line-height:.95;letter-spacing:-.04em;margin:0;max-width:850px}.cta .btn{flex:0 0 auto}

.footer{background:#101713;color:#fff;padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr 1fr;gap:3rem}.footer-brand{font-family:var(--serif);font-size:2.35rem;line-height:1}.footer h3{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;margin:0 0 1rem;color:rgba(255,255,255,.56)}.footer a{display:block;margin:.52rem 0;color:rgba(255,255,255,.82);font-size:.9rem}.footer p{color:rgba(255,255,255,.64);font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.14);padding-top:1.4rem;margin-top:3rem;color:rgba(255,255,255,.48);font-size:.75rem}

@media(max-width:960px){
 .container{width:min(100% - 32px,1240px)}
 .nav{grid-template-columns:1fr auto;height:72px}.nav-left,.nav-right .nav-link,.nav-right .btn{display:none}.brand{text-align:left}.menu-toggle{display:block}.nav-right{justify-content:flex-end}
 .mobile-menu{position:fixed;inset:0;background:var(--paper);z-index:60;padding:1.5rem;flex-direction:column}.mobile-menu.open{display:flex}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1rem}.mobile-menu-links{display:grid;margin-top:2rem}.mobile-menu-links a{font-family:var(--serif);font-size:clamp(2.5rem,10vw,4.7rem);line-height:1.15;padding:.25rem 0}.mobile-menu-actions{margin-top:auto;display:grid;gap:.7rem}.mobile-menu-actions .btn{width:100%}
 .hero{display:block;min-height:auto}.hero-media{position:relative;height:62svh}.hero:after{height:62svh;background:linear-gradient(180deg,rgba(8,16,12,.08) 10%,rgba(8,16,12,.5) 62%,var(--ink) 100%)}.hero-inner{background:var(--ink);padding:2.6rem 0}.hero-copy{max-width:100%}.hero-card{position:relative;right:auto;bottom:auto;margin:0 auto 2rem;width:min(100% - 32px,430px)}.hero .display{font-size:clamp(3.3rem,14vw,6.5rem)}
 .intro-grid,.hours,.stay-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.feature-a,.feature-b,.feature-c,.feature-d{grid-column:span 12}.feature{min-height:440px}.split{grid-template-columns:1fr;min-height:auto}.split-media{min-height:480px}.split-reverse .split-media,.split-reverse .split-content{order:initial}.cards-3{grid-template-columns:1fr}.dog-banner{grid-template-columns:1fr}.dog-banner img{min-height:440px}.footer-grid{grid-template-columns:1fr 1fr}.cta-inner{align-items:flex-start;flex-direction:column}.photo-duo{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .top-note{font-size:.63rem}.section{padding:4rem 0}.display{font-size:clamp(3rem,16vw,5rem)}.heading{font-size:clamp(2.6rem,13vw,4rem)}
 .hero-media{height:55svh}.hero:after{height:55svh}.hero-inner{padding:2rem 0 3rem}.hero-kicker:before{width:28px}.hero-copy p{font-size:1rem}.hero-card{padding:1rem}
 .feature{min-height:390px}.feature-grid{gap:12px}.photo-duo{grid-template-columns:1fr}.photo-duo img:first-child,.photo-duo img:last-child{aspect-ratio:4/3}.split-media{min-height:360px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.page-hero{min-height:58svh}.page-hero .container{padding-bottom:2.6rem}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.marquee-track{animation:none}.feature img,.btn{transition:none}}
