@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--paper:#f9f8f3;--green:#344a3b;--ink:#293e31;--sage:#8d9477;--line:#dedfd3;--muted:#7f8779}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.22}h1{font-size:clamp(46px,4.6vw,76px);letter-spacing:-1.6px}h2{font-size:clamp(32px,3.1vw,49px);letter-spacing:-.8px}em{font-weight:400;color:var(--sage)}p{color:var(--muted)}.wrap{width:88%;max-width:1300px;margin-left:auto;margin-right:auto}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.4px;line-height:1.8;color:var(--sage);display:flex;gap:9px;align-items:center}.dot{width:5px;height:5px;background:var(--sage);display:inline-block;border-radius:50%}.btn{display:inline-flex;background:var(--green);color:white;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--green);padding:16px 23px;font-size:12px;transition:background .2s}.btn:hover{background:#455c47}.btn span{font-size:19px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:12px;border:0;background:transparent;padding:8px 0;border-bottom:1px solid #a6ac98;cursor:pointer}.text-link span{font-size:19px}header{display:flex;justify-content:space-between;align-items:center;width:88%;max-width:1300px;height:110px;margin:auto;border-bottom:1px solid var(--line);gap:30px}.brand{display:inline-block;font-size:25px;font-weight:600;letter-spacing:5px;line-height:1;text-align:center}.brand span{display:block;font-size:17px;letter-spacing:8px;padding-left:6px;margin-top:7px}nav{display:flex;gap:34px;align-items:center}nav a{font-size:12px;color:#737d6c}nav a:hover,nav a[aria-current=page]{color:var(--green)}nav a[aria-current=page]:after{content:'';display:block;height:1px;background:var(--sage);margin-top:4px}.header-book{padding:12px 19px;font-size:11px}.menu{display:none}.hero{position:relative;display:grid;grid-template-columns:1fr 1.02fr;gap:3%;padding-top:40px;padding-bottom:90px;min-height:700px}.hero-copy{padding:40px 0 85px}.hero h1{margin:25px 0}.intro{line-height:1.9;font-size:14px;margin:25px 0 30px}.hero .btn{margin-top:4px}.hero-more{display:block;font-size:11px;margin-top:22px;color:var(--muted)}.hero-more span{margin-left:25px}.hero-note{font-size:9px;letter-spacing:1.5px;color:var(--sage);display:flex;align-items:center;gap:8px;margin-top:40px}.hero-note svg{width:16px;height:16px}.hero-image{position:relative;border-radius:240px 240px 3px 3px;overflow:hidden;min-height:530px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:51% 50%}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 65%,#14231655)}.image-stamp{position:absolute;right:24px;bottom:75px;color:#f3efdf;font:20px/1.5 Georgia,serif;z-index:1}.hero-reservation{position:absolute;bottom:40px;left:7%;right:7%;display:flex;align-items:center;background:#fffef9;padding:23px 25px;box-shadow:0 12px 40px #26351e12;border:1px solid #e9e7db;gap:30px;z-index:2}.hero-reservation>div{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--line)}.hero-reservation span{font-size:9px;letter-spacing:1.5px;color:#9a9e8e}.hero-reservation b{font-size:12px;font-weight:400;margin-top:5px}.hero-reservation strong{background:var(--green);color:white;font-weight:400;font-size:12px;padding:15px 20px;display:flex;gap:30px;align-items:center}.hero-reservation strong span{color:white;font-size:19px}.facts{display:grid;grid-template-columns:repeat(5,1fr);padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts div{text-align:center;border-right:1px solid var(--line)}.facts div:last-child{border:0}.facts b{font:25px 'Playfair Display',Georgia,serif;display:block}.facts span{font-size:10px;color:var(--muted);display:block;margin-top:6px}.intro-section{text-align:center;padding:85px 0 65px;max-width:720px}.intro-section .eyebrow{justify-content:center}.intro-section h2{margin:23px 0}.intro-section>p:last-child{max-width:570px;line-height:1.95;margin:25px auto 0;font-size:13px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:25px}.section-head h2{margin:15px 0 0}.section-head>.text-link{margin-bottom:4px;white-space:nowrap}.gallery-section{padding:30px 0 85px}.mosaic{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:225px 225px;gap:14px}.photo-tile{border:0;padding:0;position:relative;background:#e7e8de;overflow:hidden;display:block;width:100%;height:100%;text-align:left}.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-tile:hover img{transform:scale(1.035)}.photo-tile>span{position:absolute;bottom:15px;right:15px;width:29px;height:29px;border-radius:50%;background:#ffffffe0;display:grid;place-content:center;font-size:20px;line-height:1}.mosaic .tall{grid-row:span 2}.equipment{padding:70px 0;background:#eff0e7}.equipment .section-head{justify-content:center;text-align:center}.equipment .eyebrow{justify-content:center}.equipment h2{font-size:38px}.features{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px}.feature{text-align:center;padding:30px 15px;border-bottom:1px solid #d8ddcc;border-right:1px solid #d8ddcc}.feature:nth-child(4n){border-right:0}.feature:nth-last-child(-n+4){border-bottom:0}.feature svg{width:30px;height:30px;color:#839271;margin:auto}.feature h3{font-size:20px;margin:15px 0 7px}.feature p{font-size:10px;margin:0}.booking-section{padding:80px 0}.booking-embed{border:1px solid var(--line);background:#f0f0e5;min-height:310px}.booking-placeholder{text-align:center;padding:45px 20px}.booking-placeholder .eyebrow{justify-content:center}.booking-placeholder h3{font-size:30px;margin:15px 0}.booking-placeholder p{font-size:12px}.booking-placeholder .btn{margin-top:12px}.booking-placeholder>.text-link{display:block;max-width:max-content;margin:15px auto 0;font-size:10px;border:0}.booking-embed iframe{border:0;width:100%;min-height:760px;display:block;background:white}.destination{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding:30px 0 80px}.destination-image{height:500px;overflow:hidden;border-radius:3px 3px 180px 3px}.destination-image img{width:100%;height:100%;object-fit:cover}.destination-copy h2{margin:23px 0}.destination-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;max-width:390px}.destination-copy .text-link{margin-top:18px}.reviews{text-align:center;padding:25px 0 70px;border-bottom:1px solid var(--line)}.reviews .eyebrow{justify-content:center}.reviews h2{margin:20px 0}.review-symbol{font:90px/1 Georgia,serif;color:#a3aa8c;height:75px;margin-top:25px}.reviews p{font-size:13px}.reviews .text-link{margin:15px auto}.review-fallback{display:block;font-size:10px;color:var(--muted);margin-top:10px}.faq-section{display:grid;grid-template-columns:.8fr 1.4fr;gap:10%;padding:80px 0;border-bottom:1px solid var(--line)}.faq-heading h2{margin:20px 0}.faq-heading>p:not(.eyebrow){font-size:12px;line-height:1.9}.faq-heading .text-link{margin-top:12px}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:21px 0;cursor:pointer;font-size:12px;gap:20px}summary::-webkit-details-marker{display:none}summary>span{font-size:22px;font-weight:400;color:#8f987b}details[open] summary>span{transform:rotate(45deg)}.answer{font-size:12px;color:var(--muted);line-height:1.95;padding:0 18px 18px 0;overflow-wrap:anywhere}.answer ul{padding-left:18px}.answer li{margin:8px 0}.answer p{color:inherit}.answer a{border-bottom:1px solid #b3bba7}.arrival{padding-top:70px;border:0}.closing{height:430px;position:relative;display:grid;place-items:center;text-align:center;margin-top:20px;overflow:hidden}.closing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 65%}.closing:after{content:'';position:absolute;inset:0;background:#16261c80}.closing>div{z-index:1;color:white}.closing .eyebrow{color:#dedec9;justify-content:center}.closing h2{font-size:49px;margin:20px 0 26px}.closing em{color:#d0d5bf}.btn.light{background:#f6f3e7;color:#344a3b;border-color:transparent}footer{background:#f0f0e7;padding:60px 6% 20px}.foot-top{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:8%;padding-bottom:45px}.foot-top>div>.brand{margin:5px 0 10px}.foot-top p:not(.eyebrow){font:17px Georgia,serif;color:#8d967c}.foot-top .eyebrow{font-size:9px;margin-bottom:23px}.foot-top div>a:not(.brand){display:block;font-size:11px;color:#75816b;margin-bottom:7px}.foot-top small{display:block;font-size:9px;color:#929a84;margin-top:18px}.foot-bottom{max-width:1300px;margin:auto;border-top:1px solid #dcded0;padding-top:20px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:9px;color:#929986}.foot-bottom>div{display:flex;gap:25px}.foot-bottom>span:last-child{letter-spacing:1.5px}.page-title{padding:65px 0 40px;max-width:1300px}.page-title h1{font-size:clamp(39px,4.2vw,65px);margin:24px 0}.page-title>p:not(.eyebrow){font-size:13px}.category-nav{display:flex;gap:12px;margin-top:35px;flex-wrap:wrap}.category-nav a{font-size:11px;border:1px solid #d8dccd;border-radius:30px;padding:9px 20px}.category-nav a:hover{background:var(--green);color:white}.gallery-group{padding:20px 0 40px}.gallery-group .section-head h2{font-size:34px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.photo-grid .photo-tile{height:290px}.photo-grid .photo-tile:nth-child(5n+1){grid-row:span 2;height:595px}.center-cta{text-align:center;padding:20px 0 75px}.center-cta h2{font-size:39px}.place-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding:30px 0 60px}.place-section>img{width:100%;height:410px;object-fit:cover;border-radius:3px 130px 3px 3px}.place-section h2{font-size:46px;margin:17px 0}.place-section h3{font-size:23px;color:var(--sage)}.place-section p:not(.eyebrow){font-size:13px;line-height:1.9}.place-section .text-link{margin-top:15px}.place-section.reverse>img{order:2}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:60px 0 80px;align-items:center}.contact-page h1{font-size:clamp(40px,4.4vw,65px)}.contact-page>img{width:100%;height:650px;object-fit:cover;border-radius:220px 220px 3px 3px}.contact-list{margin:30px 0}.contact-list a{display:block;font-size:18px;font-family:'Playfair Display',Georgia,serif;margin-bottom:20px}.contact-list span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:1.5px;color:var(--sage);margin-bottom:9px}.booking-page{padding:15px 0 30px}.booking-benefits{display:flex;gap:20px;justify-content:center;font-size:10px;color:var(--muted);margin-top:23px}.mobile-book{display:none}.skip{position:fixed;top:-80px;left:10px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.lightbox{padding:0;background:#122018ed;border:0;max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;color:white;overflow:hidden}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#122018}.lightbox figure{margin:30px;max-width:85vw}.lightbox img{max-height:80dvh;max-width:80vw;object-fit:contain;margin:auto}.lightbox figcaption{text-align:center;margin:15px;font-size:12px;color:#d6ddcf}.lightbox button{position:absolute;background:none;border:0;color:white;font-family:Arial}.lightbox .close{right:24px;top:15px;font-size:34px}.lightbox .prev{left:20px;font-size:55px}.lightbox .next{right:20px;font-size:55px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #af9f61;outline-offset:5px}@media(min-width:1600px){.hero{min-height:770px}.hero-image{min-height:600px}.hero-copy{padding-top:65px}}@media(max-width:1000px){nav{gap:20px}header{gap:20px}.hero h1{font-size:55px}.hero-copy{padding-top:25px}.hero-image{min-height:500px}.hero-reservation{left:3%;right:3%;gap:15px;padding:18px}.hero-reservation strong{gap:18px;padding:12px 15px}.hero-reservation b{font-size:11px}.mosaic{grid-template-rows:190px 190px}.equipment h2{font-size:33px}.destination{gap:7%}.destination-image{height:430px}.photo-grid .photo-tile{height:230px}.photo-grid .photo-tile:nth-child(5n+1){height:475px}.place-section>img{height:350px}.foot-top{gap:4%}}@media(max-width:720px){.wrap,header{width:88%}header{height:85px;gap:15px;position:relative}.brand{font-size:21px;letter-spacing:4px}.brand span{font-size:14px;letter-spacing:7px}.header-book{margin-left:auto;font-size:10px;padding:9px 12px;gap:13px}.menu{display:flex;width:25px;padding:4px 0;background:none;border:0;flex-direction:column;gap:6px}.menu span{height:1px;background:var(--green);width:100%}nav{display:none;position:absolute;top:84px;left:-7%;right:-7%;z-index:6;background:var(--paper);padding:30px 8%;border-bottom:1px solid var(--line);box-shadow:0 12px 15px #2738200a;flex-direction:column;align-items:start;gap:24px}nav.open{display:flex}nav a{font-size:15px}.hero{padding-top:25px;grid-template-columns:1fr;gap:20px;padding-bottom:145px;min-height:0}.hero-copy{padding:10px 0 0}.hero h1{font-size:53px;margin:20px 0}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.7px}.intro{font-size:12px;line-height:1.9;margin:22px 0}.hero-copy>.btn{display:none}.hero-more{margin-top:20px}.hero-note{display:none}.hero-image{height:400px;min-height:0;border-radius:170px 170px 3px 3px}.hero-image img{object-position:center}.image-stamp{bottom:35px;font-size:17px}.hero-reservation{left:4%;right:4%;bottom:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;box-shadow:0 7px 28px #26351e15}.hero-reservation>div:nth-child(2){border:0;padding-left:10px}.hero-reservation b{font-size:10px}.hero-reservation span{font-size:8px}.hero-reservation strong{grid-column:span 2;justify-content:center;font-size:11px;padding:12px;gap:25px}.facts{grid-template-columns:repeat(5,1fr);padding:22px 0}.facts b{font-size:18px}.facts span{font-size:8px;line-height:1.5;padding:0 3px}.intro-section{padding:50px 0 30px}.eyebrow{font-size:8px;letter-spacing:1.8px}h2{font-size:33px}.intro-section h2{font-size:32px}.intro-section>p:last-child{font-size:12px;line-height:1.9}.section-head{gap:15px}.section-head h2{font-size:30px;margin-top:12px}.section-head>.text-link{font-size:9px;gap:10px}.gallery-section{padding:25px 0 50px}.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:230px 165px 165px;gap:9px}.mosaic .tall{grid-row:auto;grid-column:span 2}.photo-tile>span{width:23px;height:23px;font-size:17px;bottom:10px;right:10px}.equipment{padding:40px 0}.equipment h2{font-size:30px}.features{grid-template-columns:repeat(2,1fr);margin-top:25px}.feature{padding:25px 6px}.feature:nth-child(2n){border-right:0}.feature:nth-last-child(-n+4){border-bottom:1px solid #d8ddcc}.feature:nth-last-child(-n+2){border-bottom:0}.feature h3{font-size:18px}.feature p{font-size:9px}.feature svg{width:27px;height:27px}.booking-section{padding:45px 0}.booking-placeholder{padding:30px 20px}.booking-placeholder h3{font-size:26px}.booking-placeholder p{font-size:11px}.booking-placeholder .btn{font-size:10px;padding:13px 17px}.destination{grid-template-columns:1fr;gap:30px;padding:10px 0 45px}.destination-image{height:330px;border-radius:3px 3px 120px 3px}.destination-copy h2{font-size:34px}.destination-copy>p:not(.eyebrow){font-size:12px}.reviews{padding:20px 0 45px}.reviews h2{font-size:32px}.faq-section{grid-template-columns:1fr;gap:20px;padding:45px 0}.faq-heading h2 br{display:none}.faq-heading h2{font-size:32px}.faq-heading>p:not(.eyebrow){font-size:11px}.faq-heading>p br{display:none}.faq-heading .text-link{margin-top:0}summary{font-size:11px;padding:18px 0}.answer{font-size:11px}.arrival{padding-top:30px}.closing{height:360px;margin:0}.closing h2{font-size:40px}.closing .eyebrow{font-size:8px}.closing .btn{font-size:11px}footer{padding-top:40px;padding-bottom:85px}.foot-top{grid-template-columns:1fr 1fr;gap:30px 20px}.foot-top>div:first-child{grid-column:span 2}.foot-top p:not(.eyebrow){font-size:15px}.foot-top .eyebrow{font-size:8px;margin-bottom:16px}.foot-top div>a:not(.brand){font-size:10px}.foot-bottom{flex-wrap:wrap;gap:15px;font-size:8px}.foot-bottom>span:last-child{width:100%;font-size:7px;letter-spacing:1.7px}.foot-bottom>div{gap:15px}.mobile-book{display:flex;align-items:center;justify-content:center;gap:40px;position:fixed;bottom:0;left:0;right:0;background:var(--green);color:white;padding:15px;z-index:5;font-size:12px;border-top:1px solid #fff2}.page-title{padding:40px 0 25px}.page-title h1{font-size:40px;letter-spacing:-1px}.page-title>p:not(.eyebrow){font-size:12px}.category-nav{gap:7px;margin-top:25px}.category-nav a{font-size:10px;padding:7px 14px}.gallery-group{padding:15px 0 25px}.gallery-group .section-head h2{font-size:29px}.photo-grid{grid-template-columns:1fr 1fr;gap:9px}.photo-grid .photo-tile{height:185px}.photo-grid .photo-tile:nth-child(5n+1){height:379px}.center-cta{padding:15px 0 45px}.center-cta h2{font-size:33px}.place-section{grid-template-columns:1fr;gap:25px;padding:15px 0 45px}.place-section.reverse>img{order:0}.place-section>img{height:300px;border-radius:3px 95px 3px 3px}.place-section h2{font-size:37px}.place-section h3{font-size:21px}.place-section p:not(.eyebrow){font-size:12px}.contact-page{grid-template-columns:1fr;gap:40px;padding:40px 0 50px}.contact-page h1{font-size:44px}.contact-page>img{height:380px;border-radius:170px 170px 3px 3px}.contact-page>div>p:not(.eyebrow){font-size:12px}.contact-list a{font-size:19px}.booking-benefits{flex-direction:column;align-items:center;gap:8px}.lightbox .prev{left:5px;font-size:40px}.lightbox .next{right:5px;font-size:40px}.lightbox figure{margin:15px;max-width:86vw}.lightbox img{max-width:86vw}.lightbox figcaption{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Larger, more comfortable typography across all pages. */
body{font-size:17px}nav a{font-size:16px}.eyebrow{font-size:12px;letter-spacing:2px}.btn,.header-book{font-size:16px;padding:16px 22px}.text-link{font-size:16px}.intro{font-size:18px;line-height:1.85}.hero-more{font-size:16px}.hero-note{font-size:12px}.hero-reservation{gap:24px}.hero-reservation span{font-size:12px}.hero-reservation b{font-size:16px}.hero-reservation strong{font-size:16px;gap:20px}.facts b{font-size:29px}.facts span{font-size:15px}.intro-section>p:last-child{font-size:18px;max-width:670px}.intro-section{max-width:800px}.feature h3{font-size:24px}.feature p{font-size:15px;line-height:1.65}.feature{padding:30px 16px}.booking-placeholder p{font-size:17px}.booking-placeholder>.text-link{font-size:15px}.destination-copy>p:not(.eyebrow){font-size:18px;max-width:460px}.reviews p{font-size:18px}.review-fallback{font-size:15px}.faq-heading>p:not(.eyebrow){font-size:17px}summary{font-size:17px;padding:23px 0;line-height:1.65}.answer{font-size:17px;line-height:1.85}.faq-section{grid-template-columns:.8fr 1.5fr;gap:7%}.foot-top .eyebrow{font-size:12px}.foot-top div>a:not(.brand){font-size:16px;line-height:1.65;margin-bottom:10px}.foot-top small{font-size:14px}.foot-bottom{font-size:13px;flex-wrap:wrap}.foot-bottom>span:last-child{font-size:11px}.page-title>p:not(.eyebrow){font-size:18px}.category-nav a{font-size:16px}.place-section p:not(.eyebrow){font-size:18px}.contact-page>div>p:not(.eyebrow){font-size:18px}.contact-list a{font-size:24px}.contact-list span{font-size:12px}.booking-benefits{font-size:15px;flex-wrap:wrap}.lightbox figcaption{font-size:16px}.hero-copy{padding-top:30px}.hero-note{margin-top:30px}.header-book{gap:18px}header{gap:20px}nav{gap:25px}
@media(max-width:1000px) and (min-width:721px){header{width:92%;gap:15px}nav{gap:15px}nav a{font-size:15px}.header-book{font-size:14px;padding:12px;gap:10px}.hero-reservation{gap:15px;padding:18px}.hero-reservation b{font-size:14px}.hero-reservation strong{font-size:14px;padding:12px}.hero-note{letter-spacing:1px}.hero h1{font-size:53px}.hero-copy{padding-bottom:80px}.feature p{font-size:14px}.hero{min-height:760px}}
@media(max-width:720px){body{font-size:16px}.header-book{font-size:14px;padding:10px 12px;gap:10px}nav a{font-size:18px}.hero-copy>.eyebrow{font-size:11px;letter-spacing:1.3px}.hero h1{font-size:53px}.intro{font-size:17px;line-height:1.8}.hero-more{font-size:16px}.hero{padding-bottom:170px}.hero-reservation{gap:14px;padding:17px;left:0;right:0}.hero-reservation span{font-size:11px}.hero-reservation b{font-size:14px;line-height:1.6}.hero-reservation strong{font-size:16px;padding:14px;gap:20px}.facts{grid-template-columns:repeat(3,1fr);gap:22px 0}.facts div:nth-child(3){border:0}.facts b{font-size:24px}.facts span{font-size:13px;padding:0 6px}.eyebrow{font-size:11px;letter-spacing:1.7px}.intro-section>p:last-child{font-size:17px;line-height:1.85}.section-head{align-items:start;flex-wrap:wrap}.section-head>.text-link{font-size:15px;gap:15px}.feature{padding:25px 10px}.feature h3{font-size:22px}.feature p{font-size:14px}.booking-placeholder p{font-size:16px}.booking-placeholder .btn{font-size:15px;padding:14px 17px}.booking-placeholder>.text-link{font-size:14px}.destination-copy>p:not(.eyebrow){font-size:17px}.reviews p{font-size:17px}.faq-heading>p:not(.eyebrow){font-size:16px}.faq-section{grid-template-columns:1fr;gap:22px}summary{font-size:17px;padding:20px 0}.answer{font-size:16px;line-height:1.85}.closing .eyebrow{font-size:11px}.closing .btn{font-size:16px}.foot-top{grid-template-columns:1fr;gap:25px}.foot-top>div:first-child{grid-column:auto}.foot-top .eyebrow{font-size:12px}.foot-top div>a:not(.brand){font-size:16px}.foot-top small{font-size:13px}.foot-bottom{font-size:12px;line-height:1.8}.foot-bottom>div{flex-wrap:wrap;gap:8px 18px}.foot-bottom>span:last-child{font-size:10px;line-height:1.8}.mobile-book{font-size:17px;padding:16px}.page-title>p:not(.eyebrow){font-size:17px}.category-nav a{font-size:15px;padding:9px 16px}.place-section p:not(.eyebrow){font-size:17px}.contact-page>div>p:not(.eyebrow){font-size:17px}.contact-list a{font-size:23px}.contact-list span{font-size:12px}.booking-benefits{font-size:15px;gap:10px}.lightbox figcaption{font-size:14px}.text-link{font-size:16px}}
@media(max-width:370px){.header-book{font-size:12px;gap:6px;padding:10px}.hero h1{font-size:47px}.hero-reservation b{font-size:13px}.hero-reservation strong{font-size:15px}}

