:root { --ink:#28443a; --paper:#fbf8ef; --aqua:#a67920; --line:#ded4b9; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:19px/1.55 Georgia, serif; text-align:center; }
.site-header { padding:8px 24px 10px; background:#fffdf8; border-bottom:1px solid var(--line); }
.brand { display:block; width:324px; margin:0 auto 1px; }
.brand img { display:block; width:100%; height:122px; object-fit:contain; }
.place { margin:0; color:#657073; font:15px/1.2 system-ui,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
nav { display:flex; justify-content:center; flex-wrap:wrap; gap:9px 30px; max-width:1280px; margin:7px auto 0; font:19px/1.35 system-ui,sans-serif; }
nav a, nav span { padding:9px 2px; color:var(--ink); text-decoration:none; }
nav .active { color:var(--aqua); border-bottom:2px solid var(--aqua); }
nav span { color:#748082; }
.hero { position:relative; isolation:isolate; overflow:hidden; min-height:620px; display:grid; place-items:end center; padding:55px 24px; color:#fff; background:#17353a; }
.hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(8,31,38,.62),rgba(8,31,38,.07) 70%); }
.hero-slides { position:absolute; z-index:-2; inset:0; }
.hero-slides span { position:absolute; inset:0; opacity:0; background-position:center; background-size:cover; transition:opacity 900ms ease-in-out; }
.hero-slides span.is-active { opacity:1; }
.hero-copy { position:relative; max-width:800px; text-shadow:0 1px 18px rgba(0,0,0,.45); }
.hero-copy p { margin:0; font:16px/1.3 system-ui,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
h1 { margin:9px 0; font-size:clamp(54px,8vw,98px); line-height:1; font-weight:500; letter-spacing:.025em; }
.hero-copy .claim { font:clamp(23px,3vw,34px)/1.35 Georgia,serif; letter-spacing:0; text-transform:none; }
.introduction { padding:66px 24px 64px; }
.introduction p { margin:0; font-size:clamp(28px,3.5vw,42px); }
.introduction .small { max-width:700px; margin:22px auto 0; color:#6e695c; font-size:21px; }
.rule { width:54px; height:2px; margin:22px auto; background:var(--aqua); }
.surroundings { max-width:900px; margin:0 auto; padding:72px 24px 76px; color:#344b50; }
.surroundings p { margin:0 auto 18px; max-width:800px; font-size:21px; }
.booking-button { display:inline-block; margin-top:16px; padding:15px 34px; border:1px solid var(--aqua); background:var(--aqua); color:#fff; text-decoration:none; font:18px/1.2 system-ui,sans-serif; }
.booking-button:hover, .booking-button:focus-visible { background:#805b14; border-color:#805b14; }
footer { padding:34px 24px; background:#29483b; color:#f7f5ef; font:16px/1.55 system-ui,sans-serif; }
footer p { margin:0; }.preview-note { margin-top:9px; opacity:.7; font-size:13px; }
@media (max-width:760px) { body{font-size:18px}.site-header{padding-top:16px}.brand{width:152px}.brand img{height:72px} nav{gap:1px 16px;font-size:16px}.hero{min-height:470px}.introduction{padding:50px 24px}.surroundings{padding:52px 24px}.surroundings p{font-size:19px} }
@media (prefers-reduced-motion:reduce) { .hero-slides span { transition:none; } }
.surroundings .dogs-note { margin:28px auto 0; }.surroundings .dogs-note img { display:block; width:min(100%,270px); height:auto; margin:0 auto; }


.page{max-width:940px;margin:0 auto;padding:68px 24px 76px}.page .eyebrow{color:#a67920}.page h1{font-size:clamp(42px,6vw,72px)}.page p{max-width:860px;margin:0 auto 22px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}.gallery button{padding:0;border:0;background:none;cursor:pointer}.gallery img{display:block;width:100%;height:210px;object-fit:cover}.lightbox{position:fixed;z-index:20;inset:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:28px;background:rgba(10,26,29,.92)}.lightbox figure{display:grid;place-items:center;margin:0;min-width:0;max-height:88vh}.lightbox img{max-width:100%;max-height:88vh;object-fit:contain}.lightbox button{min-width:52px;min-height:52px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(24,52,58,.72);color:#fff;font:32px/1 system-ui,sans-serif;cursor:pointer}.lightbox .close{position:absolute;top:18px;right:22px;font-size:38px}.prices{max-width:760px;margin:28px auto;border-collapse:collapse;width:100%;text-align:left}.prices td{padding:10px 0;border-bottom:1px solid #ded4b9}.prices td:last-child{text-align:right}.note{max-width:760px;margin:26px auto;padding:16px;border-left:3px solid #a67920;background:#f4eedb;text-align:left}.dog-note img{display:block;width:min(100%,330px);height:auto;margin:35px auto}.form{max-width:760px;margin:0 auto;text-align:left}.form label{display:block;margin:16px 0;font:600 17px/1.35 system-ui,sans-serif}.form input,.form textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #bcb49e;background:#fff;font:18px/1.35 Georgia,serif}.form .recaptcha{display:flex;gap:14px;align-items:center;width:320px;max-width:100%;margin:28px 0;padding:15px;border:1px solid #ded4b9;background:#fff}.box{width:24px;height:24px;border:2px solid #aaa18d}.placeholder{color:#6e695c;font-style:italic}@media(max-width:760px){.page{padding:48px 24px 50px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery img{height:150px}.lightbox{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:8px;padding:55px 12px 12px}.lightbox .previous{position:absolute;left:12px;top:calc(50% - 26px)}.lightbox .next{position:absolute;right:12px;top:calc(50% - 26px)}}
.intro .dogs-note{margin:28px auto 0}.intro .dogs-note img{display:block;width:min(100%,270px);height:auto;margin:0 auto}

