:root{--ink:#231f20;--paper:#ffffff;--green:#231f20;--ruby:#b62025;--red:#da1f27;--line:#dedbda}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Avenir,"Avenir Next",Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,a,input{touch-action:manipulation}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #da1f27;outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1}h1{font-size:clamp(3.25rem,6.8vw,6.8rem);letter-spacing:-.045em}h2{font-size:clamp(2.6rem,4.1vw,4.3rem);letter-spacing:-.045em}h3{font-size:1.65rem;line-height:1.2}em{font-weight:400}p{line-height:1.8}header{height:102px;padding:14px 4%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--green);color:white;position:relative;z-index:10}.brand img{width:72px;height:72px;object-fit:contain}nav{display:flex;gap:26px;font-size:14px}nav a{padding:12px 0}nav a:hover{color:#da1f27}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--ruby);padding:17px 24px;color:white;font-size:14px;letter-spacing:.015em;border:1px solid transparent;transition:background .2s}.button:hover{background:#91191e}.menu{display:none;background:transparent;color:white;border:1px solid #ffffff70;padding:5px 12px;font-size:24px}.hero{height:calc(100svh - 102px);min-height:570px;max-height:930px;position:relative;color:white}.hero-image,.hero-shade{position:absolute;inset:0;height:100%}.hero-image{object-position:center 57%}.hero-shade{background:linear-gradient(90deg,rgba(35,31,32,.77),rgba(35,31,32,.32) 55%,rgba(35,31,32,.05)),linear-gradient(0deg,rgba(35,31,32,.5),transparent 35%)}.hero-copy{position:relative;padding:8vh 7% 90px;max-width:1000px}.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:500;line-height:1.5;margin-bottom:24px}.hero-copy>p:not(.eyebrow){margin-top:26px;font-size:17px}.text-link{display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid var(--ink);padding:12px 0 8px;font-size:14px;line-height:1.6}.text-link:hover{color:var(--ruby)}.text-link.light{border-color:#ffffff80}.text-link.light:hover{color:#ffffff}.hero-copy .text-link{margin-top:22px}.hero-bottom{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.17em}.welcome-strip{display:flex;align-items:center;gap:30px;padding:29px 7%;border-bottom:1px solid var(--line)}.welcome-strip>span{font-family:Georgia,serif;font-size:22px}.welcome-strip p{flex:1;font-size:14px;color:#655f60}.welcome-strip a{font-size:14px;border-bottom:1px solid;padding-bottom:3px}.section{padding:100px 7%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.intro p:not(.eyebrow){color:#655f60;margin-bottom:20px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:44px}.section-heading>p{max-width:360px;color:#655f60}.rooms{padding-top:25px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 26px}.room-image{position:relative;overflow:hidden;margin-bottom:25px}.room-image img{height:440px;transition:transform .6s;object-position:center 56%}.room:hover img{transform:scale(1.035)}.room-image>span{position:absolute;bottom:16px;left:18px;color:white;font-size:14px}.room .eyebrow{margin-bottom:12px;font-size:12px;letter-spacing:.1em}.room h3{font-size:1.7rem;min-height:66px}.room details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:18px 0;font-size:14px}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details p{font-size:15px;color:#655f60}details .text-link{margin-bottom:20px}.room-note{font-size:13px;color:#655f60;margin-top:28px}.dining{display:grid;grid-template-columns:1.1fr 1fr;background:var(--green);color:white}.dining-photo img{height:100%;min-height:680px}.dining-copy{padding:70px 12%}.dining-copy .eyebrow{color:#ddd4d5}.cotto{font-family:Arial,sans-serif;font-size:52px;letter-spacing:-.08em;line-height:1}.cotto+.eyebrow{font-size:12px;letter-spacing:.15em;margin-top:8px;margin-bottom:45px}.dining-copy>p:not(.eyebrow){margin-top:27px;color:#e1d9da}.dining-copy .text-link{margin-top:20px}.caption{font-size:12px}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.event-grid img{height:340px;margin-bottom:25px}.event-grid h3{margin-bottom:12px}.event-grid p{color:#655f60}.services{background:#f7f5f5}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 45px}.service-grid article{border-top:1px solid #d8d1d1;padding-top:20px}.service-number{font-size:12px;color:#756b6d}.service-grid h3{font-size:23px;margin:15px 0 12px}.service-grid p{font-size:15px;color:#655f60}.small-experiences{display:grid;grid-template-columns:1fr 1fr;gap:50px}.small-experiences img{height:360px;margin-bottom:28px}.small-experiences article:last-child img{object-position:center 42%}.small-experiences .eyebrow{margin-bottom:15px}.small-experiences h3{margin-bottom:15px}.small-experiences p:not(.eyebrow){color:#655f60}.contact{background:var(--green);color:white;display:grid;grid-template-columns:1.3fr 1fr;gap:10%}.contact .button{margin-top:38px}.contact-info{padding-top:22px;display:flex;flex-direction:column;align-items:start;gap:12px}.contact-info>p{letter-spacing:.2em;font-size:14px}.contact-info address{font-style:normal;margin-bottom:12px;color:#e1d9da}.contact-info>a:not(.text-link){font-size:20px}footer{display:flex;align-items:center;gap:30px;padding:40px 7%;font-size:13px}.footer-brand{font-family:Georgia,serif;font-size:32px;letter-spacing:.09em;line-height:1.1;margin-right:auto}.footer-brand small{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.13em;margin-top:8px}.skip{position:absolute;left:15px;top:-80px;background:white;padding:12px;z-index:100}.skip:focus{top:15px}
@media(min-width:1600px){.section,.welcome-strip{padding-left:max(7%,calc((100vw - 1440px)/2));padding-right:max(7%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){nav{gap:14px}header{gap:14px;padding-inline:4%}.reserve{padding:14px}.room-image img{height:350px}.dining-copy{padding:60px 9%}.section{padding:75px 6%}.welcome-strip{padding-inline:6%}.hero-copy{padding-top:9vh}.section-heading>p{max-width:280px}}
@media(max-width:850px){header{height:86px}.brand img{height:58px;width:58px}.menu{display:block}.reserve{margin-left:auto}nav{display:none;position:absolute;top:86px;left:0;right:0;padding:20px 6%;background:var(--green);flex-direction:column}nav.open{display:flex}.hero{height:720px;min-height:540px;max-height:calc(100svh - 86px)}.hero-copy{padding:65px 6% 90px}.hero h1{font-size:clamp(3.2rem,8vw,5rem)}.welcome-strip{flex-wrap:wrap;gap:12px 25px}.welcome-strip p{flex-basis:55%}.intro{gap:7%}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-image img{height:420px}.dining{grid-template-columns:1fr}.dining-photo img{min-height:0;height:420px}.dining-copy{padding:55px 7%}.service-grid{grid-template-columns:repeat(2,1fr)}.event-grid img{height:270px}.section-heading{gap:30px}.small-experiences{gap:25px}.small-experiences img{height:280px}.contact{gap:5%}footer{flex-wrap:wrap}.footer-brand{width:45%}}
@media(max-width:550px){header{padding-inline:5%;gap:12px}.reserve{font-size:12px;padding:12px 14px;gap:10px}.hero{max-height:none;height:640px}.hero-copy{padding:65px 6% 85px}.hero-copy .eyebrow{font-size:11px;letter-spacing:.12em;max-width:260px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero h1{font-size:3.4rem}.hero-image{object-position:60% center}.hero-bottom{font-size:10px;left:6%;right:6%;letter-spacing:.08em}.welcome-strip{display:block;padding:25px 6%}.welcome-strip p{margin:8px 0 12px}.section{padding:62px 6%}.intro{grid-template-columns:1fr;gap:26px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:none}h2{font-size:2.65rem}.room-grid{grid-template-columns:1fr;gap:38px}.room-image img{height:450px}.room h3{min-height:0}.rooms{padding-top:10px}.dining-photo img{height:310px}.dining-copy{padding:45px 6%}.event-grid,.small-experiences,.contact{grid-template-columns:1fr;gap:35px}.event-grid img{height:260px}.service-grid{gap:25px 20px}.service-grid h3{font-size:20px}.service-grid p{font-size:14px}.small-experiences img{height:300px}.contact-info>a:not(.text-link){font-size:18px}footer{padding:30px 6%;gap:20px}footer p{width:100%;order:2}.footer-brand{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Official RUBIS identity: brand book p.16; iconography p.26. */
header{height:144px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);padding-block:8px}
.brand img{width:118px;height:127px;object-fit:contain}
nav a:hover{color:var(--ruby)}
.hero{height:calc(100svh - 144px)}
.menu{color:var(--ink);border-color:var(--line)}
header .reserve{color:white}
.social-icon{width:21px;height:21px;object-fit:contain;flex:none}
.brand-icon{width:45px;height:45px;object-fit:contain;flex:none}
.service-grid article>.brand-icon{margin-bottom:12px}
.whatsapp{gap:12px;background:var(--ruby);color:white}
.whatsapp .social-icon,.floating-whatsapp .social-icon{filter:invert(1)}
.contact-info .whatsapp{font-size:14px!important;margin-top:8px}
.social-links{display:flex;gap:20px;flex-wrap:wrap}
.social-links a{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px}
.social-links a:hover{color:var(--ruby)}
footer{position:relative;padding:35px 7% 75px;gap:35px;justify-content:space-between}
.footer-brand{margin:0;flex:none;width:auto}
.footer-brand img{width:112px;height:122px;object-fit:contain}
.footer-contact{display:flex;flex-direction:column;gap:8px;font-size:15px}
.copyright{position:absolute;bottom:20px;left:7%;font-size:12px;color:#655f60}
.floating-whatsapp{position:fixed;right:25px;bottom:24px;z-index:30;display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--ruby);color:white;border-radius:30px;box-shadow:0 5px 24px #231f2025;border:1px solid #ffffff50;font-size:14px}
.floating-whatsapp:hover{background:#91191e}
.breadcrumb{display:flex;position:static;flex-direction:row;align-items:center;flex-wrap:wrap;background:transparent;color:#655f60;padding:22px 7%;gap:10px;font-size:13px;line-height:1.5}
.breadcrumb a{padding:0}.breadcrumb [aria-current]{color:var(--ink)}
.room-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;padding:15px 7% 70px;align-items:start}
.detail-photo{background:#f7f5f5}.detail-photo img{height:auto;max-height:850px;object-fit:cover;aspect-ratio:3/4;object-position:center 56%}
.detail-copy{padding-top:24px;min-width:0}.detail-copy h1{font-size:clamp(2.65rem,4.3vw,4.5rem);line-height:1.13;letter-spacing:-.04em}
.detail-lead{font-family:'Playfair Display',Georgia,serif;font-size:24px;line-height:1.4;margin:25px 0 18px}
.detail-copy>p:not(.eyebrow):not(.detail-lead){color:#655f60}
.amenities{padding:0;margin:28px 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:20px 15px}
.amenities li{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.5}
.amenities .brand-icon{width:38px;height:38px}
.detail-actions{display:flex;flex-wrap:wrap;gap:12px}.detail-actions .button{font-size:14px;padding:15px 18px}
.button-outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.button-outline:hover{background:#f7f5f5}
.detail-note{font-size:13px;line-height:1.65;margin-top:20px;color:#655f60}
.stay-support{background:#f7f5f5;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.stay-support>div>p:not(.eyebrow){color:#655f60}
.related h2{font-size:clamp(2rem,3.3vw,3.2rem)}
.related-links{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin-top:35px}
.related-links a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 0;border-bottom:1px solid var(--line);font-family:'Playfair Display',Georgia,serif;font-size:21px;line-height:1.4}
.related-links a:hover{color:var(--ruby)}
.venue-intro{padding-top:30px;padding-bottom:48px}.venue-intro h1{font-size:clamp(2.9rem,6vw,5.9rem)}
.venue-photo{padding:0 7%}.venue-photo img{height:560px;object-position:center 55%}
.venue-info{display:grid;grid-template-columns:1fr 1fr;gap:10%}.venue-info h2{margin-bottom:25px}
.venue-uses{padding-left:22px;margin-top:25px}.venue-uses li{padding:8px 0}
.enquiry{padding:40px;background:#f7f5f5;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.enquiry h3{font-size:28px}.enquiry p{color:#655f60}.enquiry .whatsapp{padding:15px 18px}.enquiry .detail-note{margin:0}
.related>.text-link{margin:25px 25px 0 0}
@media(max-width:1100px){.brand img{width:100px;height:107px}header{height:124px}.hero{height:calc(100svh - 124px)}.room-detail{gap:5%;padding-inline:6%}.detail-copy h1{font-size:3rem}.detail-copy{padding-top:5px}.amenities{gap:17px 10px}.enquiry{padding:30px}}
@media(max-width:850px){header{height:116px}.brand img{width:94px;height:100px}header nav{top:116px;background:white;border-bottom:1px solid var(--line)}.hero{height:720px;max-height:calc(100svh - 116px)}.breadcrumb{position:static;display:flex;background:transparent;flex-direction:row;padding:20px 6%}.room-detail{grid-template-columns:1fr 1fr;gap:4%}.detail-copy h1{font-size:2.35rem}.detail-lead{font-size:21px}.amenities{grid-template-columns:1fr}.detail-copy .eyebrow{font-size:11px}.detail-photo img{aspect-ratio:3/5}.venue-photo{padding-inline:6%}.venue-photo img{height:420px}.venue-info{gap:5%}.enquiry{padding:25px}.footer-brand{width:auto}.social-links{gap:16px}.social-links a{font-size:12px}}
@media(max-width:600px){.room-detail{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.detail-photo img{max-height:510px;aspect-ratio:3/4}.detail-copy h1{font-size:3rem}.detail-copy .eyebrow{font-size:12px}.amenities{grid-template-columns:1fr 1fr}.stay-support,.venue-info,.related-links{grid-template-columns:1fr;gap:30px}.detail-actions{flex-direction:column;align-items:stretch}.detail-actions .button{width:100%}.venue-photo img{height:310px}.enquiry{padding:28px}.related-links{gap:0}.related-links a{font-size:20px}.social-links{width:100%}.footer-contact{font-size:14px}.floating-whatsapp{right:16px;bottom:16px;padding:15px}.floating-whatsapp>span{display:none}.floating-whatsapp .social-icon{width:26px;height:26px}.copyright{position:static;width:100%;order:2}footer{padding-bottom:80px;gap:25px}.footer-brand{width:auto}.footer-brand img{width:100px;height:108px}}
@media(max-width:550px){.hero{height:640px;max-height:none}.menu{padding:5px 10px}.hero h1{font-size:3.25rem}.contact .button{margin-top:30px}.contact-info .button{margin-top:8px}.breadcrumb{font-size:12px;gap:8px}}
