/* The doors on the homepage lead into a continuous collection of coastal rooms. */
.room-interior{--room-paper:#fbf7f1;--room-ink:#302216;--room-muted:#705b49;--room-accent:#a15e33}
.room-interior>.si-header{position:relative!important;inset:auto!important;background:var(--room-paper)!important;color:var(--room-ink)!important;border-bottom:1px solid #6e4e3022!important;z-index:50}
.room-interior .room-arrival{position:relative;isolation:isolate;min-height:760px;overflow:hidden;background:var(--room-paper);color:var(--room-ink);max-width:none;margin:0;padding:0;border:0;display:grid;grid-template-columns:42% 58%;align-items:center;transition:background .6s,color .6s}
.room-arrival .room-scene{position:absolute;inset:0 0 0 25%;overflow:hidden;z-index:0;background:#cdb69b}
.room-interior .room-landscape{display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:60% 50%;border-radius:0!important;transform:scale(1.015);transform-origin:70% 65%;transition:transform 1.1s cubic-bezier(.2,.75,.2,1),filter .8s;filter:none}
.room-arrival:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#fbf7f1 0%,#fbf7f1 31%,#fbf7f1ed 37%,#fbf7f100 60%);transition:opacity .8s}
.room-arrival:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#2d251f 0%,#2d251f 31%,#2d251fed 37%,#2d251f00 60%);opacity:0;transition:opacity .8s}
.room-interior .room-copy{padding:65px 0 100px clamp(24px,4.6vw,85px);margin:0;position:relative;z-index:2;max-width:670px;width:100%;box-sizing:border-box}
.room-interior .room-copy h1{font:400 clamp(55px,5.25vw,86px)/1.03 var(--si-serif)!important;letter-spacing:-.04em!important;color:var(--room-ink)!important;margin:0 0 25px!important;max-width:none!important;overflow-wrap:normal!important}
.room-interior .room-copy h1 em{color:var(--room-accent)!important;font-weight:400}
.room-interior .room-family-copy h1{font-size:clamp(88px,10vw,160px)!important;line-height:.9!important;letter-spacing:-.045em!important;margin:14px 0 22px!important}
.room-interior .room-copy .sp-tagline{font:italic 400 clamp(31px,3vw,46px)/1.12 var(--si-serif)!important;color:var(--room-accent)!important;margin:0 0 24px!important;max-width:430px}
.room-interior .room-copy>p:not(.si-eyebrow):not(.sp-tagline):not(.sp-meta):not(.sv-location):not(.si-location){font:400 clamp(16px,1.15vw,19px)/1.8 var(--si-sans)!important;color:var(--room-muted)!important;max-width:43ch!important;margin:0 0 26px!important}
.room-interior .room-copy .si-eyebrow{font:500 12px/1.6 var(--si-sans)!important;letter-spacing:.115em!important;margin:0 0 28px!important;color:var(--room-muted)!important}
.room-interior .room-copy :is(.sp-crumbs,.si-page-trail){font-size:13px!important;line-height:1.6!important;gap:10px;margin:0 0 26px!important;color:var(--room-muted)!important}
.room-interior .room-copy :is(.sp-actions,.si-actions,.si-hero-actions,.room-actions){margin:30px 0 0!important;display:flex;flex-wrap:wrap;gap:15px 24px;align-items:center}
.room-interior .room-copy .si-button{font:500 14px/1.5 var(--si-sans)!important;min-height:52px!important;letter-spacing:.045em!important;background:#51331d!important;color:#fff9f1!important;border:1px solid #51331d!important;padding:16px 25px!important;border-radius:50px!important}
.room-interior .room-copy .si-text-link{font:400 15px/1.6 var(--si-sans)!important;min-height:44px;display:inline-flex;align-items:center;color:var(--room-ink)!important;text-decoration:none}
.room-interior .room-copy :is(.sv-location,.si-location,.sp-meta){font:400 13px/1.75 var(--si-sans)!important;color:var(--room-muted)!important;margin:22px 0 0!important;max-width:420px}
.room-interior .room-copy .sp-meta{display:flex;gap:10px 17px;flex-wrap:wrap}
.room-plaque{position:absolute;right:35px;top:30px;display:inline-flex;gap:15px;padding:11px 18px;border:1px solid #fdf6e955;border-radius:3px;background:#fcf6ecdb;color:#51331d;font:500 12px/1.5 var(--si-sans);letter-spacing:.1em;box-shadow:0 3px 18px #2b1c1312}
.room-plaque i{font-style:normal;color:#b5835b}
.room-sunlight{position:absolute;inset:0;background:linear-gradient(125deg,transparent 45%,#fff3d312 55%,transparent 65%);pointer-events:none}
.room-interior .room-paths{position:absolute;bottom:32px;left:51%;right:30px;display:grid;gap:0;grid-template-columns:1fr;background:#fffaf0eb;backdrop-filter:blur(18px);padding:8px 22px;border:1px solid #b3906b5c;border-radius:15px;box-shadow:0 14px 38px #26170c23}
.room-interior .room-way{display:grid;grid-template-columns:28px 1fr 24px;align-items:center;gap:14px;padding:17px 0;min-height:72px;color:#39271b!important;text-decoration:none!important;border-bottom:1px solid #72543533;transition:color .2s;min-width:0;background:none!important}
.room-interior .room-way:last-child{border-bottom:0}
.room-way-number{font:400 14px/1 var(--si-serif);color:#9e613e}
.room-interior .room-way small{font:500 12px/1.5 var(--si-sans)!important;letter-spacing:.11em;text-transform:uppercase;display:block;color:#6b4f38;margin-bottom:4px}
.room-interior .room-way strong{font:400 clamp(19px,1.6vw,25px)/1.15 var(--si-serif)!important;display:block;letter-spacing:-.005em}
.room-way>span:last-child{font:400 25px var(--si-sans);transition:transform .3s}
.room-way:hover>span:last-child{transform:translate(3px,-3px)}
.room-way:hover strong{color:#a35e32}
.room-arrival:has(.room-way:hover) .room-landscape,.room-arrival.is-entering .room-landscape{transform:scale(1.065)}
.room-interior .room-utility{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px var(--si-gutter,24px);border-bottom:1px solid #72543533;background:#fbf7f1;color:#705b49}
.room-interior .room-utility>p{margin:0!important;font:400 13px/1.6 var(--si-sans)!important;color:inherit!important}
.room-light{margin-right:120px;display:flex;align-items:center;gap:6px;font:400 13px/1.5 var(--si-sans)}
.room-light[hidden]{display:none}
.room-light>span{margin-right:12px}
.room-light button{min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:30px;font:inherit;background:none;color:#51331d;cursor:pointer}
.room-light button[aria-pressed=true]{border-color:#8e6c4938;background:#efe4d4}
.room-interior .room-facts{padding:24px var(--si-gutter);max-width:1300px;margin:auto}
.room-interior .room-facts .sp-note{position:static!important;width:100%!important;margin:0!important;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;background:transparent;padding:0!important;display:grid;grid-template-columns:1fr 2fr;gap:25px;align-items:baseline}
.room-interior .room-facts .sp-note ul{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.room-interior .room-facts .sp-note li{font:400 24px var(--si-serif)!important;display:block;border:0;padding:0}
.room-interior .room-facts .sp-note li small{display:block;font:400 13px/1.8 var(--si-sans)!important;margin-top:4px}
.room-interior .room-facts .si-eyebrow{font-size:12px!important;margin:0!important}
.room-interior .interior-chapters{margin-top:25px}
/* Evening keeps the room warm and the copy legible. The work below remains on paper. */
.room-arrival[data-room-tone=night]{--room-paper:#2d251f;--room-ink:#fff4e5;--room-muted:#e0cfba;--room-accent:#e2ac7f}
.room-arrival[data-room-tone=night]:before{opacity:0}
.room-arrival[data-room-tone=night]:after{opacity:1}
.room-arrival[data-room-tone=night] .room-landscape{filter:brightness(.56) saturate(.78) sepia(.12)}
.room-arrival[data-room-tone=night] .room-sunlight{background:radial-gradient(ellipse at 83% 39%,#ffca6830,transparent 55%)}
.room-arrival[data-room-tone=night] .room-plaque{background:#37281edb;color:#f8e8d1;border-color:#ddbd9055}
.room-interior .room-arrival[data-room-tone=night] .room-copy .si-button{background:#ebd3ae!important;color:#302216!important;border-color:#ebd3ae!important}
.room-interior .room-arrival[data-room-tone=night] .room-copy .si-button:before{background:#f9e6ca}
.room-arrival[data-room-tone=night] .room-copy .sp-meta span:before{background:#e2ac7f}
.room-interior .room-arrival[data-room-tone=night] .coastal-offer :is(.price,.coastal-offer-note){color:#fff0dc!important}
.room-arrival[data-room-tone=night] .coastal-offer{border-color:#e1c09c55}
.room-interior :is(.room-way,.room-light button):focus-visible{outline:2px solid #a15e33;outline-offset:5px}
.room-interior .room-arrival+.room-utility+*{scroll-margin-top:25px}
.room-interior :is(section[id],h2[id]){scroll-margin-top:32px}
.room-interior .room-package .room-copy{padding-top:45px;padding-bottom:55px}
.room-interior .room-package .room-copy h1{font-size:clamp(48px,4.5vw,76px)!important}
.room-interior .room-copy .coastal-offer .actions{flex-direction:column;align-items:flex-start}
.room-interior .room-copy .coastal-offer .actions>a{max-width:100%;font-size:14px!important;line-height:1.5!important;min-height:48px}
.room-interior .room-copy .coastal-offer .price{font-size:38px!important}
/* At laptop and phone sizes, keep the whole room and place the copy above it. */
@media(max-width:1100px){
 .room-interior .room-arrival{display:flex;flex-direction:column;align-items:stretch;min-height:0}
 .room-interior .room-arrival:before,.room-interior .room-arrival:after{display:none}
 .room-interior .room-copy{padding:50px var(--si-gutter,24px) 44px;max-width:900px;width:100%;order:0}
 .room-interior .room-copy h1{font-size:clamp(52px,7vw,80px)!important;max-width:750px!important}
 .room-interior .room-family-copy h1{font-size:clamp(90px,13vw,135px)!important}
 .room-interior .room-copy>p:not(.si-eyebrow):not(.sp-tagline):not(.sp-meta):not(.sv-location):not(.si-location){max-width:60ch!important}
 .room-interior .room-copy .sp-tagline{max-width:650px}
 .room-arrival .room-scene{position:relative;inset:auto;width:100%;aspect-ratio:16/10;order:1;z-index:0}
 .room-interior .room-landscape{object-position:center;transform:none}
 .room-interior .room-paths{position:relative;inset:auto;order:2;margin:-45px 28px 24px;z-index:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:18px 22px;box-shadow:0 12px 35px #26170c18}
 .room-interior .room-way{grid-template-columns:1fr 22px;gap:7px;border-bottom:0;align-items:start;padding:6px 0}
 .room-way-number{grid-column:1/-1;margin-bottom:4px}
 .room-interior .room-way strong{font-size:23px!important}
 .room-interior .room-way small{font-size:12px!important}
 .room-interior .room-package .room-copy{padding:45px var(--si-gutter,24px)}
}
@media(max-width:600px){
 .room-interior .room-copy{padding:36px 24px 32px}
 .room-interior .room-copy h1{font-size:clamp(47px,12.5vw,66px)!important;line-height:1.02!important;letter-spacing:-.035em!important;margin-bottom:24px!important}
 .room-interior .room-family-copy h1{font-size:100px!important;line-height:.92!important}
 .room-interior .room-copy .sp-tagline{font-size:35px!important;line-height:1.1!important}
 .room-interior .room-copy .si-eyebrow{font-size:11px!important;letter-spacing:.08em!important;margin-bottom:22px!important}
 .room-interior .room-copy :is(.sp-crumbs,.si-page-trail){font-size:12px!important;margin-bottom:20px!important}
 .room-interior .room-copy>p:not(.si-eyebrow):not(.sp-tagline):not(.sp-meta):not(.sv-location):not(.si-location){font-size:16px!important;line-height:1.8!important}
 .room-interior .room-copy .si-button{font-size:13px!important;padding:15px 20px!important;max-width:100%}
 .room-interior .room-copy :is(.sp-actions,.si-actions,.si-hero-actions,.room-actions){margin-top:25px!important;gap:13px}
 .room-arrival .room-scene{aspect-ratio:4/3}
 .room-plaque{top:16px;right:16px;left:16px;font-size:12px;justify-content:center;padding:10px 12px;letter-spacing:.08em}
 .room-interior .room-paths{grid-template-columns:1fr;margin:-16px 16px 20px;padding:4px 19px;gap:0;border-radius:12px}
 .room-interior .room-way{grid-template-columns:25px 1fr 22px;border-bottom:1px solid #72543533;align-items:center;padding:16px 0;min-height:76px;gap:12px}
 .room-way-number{grid-column:auto;margin:0;font-size:15px}
 .room-interior .room-way strong{font-size:23px!important;line-height:1.15!important}
 .room-interior .room-way small{font-size:12px!important;letter-spacing:.08em}
 .room-interior .room-utility{padding:20px 24px;flex-wrap:wrap;gap:12px}
 .room-interior .room-utility>p{font-size:12px!important}
 .room-light{width:100%;font-size:13px;gap:5px;margin-right:0}
 .room-light>span{margin-right:auto}
 .room-light button{padding-inline:15px}
 .room-interior .room-facts{padding:26px 24px}
 .room-interior .room-facts .sp-note{display:block}
 .room-interior .room-facts .sp-note ul{gap:15px;margin-top:18px;grid-template-columns:1fr}
 .room-interior .room-facts .sp-note li{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid #72543522;padding-top:12px;font-size:25px!important;gap:15px}
 .room-interior .room-facts .sp-note li small{margin:0;max-width:55%;text-align:right}
 .room-interior .room-package .room-copy{padding:36px 24px}
 .room-interior .room-package .room-copy h1{font-size:clamp(43px,12vw,62px)!important}
}
@media(prefers-reduced-motion:reduce){
 .room-interior .room-arrival,.room-arrival:before,.room-arrival:after,.room-interior .room-landscape,.room-way>span:last-child{transition:none!important}
 .room-arrival:has(.room-way:hover) .room-landscape,.room-arrival.is-entering .room-landscape{transform:none}
}
/* Legacy website offer blocks become part of the same paper-and-stone interior. */
.room-interior[data-service=websites] .si-content-flow :is(.website-route-custom,.meet-section){background:#eee3d3!important;color:#382619!important;border:1px solid #a6845d30;border-radius:20px;overflow:hidden}
.room-interior[data-service=websites] .si-content-flow :is(.website-route-custom,.meet-section) :is(h2,h3,p,li,a:not(.button)){color:#513a28!important}
.room-interior[data-service=websites] .si-content-flow :is(.website-route-custom,.meet-section) .button{background:#51331d!important;color:#fff8ed!important;border-color:#51331d!important}
.room-interior[data-service=websites] .room-control{display:none}
.room-interior[data-service=websites] .si-content-flow .icon{object-fit:contain!important;width:22px!important;height:22px!important}

.room-interior .si-nav>a:not(.si-button){font-size:14px!important;letter-spacing:.035em!important}
@media(max-width:1250px){.room-interior .si-header .si-nav{display:none!important}.room-interior .si-menu-button{display:flex!important}}
.room-interior .room-light button[aria-pressed]{color:#51331d!important}
.room-interior .room-paths{z-index:3}
/* On a phone, arrive in the room before reading the full introduction. */
@media(max-width:600px){
 .room-interior .room-arrival:not(.room-package) .room-copy{display:contents}
 .room-interior .room-arrival:not(.room-package) .room-copy>*{order:3;width:calc(100% - 48px);margin-left:24px!important;margin-right:24px!important;box-sizing:border-box}
 .room-interior .room-arrival:not(.room-package) .room-copy :is(.sp-crumbs,.si-page-trail){order:0;margin-top:24px!important;margin-bottom:0!important}
 .room-interior .room-arrival:not(.room-package) .room-copy>.si-eyebrow{order:0;margin-top:28px!important;margin-bottom:22px!important}
 .room-interior .room-arrival:not(.room-package) .room-copy>h1{order:0;margin-top:0!important;margin-bottom:26px!important}
 .room-interior .room-arrival:not(.room-package) .room-copy>.sp-tagline{order:0;margin-top:-6px!important;margin-bottom:28px!important}
 .room-interior .room-arrival:not(.room-package) .room-scene{order:1}
 .room-interior .room-arrival:not(.room-package) .room-copy>p:not(.si-eyebrow):not(.sp-tagline):not(.sp-meta):not(.sv-location):not(.si-location){margin-top:27px!important;margin-bottom:0!important}
 .room-interior .room-arrival:not(.room-package) .room-paths{order:4;margin:28px 16px 24px}
 .room-interior .room-arrival:not(.room-package) .room-copy :is(.sp-meta,.sv-location,.si-location){margin-top:18px!important;margin-bottom:0!important}
}
@media(max-width:600px){
 .room-interior .room-arrival .room-family-copy>h1{font:400 90px/.95 var(--si-serif)!important}
 .room-interior .room-arrival:not(.room-package) .room-copy>p:not(.si-eyebrow):not(.sp-tagline):not(.sp-meta):not(.sv-location):not(.si-location){margin-left:24px!important;margin-right:24px!important}
 .room-interior .room-arrival:not(.room-package) .room-copy :is(.sp-actions,.si-actions,.si-hero-actions,.room-actions){margin-left:24px!important;margin-right:24px!important}
}
