/* Shared public-site design. Native inputs retain keyboard and screen-reader support. */
:root{--paper:#f8f6f0;--ink:#243d35;--muted:#66706a;--line:#dddcd1;--green:#254c3e;--orange:#ad5b34;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.lodge-site{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--green);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ba683f;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,h4{color:var(--ink);font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(44px,6vw,78px);letter-spacing:-2.5px}h2{font-size:clamp(32px,3.6vw,46px);letter-spacing:-1.3px}h3{font-size:28px}p{color:var(--muted)}em{font-weight:400;color:#747958}::selection{background:#dbdfc8}.shell{width:min(1200px,calc(100% - 88px));margin-inline:auto}.container{max-width:1200px}.eyebrow,.booking-eyebrow{font:600 11px/1.5 var(--sans);letter-spacing:2px;color:var(--orange);margin-bottom:22px}.location-bar{background:#edf0e7;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.5px}.location-bar .shell{display:flex;justify-content:space-between;padding:9px 0}.location-bar a{font-size:11px;letter-spacing:0}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:100px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:17px;font-weight:600;letter-spacing:2px;line-height:1.4;flex-shrink:0}.brand small{display:block;font-size:8px;letter-spacing:3px;font-weight:400;margin-top:3px}.sun-mark{font-size:43px;color:var(--orange);line-height:1}.site-navigation{display:flex;align-items:center;gap:25px;font-size:12px}.site-navigation>a:not(.lodge-button){padding:12px 0;border-bottom:1px solid transparent}.site-navigation>a[aria-current=page]{border-bottom-color:var(--orange)}.site-navigation>a:hover{color:var(--orange)}.site-navigation .account-link{color:var(--muted)}.lodge-button,.booking-primary-button,.btn-primary,.button-contactForm{display:inline-flex;justify-content:center;align-items:center;gap:25px;background:var(--green);color:#fff;border:1px solid var(--green);padding:15px 22px;min-height:50px;border-radius:3px;font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.4;cursor:pointer;transition:background .18s}.lodge-button:hover,.booking-primary-button:hover,.btn-primary:hover,.button-contactForm:hover{background:#17372c;color:#fff;border-color:#17372c}.nav-book{padding:13px 18px;min-height:44px;gap:18px}.menu-toggle{display:none}.skip-link{position:absolute;top:-100px;left:15px;padding:12px;background:white;z-index:100}.skip-link:focus{top:10px}#main-content{scroll-margin-top:20px}
/* Homepage */
.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:42px;align-items:center}.hero-copy{padding:35px 0}.hero-copy h1{margin-bottom:27px;font-size:clamp(54px,6.9vw,88px)}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px}.hero-copy .eyebrow span{width:22px;height:1px;background:var(--orange)}.hero-description{max-width:375px;font-size:15px;line-height:1.8;margin-bottom:28px}.hero-footnote{display:flex;align-items:center;gap:15px;margin-top:44px;font-size:11px;color:var(--muted);line-height:1.8}.hero-footnote strong{font-weight:400;color:var(--ink)}.little-sun{font-size:30px;color:var(--orange)}.hero-photo{position:relative;height:570px;overflow:hidden;border-radius:180px 180px 3px 3px;background:#dbd4c6}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45));pointer-events:none}.photo-note{position:absolute;z-index:1;right:23px;bottom:57px;background:#f7f4e7;padding:22px 26px;transform:rotate(-4deg);box-shadow:0 4px 24px #0002}.photo-note>span{font-size:9px;letter-spacing:2px;color:var(--orange)}.photo-note p{font-family:var(--serif);font-size:26px;color:var(--ink);line-height:1.12;margin:12px 0 0}.photo-caption{position:absolute;bottom:19px;left:23px;color:white;font-size:8px;letter-spacing:2px;z-index:1}.availability-wrap{margin-top:32px}.availability-bar{display:grid;grid-template-columns:1.6fr 1fr 1fr .6fr auto;align-items:center;gap:20px;background:#fff;padding:28px;border:1px solid var(--line);box-shadow:0 8px 22px #243d3505}.availability-intro .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:7px}.availability-intro h2{font-size:23px;letter-spacing:-.6px;margin:0}.booking-field{min-width:0}.booking-field label,.form-group label{display:block;font-size:12px;font-weight:600;margin-bottom:8px;color:var(--ink)}.booking-field input,.booking-field select,.booking-field textarea,.form-control{width:100%;min-height:48px;padding:11px 12px;background:#fff;color:var(--ink);border:1px solid #ced2c8;border-radius:3px;box-shadow:none;font-size:14px}.booking-field textarea{min-height:100px}.availability-bar input{padding:9px 6px;font-size:13px}.availability-note{font-size:11px;padding-top:12px;display:flex;justify-content:space-between;gap:12px}.availability-note a{text-decoration:underline;text-underline-offset:3px}.welcome-section{padding:85px 0;display:grid;grid-template-columns:.8fr 1.8fr 1fr;gap:30px;align-items:start}.welcome-section>div p{font-size:14px;max-width:500px;margin-top:22px;line-height:1.8}.welcome-section>.text-link{justify-self:end;margin-top:8px}.text-link{font-size:12px;border-bottom:1px solid #899182;padding-bottom:8px;display:inline-block}.stays-section{padding:75px 0;background:#efeee5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading .eyebrow{margin-bottom:12px}.section-heading h2{margin:0}.stay-editorial{display:grid;grid-template-columns:1.15fr 1fr;background:var(--paper)}.stay-image{position:relative;min-height:440px}.stay-image img{height:100%;width:100%;object-fit:cover}.image-label{position:absolute;bottom:20px;left:20px;background:var(--paper);font-size:9px;letter-spacing:2px;padding:12px 16px}.stay-copy{padding:52px;align-self:center}.stay-copy h3{font-size:34px;margin:18px 0}.stay-copy>p{font-size:14px}.starting-rate{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.starting-rate strong{font-size:28px;font-family:var(--serif);color:var(--ink);font-weight:400;margin:0 4px}.stay-copy small{display:block;color:var(--muted);font-size:10px;margin-top:15px}.how-section{padding:80px 0}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.steps-grid article{border-top:1px solid var(--line);padding-top:25px}.steps-grid article>span{color:var(--orange);font:italic 29px var(--serif)}.steps-grid h3{font-size:25px;margin:22px 0 15px}.steps-grid p{font-size:14px}.visit-section{padding:55px 65px;background:var(--green);display:flex;justify-content:space-between;align-items:center;margin-bottom:80px;border-radius:3px;gap:40px}.visit-section h2,.visit-section p,.visit-section a{color:#fff}.visit-section p{opacity:.83;font-size:13px}.visit-section .eyebrow{color:#e1c395;opacity:1}.light-button{background:#eff0e4;color:var(--ink)!important;border-color:#eff0e4;margin-top:12px}.light-button:hover{background:white;border-color:white}.visit-note{text-align:center;padding:0 35px}.visit-note>span{display:block;font-size:80px;line-height:1;color:#d5b276;margin-bottom:20px}.visit-note>a{font-family:var(--serif);font-size:24px}
/* Footer and content pages */
.site-footer{border-top:1px solid var(--line);padding-top:55px;background:#f0efe7}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;padding-bottom:48px}.footer-grid h2{font:600 12px var(--sans);margin:0 0 22px}.footer-grid>div>a:not(.brand){display:block;font-size:12px;color:var(--muted);margin:9px 0;overflow-wrap:anywhere}.footer-grid p{font-size:12px;line-height:1.8;margin-top:22px}.footer-bottom{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}.footer-bottom a{text-decoration:underline}.page-intro{padding:65px 0 42px;max-width:760px}.page-intro h1{font-size:64px;margin:0 0 25px}.page-intro>p:last-child{max-width:540px;font-size:15px}.rooms-banner{height:250px;position:relative;overflow:hidden;border-radius:3px}.rooms-banner img{width:100%;height:100%;object-fit:cover;object-position:50% 65%;filter:brightness(.75)}.rooms-banner span{position:absolute;left:35px;bottom:28px;color:white;font:32px var(--serif)}.room-list-heading{display:flex;justify-content:space-between;align-items:center;padding:45px 0 25px}.room-list-heading h2{font-size:32px;margin:0}.room-list-heading p{font-size:12px;margin:0}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room-card{padding:27px;background:white;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column}.room-card:hover{border-color:#9baa91;box-shadow:0 8px 25px #233d3508}.room-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:32px}.room-number{font-size:10px;letter-spacing:1.5px;color:var(--orange)}.bed-tag{font-size:10px;background:#eef0e7;padding:4px 9px;border-radius:20px}.room-card h3{font-size:27px}.room-card-description{font-size:12px;line-height:1.8;margin:13px 0 25px}.room-rate{display:flex;align-items:baseline;gap:7px;margin-top:auto;flex-wrap:wrap}.room-rate strong{font:32px var(--serif)}.room-rate span{font-size:11px;color:var(--muted)}.room-action{margin-top:23px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;font-weight:600}.help-strip{margin:60px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:40px}.help-strip h2{font-size:29px}.help-strip p{font-size:13px;margin-bottom:0}.help-strip .eyebrow{margin-bottom:15px}.about-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:85px}.about-story img{width:100%;height:580px;object-fit:cover;border-radius:170px 170px 3px 3px}.about-story p{font-size:14px;line-height:1.9}.about-story h2{margin-bottom:27px}.about-story .lodge-button{margin-top:15px}
.home-booking-faq{padding:0 28px 70px}.home-booking-faq .container{max-width:850px}.home-booking-faq h2{margin-bottom:30px}.home-booking-faq details{border-bottom:1px solid var(--line);padding:20px 0}.home-booking-faq summary{cursor:pointer;font-size:14px;color:var(--ink)}.home-booking-faq details p{font-size:13px;margin:16px 0 0}.home-booking-faq summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
/* Booking and forms */
.booking-page{padding:55px 28px 75px}.booking-page-heading{max-width:740px;margin-bottom:35px}.booking-page-heading h1{font-size:57px;letter-spacing:-2px}.booking-page-heading>p:last-child{font-size:14px;max-width:620px}.booking-progress{display:flex;gap:26px;padding:0;list-style:none;margin:25px 0 0;font-size:11px;color:var(--muted);flex-wrap:wrap}.booking-progress span{display:inline-flex;width:25px;height:25px;border-radius:50%;background:#e7eadc;align-items:center;justify-content:center;margin-right:6px;color:var(--green)}.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:30px;align-items:start}.booking-form-panel{background:white;border:1px solid var(--line);border-radius:5px;padding:32px}.booking-form-panel h2,.booking-summary-panel h2{font-size:31px;margin-bottom:24px}.booking-search-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-field-wide{grid-column:1/-1}.booking-field[hidden]{display:none}.booking-summary-panel{padding:30px;background:#e9ecdf;border:1px solid #d6dccb;border-radius:5px;position:sticky;top:24px}.booking-summary-panel ol{padding-left:20px;font-size:13px;color:var(--ink);margin-bottom:28px}.booking-summary-panel li{padding:0 0 17px 5px}.booking-summary-panel>p:last-child{font-size:12px;border-top:1px solid #c8cebf;padding-top:22px}.booking-primary-button{width:auto}.booking-search-grid .booking-primary-button{width:100%}.booking-room-results,.booking-request-panel{border-top:1px solid var(--line);margin-top:30px;padding-top:28px}.booking-room-results h3,.booking-request-panel h3{font-size:28px;margin-bottom:20px}.booking-room-option{display:flex;gap:20px;justify-content:space-between;padding:18px 12px;margin:12px 0;background:#f8f9f3;border:1px solid var(--line);border-radius:3px;font-size:13px}.booking-room-option:hover{border-color:var(--green)}.booking-room-option small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.booking-room-price{text-align:right;white-space:nowrap}.is-unavailable{background:#f4f1eb;color:#706b61}.booking-request-panel p{font-size:13px}.booking-total-line{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:20px 0;align-items:center}.booking-total-line strong{font:32px var(--serif);color:var(--ink)}.booking-policy-note{padding:16px;background:#f6f2e8;border-left:3px solid var(--orange);font-size:12px!important}.booking-guest-form{display:grid;gap:20px}.booking-auth-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;font-size:12px}.booking-help-text{margin:22px 0 0;font-size:12px}.booking-inline-error{color:#922d20;font-size:13px;margin:22px 0 0}.booking-signed-in{overflow-wrap:anywhere}.bradcam_area{background:#eeeee3!important;padding:45px 24px!important;text-align:center}.bradcam_area h3{font-size:45px;margin:0}.bradcam_area:before{display:none}.card{border:1px solid var(--line);border-radius:5px;background:white}.card h1{font-size:44px}.card h2{font-size:29px}.card h3{font-size:25px}.shadow-sm{box-shadow:0 6px 25px #233d3505!important}.nav-pills .nav-link.active{background:var(--green)}.nav-pills .nav-link{font-size:13px;padding:11px 22px}.btn-secondary{background:#e8ebdf;border-color:#d3d9c7;color:var(--ink);font-size:13px;padding:13px 20px}.form-control:focus{border-color:var(--green);box-shadow:0 0 0 2px #254c3e20}.contact-section{padding:48px 0 70px}.contact-title{font-size:32px;margin-bottom:26px}.contact-info{padding:22px 0;border-bottom:1px solid var(--line);display:block}.contact-info__icon{display:none}.contact-info h3{font-family:var(--sans);font-size:14px;line-height:1.6;overflow-wrap:anywhere}.contact-info p{font-size:12px}.form-contact{background:white;border:1px solid var(--line);padding:30px;border-radius:4px}.form-contact label.error{color:#922d20;font-size:12px;margin-top:6px}.form-contact textarea{height:auto}.contact-page-intro{padding-bottom:0}.about_area{padding:55px 0}.about_area p{font-size:14px}.line-button{border-bottom:1px solid var(--green);font-size:13px}.alert{font-size:14px}
@media(min-width:1500px){.home-hero{gap:90px}.hero-photo{height:600px}}
@media(max-width:1100px){.shell{width:calc(100% - 56px)}.site-navigation{gap:17px}.brand{font-size:14px;gap:8px}.sun-mark{font-size:36px}.site-navigation .account-link{display:none}.home-hero{gap:40px}.hero-photo{height:520px}.availability-bar{grid-template-columns:1fr 1fr .6fr auto;gap:16px}.availability-intro{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.availability-intro .eyebrow{margin:0}.welcome-section{grid-template-columns:1fr 2fr}.welcome-section>.text-link{grid-column:2;justify-self:start;margin-top:0}.stay-copy{padding:34px}.visit-section{padding:45px}.footer-grid{gap:30px}.room-grid{grid-template-columns:repeat(2,1fr)}.about-story{gap:45px}.booking-layout{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}}
@media(max-width:800px){.location-bar .shell>a{display:none}.location-bar .shell{justify-content:center}.header-inner{min-height:82px}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid #c8cebf;border-radius:3px;color:var(--ink);font-size:12px;padding:10px 13px;min-height:44px}.site-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 28px 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 15px #233d3510;flex-direction:column;align-items:stretch;gap:7px}.site-navigation.is-open{display:flex}.site-navigation .account-link{display:block}.site-navigation a:not(.lodge-button){font-size:14px;min-height:44px}.home-hero{gap:28px}.hero-copy h1{font-size:57px}.hero-photo{height:470px;border-radius:130px 130px 3px 3px}.hero-description{font-size:13px}.hero-footnote{margin-top:28px}.photo-note{right:15px;padding:20px;bottom:52px}.photo-note p{font-size:24px}.photo-caption{font-size:7px;left:15px}.availability-bar{grid-template-columns:1fr 1fr;gap:20px;padding:24px}.availability-bar .lodge-button{align-self:end}.availability-intro{display:block}.availability-intro .eyebrow{margin-bottom:7px}.availability-note{display:block}.availability-note a{display:block;margin-top:5px}.welcome-section{padding:60px 0;grid-template-columns:1fr;gap:15px}.welcome-section>.eyebrow{margin:0}.welcome-section>.text-link{grid-column:auto}.stays-section{padding:55px 0}.stay-editorial{grid-template-columns:1fr}.stay-image{height:330px;min-height:0}.stay-copy{padding:34px}.how-section{padding:55px 0}.steps-grid{gap:25px}.steps-grid h3{font-size:23px}.visit-section{padding:36px;gap:30px}.visit-note{padding:0}.visit-note>a{font-size:19px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:4px}.page-intro h1{font-size:53px}.about-story{gap:32px}.about-story img{height:490px}.booking-layout{grid-template-columns:1fr}.booking-summary-panel{position:static}.booking-page{padding:40px 28px 55px}.contact-section>.container{padding:0 28px}}
@media(max-width:560px){.shell{width:calc(100% - 40px)}.location-bar{font-size:8px;letter-spacing:1.2px}.header-inner{min-height:76px}.brand{font-size:14px}.brand small{font-size:7px}.home-hero{grid-template-columns:1fr;padding-top:15px;gap:10px}.hero-copy{padding:24px 0 18px}.hero-copy h1{font-size:64px;line-height:1.03;letter-spacing:-2.5px;margin-bottom:20px}.hero-copy .eyebrow{font-size:9px;margin-bottom:24px}.hero-description{font-size:14px;max-width:330px;margin-bottom:24px}.hero-footnote{display:none}.hero-photo{height:340px;border-radius:115px 115px 3px 3px}.hero-photo>img{object-position:50% 57%}.photo-note{padding:16px 21px;bottom:46px}.photo-note p{font-size:23px}.availability-wrap{margin-top:23px}.availability-bar{padding:21px 17px;gap:18px 12px}.availability-intro h2{font-size:25px}.availability-bar .lodge-button{font-size:12px;padding:14px 10px;gap:9px}.availability-note{font-size:10px;padding-inline:3px}.booking-field input,.booking-field select,.booking-field textarea,.form-control{font-size:16px;min-width:0}.availability-bar input{font-size:13px}.welcome-section{padding:45px 0}.welcome-section h2{font-size:36px}.section-heading{display:block;margin-bottom:27px}.section-heading>.text-link{margin-top:20px}.section-heading h2{font-size:36px}.stay-image{height:265px}.stay-copy{padding:28px 23px}.stay-copy h3{font-size:31px}.stay-copy .eyebrow{font-size:9px}.steps-grid{grid-template-columns:1fr;gap:25px}.steps-grid article{position:relative;padding-left:50px;padding-top:22px}.steps-grid article>span{position:absolute;left:0;top:24px;font-size:25px}.steps-grid h3{margin:0 0 12px;font-size:25px}.steps-grid p{margin:0}.visit-section{display:block;padding:32px 26px;margin-bottom:45px}.visit-section h2{font-size:36px}.visit-note{margin-top:30px;padding-top:25px;border-top:1px solid #ffffff30;text-align:left}.visit-note>span{font-size:40px;float:right;margin-top:15px}.visit-note p{margin-bottom:8px}.visit-note>a{font-size:24px}.footer-grid{gap:30px 20px;padding-bottom:30px}.footer-grid h2{font-size:11px}.footer-grid>div>a:not(.brand){font-size:11px}.site-footer{padding-top:35px}.footer-bottom{font-size:9px}.page-intro{padding:40px 0 25px}.page-intro h1{font-size:46px;letter-spacing:-1.6px}.page-intro>p:last-child{font-size:14px}.rooms-banner{height:185px}.rooms-banner span{font-size:24px;left:20px;bottom:20px;right:15px}.room-list-heading{display:block;padding-top:33px}.room-list-heading h2{font-size:31px;margin-bottom:10px}.room-grid{grid-template-columns:1fr;gap:17px}.room-card{padding:25px}.help-strip{display:block;margin:35px 0;padding-top:28px}.help-strip .text-link{margin-top:20px}.about-story{grid-template-columns:1fr;gap:30px}.about-story img{height:380px;max-width:100%;border-radius:120px 120px 3px 3px}.about-story h2{font-size:39px}.booking-page{padding:35px 20px 45px}.booking-page-heading h1{font-size:43px}.booking-progress{gap:12px;font-size:10px}.booking-form-panel,.booking-summary-panel{padding:24px 18px}.booking-search-grid{gap:18px 12px}.booking-form-panel h2,.booking-summary-panel h2{font-size:28px}.booking-room-option{flex-direction:column;gap:8px}.booking-room-price{text-align:left}.booking-room-price small{display:inline;margin-left:6px}.booking-request-panel p{overflow-wrap:anywhere}.booking-total-line{gap:12px}.booking-total-line strong{font-size:27px}.booking-primary-button{width:100%}.booking-auth-actions{flex-direction:column;align-items:stretch}.bradcam_area{padding:32px 20px!important}.bradcam_area h3{font-size:37px}.contact-section{padding:30px 0}.contact-section>.container{padding:0 20px}.form-contact{padding:22px 18px}.contact-info{padding:18px 0}.card h1{font-size:36px}}
@media(max-width:560px){.shell{width:calc(100% - 40px)}.location-bar{font-size:8px;letter-spacing:1.2px}.header-inner{min-height:76px}.brand{font-size:14px}.brand small{font-size:7px}.home-hero{grid-template-columns:1fr;padding-top:15px;gap:10px;}.hero-copy{padding:24px 0 18px;}.hero-copy h1{font-size:54px;line-height:1.03;letter-spacing:-2.5px;margin-bottom:20px;}.hero-copy .eyebrow{font-size:9px;margin-bottom:24px;}.hero-description{font-size:14px;max-width:330px;margin-bottom:24px;}.hero-footnote{display:none;}.hero-photo{height:340px;border-radius:115px 115px 3px 3px;}.hero-photo>img{object-position:50% 57%;}.photo-note{padding:16px 21px;bottom:46px;}.photo-note p{font-size:23px;}.availability-wrap{margin-top:23px;}.availability-bar{padding:21px 17px;gap:18px 12px;}.availability-intro h2{font-size:25px;}.availability-bar .lodge-button{font-size:12px;padding:14px 10px;gap:9px;}.availability-note{font-size:10px;padding-inline:3px;}.booking-field input,.booking-field select,.booking-field textarea,.form-control{font-size:16px;min-width:0;}.availability-bar input{font-size:13px;}.welcome-section{padding:45px 0;}.welcome-section h2{font-size:36px;}.section-heading{display:block;margin-bottom:27px;}.section-heading>.text-link{margin-top:20px;}.section-heading h2{font-size:36px;}.stay-image{height:265px;}.stay-copy{padding:28px 23px;}.stay-copy h3{font-size:31px;}.stay-copy .eyebrow{font-size:9px;}.steps-grid{grid-template-columns:1fr;gap:25px;}.steps-grid article{position:relative;padding-left:50px;padding-top:22px;}.steps-grid article>span{position:absolute;left:0;top:24px;font-size:25px;}.steps-grid h3{margin:0 0 12px;font-size:25px;}.steps-grid p{margin:0;}.visit-section{display:block;padding:32px 26px;margin-bottom:45px;}.visit-section h2{font-size:36px;}.visit-note{margin-top:30px;padding-top:25px;border-top:1px solid #ffffff30;text-align:left;}.visit-note>span{font-size:40px;float:right;margin-top:15px;}.visit-note p{margin-bottom:8px;}.visit-note>a{font-size:24px;}.footer-grid{gap:30px 20px;padding-bottom:30px;}.footer-grid h2{font-size:11px;}.footer-grid>div>a:not(.brand){font-size:11px;}.site-footer{padding-top:35px;}.footer-bottom{font-size:9px;}.page-intro{padding:40px 0 25px;}.page-intro h1{font-size:46px;letter-spacing:-1.6px;}.page-intro>p:last-child{font-size:14px;}.rooms-banner{height:185px;}.rooms-banner span{font-size:24px;left:20px;bottom:20px;right:15px;}.room-list-heading{display:block;padding-top:33px;}.room-list-heading h2{font-size:31px;margin-bottom:10px;}.room-grid{grid-template-columns:1fr;gap:17px;}.room-card{padding:25px;}.help-strip{display:block;margin:35px 0;padding-top:28px;}.help-strip .text-link{margin-top:20px;}.about-story{grid-template-columns:1fr;gap:30px;}.about-story img{height:380px;max-width:100%;border-radius:120px 120px 3px 3px;}.about-story h2{font-size:39px;}.booking-page{padding:35px 20px 45px;}.booking-page-heading h1{font-size:43px;}.booking-progress{gap:12px;font-size:10px;}.booking-form-panel,.booking-summary-panel{padding:24px 18px;}.booking-search-grid{gap:18px 12px;}.booking-form-panel h2,.booking-summary-panel h2{font-size:28px;}.booking-room-option{flex-direction:column;gap:8px;}.booking-room-price{text-align:left;}.booking-room-price small{display:inline;margin-left:6px;}.booking-request-panel p{overflow-wrap:anywhere;}.booking-total-line{gap:12px;}.booking-total-line strong{font-size:27px;}.booking-primary-button{width:100%;}.booking-auth-actions{flex-direction:column;align-items:stretch;}.bradcam_area{padding:32px 20px!important;}.bradcam_area h3{font-size:37px;}.contact-section{padding:30px 0;}.contact-section>.container{padding:0 20px;}.form-contact{padding:22px 18px;}.contact-info{padding:18px 0;}.card h1{font-size:36px;}}
@media(min-width:801px) and (max-width:1100px){.site-navigation{gap:13px}.site-navigation .account-link{display:block}.site-navigation{font-size:11px}}
@media(max-width:560px){.hero-copy h1{font-size:54px}.booking-search-grid{grid-template-columns:1fr}.booking-field-wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:560px){
	.hero-copy{padding:14px 0 12px}
	.hero-copy h1{font-size:52px;line-height:1.04;letter-spacing:-1.8px;margin-bottom:16px}
	.hero-copy .eyebrow{margin-bottom:16px}
	.hero-description{font-size:13px;line-height:1.55;margin-bottom:18px}
	.hero-photo{height:270px}
	.photo-note{bottom:36px}
	.availability-wrap{margin-top:16px}
}

@media(max-width:380px){
	.hero-copy h1{font-size:48px}
	.hero-photo{height:225px;border-radius:78px 78px 3px 3px}
	.photo-note{right:10px;bottom:30px;padding:12px 14px}
	.photo-note p{font-size:19px}
	.availability-bar{padding:15px 11px;gap:12px 8px}
}

/* The CMS-managed video fills the entire homepage welcome section. */
.home-hero.hero-with-video{position:relative;isolation:isolate;display:flex;align-items:center;min-height:590px;margin-top:26px;padding:64px 58px 76px;overflow:hidden;background:#263b33;border-radius:4px}
.hero-background{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:#263b33}
.hero-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:1;transition:opacity 1.2s ease-in-out;pointer-events:none}
.hero-video-poster.is-hidden{opacity:0}
.hero-background-player{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border:0;object-fit:cover;z-index:1;opacity:0;transition:opacity 1.2s ease-in-out;pointer-events:none}
iframe.hero-background-player{width:125%;height:125%;min-width:120vw;min-height:120vh;transform:translate(-50%,-50%) scale(1.2)}
.hero-background-player.is-ready{opacity:1}
.hero-with-video:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,31,25,.86),rgba(14,31,25,.57) 55%,rgba(14,31,25,.24));pointer-events:none}
.hero-with-video .hero-copy{padding:0;max-width:640px}
.hero-with-video .hero-copy h1{color:#fff;text-shadow:0 2px 18px #0002}
.hero-with-video .hero-copy h1 em{color:#eadcba}
.hero-with-video .hero-description{color:#f0f0e7;max-width:400px}
.hero-with-video .eyebrow,.hero-with-video .little-sun{color:#e8caa0}
.hero-with-video .eyebrow span{background:#e8caa0}
.hero-with-video .hero-footnote,.hero-with-video .hero-footnote strong{color:#e7e9de}
.hero-with-video .lodge-button{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.hero-with-video .lodge-button:hover{background:#fff;border-color:#fff}
.hero-video-toggle{position:absolute;bottom:24px;right:24px;padding:10px 14px;min-height:44px;border:1px solid #ffffff88;background:#18392ee6;color:#fff;border-radius:3px;font-size:11px;cursor:pointer}
.hero-video-toggle:hover{background:#16372d}
.hero-video-toggle[hidden]{display:none}
@media(max-width:800px){.home-hero.hero-with-video{min-height:550px;padding:45px 35px 85px}.hero-with-video .hero-copy h1{font-size:58px}}
@media(max-width:560px){.home-hero.hero-with-video{min-height:550px;margin-top:18px;padding:38px 23px 85px}.hero-with-video .hero-copy h1{font-size:49px}.hero-with-video:after{background:rgba(14,31,25,.68)}.hero-video-toggle{right:20px;bottom:20px}.hero-with-video .hero-description{font-size:14px}.hero-with-video .hero-copy .eyebrow{font-size:9px;letter-spacing:1.4px}}
@media(max-width:380px){.hero-with-video .hero-copy h1{font-size:43px}}

/* Original logo, managed through the existing branding settings. */
.brand-logo{display:block;width:64px;height:59px;object-fit:contain;flex-shrink:0}
.hero-lodge-logo{display:block;width:64px;height:59px;object-fit:contain;flex-shrink:0;background:#f8f6f0;padding:6px;border-radius:4px}
@media(max-width:560px){.brand-logo{width:48px;height:44px}}
/* Compact introduction: keep the content, reduce the vertical whitespace. */
.welcome-section{padding-top:34px;padding-bottom:34px;row-gap:12px}
.welcome-section h2{font-size:clamp(28px,3vw,36px);margin-bottom:0}
.welcome-section>div p{margin-top:14px;margin-bottom:0;line-height:1.65}
.welcome-section>.text-link{margin-top:0;align-self:start}
@media(max-width:800px){.welcome-section{padding-top:28px;padding-bottom:28px;gap:12px}.welcome-section h2{font-size:30px}}
@media(max-width:560px){.welcome-section{padding-top:24px;padding-bottom:24px}.welcome-section h2{font-size:28px}}
.visit-lodge-logo{display:block;width:92px;height:85px;object-fit:contain;background:#f8f6f0;border-radius:5px;padding:8px;margin:0 auto 20px}
@media(max-width:560px){.visit-lodge-logo{width:66px;height:61px;float:right;margin:6px 0 12px 15px}}
.site-footer .footer-grid h2{font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.5;letter-spacing:normal;margin-bottom:18px}
.site-footer .footer-grid>div>a:not(.brand){font-size:13px;line-height:1.7;letter-spacing:normal}
/* Shared lodge photograph until individual room photos are managed in admin. */
.room-card-photo{position:relative;isolation:isolate;overflow:hidden;background:#172b25;color:#fff;min-height:340px;border-color:#40534a}
.room-card-photo .room-card-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.room-card-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(10,25,20,.82),rgba(10,25,20,.64));z-index:-1;pointer-events:none}
.room-card-photo h3,.room-card-photo .room-rate strong,.room-card-photo .room-action{color:#fff}
.room-card-photo .room-number{color:#f5d6ae}
.room-card-photo .room-card-description,.room-card-photo .room-rate span{color:#f1f3ef}
.room-card-photo .bed-tag{background:#f3f1e8;color:#243d35}
.room-card-photo .room-action{border-color:#ffffff59}
.room-card-photo .room-action:hover{color:#ffe0ad}
.room-card-photo .room-action:focus-visible{outline:2px solid #ffe0ad;outline-offset:5px}

/* ── Logged-in account menu ─────────────────────────────────────────── */
.account-link--logged-in{position:relative;display:inline-flex;align-items:center}
.account-trigger{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--line);border-radius:50px;padding:5px 12px 5px 5px;cursor:pointer;font:inherit;font-size:12px;color:var(--ink);transition:border-color .15s,background .15s}
.account-trigger:hover{border-color:#9baa91;background:#f2f4ed}
.account-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:700;flex-shrink:0;letter-spacing:0}
.account-firstname{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-chevron{flex-shrink:0;color:var(--muted);transition:transform .18s}
.account-trigger[aria-expanded="true"] .account-chevron{transform:rotate(180deg)}
.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 28px #243d3514;z-index:100;overflow:hidden}
.account-dropdown-header{padding:13px 15px 11px;border-bottom:1px solid var(--line);background:#fafaf7}
.account-dropdown-header strong{display:block;font-size:13px;color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.account-dropdown-header small{display:block;font-size:11px;color:var(--muted);margin-top:2px;overflow-wrap:anywhere}
.account-dropdown-item{display:flex;align-items:center;gap:9px;width:100%;padding:11px 15px;font-size:12px;color:var(--ink);background:transparent;border:none;cursor:pointer;text-align:left;transition:background .12s;text-decoration:none;font-family:inherit}
.account-dropdown-item:hover{background:#f2f4ed;color:var(--green)}
.account-dropdown-signout{border-top:1px solid var(--line);color:#922d20}
.account-dropout-signout:hover{background:#fef2f0}
.account-logout-form{margin:0;padding:0}
/* Mobile: show avatar-only in tight nav */
@media(max-width:1100px){.account-firstname,.account-chevron{display:none}.account-trigger{padding:5px}}
@media(max-width:800px){.account-firstname,.account-chevron{display:inline-flex}}

/* ── Guest dashboard (My Bookings) ─────────────────────────────────── */
.guest-dashboard{padding:8px 0 60px}
.guest-dashboard-header{display:flex;align-items:center;gap:16px;padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:32px}
.guest-dashboard-avatar{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;font-size:22px;font-weight:700;flex-shrink:0}
.guest-dashboard-name{font-family:var(--serif);font-size:26px;margin:0;color:var(--ink)}
.guest-dashboard-email{font-size:13px;color:var(--muted);margin:2px 0 0}
.guest-signout-form{margin-left:auto}
.guest-signout-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;background:transparent;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:12px;color:#922d20;cursor:pointer;transition:background .12s,border-color .12s}
.guest-signout-btn:hover{background:#fef2f0;border-color:#e4b4b4}
.guest-bookings-section{margin-top:8px}
.guest-bookings-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.guest-bookings-heading h2{font-size:26px;margin:0}
.guest-no-bookings{text-align:center;padding:55px 20px;border:1px dashed var(--line);border-radius:6px;color:var(--muted)}
.guest-no-bookings svg{margin:0 auto 16px;color:var(--line)}
.guest-no-bookings p{font-size:14px;margin-bottom:20px}
.guest-booking-list{display:flex;flex-direction:column;gap:10px}
.guest-booking-card{display:block;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:5px;text-decoration:none;color:var(--ink);transition:border-color .14s,box-shadow .14s}
.guest-booking-card:hover{border-color:#9baa91;box-shadow:0 4px 16px #233d3508;color:var(--ink)}
.guest-booking-ref{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.guest-booking-ref strong{font-size:13px;font-weight:600}
.guest-booking-details{display:flex;align-items:center;gap:18px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.guest-booking-dates{color:var(--muted)}
.guest-booking-total{margin-left:auto;font-weight:600;color:var(--ink);font-size:13px}
/* Status badges */
.bk-status{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 8px;border-radius:20px;text-transform:uppercase;white-space:nowrap}
.bk-status--request-received{background:#eef0e7;color:#4a5c44}
.bk-status--pending-payment{background:#fef3e0;color:#9a5800}
.bk-status--proof-submitted,.bk-status--payment-under-review{background:#e8f0fe;color:#1a56a8}
.bk-status--confirmed{background:#e6f4ea;color:#1a7a3c}
.bk-status--checked-in{background:#254c3e;color:#fff}
.bk-status--checked-out{background:#eef0e7;color:#4a5c44}
.bk-status--cancelled,.bk-status--rejected,.bk-status--expired,.bk-status--no-show{background:#fef2f0;color:#922d20}
@media(max-width:560px){.guest-dashboard-header{flex-wrap:wrap;gap:12px}.guest-signout-form{margin-left:0;width:100%}.guest-signout-btn{width:100%;justify-content:center}.guest-bookings-heading{flex-direction:column;align-items:flex-start;gap:12px}.guest-booking-details{gap:10px}.guest-booking-total{margin-left:0}}