:root{--ink:#132c40;--gold:#b89a55;--gold-line:#d8c89e;--paper:#fbfaf6;--sand:#f2eee4;--green:#315f48;--muted:#666861;--white:#fff;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}.site-header{height:132px;padding:18px max(5vw,32px);display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;border-bottom:1px solid #eee9de}.hotel-mark{width:150px;text-align:center;text-decoration:none;color:var(--ink);letter-spacing:.22em}.hotel-mark .reed{display:block;height:29px;color:var(--gold);font-family:var(--serif);font-size:22px;line-height:24px}.hotel-mark strong{display:block;font-family:var(--serif);font-size:19px;line-height:18px;font-weight:500}.hotel-mark small{display:block;margin-top:7px;color:var(--gold);font-size:8px;letter-spacing:.42em}.site-header nav{display:flex;gap:30px;align-items:center}.site-header nav a{color:#222;text-decoration:none;font-size:14px}.site-header .nav-booking{background:var(--ink);color:#fff;padding:17px 25px}.menu{display:none;border:0;background:transparent;padding:12px}.menu span{display:block;width:26px;height:1px;background:var(--ink);margin:7px}.intro{max-width:1180px;margin:0 auto;padding:90px 0 43px;display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--gold-line)}.intro-copy{max-width:760px}.eyebrow{margin:0 0 14px;color:#606b68;font-size:12px;line-height:1;font-weight:700;letter-spacing:.19em}.intro h1,.search-heading h2,.results h2{font-family:var(--serif);font-weight:400;margin:0}.intro h1{font-size:66px;letter-spacing:-.035em}.intro-copy>p:last-child{max-width:720px;margin:22px 0 0;color:#545651;font-family:var(--serif);font-size:22px;line-height:1.55}.prototype-note{margin:0;color:#77786f;font-size:11px}.booking-shell{max-width:1180px;margin:42px auto 76px;background:#fff;border:1px solid var(--gold-line);padding:0 38px 30px}.progress{height:76px;border-bottom:1px solid #ddd6c6;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.progress span{display:flex;align-items:center;gap:11px;color:#96968e;font-size:12px}.progress b{width:27px;height:27px;border:1px solid #d1ccbf;border-radius:50%;display:grid;place-items:center;font-size:11px}.progress em{font-style:normal}.progress .active{color:var(--ink);font-weight:700}.progress .active b{background:var(--ink);border-color:var(--ink);color:#fff}.search-heading{display:flex;justify-content:space-between;align-items:end;padding:34px 0 27px}.search-heading h2{font-size:34px}.search-heading>p{margin:0;color:var(--muted);font-family:var(--serif);font-size:14px;line-height:1.65;text-align:right}.stay-search{display:grid;grid-template-columns:1fr 1fr .78fr 1.2fr;border:1px solid #cfc7b5}.stay-search label{padding:17px 20px;border-right:1px solid #d8d1c2}.stay-search label span{display:block;margin-bottom:10px;color:#6f716c;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.stay-search input,.stay-search select{display:block;width:100%;border:0;background:transparent;color:var(--ink);font:20px var(--serif);outline:0}.stay-search input{min-height:26px}.stay-search select{appearance:none;background:linear-gradient(45deg,transparent 50%,var(--ink) 50%) calc(100% - 7px) 50%/6px 6px no-repeat}.stay-search>button,.room-choice button{border:0;background:var(--green);color:#fff;font-weight:700;cursor:pointer}.stay-search>button{margin:-1px;padding:0 24px;font-size:15px}.stay-search>button span{padding-left:15px;font-size:22px}.included{margin:18px 0 0;color:#59645e;font-family:var(--serif);font-size:14px}.included span{color:var(--green);margin-right:7px}.results{max-width:1180px;margin:0 auto 88px}.results>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:31px}.results h2{font-size:43px;max-width:760px;line-height:1.15}.results>header>p{margin:0 0 5px;color:var(--muted);font-family:var(--serif)}.room-card{display:grid;grid-template-columns:47% 53%;min-height:420px;background:#fff;border:1px solid var(--gold-line);margin-bottom:24px}.room-photo{position:relative;min-height:420px;overflow:hidden}.room-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.room-photo>span,.room-photo>button{position:absolute;top:20px;background:rgba(255,255,255,.92);border:0;padding:10px 14px;color:var(--ink);font-size:11px;letter-spacing:.08em}.room-photo>span{left:20px;text-transform:uppercase}.room-photo>button{right:20px}.room-info{padding:37px 40px 31px;display:grid;grid-template-rows:auto auto 1fr}.room-info h3{margin:0 0 14px;font:400 35px/1.15 var(--serif)}.room-info p{margin:0;color:#5f615c;line-height:1.65}.room-info ul{display:grid;grid-template-columns:1fr 1fr;gap:11px 20px;margin:25px 0;padding:20px 0;border-top:1px solid #e2ddd2;border-bottom:1px solid #e2ddd2;list-style:none;color:#3e4c45;font-size:13px}.room-info li:before{content:"✓";color:var(--green);margin-right:9px}.room-choice{display:flex;justify-content:space-between;align-items:end}.room-choice div{display:grid;gap:3px}.room-choice small,.room-choice span{color:#73746e;font-size:11px}.room-choice strong{font:400 30px var(--serif)}.room-choice button{min-width:165px;height:52px;padding:0 22px;font-size:14px}.reassurance{max-width:1180px;margin:0 auto 90px;border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line);display:grid;grid-template-columns:repeat(3,1fr);padding:38px 0}.reassurance div{padding:0 42px;border-right:1px solid #dfd7c6}.reassurance div:first-child{padding-left:0}.reassurance div:last-child{border:0}.reassurance span{color:var(--gold);font:16px var(--serif)}.reassurance h3{font:400 21px var(--serif);margin:10px 0}.reassurance p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}footer{min-height:150px;background:var(--ink);color:#fff;display:flex;align-items:center;gap:50px;padding:45px max(5vw,32px);font-family:var(--serif)}footer strong{font-size:24px;font-weight:400}footer span{color:#d8dedc;font-size:14px}
@media(max-width:800px){.site-header{height:86px;padding:10px 20px}.hotel-mark{width:112px}.hotel-mark .reed{height:20px;font-size:17px;line-height:17px}.hotel-mark strong{font-size:14px;line-height:14px}.hotel-mark small{margin-top:4px;font-size:6px}.site-header nav{display:none}.menu{display:block}.intro{padding:55px 20px 30px;margin:0;display:block}.intro h1{font-size:46px}.intro-copy>p:last-child{font-size:18px;line-height:1.55}.prototype-note{margin-top:25px}.booking-shell{margin:24px 14px 55px;padding:0 18px 22px}.progress{height:62px}.progress em{display:none}.progress span{justify-content:center;position:relative}.progress span:not(:last-child):after{content:"";height:1px;width:calc(100% - 45px);background:#ded8ca;position:absolute;left:calc(50% + 23px)}.progress b{position:relative;z-index:1;background:#fff}.progress .active b{background:var(--ink)}.search-heading{display:block;padding:27px 0 22px}.search-heading h2{font-size:27px;line-height:1.2}.search-heading>p{display:none}.stay-search{display:grid;grid-template-columns:1fr 1fr}.stay-search label{padding:15px 13px}.stay-search label:nth-child(2){border-right:0}.stay-search label:nth-child(3){grid-column:1/-1;border-top:1px solid #d8d1c2;border-right:0}.stay-search input,.stay-search select{font-size:16px}.stay-search>button{grid-column:1/-1;height:56px;margin:0 -1px -1px;font-size:14px}.included{font-size:13px;line-height:1.5}.results{margin:0 14px 55px}.results>header{display:block;margin:0 6px 22px}.results h2{font-size:32px}.results>header>p{margin-top:15px}.room-card{display:block;min-height:0}.room-photo{min-height:250px}.room-info{padding:27px 22px 23px}.room-info h3{font-size:29px}.room-info ul{display:block;margin:21px 0}.room-info li+li{margin-top:11px}.room-choice{align-items:center}.room-choice strong{font-size:25px}.room-choice button{min-width:135px;height:50px}.reassurance{margin:0 20px 60px;display:block;padding:8px 0}.reassurance div,.reassurance div:first-child{padding:25px 0;border-right:0;border-bottom:1px solid #dfd7c6}.reassurance div:last-child{border:0}footer{display:grid;gap:10px;padding:36px 20px}}
@media(max-width:520px){.intro h1{font-size:40px}.stay-search{display:block}.stay-search label{display:block;width:100%;border-right:0;border-bottom:1px solid #d8d1c2}.stay-search label:nth-child(3){border-top:0}.stay-search input,.stay-search select{max-width:100%}.room-choice{display:block}.room-choice button{width:100%;margin-top:18px}}

/* Native date controls must be allowed to shrink inside the mobile grid. */
.stay-search label,.stay-search input,.stay-search select,.progress span{min-width:0}
.stay-search .date-field{position:relative;cursor:pointer}.stay-search .date-field:focus-visible{outline:3px solid color-mix(in srgb,var(--green) 45%,transparent);outline-offset:-3px}
.stay-search .date-field:after{content:"";position:absolute;right:26px;top:50%;width:22px;height:22px;transform:translateY(-12%);pointer-events:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='1'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E")}
.stay-search .date-field input[type="date"]::-webkit-calendar-picker-indicator{opacity:0;pointer-events:none}
.date-picker{position:absolute;z-index:30;top:-170px;bottom:auto;left:-1px;width:310px;padding:16px;background:#fff;border:1px solid var(--gold-line);box-shadow:0 14px 38px rgba(19,44,64,.2);cursor:default}.date-picker[hidden]{display:none}.date-picker-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:12px}.date-picker-head strong{text-align:center;text-transform:capitalize;font:400 18px var(--serif)}.date-picker-head button,.date-picker-days button{border:0;background:transparent;color:var(--ink);cursor:pointer}.date-picker-head button{height:36px;font-size:26px}.date-picker-weekdays,.date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.date-picker-weekdays span{text-align:center;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.date-picker-days button{height:34px;border-radius:50%;font-size:13px}.date-picker-days button:hover:not(:disabled),.date-picker-days button:focus-visible{background:var(--sand)}.date-picker-days button.selected{background:var(--green);color:#fff}.date-picker-days button.outside{color:#aaa}.date-picker-days button:disabled{color:#d3d3d0;cursor:not-allowed}
@media(max-width:800px){.stay-search .date-field:after{right:15px}}
@media(max-width:520px){.date-picker{position:fixed;z-index:100;top:50%;left:50%;width:min(330px,calc(100vw - 28px));transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax rgba(19,44,64,.42),0 14px 38px rgba(19,44,64,.3)}}
@media(max-width:800px){.stay-search label{overflow:hidden}.stay-search input{font-size:15px}.progress{width:100%}}

.stay-search>button:disabled{cursor:wait;opacity:.72}
.search-message{min-height:18px;margin:14px 0 0;color:#59645e;font-size:13px}
.search-message:empty{display:none}
.search-message.error{color:#983f32}
.no-results{padding:34px;background:#fff;border:1px solid var(--gold-line);color:var(--muted);font:18px/1.6 var(--serif)}
.room-choice button:disabled{cursor:wait;opacity:.72}
.room-hold-message{grid-row:4;margin:17px 0 0!important;color:var(--green)!important;font-size:13px;line-height:1.45}
.room-hold-message:empty{display:none}
.room-hold-message.error{color:#983f32!important}

.guest-details{max-width:1180px;margin:0 auto 88px;scroll-margin-top:22px}.guest-details>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.guest-details h2{margin:0;font:400 43px/1.15 var(--serif)}.hold-clock{margin:0;color:var(--muted);font-family:var(--serif)}.hold-clock strong{color:var(--green);font-size:21px;font-weight:400}.guest-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,1fr);background:#fff;border:1px solid var(--gold-line)}.guest-form{padding:40px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.field-grid .wide{grid-column:1/-1}.field-grid label>span{display:block;margin-bottom:9px;color:#646861;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.field-grid input,.field-grid select{width:100%;height:54px;border:1px solid #cfc7b5;border-radius:0;background:#fff;padding:0 15px;color:var(--ink);font:17px var(--serif);outline:0}.field-grid input:focus,.field-grid select:focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(49,95,72,.12)}.breakfast-note{margin:28px 0 24px;padding:20px 22px;background:#e9f0ea;border-left:3px solid #92ae9d}.breakfast-note strong{font:400 20px var(--serif)}.breakfast-note p{margin:7px 0 0;color:#59645e;font-size:13px;line-height:1.55}.consent{display:flex;gap:12px;align-items:flex-start;color:#50554f;font-size:13px;line-height:1.5}.consent input{width:18px;height:18px;flex:0 0 auto;margin:1px 0 0;accent-color:var(--green)}.continue-button{width:100%;height:58px;margin-top:25px;border:0;background:var(--green);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.continue-button span{padding-left:14px;font-size:20px}.guest-form-message{min-height:18px;margin:13px 0 0;color:var(--green);font-size:13px;line-height:1.45}.guest-form-message:empty{display:none}.stay-summary{padding:40px 32px;background:var(--sand);border-left:1px solid var(--gold-line)}.stay-summary h3{margin:0 0 25px;font:400 29px/1.2 var(--serif)}.stay-summary dl{margin:0}.stay-summary dl div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #d9d0bd;font-size:13px}.stay-summary dt{color:#71736d}.stay-summary dd{margin:0;text-align:right;font-weight:700}.stay-summary dl .total{margin-top:12px;padding-top:22px;border-bottom:0}.stay-summary .total dt{color:var(--ink);font-weight:700}.stay-summary .total dd{font:400 25px var(--serif)}.stay-summary button{width:100%;height:48px;margin-top:24px;border:1px solid #bfb49d;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.stay-summary small{display:block;margin-top:12px;color:#74766f;font-size:11px;line-height:1.5}
@media(max-width:800px){.guest-details{margin:0 14px 55px}.guest-details>header{display:block;margin:0 6px 22px}.guest-details h2{font-size:32px}.hold-clock{margin-top:14px}.guest-layout{grid-template-columns:1fr}.guest-form{padding:27px 22px}.field-grid{grid-template-columns:1fr;gap:18px}.field-grid .wide{grid-column:auto}.stay-summary{padding:27px 22px;border-top:1px solid var(--gold-line);border-left:0}}
.combination-card{display:block;min-height:0}.combination-card .room-info{min-height:310px}.combination-card .room-info ul{grid-template-columns:1fr}#breakfast-allocation{display:grid;gap:14px}#breakfast-allocation label>span{display:block;margin-bottom:9px;color:#646861;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}#breakfast-allocation select{width:100%;height:54px;border:1px solid #cfc7b5;background:#fff;padding:0 15px;color:var(--ink);font:17px var(--serif)}
.room-cart{padding:34px;background:#fff;border:1px solid var(--gold-line)}.room-cart h3{margin:0;font:400 35px var(--serif)}.room-cart-intro{color:var(--muted);line-height:1.55}.room-cart-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px 22px;align-items:start;padding:22px 0;border-top:1px solid #e2ddd2}.room-cart-copy{display:grid;justify-items:start;gap:7px;padding-top:12px}.room-cart-copy strong{font-size:18px}.room-photo-button{border:0;border-bottom:1px solid currentColor;background:transparent;padding:3px 0;color:var(--green);font-weight:700;cursor:pointer}.room-cart-row span{color:var(--muted);font-size:13px}.room-cart-row label span{display:block;margin-bottom:7px;font-size:10px;font-weight:700;text-transform:uppercase}.room-cart select{width:100%;height:46px;border:1px solid #cfc7b5;background:#fff;padding:0 12px;color:var(--ink)}.room-type-allocation{grid-column:2;display:grid;grid-template-columns:1fr;gap:12px}.room-type-allocation:empty{display:none}.room-cart-status{color:var(--green);font-weight:700;line-height:1.5}.room-cart-continue{width:100%;height:56px;border:0;background:var(--green);color:#fff;font-weight:700;cursor:pointer}.room-cart-continue:disabled{cursor:not-allowed;opacity:.45}.room-photo-dialog{width:min(760px,calc(100vw - 32px));padding:0;border:1px solid var(--gold-line);background:#fff;color:var(--ink)}.room-photo-dialog::backdrop{background:rgba(10,28,40,.68)}.room-photo-dialog img{display:block;width:100%;max-height:70vh;object-fit:cover}.room-photo-dialog h4{margin:0;padding:20px 24px;font:400 28px var(--serif)}.room-photo-close{position:absolute;top:14px;right:14px;border:0;background:#fff;padding:11px 16px;color:var(--ink);font-weight:700;cursor:pointer}@media(max-width:700px){.room-cart{padding:24px 18px}.room-cart-row{grid-template-columns:minmax(0,1fr) 130px}.room-type-allocation{grid-column:2}.room-cart-copy strong{font-size:16px}}
.continue-button:disabled{cursor:wait;opacity:.72}.guest-form-message.error{color:#983f32}

.payment-step{max-width:1180px;margin:0 auto 88px;scroll-margin-top:22px}.payment-step>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.payment-step h2{margin:0;font:400 43px/1.15 var(--serif)}.payment-clock{margin:0;color:var(--muted);font-family:var(--serif)}.payment-clock strong{color:var(--green);font-size:21px;font-weight:400}.payment-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,1fr);background:#fff;border:1px solid var(--gold-line)}.payment-panel{padding:40px}.payment-intro{max-width:610px;margin:0 0 28px;color:#565b55;font:18px/1.55 var(--serif)}.payment-methods{margin:0;padding:0;border:0}.payment-methods legend{margin-bottom:11px;color:#646861;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.payment-method{min-height:88px;padding:16px 18px;display:grid;grid-template-columns:45px 1fr 25px;gap:15px;align-items:center;border:1px solid #cfc7b5;cursor:pointer}.payment-method+.payment-method{margin-top:12px}.payment-method input{position:absolute;opacity:0;pointer-events:none}.payment-method.selected{border:2px solid var(--green);padding:15px 17px;background:#f7faf7}.method-mark{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;font-weight:700}.mobilepay-mark{background:#684bd1;color:#fff}.card-mark{background:var(--sand);color:var(--ink);font-size:25px}.payment-method>span:nth-of-type(2){display:grid;gap:5px}.payment-method strong{font-size:15px}.payment-method small{color:#6c6e68;font-size:12px;line-height:1.45}.payment-method b{display:none;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;place-items:center}.payment-method.selected b{display:grid}.payment-button{width:100%;height:58px;margin-top:25px;border:0;background:var(--green);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.payment-button span{padding-left:14px;font-size:20px}.payment-safety{display:flex;gap:12px;align-items:flex-start;margin-top:20px;color:#626660}.payment-safety>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid #b7c6bb;border-radius:50%;color:var(--green)}.payment-safety p{margin:0;font-size:11px;line-height:1.55}.payment-safety strong{color:var(--ink)}.payment-message{min-height:18px;margin:16px 0 0;color:var(--green);font-size:13px;line-height:1.45}.payment-message:empty{display:none}.payment-summary{padding:40px 32px;background:var(--sand);border-left:1px solid var(--gold-line)}.payment-summary h3{margin:0 0 7px;font:400 29px/1.2 var(--serif)}.booking-reference{margin:0 0 21px;color:#74766f;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.payment-summary dl{margin:0}.payment-summary dl div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #d9d0bd;font-size:13px}.payment-summary dt{color:#71736d}.payment-summary dd{margin:0;text-align:right;font-weight:700}.payment-summary dl .total{margin-top:12px;padding-top:22px;border-bottom:0}.payment-summary .total dt{color:var(--ink);font-weight:700}.payment-summary .total dd{font:400 25px var(--serif)}.payment-summary small{display:block;margin-top:26px;padding-top:18px;border-top:1px solid #d9d0bd;color:#74766f;font-size:11px;line-height:1.55}
@media(max-width:800px){.payment-step{margin:0 14px 55px}.payment-step>header{display:block;margin:0 6px 22px}.payment-step h2{font-size:32px}.payment-clock{margin-top:14px}.payment-layout{grid-template-columns:1fr}.payment-panel{padding:27px 22px}.payment-intro{font-size:16px}.payment-summary{padding:27px 22px;border-top:1px solid var(--gold-line);border-left:0}.payment-method{grid-template-columns:42px 1fr 22px;gap:12px;padding:14px}.payment-method.selected{padding:13px}.method-mark{width:42px;height:42px}}

.booking-complete{max-width:920px;margin:0 auto 88px;scroll-margin-top:22px}.complete-card{padding:58px 64px;background:#fff;border:1px solid var(--gold-line);text-align:center}.complete-check{width:54px;height:54px;margin:0 auto 24px;display:grid;place-items:center;border-radius:50%;background:#e5eee7;color:var(--green);font-size:25px}.booking-complete h2{margin:0;font:400 48px/1.15 var(--serif)}.complete-lead{max-width:650px;margin:20px auto 0;color:#575c56;font:19px/1.6 var(--serif)}.complete-summary{margin-top:42px;display:grid;grid-template-columns:1.1fr 1fr;text-align:left;border:1px solid var(--gold-line)}.complete-stay{padding:30px;background:var(--sand);border-right:1px solid var(--gold-line)}.complete-stay h3{margin:0 0 14px;font:400 27px/1.2 var(--serif)}.complete-stay>p:not(.eyebrow){margin:6px 0;color:#646861;font-size:13px}.complete-summary dl{margin:0;padding:21px 28px}.complete-summary dl div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e2ddd2;font-size:12px}.complete-summary dl div:last-child{border-bottom:0}.complete-summary dt{color:#70736d}.complete-summary dd{margin:0;font-weight:700;text-align:right}.paid-status{color:var(--green)}.paid-status span{display:inline-grid;width:18px;height:18px;margin-right:5px;place-items:center;border-radius:50%;background:#e5eee7}.next-steps{margin-top:47px;text-align:left}.next-steps>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line)}.next-steps article{padding:25px 24px;border-right:1px solid #e2ddd2}.next-steps article:last-child{border-right:0}.next-steps article>span{color:var(--gold);font:15px var(--serif)}.next-steps h3{margin:10px 0 8px;font:400 18px/1.3 var(--serif)}.next-steps article p{margin:0;color:#686b65;font-size:11px;line-height:1.55}.complete-button{min-width:270px;height:54px;margin-top:35px;border:1px solid #bfb49d;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.complete-actions [hidden]{display:none!important}
.booking-complete[data-payment-status="pending"] .complete-check{background:#f4ead5;color:#80601f}.booking-complete[data-payment-status="pending"] .paid-status{color:#80601f}.booking-complete[data-payment-status="pending"] .paid-status span{background:#f4ead5}.booking-complete[data-payment-status="failed"] .complete-check{background:#f7e5e1;color:#963f34}.booking-complete[data-payment-status="failed"] .paid-status{color:#963f34}.booking-complete[data-payment-status="failed"] .paid-status span{background:#f7e5e1}.complete-actions{display:flex;justify-content:center;gap:12px}.complete-button{display:inline-grid;place-items:center;text-decoration:none;font:700 14px/1.2 var(--sans)}.complete-button-primary{border-color:var(--green);background:var(--green);color:#fff}
@media(max-width:800px){.booking-complete{margin:0 14px 55px}.complete-card{padding:38px 22px}.booking-complete h2{font-size:36px}.complete-lead{font-size:16px}.complete-summary{grid-template-columns:1fr}.complete-stay{padding:25px 22px;border-right:0;border-bottom:1px solid var(--gold-line)}.complete-summary dl{padding:17px 22px}.next-steps>div{display:block}.next-steps article{padding:22px 0;border-right:0;border-bottom:1px solid #e2ddd2}.next-steps article:last-child{border-bottom:0}.complete-actions{display:block}.complete-button{width:100%;min-width:0}.complete-button+.complete-button{margin-top:12px}}

/* Room allocations anchor at the right edge and expand left as rooms are added. */
.room-type-allocation{grid-column:1/-1;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(140px,180px);justify-content:end}
@media(max-width:700px){.room-type-allocation{grid-column:1/-1;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;justify-content:stretch}}
@media(max-width:460px){.room-type-allocation{grid-template-columns:1fr}}

/* Mobile booking search uses the available width and keeps dates easy to read. */
@media(max-width:520px){.stay-search>button{width:100%}.stay-search input[type="date"]{font-size:20px}}
.dog-option{grid-column:1/-1;border-top:1px solid #d8d1c2;background:#fff}.dog-option summary{padding:15px 20px;color:var(--green);font-size:13px;font-weight:700;cursor:pointer;list-style-position:inside}.dog-option summary::marker{color:var(--gold)}.dog-option-fields{display:grid;grid-template-columns:minmax(190px,280px) 1fr;align-items:center;gap:20px;padding:0 20px 18px}.stay-search .dog-option-fields label{padding:0;border:0}.dog-option-fields p{margin:0;color:var(--muted);font-family:var(--serif);font-size:13px;line-height:1.5}.stay-search>button{min-height:76px;margin:-1px -1px -1px 0}.stay-search>button span{display:inline;padding-left:15px;margin:0;color:inherit;font-size:22px;letter-spacing:0;text-transform:none}@media(max-width:800px){.dog-option-fields{grid-template-columns:1fr;padding:0 13px 16px}.stay-search>button{min-height:56px;margin:0 -1px -1px}}@media(max-width:520px){.dog-option summary{padding:15px 13px}}

/* Keep the entire consent row clear of the policy buttons above it. */
.consent{margin-top:18px;column-gap:6px}

/* Owner-selected payment artwork, supplied as matching transparent PNG files. */
.method-mark{background:transparent;color:var(--ink)}.method-mark img,.payment-safety img{display:block;width:100%;height:100%;object-fit:contain}.mobilepay-mark{background:transparent;color:var(--ink)}.payment-safety>span{width:42px;height:42px;flex:0 0 42px;background:transparent;border:0}

/* The public room gallery uses the owner-selected image order. */
.room-photo-dialog h4{padding-bottom:8px}.room-photo-description{margin:0;padding:0 24px 14px;color:var(--muted);line-height:1.55}.room-photo-features{margin:0;padding:0 42px 20px;color:#3e4c45}.room-photo-thumbs{display:flex;gap:8px;overflow:auto;padding:0 24px 24px}.room-photo-thumbs button{flex:0 0 92px;height:68px;border:2px solid transparent;background:#fff;padding:0;cursor:pointer}.room-photo-thumbs button:focus{border-color:var(--green)}.room-photo-thumbs img{width:100%;height:100%;object-fit:cover}

/* Every public result card exposes the complete, owner-ordered room gallery. */
.room-photo>.room-photo-previous,.room-photo>.room-photo-next{top:50%;right:auto;width:46px;height:46px;padding:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:30px;line-height:1;letter-spacing:0;transform:translateY(-50%);cursor:pointer;box-shadow:0 2px 12px rgba(19,44,64,.2)}.room-photo>.room-photo-previous{left:18px}.room-photo>.room-photo-next{right:18px}.room-photo>.room-photo-count{position:absolute;right:18px;bottom:18px;padding:7px 11px;border-radius:999px;background:rgba(19,44,64,.82);color:#fff;font-size:12px;font-weight:700}
@media(max-width:800px){.room-photo>.room-photo-previous,.room-photo>.room-photo-next{width:40px;height:40px;font-size:26px}.room-photo>.room-photo-previous{left:12px}.room-photo>.room-photo-next{right:12px}.room-photo>.room-photo-count{right:12px;bottom:12px}}

/* The hotel website embeds this same booking flow without duplicating its page chrome. */
.embed-mode .site-header,.embed-mode .intro,.embed-mode body>footer,.embed-mode .reassurance{display:none}
.embed-mode body{background:transparent}
.embed-mode .booking-shell{margin-top:0;margin-bottom:0;border:0}
.embed-mode .results,.embed-mode .guest-details,.embed-mode .payment-step,.embed-mode .booking-complete{margin-bottom:24px;padding-left:38px;padding-right:38px}
@media(max-width:800px){.embed-mode .booking-shell{margin:0}.embed-mode .results,.embed-mode .guest-details,.embed-mode .payment-step,.embed-mode .booking-complete{padding-left:18px;padding-right:18px}}
.embed-mode,.embed-mode body{width:100%;max-width:100%;overflow-x:hidden;overflow-y:hidden}
