.reservation-page{background:var(--cream);min-height:100vh}.reservation-nav{border-bottom:1px solid var(--line);color:#67766c;justify-content:space-between;align-items:center;height:88px;padding:0 clamp(22px,6vw,90px);font:10px DM Mono;display:flex}.reservation-layout{grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr);gap:10vw;max-width:1180px;margin:auto;padding:78px clamp(22px,6vw,90px);display:grid}.reservation-layout h1{letter-spacing:-.1em;margin:0;font:800 clamp(54px,6vw,82px)/.88 Manrope}.reservation-layout h1 em{color:#548a68;letter-spacing:-.06em;font:500 .96em/.9 Fraunces}.reservation-lede{color:#748078;max-width:350px;margin:28px 0;font-size:14px;line-height:1.6}.reservation-note{border-left:3px solid var(--peach);color:#718077;background:#fffdf8;gap:8px;max-width:320px;padding:18px;font-size:11px;line-height:1.5;display:grid}.reservation-note strong{text-transform:uppercase;color:var(--deep);font:10px DM Mono}.reservation-form{border:1px solid var(--line);background:#fffdf8;padding:28px}.form-heading{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:22px;padding-top:22px;display:flex}.form-heading:first-child{border-top:0;margin-top:0;padding-top:0}.form-heading span{color:#b27b5b;font:10px DM Mono}.form-heading h2{letter-spacing:-.06em;margin:0;font:600 22px Manrope}.form-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.reservation-form label{color:#55645a;gap:7px;margin-top:16px;font-size:11px;font-weight:600;display:grid}.reservation-form input,.reservation-form select,.reservation-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;outline:none;padding:12px}.reservation-form input:focus,.reservation-form select:focus,.reservation-form textarea:focus{border-color:var(--deep);box-shadow:0 0 0 3px #b9dfbb66}.blocked-copy{color:#89938c;margin:15px 0 0;font:10px/1.5 DM Mono}.dog-request{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;display:grid}.dog-request label{margin-top:0}.choice span{font-size:10px}.add-dog{color:#548a68;cursor:pointer;background:0 0;border:0;padding:16px 0;font:11px DM Mono}.notes-field{margin-top:4px!important}.reservation-form .full{margin-top:22px}.reservation-message,.reservation-quote{margin:16px 0 0;font-size:12px;line-height:1.5}.reservation-message{color:#64806a}.reservation-quote{color:#52715a;background:#e8f0e5;padding:13px}.reservation-quote strong{color:var(--deep);font:700 18px Manrope}@media (max-width:800px){.reservation-layout{grid-template-columns:1fr;gap:44px;padding-top:48px}.reservation-form{padding:20px}.form-grid,.dog-request{grid-template-columns:1fr;gap:0}.reservation-layout h1{font-size:58px}}.public-shell{background:var(--cream);min-height:100vh}.public-header{border-bottom:1px solid var(--line);background:var(--cream);z-index:20;justify-content:space-between;align-items:center;height:88px;padding:0 clamp(22px,6vw,90px);display:flex;position:relative}.public-logo img{object-fit:contain;object-position:left center;width:154px;height:auto;max-height:46px;display:block}.public-nav{color:#637168;align-items:center;gap:27px;font:11px DM Mono;display:flex}.public-nav a{transition:color .2s}.public-nav a:hover,.public-nav a.is-active{color:var(--ink)}.public-nav .nav-booking{background:var(--ink);color:#fff;padding:12px 15px}.public-nav .nav-booking span{color:var(--sage);margin-left:5px}.public-menu-toggle{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:0;font:10px DM Mono;display:none}.public-menu-toggle i{background:var(--ink);width:23px;height:1px;margin-top:5px;display:block}.public-footer{background:var(--ink);color:#b7c8b9;grid-template-columns:1fr 1fr 1.2fr;gap:40px;padding:65px clamp(22px,6vw,90px);font:10px/1.6 DM Mono;display:grid}.footer-logo img{filter:brightness(0)invert();width:150px;height:auto;margin-bottom:18px}.public-footer p{color:#8fa999;margin:0}.footer-links{align-content:start;gap:11px;display:grid}.footer-links a:hover,.footer-contact a:hover{color:#fff}.footer-contact{align-content:start;gap:10px;display:grid}.footer-contact small{color:#718b7a;margin-top:20px}.reservation-layout{padding-top:68px;padding-bottom:90px}.reservation-intro{padding-top:8px}.range-picker{margin-top:18px;position:relative}.range-trigger{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;align-items:center;gap:13px;padding:15px 17px;transition:border-color .2s,box-shadow .2s;display:flex}.range-trigger:hover,.range-trigger.is-open{border-color:var(--deep);box-shadow:0 7px 20px #17231e12}.range-icon{background:var(--sage);width:31px;height:31px;color:var(--deep);border-radius:50%;place-items:center;font-size:22px;line-height:1;display:grid}.range-trigger span:nth-child(2){flex:1;gap:4px;display:grid}.range-trigger small{color:#7b877f;text-transform:uppercase;letter-spacing:.06em;font:10px DM Mono}.range-trigger strong{font:600 14px Manrope}.range-chevron{color:#60806a;font-size:18px}.range-popover{z-index:12;border:1px solid var(--line);background:#fffdf8;padding:18px;position:absolute;top:calc(100% + 10px);left:0;right:0;box-shadow:0 22px 45px #17231e20}.range-popover-head{color:#5e7466;text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;margin-bottom:13px;font:10px DM Mono;display:flex}.range-popover-head div{gap:5px;display:flex}.range-popover-head button{border:1px solid var(--line);width:29px;height:29px;color:var(--ink);cursor:pointer;background:#fff}.range-months{grid-template-columns:1fr 1fr;gap:22px;display:grid}.range-month>strong{text-transform:capitalize;margin-bottom:12px;font:600 15px Manrope;display:block}.range-weekdays,.range-days{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.range-weekdays{color:#89948c;text-align:center;text-transform:uppercase;margin-bottom:6px;font:9px DM Mono}.range-days button,.range-days i{aspect-ratio:1;background:0 0;border:0;place-items:center;font-size:12px;display:grid}.range-days button{color:var(--ink);cursor:pointer;border-radius:50%}.range-days button:hover:not(:disabled){background:#e6f0e4}.range-days button.is-between{color:#426b4d;background:#edf4ea;border-radius:0}.range-days button.is-start,.range-days button.is-end{background:var(--deep);color:#fff}.range-days button.is-start{border-radius:50% 0 0 50%}.range-days button.is-end{border-radius:0 50% 50% 0}.range-days button.is-start.is-end{border-radius:50%}.range-days button.is-disabled{color:#c0c6c0;cursor:not-allowed;text-decoration:line-through}.range-hint{color:#8b958e;margin:15px 0 0;font:10px DM Mono}.range-hint i{background:#d7ddd5;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.owned-dogs{gap:8px;margin-top:16px;display:grid}.owned-dog{border:1px solid var(--line);cursor:pointer;background:#fff;grid-template-columns:22px 1fr auto;align-items:center;gap:11px;padding:13px 15px;transition:border-color .2s,background .2s;display:grid}.owned-dog.is-selected{background:#f0f6ed;border-color:#8db392}.owned-dog input{opacity:0;pointer-events:none;position:absolute}.dog-check{border:1px solid #9daa9d;border-radius:50%;width:18px;height:18px;position:relative}.owned-dog.is-selected .dog-check{border-color:var(--deep);background:var(--deep)}.owned-dog.is-selected .dog-check:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:6px;height:3px;position:absolute;top:5px;left:5px;transform:rotate(-45deg)}.owned-dog strong{font:600 14px Manrope}.owned-dog small{color:#718077;font:10px DM Mono}.form-loading,.empty-dogs{color:#718077;font-size:12px;line-height:1.5}.reservation-inline-error{color:#a6583e;font-size:12px;line-height:1.5}.missing-profile{margin-top:0}.verification-layout{grid-template-columns:1fr .9fr;align-items:center;gap:10vw;max-width:1180px;min-height:620px;margin:auto;padding:110px clamp(22px,6vw,90px);display:grid}.verification-layout h1{letter-spacing:-.1em;margin:0;font:800 clamp(58px,7vw,95px)/.88 Manrope}.verification-layout h1 em{color:#548a68;letter-spacing:-.06em;font:500 .96em/.9 Fraunces}.verification-card{border:1px solid var(--line);background:#fffdf8;padding:32px}.verification-card .reservation-lede{margin:12px 0 28px}.verification-card .button{display:inline-block}@media (max-width:800px){.public-header{height:72px}.public-logo img{width:125px}.public-menu-toggle{z-index:22;display:block;position:relative}.public-nav{display:none}.public-nav.is-open{background:var(--paper);border-bottom:1px solid var(--line);gap:18px;padding:24px 22px 28px;font-size:12px;display:grid;position:absolute;top:72px;left:0;right:0;box-shadow:0 15px 30px #17231e16}.public-nav.is-open .nav-booking{text-align:center}.public-footer{grid-template-columns:1fr;gap:30px;padding:48px 22px}.footer-logo img{width:135px}.reservation-layout{padding-top:45px}.range-months{grid-template-columns:1fr}.range-month:nth-child(2){display:none}.range-popover{padding:15px;left:-8px;right:-8px}.range-trigger strong{font-size:13px}.verification-layout{grid-template-columns:1fr;gap:36px;min-height:570px;padding-top:70px}.verification-card{padding:23px}}.public-nav,.public-nav a,.public-nav .nav-booking{font-family:var(--font-display);font-size:var(--text-nav);font-weight:600}.public-nav a{align-items:center;min-height:44px;display:inline-flex}.public-nav .nav-booking{font-weight:700}.reservation-lede{font-size:var(--text-body);line-height:var(--leading-body)}.reservation-note{font-size:var(--text-body-sm);line-height:var(--leading-body)}.reservation-form label{font-size:var(--text-label)}.reservation-message,.reservation-quote,.public-footer{font-size:var(--text-body-sm);line-height:var(--leading-body)}