/* Appartman embed: its official script manages the iframe height. */
#appartman-embed-iframe-wrapper{width:100%;max-width:100%;background:#fff}#appartman-embed-iframe{display:block;width:100%;border:0;min-height:760px}.booking-fallback{margin:16px;max-width:calc(100% - 32px)}

/* SVG arrows render consistently, including iOS. */
.arrow-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:-3px;color:inherit}.btn>span[aria-hidden],.hero-reservation strong>span[aria-hidden],.mobile-book>span[aria-hidden],.text-link>span[aria-hidden]{display:inline-flex;align-items:center;line-height:1}.mobile-book .arrow-icon{width:20px;height:20px;flex-basis:20px}

/* Smaller image beside the introduction; preserve the complete photograph. */
.hero{min-height:0;grid-template-columns:1fr 1.08fr;align-items:start;padding-top:40px;padding-bottom:145px}.hero-copy{padding:25px 0 0}.hero-image{min-height:0;height:auto;aspect-ratio:3/2;align-self:center;border-radius:4px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:contain;object-position:center}.hero-image:after{display:none}.hero-reservation{bottom:30px;left:3%;right:3%}
@media(min-width:1600px){.hero{min-height:0}.hero-image{min-height:0}.hero-copy{padding-top:35px}}
@media(max-width:1000px) and (min-width:721px){.hero{min-height:0;grid-template-columns:1fr 1fr;gap:4%;padding-bottom:145px}.hero-image{min-height:0}.hero-copy{padding-bottom:0}.hero h1{font-size:51px}}
@media(max-width:720px){.hero{grid-template-columns:1fr;gap:25px;padding-top:25px;padding-bottom:170px;min-height:0}.hero-copy{padding:10px 0 0}.hero-image{min-height:0;height:auto;aspect-ratio:3/2;border-radius:4px}.hero-image img{object-fit:contain}.hero-reservation{left:0;right:0;bottom:25px}.hero h1{font-size:53px}}
@media(max-width:370px){.hero h1{font-size:47px}}
/* Asymmetric curve and a quiet offset outline frame the main photograph. */
.hero-image{border-radius:4px 110px 4px 4px;overflow:visible;isolation:isolate}.hero-image img{border-radius:inherit;position:relative;z-index:1}.hero-image:before{content:'';position:absolute;inset:-12px 12px 12px -12px;border:1px solid #b0b99f;border-radius:4px 116px 4px 4px;pointer-events:none;z-index:0}.hero-image:after{display:none}
@media(max-width:1000px) and (min-width:721px){.hero-image{border-top-right-radius:85px}.hero-image:before{border-top-right-radius:91px}}
@media(max-width:720px){.hero-image{border-radius:4px 76px 4px 4px;margin-top:10px}.hero-image:before{inset:-9px 9px 9px -9px;border-radius:4px 82px 4px 4px}}
/* Match supplied reference: near-square crop with a broad lower-right curve. */
.hero-image{aspect-ratio:1.18;min-height:0;height:auto;border-radius:4px 4px 30% 4px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:inherit}.hero-image:before,.hero-image:after{display:none}
@media(max-width:1000px) and (min-width:721px){.hero-image{aspect-ratio:1.18;border-radius:4px 4px 30% 4px}}
@media(max-width:720px){.hero-image{aspect-ratio:1.18;height:auto;border-radius:4px 4px 30% 4px}.hero-image img{object-fit:cover;object-position:50% 50%}}
/* Shared spacing rhythm; the reservation bar participates in document flow. */
:root{--section-space:88px;--content-gap:36px}.hero{align-items:center;column-gap:5%;row-gap:44px;padding:48px 0 44px;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);min-height:0}.hero-copy{padding:0;min-width:0}.hero-image{width:100%;min-width:0;align-self:center}.hero-reservation{position:static;grid-column:1/-1;inset:auto;margin:0;width:100%;padding:26px 30px;gap:30px;box-shadow:0 8px 28px #26351e08;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.hero-reservation>div{padding-right:24px;min-width:0}.hero-reservation strong{white-space:nowrap;padding:17px 24px}.facts{padding:30px 0}.intro-section{padding:var(--section-space) 0 52px}.section-head{margin-bottom:var(--content-gap)}.gallery-section{padding:32px 0 var(--section-space)}.equipment{padding:72px 0}.features{margin-top:36px}.booking-section{padding:var(--section-space) 0}.destination{padding:0 0 var(--section-space);gap:9%;align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.destination-copy h2{margin:22px 0 26px}.destination-copy .text-link{margin-top:22px}.reviews{padding:0 0 72px}.reviews h2{margin-bottom:30px}.reviews #reviews{margin-top:20px}.faq-section{padding:var(--section-space) 0;gap:8%;grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr)}.faq-heading h2{margin:20px 0 26px}.arrival{padding-top:72px}.closing{margin-top:0}.page-title{padding:64px 0 44px}.gallery-group{padding:24px 0 48px}.place-section{padding:24px 0 72px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-page{padding:64px 0 var(--section-space);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.booking-page{padding:0 0 32px}.foot-top{gap:6%;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr)}.foot-top a{overflow-wrap:anywhere}.btn{min-height:48px}.answer{overflow-wrap:anywhere}
@media(max-width:1000px) and (min-width:721px){.hero{padding:40px 0;row-gap:36px;column-gap:5%;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero-copy{padding:0}.hero-reservation{gap:18px;padding:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.hero-reservation b{font-size:14px}.hero-reservation strong{font-size:14px;padding:15px}.hero-reservation>div{padding-right:12px}.hero h1{font-size:50px}.hero .intro br{display:none}.hero-note{font-size:11px;letter-spacing:.8px}.features{grid-template-columns:repeat(3,1fr)}.feature:nth-child(4n){border-right:1px solid #d8ddcc}.feature:nth-child(3n){border-right:0}.feature:nth-last-child(-n+4){border-bottom:1px solid #d8ddcc}.feature:nth-last-child(-n+3){border-bottom:0}}
@media(max-width:720px){:root{--section-space:56px;--content-gap:26px}.hero{padding:30px 0 32px;grid-template-columns:minmax(0,1fr);row-gap:32px;min-height:0}.hero-copy{padding:0}.hero-image{margin:0;aspect-ratio:1.18}.hero-reservation{position:static;grid-column:1;inset:auto;margin:4px 0 0;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:22px 18px;gap:20px 14px;box-shadow:0 6px 20px #26351e08}.hero-reservation>div{padding:0 12px 0 0}.hero-reservation>div:nth-child(2){border:0;padding-left:6px;padding-right:0}.hero-reservation span{font-size:11px;line-height:1.7}.hero-reservation b{font-size:14px;line-height:1.6;margin-top:6px}.hero-reservation strong{grid-column:1/-1;padding:15px;font-size:16px;justify-content:center;white-space:normal;text-align:center}.facts{padding:26px 0;row-gap:24px}.intro-section{padding:var(--section-space) 0 30px}.section-head{margin-bottom:26px;gap:18px}.section-head h2{margin-top:10px}.gallery-section{padding:24px 0 var(--section-space)}.equipment{padding:48px 0}.features{margin-top:24px}.booking-section{padding:var(--section-space) 0}.destination{padding:0 0 var(--section-space);grid-template-columns:minmax(0,1fr);gap:30px}.destination-copy h2{margin:18px 0 22px}.destination-copy .text-link{margin-top:18px}.reviews{padding:0 0 48px}.reviews h2{margin-bottom:24px}.faq-section{padding:var(--section-space) 0;grid-template-columns:minmax(0,1fr);gap:28px}.faq-heading h2{margin:16px 0 20px}.arrival{padding-top:44px}.closing{margin-top:0}.page-title{padding:42px 0 30px}.gallery-group{padding:20px 0 36px}.photo-grid{gap:12px}.photo-grid .photo-tile{height:185px}.photo-grid .photo-tile:nth-child(5n+1){height:382px}.place-section{padding:14px 0 48px;grid-template-columns:minmax(0,1fr);gap:26px}.contact-page{padding:42px 0 56px;grid-template-columns:minmax(0,1fr);gap:36px}.contact-list{margin:30px 0 36px}.booking-page{padding:0 0 24px}.booking-benefits{margin-top:24px;gap:10px;text-align:center}.foot-top{grid-template-columns:minmax(0,1fr);gap:30px}.foot-bottom{row-gap:18px}.booking-fallback{line-height:1.7}.hero h1{font-size:clamp(44px,12.3vw,53px)}}
@media(max-width:370px){.hero-reservation{padding:20px 14px;column-gap:10px}.hero-reservation b{font-size:13px}.hero-reservation strong{font-size:15px}.facts b{font-size:22px}}

/* Six highlights, in reading order on every screen size. */
.facts{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:0}.facts>div{padding:8px 14px;border-right:1px solid var(--line)}.facts>div:last-child{border-right:0}.facts b{font-size:clamp(21px,1.9vw,29px);line-height:1.3}.facts span{font-size:14px;line-height:1.65;margin-top:9px;padding:0}
@media(max-width:1100px) and (min-width:721px){.facts{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}.facts>div:nth-child(3n){border-right:0}.facts b{font-size:26px}}
@media(max-width:720px){.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0;padding:26px 0}.facts>div{padding:6px 12px;border-right:1px solid var(--line)}.facts>div:nth-child(3){border-right:1px solid var(--line)}.facts>div:nth-child(2n){border-right:0}.facts b{font-size:25px}.facts span{font-size:14px;line-height:1.6;margin-top:8px}}

/* Keep section rhythm after removing the homepage booking embed. */
.equipment+.destination{padding-top:var(--section-space)}

.intro-section>p:last-child{max-width:670px;text-wrap:balance}@media(max-width:720px){.intro-section>p:last-child{font-size:16px;line-height:1.8;max-width:100%}}

/* Keep word boundaries when responsive line breaks disappear. */
.hero .intro>span{display:block}.hero .intro>span+span{margin-top:10px}@media(max-width:720px){.hero .intro{font-size:17px;line-height:1.75;max-width:100%;text-wrap:balance}.hero .intro>span{max-width:34ch;text-wrap:balance}.hero .intro>span+span{margin-top:12px}.faq-heading h2{text-wrap:balance}.faq-heading>p:not(.eyebrow){text-wrap:pretty;line-height:1.8}.faq-heading h2 br{display:block}}
/* Mobile opening follows the supplied image-first reference. */
@media(max-width:720px){.hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:24px 0 36px}.hero>.hero-image{order:1;width:100%;aspect-ratio:1.07;height:auto;margin:0;border-radius:4px 4px 30% 4px}.hero>.hero-copy{order:2;width:100%;padding:0;margin-top:42px}.hero-copy>.eyebrow{font-size:11px;letter-spacing:1.8px;margin:0 0 24px}.hero h1{font-size:clamp(43px,11.5vw,50px);line-height:1.22;margin:0 0 28px;letter-spacing:-1px}.hero .intro{font-size:17px;line-height:1.85;margin:0;text-wrap:pretty}.hero .intro>span{max-width:none;text-wrap:pretty}.hero .intro>span+span{margin-top:10px}.hero-more{margin-top:28px;font-size:15px;line-height:1.8}.hero>.hero-reservation{order:3;margin-top:36px;width:100%}.destination-image{aspect-ratio:1.07;height:auto;border-radius:4px 4px 30% 4px}.destination{gap:42px}.destination-copy>.eyebrow{margin:0 0 24px}.destination-copy h2{margin:0 0 28px;font-size:34px;line-height:1.25}.destination-copy>p:not(.eyebrow){line-height:1.9;margin:0}.destination-copy .text-link{margin-top:28px}}
/* Shorter mobile page: move directly from highlights to the gallery. */
@media(max-width:720px){#bemutatkozas{display:none}.facts+#bemutatkozas+.gallery-section{padding-top:40px}}

/* Section rhythm for reviews before the destination introduction. */
.equipment+.reviews{padding-top:var(--section-space)}.reviews+.destination{padding-top:var(--section-space)}

/* Custom vector wordmark with a delicate hill motif. */
.brand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:normal;line-height:1}.brand img{display:block;width:126px;height:auto}.foot-top>.brand,.foot-top>div>.brand{margin:0 0 18px}.foot-top .brand img{width:172px}header{height:120px}@media(max-width:720px){header{height:100px}.brand img{width:105px}.foot-top .brand img{width:158px}nav{top:99px}}@media(max-width:370px){.brand img{width:92px}}
/* Mobile hero: title, photograph, then descriptive copy. */
@media(max-width:720px){.hero>.hero-copy{display:contents}.hero-copy>.eyebrow{order:1;margin:0 0 24px}.hero-copy>h1{order:2;margin:0 0 30px}.hero>.hero-image{order:3;margin:0 0 30px}.hero-copy>.intro{order:4;margin:0}.hero-copy>.hero-more{order:5;margin:26px 0 0}.hero>.hero-reservation{order:6;margin-top:34px}}

/* Softer, deliberately composed copy below the mobile photograph. */
@media(max-width:720px){.hero-copy>.intro{align-self:center;width:100%;max-width:34ch;text-align:center;font-size:17px;line-height:1.8;margin:3px auto 0;text-wrap:balance}.hero .intro>span{max-width:none}.hero .intro .intro-location{display:block}.hero .intro>span+span{margin-top:14px}.hero-copy>.hero-more{align-self:center;text-align:center;margin-top:24px}.hero-more span{margin-left:16px}}
/* Align reservation labels and values from the top, independent of wrapping. */
.hero-reservation{align-items:start}.hero-reservation>div{align-self:stretch;justify-content:flex-start}.hero-reservation>div>span{display:block;line-height:1.7;margin:0}.hero-reservation>div>b{display:block;margin-top:8px;line-height:1.6}
@media(max-width:720px){.hero-copy>.intro{align-self:stretch;max-width:none;text-align:left;margin:3px 0 0;text-wrap:pretty}.hero .intro>span{position:relative;padding-left:16px;text-wrap:pretty}.hero .intro>span:before{content:'';position:absolute;left:0;top:.82em;width:4px;height:4px;border-radius:50%;background:var(--sage)}.hero .intro .intro-location{display:inline}.hero .intro>span+span{margin-top:10px}.hero-copy>.hero-more{align-self:flex-start;text-align:left}.hero-reservation{align-items:start}.hero-reservation>div{justify-content:flex-start;align-self:stretch}.hero-reservation>div>span{font-size:11px;line-height:1.7;margin:0}.hero-reservation>div>b{margin-top:8px;font-size:14px;line-height:1.6}}

/* A welcoming photo introduces useful information. */
.faq-photo{display:block;width:100%;aspect-ratio:1.4;object-fit:cover;object-position:center;border-radius:4px 4px 28% 4px;margin:0 0 32px}
@media(max-width:720px){.faq-photo{aspect-ratio:1.18;margin-bottom:32px}footer{text-align:center}.foot-top{justify-items:center}.foot-top>div{width:100%;text-align:center}.foot-top .eyebrow{justify-content:center}.foot-top .brand{display:inline-flex;margin-left:auto;margin-right:auto}.foot-bottom{justify-content:center;text-align:center;flex-direction:column;gap:16px}.foot-bottom>div{justify-content:center}.foot-bottom>span:last-child{width:100%}.foot-top div>a:not(.brand){margin-left:auto;margin-right:auto;max-width:100%}}

/* Supplied Relax Hill logo and mobile-only information photo */
.brand img{height:auto;mix-blend-mode:multiply}
.faq-photo{display:none}
@media(max-width:700px){.faq-photo{display:block}}

.legal-page{padding-top:70px;padding-bottom:100px;max-width:1000px}.legal-page h1{font-size:clamp(40px,6vw,70px);margin:24px 0 50px}.legal-page article{max-width:780px}.legal-page article h2{font-size:30px;margin:36px 0 22px}.legal-page article p,.legal-page article li{font-size:17px;line-height:1.85;color:#5f695f;overflow-wrap:anywhere}.legal-page article p{margin:0 0 20px}.legal-page article ul{padding-left:24px;margin:20px 0}.legal-page article a{ text-decoration:underline}@media(max-width:700px){.legal-page{padding-top:40px;padding-bottom:65px}.legal-page h1{margin-bottom:32px}.legal-page article p,.legal-page article li{font-size:16px;line-height:1.8}}

.brand img{mix-blend-mode:normal}

/* Mobile opening: photograph first, followed by all introductory text. */
@media(max-width:720px){.hero>.hero-image{order:0;margin:0 0 42px}.hero-copy>.eyebrow{order:1}.hero-copy>h1{order:2}.hero-copy>.intro{order:3}.hero-copy>.hero-more{order:4}.hero>.hero-reservation{order:5}}

/* Supplied white stamp overlays the darker upper-right corner of the hero. */
.hero-image .hero-badge{position:absolute;z-index:2;top:22px;right:22px;width:116px;height:116px;object-fit:contain;border-radius:0;pointer-events:none;filter:drop-shadow(0 2px 5px #0004)}
@media(max-width:720px){.hero-image .hero-badge{top:16px;right:16px;width:94px;height:94px}}
@media(max-width:370px){.hero-image .hero-badge{width:80px;height:80px;top:12px;right:12px}}

/* Badge: 30 percent smaller, tilted 25 degrees counterclockwise. */
.hero-image .hero-badge{width:81.2px;height:81.2px;transform:rotate(-25deg);transform-origin:center}
@media(max-width:720px){.hero-image .hero-badge{width:65.8px;height:65.8px}}
@media(max-width:370px){.hero-image .hero-badge{width:56px;height:56px}}

/* Black ink stamp beneath the footer tagline. */
.foot-top .footer-badge{display:block;width:81.2px;height:81.2px;object-fit:contain;margin:30px 0 12px;filter:brightness(0);transform:rotate(-25deg);transform-origin:center}
@media(max-width:720px){.foot-top .footer-badge{width:65.8px;height:65.8px;margin:28px auto 12px}}
@media(max-width:370px){.foot-top .footer-badge{width:56px;height:56px}}

/* FAQ rows use the same 8px text-to-rule spacing as the destination link. */
.accordion summary{padding-top:8px;padding-bottom:8px}

/* A deliberate desktop line break; mobile keeps natural wrapping. */
.intro-desktop-break{display:none}@media(min-width:721px){.intro-desktop-break{display:block}}

/* Guest count and its note form two balanced lines on mobile. */
.hero-reservation b .guest-separator,.hero-reservation b .guest-note{font:inherit;letter-spacing:inherit;color:inherit}
@media(max-width:720px){.hero-reservation b .guest-separator{display:none}.hero-reservation b .guest-note{display:block}}

/* Supplied matching badges: a row in the footer and a stack on the hero. */
.footer-badges{display:flex;align-items:center;gap:28px;margin:32px 0 14px;width:max-content;max-width:100%}
.footer-badges .badge-round{width:100px;height:100px;object-fit:contain;transform:rotate(-40deg);flex:none;filter:brightness(0)}
.badge-seasons{display:block;position:relative;overflow:hidden;width:125px;aspect-ratio:1.48;flex:none}
.badge-seasons img{position:absolute;top:-8%;left:-3%;width:116%;max-width:none;height:auto;object-fit:contain;border-radius:0}
.footer-badges .badge-seasons{filter:brightness(0)}
.hero-badges{position:absolute;z-index:3;top:20px;right:26px;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;filter:brightness(0) invert(1) drop-shadow(0 2px 4px #0005)}
.hero-image .hero-badges .badge-round{position:static;inset:auto;display:block;align-self:center;margin:0 auto;width:90px;height:90px;object-fit:contain;border-radius:0;transform:rotate(-40deg);transform-origin:center}
.hero-badges .badge-seasons{width:105px}
.hero-image .hero-badges .badge-seasons img{position:absolute;top:-8.056%;left:-2.847%;width:116.135%;max-width:none;height:auto;object-fit:contain;border-radius:0}
@media(max-width:720px){.footer-badges{margin:30px auto 14px;gap:24px}.footer-badges .badge-round{width:84px;height:84px}.footer-badges .badge-seasons{width:108px}.hero-badges{top:14px;right:16px;gap:8px}.hero-image .hero-badges .badge-round{width:66px;height:66px}.hero-badges .badge-seasons{width:80px}}
@media(max-width:370px){.hero-badges{top:12px;right:12px;gap:7px}.hero-image .hero-badges .badge-round{width:56px;height:56px}.hero-badges .badge-seasons{width:68px}}

/* Main logo: original alpha silhouette in the exact established brand green. */
header .brand,.foot-top .brand{display:inline-block;width:144px;height:92px;flex-shrink:0;background:var(--green);-webkit-mask:url('/assets/relax-hill-geometric-logo.png') 50% 63.78%/109.52% 148.41% no-repeat;mask:url('/assets/relax-hill-geometric-logo.png') 50% 63.78%/109.52% 148.41% no-repeat}
header .brand img,.foot-top .brand img{width:100%;height:100%;opacity:0}
.foot-top .brand{width:172px;height:110px}
/* Align visible artwork, excluding transparent margins in the supplied PNG. */
.badge-seasons{background:#000;-webkit-mask:url('/assets/seasons-badge.png') 17.65% 16.32%/116.135% 149.361% no-repeat;mask:url('/assets/seasons-badge.png') 17.65% 16.32%/116.135% 149.361% no-repeat;aspect-ratio:1159/782}
.badge-seasons img{visibility:hidden}
.hero-badges{align-items:center;justify-content:flex-start}
.hero-badges>.badge-round,.hero-badges>.badge-seasons{align-self:center}
.foot-top .footer-badges{display:flex;flex-direction:row;align-items:center;justify-content:flex-start}
.footer-badges>.badge-round,.footer-badges>.badge-seasons{align-self:center}
@media(max-width:720px){header .brand{width:112px;height:72px}.foot-top .brand{width:158px;height:101px}.foot-top .footer-badges{justify-content:center}}
@media(max-width:370px){header .brand{width:100px;height:64px}}

/* Restore the landscape wordmark, with an enlarged HILL line. */
header .brand,.foot-top .brand{background:none;-webkit-mask:none;mask:none;width:150px;height:auto}
header .brand img,.foot-top .brand img{display:block;width:100%;height:auto;opacity:1}
.foot-top .brand{width:190px}
@media(max-width:720px){header .brand{width:126px;height:auto}.foot-top .brand{width:174px;height:auto}}
@media(max-width:370px){header .brand{width:112px;height:auto}}

/* Badge axes: one centered column above, one vertically centered row below. */
.hero-image .hero-badges{display:grid;grid-template-columns:max-content;grid-auto-flow:row;justify-items:center;align-items:center;width:max-content}
.hero-image .hero-badges>.badge-round,.hero-image .hero-badges>.badge-seasons{grid-column:1;justify-self:center;align-self:center;margin:0}
.foot-top .footer-badges{display:grid;grid-auto-flow:column;grid-template-columns:max-content max-content;grid-template-rows:auto;justify-content:start;align-items:center;justify-items:center;width:max-content}
.foot-top .footer-badges>.badge-round,.foot-top .footer-badges>.badge-seasons{grid-row:1;align-self:center;justify-self:center;margin:0}
@media(max-width:720px){.foot-top .footer-badges{justify-content:center;margin-left:auto;margin-right:auto}}

/* Reference spacing: centered artwork with a balanced clear gap. */
.hero-image .hero-badges{row-gap:30px;top:22px}
.foot-top .footer-badges{column-gap:56px;margin-top:40px}
@media(max-width:720px){.hero-image .hero-badges{row-gap:23px;top:16px}.foot-top .footer-badges{column-gap:40px;margin-top:34px}}
@media(max-width:370px){.hero-image .hero-badges{row-gap:20px;top:14px}.foot-top .footer-badges{column-gap:32px}}

/* One Four Seasons badge replaces each previous pair. */
.hero-image .hero-badges{grid-template-columns:max-content;row-gap:0}
.foot-top .footer-badges{grid-template-columns:max-content;column-gap:0}

/* Equal clearance above and to the right of the single hero badge. */
.hero-image .hero-badges{--badge-inset:26px;top:var(--badge-inset);right:var(--badge-inset)}
@media(max-width:720px){.hero-image .hero-badges{--badge-inset:16px}}
@media(max-width:370px){.hero-image .hero-badges{--badge-inset:12px}}

/* Lift the white hero badge slightly. */
.hero-image .hero-badges{top:calc(var(--badge-inset) - 8px)}

/* Move the white badge closer to the top edge, keeping a small clearance. */
.hero-image .hero-badges{top:max(2px,calc(var(--badge-inset) - 20px))}

/* Footer reference: compact branding and three calm, aligned columns. */
.foot-top{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.15fr);align-items:start;column-gap:9%;padding-bottom:62px}
.foot-top>div:first-child{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.foot-top>div:first-child>.brand{width:150px;height:auto;margin:0 0 14px}
.foot-top>div:first-child>p{font:19px/1.5 Georgia,serif;color:var(--muted);margin:0;text-align:left}
.foot-top>div:first-child>.footer-badges{margin:42px 0 0;justify-content:start}
.foot-top .footer-badges .badge-seasons{width:108px;background:var(--green);filter:none}
.foot-top .eyebrow{margin-top:0;margin-bottom:24px}
.foot-top div>a:not(.brand){margin-bottom:12px}
@media(max-width:720px){.foot-top{grid-template-columns:minmax(0,1fr);gap:34px;padding-bottom:40px}.foot-top>div:first-child{align-items:center;text-align:center}.foot-top>div:first-child>.brand{width:144px;margin:0 auto 12px}.foot-top>div:first-child>p{font-size:18px;text-align:center}.foot-top>div:first-child>.footer-badges{margin:30px auto 0;justify-content:center}.foot-top .footer-badges .badge-seasons{width:102px}}

/* Supplied two-house logo, with whitespace cropped only in its display box. */
header .brand,.foot-top>div:first-child>.brand{position:relative;overflow:hidden;display:block;aspect-ratio:760/400;height:auto;background:var(--paper);-webkit-mask:none;mask:none}
header .brand img,.foot-top .brand img{position:absolute;left:-28.94737%;top:-25%;width:158.68421%;max-width:none;height:140%;object-fit:fill;opacity:1;mix-blend-mode:multiply}
@media(max-width:720px){header .brand,.foot-top>div:first-child>.brand{height:auto}}

/* True transparent PNG: no background or blend treatment required. */
header .brand,.foot-top>div:first-child>.brand{aspect-ratio:auto;height:auto;background:transparent;overflow:visible}
header .brand img,.foot-top .brand img{position:static;left:auto;top:auto;width:100%;max-width:100%;height:auto;object-fit:contain;mix-blend-mode:normal;opacity:1}

/* Booking summary: calendar and two-person line icons. */
.hero-reservation .reservation-icon{display:flex;align-items:center;color:var(--sage);height:26px;letter-spacing:0}
.hero-reservation .reservation-icon svg{display:block;width:24px;height:24px;flex:none}
.hero-reservation>div>b{margin-top:9px}

/* Mobile booking summary is icon-only; desktop retains its original copy. */
.hero-reservation .reservation-icon{display:none}
.hero-reservation>div>b{margin-top:5px}
@media(max-width:720px){
 .hero-reservation .reservation-label,.hero-reservation>div>b{display:none}
 .hero-reservation .reservation-icon{display:flex;justify-content:center;align-items:center;height:40px;color:var(--green)}
 .hero-reservation .reservation-icon svg{width:34px;height:34px}
 .hero-reservation>div{align-items:center;justify-content:center;padding:4px 0}
}

@media(max-width:720px){.hero-reservation .reservation-icon{color:var(--sage)}}

/* Four Seasons shares the calendar icons' sage color in both locations. */
.hero-image .hero-badges{filter:drop-shadow(0 2px 4px #0003)}
.hero-image .hero-badges .badge-seasons,.foot-top .footer-badges .badge-seasons{background:var(--sage);filter:none}

.hero .intro .intro-location-break{display:block}

/* Side-by-side footer reference, with a compact payment row and contact column. */
footer .foot-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:15%;align-items:start;padding-bottom:48px}
.foot-top>.footer-identity{display:block;text-align:left;width:100%}
.footer-brand-row{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;max-width:390px;min-height:120px}
.foot-top .footer-brand-row>.brand{display:block;position:static;flex:none;width:170px;height:auto;aspect-ratio:auto;background:none;margin:0;overflow:visible}
.foot-top .footer-brand-row>.brand img{position:static;width:100%;height:auto;max-width:100%;mix-blend-mode:normal}
.foot-top .footer-brand-row>.footer-badges{display:block;width:148px;max-width:none;margin:0;padding:0;flex:none}
.foot-top .footer-brand-row .badge-seasons{width:148px;background:var(--sage);filter:none}
.footer-payments{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:390px;margin-top:27px;color:#66735b}
.footer-payments>span{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:1}
.payment-visa{font-family:Arial,sans-serif;font-size:22px;font-weight:900;font-style:italic;letter-spacing:-1px}
.payment-wallet{gap:2px;border:1px solid currentColor;border-radius:4px;padding:5px 6px;font-size:17px;white-space:nowrap}
.payment-wallet b{font-size:21px}.payment-stripe{gap:5px;border:1px solid currentColor;border-radius:4px;padding:8px 7px;font-size:10px;font-weight:600;white-space:nowrap}.payment-stripe b{font-size:18px;letter-spacing:-.7px}
.foot-top>div:last-child{min-width:0}.foot-top>div:last-child>.eyebrow{margin-top:0;margin-bottom:18px}
.foot-top .footer-socials{display:flex;gap:13px;margin-top:15px}
.foot-top .footer-socials>a{display:flex!important;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:#66735b;color:var(--paper);margin:0!important}
.footer-socials svg{display:block;width:23px;height:23px}
@media(max-width:900px) and (min-width:721px){footer .foot-top{column-gap:8%;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.footer-brand-row{gap:20px}.foot-top .footer-brand-row>.brand{width:150px}.foot-top .footer-brand-row>.footer-badges,.foot-top .footer-brand-row .badge-seasons{width:125px}.footer-payments{gap:8px;flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:720px){footer .foot-top{grid-template-columns:minmax(0,1fr);gap:38px;padding-bottom:36px}.foot-top>.footer-identity{text-align:center}.footer-brand-row{margin:auto;max-width:340px;min-height:95px;gap:22px}.foot-top .footer-brand-row>.brand{width:156px}.foot-top .footer-brand-row>.footer-badges,.foot-top .footer-brand-row .badge-seasons{width:124px}.footer-payments{max-width:340px;margin:24px auto 0;gap:8px;flex-wrap:wrap;justify-content:center}.footer-payments .payment-visa{font-size:20px}.payment-wallet{font-size:15px;padding:5px}.payment-stripe{font-size:9px;padding:7px 5px}.payment-stripe b{font-size:16px}.foot-top .footer-socials{justify-content:center}}

/* Match the supplied footer composition and its unified olive palette. */
footer{--footer-olive:#606d57;background:#fff;padding:78px 4.6% 50px;color:var(--footer-olive)}
footer .foot-top{max-width:1300px;margin:0 auto;grid-template-columns:44.3% 36.9%;column-gap:18.8%;padding-bottom:54px}
footer .footer-brand-row{max-width:none;min-height:180px;gap:60px;padding:0 18px;justify-content:space-between}
footer .foot-top .footer-brand-row>.brand{width:240px;background:var(--footer-olive);mask:url('/assets/relax-hill-houses-transparent.png') center/contain no-repeat;aspect-ratio:1842/854}
footer .footer-brand-row>.brand img{visibility:hidden}
footer .foot-top .footer-brand-row>.footer-badges,footer .foot-top .footer-brand-row .badge-seasons{width:212px}
footer .foot-top .footer-brand-row .badge-seasons{background:var(--footer-olive)}
footer .footer-payments{max-width:none;padding:0 18px;margin-top:19px;gap:24px;color:var(--footer-olive)}
footer .payment-mastercard svg{width:57px;height:35px}
footer .payment-visa{font-size:29px}
footer .payment-wallet{font-size:21px;padding:5px 6px;gap:2px}
footer .payment-wallet svg{width:18px;height:23px}
footer .payment-wallet b{font-size:27px}
footer .payment-stripe{font-size:12px;padding:6px 10px;gap:6px}
footer .payment-stripe b{font-size:24px}
footer .foot-top>div:last-child>.eyebrow{color:var(--footer-olive);font-size:16px;letter-spacing:2.3px;margin:0 0 19px}
footer .foot-top div>a:not(.brand){color:var(--footer-olive);font-size:22px;line-height:1.5;margin:0 0 5px}
footer .foot-top small{color:var(--footer-olive);font-size:18px;margin-top:9px}
footer .foot-top .footer-socials{margin-top:10px;gap:18px}
footer .foot-top .footer-socials>a{width:48px;height:48px;background:var(--footer-olive);color:#fff}
footer .footer-socials svg{width:29px;height:29px}
footer .foot-bottom{max-width:1300px;border-top:1px solid var(--footer-olive);padding-top:23px;color:var(--footer-olive);display:grid;grid-template-columns:1fr auto 1fr;gap:20px;font-size:16px;text-align:left}
footer .foot-bottom>div{gap:30px;flex-wrap:nowrap}
footer .foot-bottom>span:last-child{width:auto;justify-self:end;font-size:15px;letter-spacing:1.8px;white-space:nowrap}
footer .foot-bottom .arrow-icon{width:20px;height:20px}
@media(min-width:721px) and (max-width:1200px){footer .footer-brand-row{gap:24px;padding:0;min-height:145px}footer .foot-top .footer-brand-row>.brand{width:54%}footer .foot-top .footer-brand-row>.footer-badges,footer .foot-top .footer-brand-row .badge-seasons{width:100%}footer .foot-top .footer-brand-row>.footer-badges{width:39%}footer .footer-payments{padding:0;gap:12px;flex-wrap:wrap;justify-content:flex-start}footer .foot-top div>a:not(.brand){font-size:18px}footer .foot-top small{font-size:15px}footer .foot-bottom{font-size:12px}footer .foot-bottom>span:last-child{font-size:11px}footer .foot-bottom>div{gap:16px}}
@media(max-width:720px){footer{padding:45px 6% 95px}footer .foot-top{grid-template-columns:minmax(0,1fr);gap:38px;padding-bottom:32px}footer .footer-brand-row{max-width:390px;min-height:120px;padding:0;gap:25px}footer .foot-top .footer-brand-row>.brand{width:52%}footer .foot-top .footer-brand-row>.footer-badges{width:40%}footer .foot-top .footer-brand-row .badge-seasons{width:100%}footer .footer-payments{max-width:390px;gap:12px;padding:0;margin-top:22px;justify-content:center;flex-wrap:wrap}footer .payment-mastercard svg{width:42px;height:27px}footer .payment-visa{font-size:22px}footer .payment-wallet{font-size:16px}footer .payment-wallet b{font-size:21px}footer .payment-wallet svg{width:14px;height:18px}footer .payment-stripe{font-size:10px;padding:6px}footer .payment-stripe b{font-size:18px}footer .foot-top>div:last-child>.eyebrow{justify-content:center;font-size:13px;margin-bottom:16px}footer .foot-top div>a:not(.brand){font-size:18px}footer .foot-top small{font-size:14px}footer .foot-top .footer-socials{justify-content:center}footer .foot-top .footer-socials>a{width:42px;height:42px}footer .foot-bottom{display:flex;flex-direction:column;gap:16px;text-align:center;font-size:12px}footer .foot-bottom>div{flex-wrap:wrap;justify-content:center;gap:18px}footer .foot-bottom>span:last-child{font-size:10px;white-space:normal}}

/* Keep social glyphs white independently of general footer link colors. */
footer .foot-top .footer-socials > a[aria-label]{color:#fff;display:flex!important;align-items:center;justify-content:center;flex-shrink:0}
footer .foot-top .footer-socials > a > svg{display:block;flex:none;color:#fff;visibility:visible;opacity:1}

/* Compact footer, scaled to the typography and spacing of the site. */
footer{padding:52px 6% 34px}
footer .foot-top{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:15%;padding-bottom:38px}
footer .footer-brand-row{max-width:420px;min-height:130px;padding:0;gap:40px}
footer .foot-top .footer-brand-row>.brand{width:180px}
footer .foot-top .footer-brand-row>.footer-badges,footer .foot-top .footer-brand-row .badge-seasons{width:159px}
footer .footer-payments{max-width:420px;padding:0;margin-top:14px;gap:15px;flex-wrap:nowrap;justify-content:space-between}
footer .payment-mastercard svg{width:42px;height:27px}
footer .payment-visa{font-size:22px}
footer .payment-wallet{font-size:16px;padding:4px 5px}
footer .payment-wallet svg{width:14px;height:18px}
footer .payment-wallet b{font-size:21px}
footer .payment-stripe{font-size:9px;padding:5px 7px;gap:4px}
footer .payment-stripe b{font-size:18px}
footer .foot-top>div:last-child>.eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:14px}
footer .foot-top div>a:not(.brand){font-size:16px;line-height:1.6;margin-bottom:4px}
footer .foot-top small{font-size:13px;margin-top:8px}
footer .foot-top .footer-socials{gap:13px;margin-top:12px}
footer .foot-top .footer-socials>a{width:36px;height:36px}
footer .foot-top .footer-socials>a>svg{width:22px;height:22px}
footer .foot-bottom{padding-top:20px;font-size:12px;gap:18px}
footer .foot-bottom>div{gap:22px}
footer .foot-bottom>span:last-child{font-size:11px;letter-spacing:1.5px}
footer .foot-bottom .arrow-icon{width:16px;height:16px}
@media(min-width:721px) and (max-width:1000px){footer .foot-top{column-gap:10%}footer .footer-brand-row{gap:24px}footer .foot-top .footer-brand-row>.brand{width:49%}footer .foot-top .footer-brand-row>.footer-badges{width:42%}footer .foot-top .footer-brand-row .badge-seasons{width:100%}footer .footer-payments{gap:10px;flex-wrap:wrap;justify-content:flex-start}footer .foot-bottom{grid-template-columns:auto 1fr;font-size:11px}footer .foot-bottom>div{justify-content:flex-end}footer .foot-bottom>span:last-child{grid-column:1/-1;justify-self:center;font-size:10px}}
@media(max-width:720px){footer{padding:34px 6% 90px}footer .foot-top{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:27px}footer .footer-brand-row{max-width:290px;min-height:90px;gap:25px}footer .foot-top .footer-brand-row>.brand{width:145px}footer .foot-top .footer-brand-row>.footer-badges,footer .foot-top .footer-brand-row .badge-seasons{width:120px}footer .footer-payments{max-width:300px;gap:9px;margin-top:16px;flex-wrap:wrap;justify-content:center}footer .payment-mastercard svg{width:34px;height:23px}footer .payment-visa{font-size:18px}footer .payment-wallet{font-size:13px;padding:4px}footer .payment-wallet svg{width:12px;height:15px}footer .payment-wallet b{font-size:17px}footer .payment-stripe{font-size:8px;padding:5px}footer .payment-stripe b{font-size:15px}footer .foot-top>div:last-child>.eyebrow{font-size:10px;margin-bottom:12px}footer .foot-top div>a:not(.brand){font-size:14px}footer .foot-top small{font-size:11px}footer .foot-top .footer-socials>a{width:32px;height:32px}footer .foot-top .footer-socials>a>svg{width:20px;height:20px}footer .foot-bottom{display:flex;gap:13px;padding-top:18px;font-size:11px}footer .foot-bottom>div{gap:16px}footer .foot-bottom>span:last-child{font-size:9px}}

/* A slightly smaller Four Seasons mark within the footer logo row. */
footer .foot-top .footer-brand-row .footer-badges .badge-seasons{width:85%;margin-inline:auto}

/* Fine positioning and scale adjustments for the footer badges. */
footer .foot-top .footer-brand-row .footer-badges .badge-seasons{transform:translateY(-3mm)}
footer .footer-payments>span{transform:scale(.9);transform-origin:center}

/* Edge-to-edge viewer with controls over the displayed photograph. */
.lightbox{inset:0;margin:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh}
.lightbox figure{position:relative;margin:0;width:100%;max-width:none;height:100%;}
.lightbox img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;margin:0;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.lightbox figcaption{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);margin:0;padding:7px 13px;border-radius:4px;background:#122018b8;color:#fff;font-size:13px;pointer-events:none}
.lightbox button{z-index:2;display:flex;align-items:center;justify-content:center;background:#12201880;color:#fff;text-shadow:0 1px 4px #0008;width:44px;height:44px;border-radius:50%;padding:0;line-height:1}
.lightbox .prev,.lightbox .next{top:50%;transform:translateY(-50%);font-size:38px}
.lightbox .prev{left:max(12px,calc((100vw - 100dvh * var(--image-ratio, 2)) / 2 + 12px))}
.lightbox .next{right:max(12px,calc((100vw - 100dvh * var(--image-ratio, 2)) / 2 + 12px))}
.lightbox .close{top:max(12px,env(safe-area-inset-top));right:12px;font-size:30px}
.lightbox button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:720px){.lightbox figcaption{font-size:11px}.lightbox .prev,.lightbox .next{width:40px;height:40px;font-size:34px}}

/* Symmetric vector chevrons avoid font baseline offsets inside the circles. */
.lightbox .prev>svg,.lightbox .next>svg{display:block;width:24px;height:24px;flex:none;margin:0}

@media(hover:hover) and (pointer:fine){.lightbox figure,.lightbox img{cursor:pointer}}

/* Five breakfast baskets, immediately before guest reviews. */
.breakfast-section{padding:70px 0 66px;border-top:1px solid var(--line)}
.breakfast-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin-bottom:38px}
.breakfast-heading .eyebrow{margin:0 0 16px}
.breakfast-heading h2{margin:0}
.breakfast-intro{font-size:17px;line-height:1.9;max-width:430px;margin:0}
.breakfast-choices{list-style:none;margin:0;padding:28px 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.breakfast-choices li{padding:5px 22px;border-left:1px solid var(--line)}
.breakfast-choices li:first-child{border-left:0;padding-left:0}
.breakfast-number{display:block;color:var(--sage);font-size:11px;letter-spacing:2px;margin-bottom:18px}
.breakfast-choices h3{font-size:clamp(18px,1.8vw,27px);margin:0 0 5px;overflow-wrap:anywhere}
.breakfast-choices li>span:last-child{color:var(--muted);font-size:12px;letter-spacing:.4px}
.breakfast-note{font-size:13px;margin:22px 0 0;line-height:1.8}
@media(max-width:720px){.breakfast-section{padding:43px 0}.breakfast-heading{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.breakfast-intro{font-size:15px;max-width:100%}.breakfast-choices{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border-bottom:0}.breakfast-choices li,.breakfast-choices li:first-child{padding:21px 16px;border-left:0;border-bottom:1px solid var(--line)}.breakfast-choices li:nth-child(odd){padding-left:0}.breakfast-choices li:nth-child(even){border-left:1px solid var(--line)}.breakfast-choices li:last-child{grid-column:1/-1}.breakfast-choices h3{font-size:23px}.breakfast-number{margin-bottom:10px}.breakfast-note{font-size:12px}}

.breakfast-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:3px 90px 3px 3px}
.breakfast-heading .breakfast-intro{margin-top:24px}
@media(max-width:720px){.breakfast-heading{gap:28px}.breakfast-photo{border-top-right-radius:65px}.breakfast-heading .breakfast-intro{margin-top:20px}}

/* Compact two-column amenities composition for mobile only. */
.feature-mobile-copy{display:none}
@media(max-width:720px){
 .equipment{padding:34px 0 0}
 .equipment>.wrap{width:90.5%}
 .equipment .section-head{display:block;margin-bottom:12px;text-align:center}
 .equipment .eyebrow{font-size:10px;letter-spacing:1.7px;line-height:1.6;margin:0 0 14px;justify-content:center}
 .equipment .section-head h2{font-size:clamp(27px,7.5vw,34px);line-height:1.14;letter-spacing:-.8px;margin:0}
 .equipment .features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}
 .equipment .features .feature{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:94px;padding:11px 5px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
 .equipment .features .feature:nth-child(2n){border-right:0}
 .equipment .features .feature:nth-last-child(-n+2){border-bottom:0}
 .equipment .feature svg{display:block;flex:none;width:27px;height:27px;margin:0 auto;color:var(--sage)}
 .equipment .feature h3{font-size:clamp(15px,4.2vw,19px);line-height:1.18;letter-spacing:-.3px;margin:8px 0 2px;white-space:normal}
 .equipment .feature p{font-size:clamp(10px,2.85vw,12px);line-height:1.4;margin:0;color:var(--muted)}
 .feature-desktop-copy{display:none}
 .feature-mobile-copy{display:inline}
}

/* Mobile amenities: icons and names only, ten visible items in five rows. */
@media(max-width:720px){
 .equipment .features{background:linear-gradient(to right,transparent calc(50% - .5px),var(--line) calc(50% - .5px),var(--line) calc(50% + .5px),transparent calc(50% + .5px))}
 .equipment .features .feature:nth-child(n){border-right:0;border-bottom:1px solid var(--line);min-height:80px;padding:12px 5px}
 .equipment .features .feature.feature-mobile-hidden{display:none}
 .equipment .features .feature.feature-mobile-last-row{border-bottom:0}
 .equipment .features .feature p{display:none}
 .equipment .features .feature h3{margin-bottom:0}
}

/* One readable size for supporting text, consistently across all pages. */
:root{--small-text-size:16px}
.eyebrow,.btn,.header-book,.text-link,.hero-more,.hero-note,
.hero-reservation>div>span,.hero-reservation>div>b,.hero-reservation>strong,
.facts span,.feature p,.booking-benefits,.booking-placeholder>.text-link,
.review-fallback,.contact-list span,.lightbox figcaption,
.foot-top .eyebrow,.foot-top div>a:not(.brand),.foot-top small,
.foot-bottom,.foot-bottom>span:last-child,
.category-nav a,.breakfast-number,.breakfast-choices li>span:last-child,.breakfast-note{
 font-size:var(--small-text-size)!important;
}
.eyebrow{line-height:1.6;letter-spacing:1.5px}
.hero-note,.facts span,.feature p,.booking-benefits,.contact-list span,
.foot-top small,.foot-bottom,.breakfast-note,.breakfast-choices li>span:last-child{line-height:1.6}
.btn,.header-book,.text-link,.category-nav a{line-height:1.45}
.foot-bottom>div{flex-wrap:wrap}
footer .foot-bottom{grid-template-columns:auto minmax(0,1fr) auto}
footer .foot-bottom>div{justify-content:center}
footer .foot-bottom>span:last-child{white-space:normal;letter-spacing:1px}
.breakfast-choices li{min-width:0}
.breakfast-choices li>span:last-child{overflow-wrap:anywhere}
@media(max-width:1000px) and (min-width:721px){footer .foot-bottom{grid-template-columns:auto minmax(0,1fr)}}
@media(max-width:720px){
 .hero-copy>.eyebrow,.equipment .eyebrow{letter-spacing:1px;line-height:1.5}
 .hero-copy>.eyebrow{flex-wrap:wrap}
 .equipment .section-head{margin-bottom:16px}
 .equipment .feature p{line-height:1.5}
 .lightbox figcaption{max-width:calc(100% - 32px);width:max-content;line-height:1.45}
 footer .foot-bottom>div{gap:12px 18px}
}

@media(max-width:720px){.breakfast-intro{font-size:var(--small-text-size)}}

/* Section labels: two pixels smaller than the shared supporting text. */
:root body .eyebrow{font-size:14px!important}

/* Keep the mobile header booking button compact and on one line. */
@media(max-width:720px){
 header{gap:8px;height:88px}
 header .brand{width:clamp(90px,26vw,112px);flex:0 0 auto}
 header .header-book{font-size:14px!important;line-height:1.3;white-space:nowrap;flex:0 0 auto;gap:6px;padding:11px 8px;margin-left:auto;min-height:44px}
 header .header-book>span{display:flex;align-items:center;justify-content:center;flex:0 0 16px;line-height:1}
 header .header-book .arrow-icon{display:block;width:16px;height:16px}
 header .menu{flex:0 0 25px;min-height:44px;justify-content:center}
}

/* A little more breathing room in the mobile booking button. */
@media(max-width:720px){header .header-book{padding-left:16px;padding-right:16px;gap:10px}}
@media(max-width:360px){header .header-book{padding-left:8px;padding-right:8px;gap:6px}}

/* Footer payment information: OTP SZEP card acceptance. */
footer .footer-szep{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin:20px 0 0;padding:12px 17px;border:1px solid #8d947755;border-radius:3px;color:var(--green);text-align:left}
footer .footer-szep>svg{flex:0 0 32px;color:var(--sage)}
footer .footer-szep>span{display:flex;flex-direction:column;gap:2px}
footer .footer-szep strong{font-size:15px;font-weight:500;line-height:1.4;letter-spacing:.1px}
footer .footer-szep>span>span{font-size:13px;line-height:1.4;color:var(--muted)}
@media(max-width:720px){footer .footer-szep{margin:18px auto 0;padding:11px 16px}}

/* Compact SZEP acceptance line scaled to the payment marks. */
footer .footer-szep{width:max-content;max-width:100%;margin:14px 0 0;padding:0;border:0;border-radius:0;gap:8px;min-height:24px}
footer .footer-szep>svg{width:24px;height:18px;flex:0 0 24px}
footer .footer-szep>span{display:block}
footer .footer-szep strong{font-size:14px;font-weight:400;line-height:1.4;letter-spacing:0;color:var(--muted)}
@media(max-width:720px){footer .footer-szep{margin:13px auto 0;padding:0;justify-content:center}}

/* Balanced footer payment grid with matched Stripe and OTP badges. */
footer .footer-payments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;justify-items:center;gap:14px 12px;width:100%;max-width:340px;padding:0;margin-top:16px;color:var(--footer-olive,var(--sage))}
footer .footer-payments>span{min-width:0;margin:0}
footer .footer-payments .payment-stripe,footer .footer-payments .payment-szep{display:flex;grid-column:span 2;align-items:center;justify-content:center;width:100%;height:36px;padding:4px 8px;border:1px solid currentColor;border-radius:4px;box-sizing:border-box;white-space:nowrap;background:transparent}
footer .footer-payments .payment-stripe{font-size:10px!important;line-height:1;gap:5px}
footer .footer-payments .payment-stripe b{font-size:20px;line-height:1;letter-spacing:-.7px}
footer .footer-payments .payment-szep{flex-direction:column;gap:1px;line-height:1.15}
footer .footer-payments .payment-szep strong{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;line-height:1.15;letter-spacing:0}
footer .footer-payments .payment-szep>span{font-size:10px;font-weight:500;line-height:1.15}
@media(max-width:720px){footer .footer-payments{max-width:300px;margin:16px auto 0;gap:12px 10px}footer .footer-payments .payment-stripe,footer .footer-payments .payment-szep{height:34px}footer .footer-payments .payment-stripe b{font-size:18px}footer .footer-payments .payment-szep strong{font-size:12px}}

/* OTP emphasis, with a single-line card label. */
footer .footer-payments .payment-szep strong{font-weight:400;white-space:nowrap}
footer .footer-payments .payment-szep strong b{font-weight:800;font-size:1.12em;letter-spacing:-.2px}

/* Center the remaining OTP badge beneath the payment icons. */
footer .footer-payments .payment-szep{grid-column:2 / span 2}

/* Reference layout: all five payment marks share one centered row. */
footer .footer-payments{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;max-width:420px;width:100%;padding:0;margin-top:16px}
footer .footer-payments>span{flex:0 0 auto}
footer .footer-payments .payment-szep{display:flex;flex-direction:row;grid-column:auto;width:auto;height:30px;min-height:0;padding:5px 8px;gap:0}
footer .footer-payments .payment-szep strong{font-size:12px;line-height:1;white-space:nowrap}
@media(max-width:720px){footer .footer-payments{max-width:300px;gap:6px;margin:16px auto 0}footer .payment-mastercard svg{width:28px;height:20px}footer .payment-visa{font-size:16px}footer .payment-wallet{font-size:12px;padding:4px}footer .payment-wallet b{font-size:16px}footer .payment-wallet svg{width:11px;height:14px}footer .footer-payments .payment-szep{height:28px;padding:4px 6px}footer .footer-payments .payment-szep strong{font-size:10px}}

/* OTP acceptance replaces the Budapest travel-time highlight. */
/* The OTP title uses the same .facts b typography at every breakpoint. */

/* Added navigation entry: keep desktop header within its width. */
@media(min-width:721px){header nav{gap:clamp(10px,1.6vw,25px)}header nav a{font-size:14px;white-space:nowrap}}
@media(min-width:721px) and (max-width:1000px){header{gap:12px}header .brand{width:112px}header nav{gap:10px}header nav a{font-size:12px}header .header-book{font-size:14px!important;gap:6px;padding:10px;white-space:nowrap}}

/* Footer reference: optically matched logo row, payment marks below, contact at right. */
footer .footer-brand-row{width:100%;max-width:420px;min-height:130px;padding:0;gap:30px;align-items:center;justify-content:space-between;margin:0}
footer .foot-top .footer-brand-row>.brand{width:166px;max-width:48%;flex:0 0 auto;aspect-ratio:1579/814;background:var(--footer-olive);-webkit-mask:url('/assets/relax-hill-houses-transparent.png') 48.3% 52.5%/116.656% 104.914% no-repeat;mask:url('/assets/relax-hill-houses-transparent.png') 48.3% 52.5%/116.656% 104.914% no-repeat}
footer .foot-top .footer-brand-row>.footer-badges{width:128px;max-width:39%;flex:0 0 auto;margin:0;padding:0}
footer .foot-top .footer-brand-row .footer-badges .badge-seasons{display:block;width:100%;height:auto;aspect-ratio:1159/782;margin:0;transform:none;background:var(--footer-olive)}
footer .footer-payments{width:100%;max-width:420px;margin:18px 0 0;padding:0;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px}
@media(min-width:721px) and (max-width:1000px){footer .footer-brand-row{gap:20px;min-height:120px}footer .foot-top .footer-brand-row>.brand{width:49%}footer .foot-top .footer-brand-row>.footer-badges{width:38%}footer .footer-payments{gap:8px;flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:720px){footer .footer-brand-row{max-width:300px;min-height:104px;gap:25px;margin:0 auto}footer .foot-top .footer-brand-row>.brand{width:145px}footer .foot-top .footer-brand-row>.footer-badges{width:112px}footer .footer-payments{max-width:300px;margin:16px auto 0;gap:6px}}

/* Three footer marks, in the approved reference order. */
footer .footer-brand-row{max-width:420px;gap:25px;justify-content:space-between}
footer .foot-top .footer-brand-row>.brand{width:115px;max-width:none;flex:0 0 auto}
footer .footer-brand-row>.footer-quality{display:block;width:166px;max-width:none;aspect-ratio:440/180;flex:0 0 auto;background:var(--footer-olive);-webkit-mask:url('/assets/hotel-quality-guesthouse.svg') center/contain no-repeat;mask:url('/assets/hotel-quality-guesthouse.svg') center/contain no-repeat}
footer .footer-quality img{visibility:hidden;display:block;width:100%;height:auto}
footer .foot-top .footer-brand-row>.footer-badges{width:88px;max-width:none;flex:0 0 auto}
@media(min-width:721px) and (max-width:1100px){footer .footer-brand-row{gap:15px}footer .foot-top .footer-brand-row>.brand{width:27%}footer .footer-brand-row>.footer-quality{width:38%}footer .foot-top .footer-brand-row>.footer-badges{width:21%}}
@media(max-width:720px){footer .footer-brand-row{max-width:300px;gap:14px;min-height:86px}footer .foot-top .footer-brand-row>.brand{width:83px;max-width:28%}footer .footer-brand-row>.footer-quality{width:119px;max-width:40%}footer .foot-top .footer-brand-row>.footer-badges{width:63px;max-width:21%}}

/* Equal visible artwork heights: crop transparent padding before sizing. */
footer .footer-brand-row{display:grid;grid-template-columns:minmax(0,2.117fr) minmax(0,2.71fr) minmax(0,2.117fr);gap:15px;width:100%;max-width:420px;align-items:center}
footer .foot-top .footer-brand-row>.brand{width:100%;max-width:none;aspect-ratio:1518/717;-webkit-mask:url('/assets/relax-hill-houses-transparent.png') 50% 69.343%/121.344% 119.107% no-repeat;mask:url('/assets/relax-hill-houses-transparent.png') 50% 69.343%/121.344% 119.107% no-repeat}
footer .footer-brand-row>.footer-quality{width:100%;max-width:none;aspect-ratio:420/155;-webkit-mask:url('/assets/hotel-quality-guesthouse.svg?v=31') center/contain no-repeat;mask:url('/assets/hotel-quality-guesthouse.svg?v=31') center/contain no-repeat}
footer .foot-top .footer-brand-row>.footer-badges{width:100%;max-width:none}
footer .foot-top .footer-brand-row .footer-badges .badge-seasons{width:100%;height:auto;aspect-ratio:999/472;-webkit-mask:url('/assets/seasons-badge.png') 54.755% 53.305%/134.735% 247.458% no-repeat;mask:url('/assets/seasons-badge.png') 54.755% 53.305%/134.735% 247.458% no-repeat;transform:none;margin:0}
@media(max-width:720px){footer .footer-brand-row{max-width:300px;gap:11px}}

/* Two balanced hero marks: quality at left, Four Seasons at right. */
.hero-image .hero-badges{--hero-logo-height:42px;display:grid;grid-template-columns:max-content max-content;grid-auto-flow:column;gap:16px;align-items:center;justify-items:center;top:var(--badge-inset);right:var(--badge-inset);width:max-content;max-width:calc(100% - 2 * var(--badge-inset))}
.hero-image .hero-badges>.hero-quality{display:block;position:relative;grid-column:1;grid-row:1;width:calc(var(--hero-logo-height) * 420 / 155);height:var(--hero-logo-height);background:var(--sage);-webkit-mask:url('/assets/hotel-quality-guesthouse.svg?v=31') center/contain no-repeat;mask:url('/assets/hotel-quality-guesthouse.svg?v=31') center/contain no-repeat}
.hero-image .hero-badges>.hero-quality img{display:none}
.hero-image .hero-badges>.badge-seasons{grid-column:2;grid-row:1;width:calc(var(--hero-logo-height) * 999 / 472);height:var(--hero-logo-height);aspect-ratio:999/472;margin:0;background:var(--sage);-webkit-mask:url('/assets/seasons-badge.png') 54.755% 53.305%/134.735% 247.458% no-repeat;mask:url('/assets/seasons-badge.png') 54.755% 53.305%/134.735% 247.458% no-repeat}
@media(max-width:720px){.hero-image .hero-badges{--hero-logo-height:30px;gap:12px}}
@media(max-width:390px){.hero-image .hero-badges{--hero-logo-height:27px;gap:10px}}

/* Public gift voucher entry below the main booking action. */
.hero-copy .hero-gift-link{display:flex;align-items:center;justify-content:space-between;gap:18px;width:fit-content;max-width:100%;padding:7px 0;border-bottom:1px solid var(--sage);margin-top:14px;color:var(--green);font-size:14px;line-height:1.6}
.hero-gift-caption{color:var(--muted)}
.hero-gift-link:hover{color:var(--sage)}
.hero-gift-link>span:last-child{flex:none;font-size:19px}
@media(max-width:390px){.hero-copy .hero-gift-link{font-size:13px;gap:12px}}

/* Approved stacked hero badges, 20% smaller. */

.hero-image .hero-badges{--hero-logo-height:33.6px;grid-template-columns:max-content;grid-auto-flow:row;gap:14px;justify-items:start}
.hero-image .hero-badges>.hero-quality{grid-column:1;grid-row:1;justify-self:start;background:#f9f8f3}
.hero-image .hero-badges>.badge-seasons{grid-column:1;grid-row:2;justify-self:start;transform:translateX(5px);background:#f9f8f3}
@media(max-width:720px){.hero-image .hero-badges{--hero-logo-height:24px;gap:11px}}
@media(max-width:390px){.hero-image .hero-badges{--hero-logo-height:21.6px;gap:10px}}


/* BEGIN RELAX HILL GOOGLE REVIEWS DESIGN 2026-10-27 */
/* Relax Hill: current Elfsight embed, scoped to the reviews section. */
.reviews{padding-top:54px!important;padding-bottom:60px!important;scroll-margin-top:30px}
.reviews .review-symbol{display:none}
.reviews h2{margin-bottom:12px!important}
.reviews #reviews{margin-top:38px!important}
#reviews .es-embed-root,#reviews .es-main-container{font-family:'DM Sans',Arial,sans-serif!important;color:#344a3b!important}
#reviews .es-review-background-container{position:relative;background:#fdfcf8!important;border:1px solid #dedfd3!important;border-radius:2px!important;box-shadow:none!important;padding:28px!important;min-height:280px;box-sizing:border-box}
#reviews .es-review-background-container:after{content:'“';position:absolute;right:24px;top:12px;font:64px/1 'Playfair Display',Georgia,serif;color:#b2b99e;pointer-events:none}
#reviews .es-review-author-block-container{padding-right:24px!important}
#reviews .es-review-author-name{font-family:'DM Sans',Arial,sans-serif!important;font-size:15px!important;font-weight:500!important;color:#344a3b!important}
#reviews .es-review-info-date{font-size:12px!important;color:#848b7e!important}
#reviews .es-review-content-text-container{font-family:'DM Sans',Arial,sans-serif!important;font-size:15px!important;line-height:1.85!important;color:#435145!important}
#reviews .es-review-content-rating{margin-top:22px!important;margin-bottom:16px!important}
#reviews .es-text-shortener-control{color:#52684b!important;font-family:'DM Sans',Arial,sans-serif!important;font-size:12px!important;text-decoration:underline!important;text-underline-offset:4px}
#reviews .es-rating-item-filled svg{fill:#8d9477!important}
#reviews .es-carousel-arrow-control{background:#f9f8f3!important;border:1px solid #c8cebc!important;box-shadow:none!important;color:#344a3b!important}
#reviews .es-carousel-arrow-control-icon svg{fill:#344a3b!important}
#reviews .es-bullets-control-item{background:#cdd0c0!important}
#reviews .es-bullets-control-item-active{background:#344a3b!important}
#reviews .review-fallback{display:table;margin:28px auto 0!important;padding-bottom:8px;border-bottom:1px solid #a3aa94;text-decoration:none;color:#344a3b!important;font-size:13px!important}
@media(max-width:650px){.reviews{padding-top:32px!important;padding-bottom:36px!important}#reviews .es-review-background-container{padding:24px!important;min-height:290px}#reviews .es-review-content-text-container{font-size:14px!important}.reviews #reviews{margin-top:26px!important}}
#reviews .es-rating-item-filled path{fill:#8d9477!important}
#reviews .es-review-content-text-container .es-text-shortener{color:#435145!important;font-family:'DM Sans',Arial,sans-serif!important;line-height:1.85!important}
#reviews .es-review-background-container{height:340px!important;min-height:340px!important;max-height:340px!important}
#reviews .es-review-content-text-container,#reviews .es-review-content-text-container .es-text-shortener{font-size:14px!important;line-height:1.65!important}

/* END RELAX HILL GOOGLE REVIEWS DESIGN */

/* Footer bottom text: match the main navigation at each viewport width. */
footer .foot-bottom{--footer-menu-font-size:14px}
footer .foot-bottom,footer .foot-bottom a,footer .foot-bottom>span,footer .foot-bottom>div{font-size:var(--footer-menu-font-size)!important;line-height:1.6}
@media(min-width:721px) and (max-width:1000px){footer .foot-bottom{--footer-menu-font-size:12px}}
@media(max-width:720px){footer .foot-bottom{--footer-menu-font-size:18px}}

/* Match the footer tagline to the other bottom-row text, overriding the shared small-text rule. */
footer .foot-bottom>span:last-child{font-size:var(--footer-menu-font-size,14px)!important;line-height:1.6}
