*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #F8F4EE;--charcoal: #1C1C1C;--warm: #B8936A;--warm-light: #CFA880;--brown: #7A6248;--white: #FFFFFF;--gray: #E8E2DA;--gray-text: #8A7F75;--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Inter", system-ui, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--cream);color:var(--charcoal);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:#f8f4eef5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(184,147,106,.18);padding:0 48px;height:80px;--navbar-logo-h: 80px;--navbar-logo-w: min(300px, 42vw);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:20px}.navbar-spacer{display:none}.navbar-logo-shell{grid-column:2;grid-row:1;justify-self:center;min-width:0;display:flex;align-items:center;justify-content:center}.navbar-logo{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;width:var(--navbar-logo-w);height:var(--navbar-logo-h);max-width:100%;z-index:1}.logo-full{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(1);height:auto;width:auto;max-height:var(--navbar-logo-h);max-width:var(--navbar-logo-w);object-fit:contain;mix-blend-mode:multiply;opacity:1;transition:opacity .4s ease,transform .4s ease}.logo-full.logo-out{opacity:0;transform:translate(calc(-50% - 10px),-50%) scale(.9);pointer-events:none}.logo-pig{position:absolute;left:50%;top:50%;transform:translate(calc(-50% + 10px),-50%) scale(.88);height:calc(var(--navbar-logo-h) * .85);width:calc(var(--navbar-logo-h) * .85);max-height:var(--navbar-logo-h);max-width:var(--navbar-logo-h);object-fit:contain;mix-blend-mode:multiply;opacity:0;transition:opacity .4s ease,transform .4s ease}.logo-pig.logo-in{opacity:1;transform:translate(-50%,-50%) scale(1)}.navbar-tabs{grid-column:1;grid-row:1;justify-self:start;min-width:0;display:flex;align-items:center;gap:0;list-style:none}.navbar-tab{font-family:var(--font-sans);font-size:10px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-text);padding:6px 8px;border-radius:3px;transition:all .2s ease;cursor:pointer;white-space:nowrap}.navbar-tab:hover{color:var(--charcoal);background:#b8936a14}.navbar-tab.active{color:var(--warm);font-weight:500}.navbar-menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:6px;color:var(--charcoal);flex-shrink:0;transition:background .2s ease}.navbar-menu-btn:hover{background:#b8936a1f}.navbar-menu-btn:focus-visible{outline:2px solid var(--warm);outline-offset:2px}.navbar-menu-btn-lines{display:flex;flex-direction:column;justify-content:center;gap:5px;width:20px}.navbar-menu-btn-lines span{display:block;height:2px;width:100%;background:var(--charcoal);border-radius:1px;transition:transform .25s ease,opacity .2s ease}.navbar.menu-open .navbar-menu-btn-lines span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar.menu-open .navbar-menu-btn-lines span:nth-child(2){opacity:0}.navbar.menu-open .navbar-menu-btn-lines span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#1c1c1c47;opacity:0;pointer-events:none;transition:opacity .25s ease}.navbar-scrim.is-visible{opacity:1;pointer-events:auto}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--warm);color:#fff;padding:14px 36px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;transition:all .3s ease;font-family:var(--font-sans);font-weight:500}.btn-primary:hover{background:var(--warm-light);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.55);color:#fff;padding:14px 36px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;transition:all .3s ease;font-family:var(--font-sans);background:#ffffff14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-secondary:hover{background:#ffffff2e}.btn-dark{display:inline-flex;align-items:center;gap:8px;background:#c488a8;color:#fff;padding:16px 40px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-radius:2px;transition:all .3s ease;font-family:var(--font-sans);font-weight:500}.btn-dark:hover{background:#d8f800;color:var(--charcoal)}.home-hero{position:relative;height:100vh;overflow:hidden}.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1.4s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000014,#00000040 40%,#000000a6)}.hero-content{position:absolute;bottom:90px;left:64px;right:64px;color:#fff}.hero-tag{font-size:11px;letter-spacing:.25em;text-transform:uppercase;opacity:.75;margin-bottom:18px;font-family:var(--font-sans)}.hero-title{font-family:var(--font-serif);font-size:clamp(56px,8vw,104px);font-weight:300;line-height:.92;letter-spacing:-.02em;margin-bottom:22px}.hero-subtitle{font-family:var(--font-serif);font-size:clamp(17px,2vw,22px);font-weight:300;font-style:italic;opacity:.82;margin-bottom:36px;max-width:480px;line-height:1.5}.hero-cta{display:flex;gap:14px;flex-wrap:wrap}.hero-dots{position:absolute;bottom:36px;left:50%;transform:translate(-50%);display:flex;gap:8px}.hero-dot{width:6px;height:6px;border-radius:50%;background:#ffffff59;transition:all .35s ease;cursor:pointer;border:none;padding:0}.hero-dot.active{background:#fff;width:26px;border-radius:3px}.page-section{padding:110px 64px 90px;max-width:1280px;margin:0 auto}.tshirt-section{padding:60px 64px 90px;max-width:1280px;margin:0 auto}.page-header{margin-bottom:56px}.section-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--warm);margin-bottom:14px;font-family:var(--font-sans);font-weight:500}.section-title{font-family:var(--font-serif);font-size:clamp(38px,5vw,68px);font-weight:300;line-height:1.05;color:var(--charcoal)}.section-title em{font-style:italic;color:var(--warm)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:start}.about-text p{font-family:var(--font-serif);font-size:21px;font-weight:300;line-height:1.75;color:var(--charcoal);margin-bottom:22px}.about-text .lead{font-size:26px;font-style:italic;color:var(--warm);margin-bottom:28px}.about-text--voice p{font-style:italic;margin-bottom:28px}.about-text--voice .about-text-pull{margin-top:-12px;margin-bottom:28px}.about-details{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:52px}.about-detail{padding:22px 24px 22px 0;border-top:1px solid var(--gray)}.about-detail-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--warm);margin-bottom:7px;font-weight:500}.about-detail-value{font-family:var(--font-serif);font-size:17px;font-weight:400;color:var(--charcoal);line-height:1.5}.about-image-stack{position:relative}.about-image-main{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:2px}.about-image-accent{position:absolute;bottom:-28px;left:-28px;width:48%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:5px solid var(--cream);box-shadow:0 4px 24px #0000001f}.room-tabs{display:flex;gap:0;border-bottom:1px solid var(--gray);margin-bottom:40px;overflow-x:auto;scrollbar-width:none}.room-tabs::-webkit-scrollbar{display:none}.room-tab{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-text);padding:12px 28px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease;cursor:pointer;font-weight:400;white-space:nowrap;background:none;border-left:none;border-right:none;border-top:none}.room-tab:hover{color:var(--charcoal)}.room-tab.active{color:var(--warm);border-bottom-color:var(--warm);font-weight:500}.room-floor-plan{margin-bottom:8px}.room-floor-plan-hint{font-size:16px;color:var(--gray-text);margin-bottom:16px;letter-spacing:.02em}.room-floor-plan-wrap{position:relative;max-width:100%;margin:0 auto;border-radius:2px;overflow:hidden;background:var(--white);box-shadow:0 4px 24px #1c1c1c0d}.room-floor-plan-img{display:block;width:100%;height:auto}.room-floor-hotspot{position:absolute;cursor:pointer;border:1px solid rgba(184,147,106,.75);border-radius:3px;background:transparent;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;padding:0}.room-floor-hotspot:hover{background:#b8936a1a;border-color:var(--warm);box-shadow:inset 0 0 0 1px #b8936a40}.room-floor-hotspot:focus-visible{outline:2px solid var(--warm);outline-offset:2px;z-index:2}.room-floor-hotspot-mark{position:absolute;top:4px;left:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:11px;font-weight:600;color:var(--charcoal);background:#fffffff2;border-radius:50%;border:1px solid rgba(184,147,106,.5);box-shadow:0 1px 4px #0000000f}.room-gallery-anchor{height:0;scroll-margin-top:100px}.room-gallery-empty{font-family:var(--font-serif);font-size:18px;font-weight:300;line-height:1.65;color:var(--gray-text);text-align:center;padding:48px 24px;max-width:520px;margin:0 auto 24px}.room-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:236px;gap:12px}.room-gallery-item{overflow:hidden;border-radius:2px;cursor:pointer;background:var(--gray)}.room-gallery-item:first-child{grid-column:span 2;grid-row:span 2}.room-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.room-gallery-item:hover img{transform:scale(1.04)}.room-gallery--contain{grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:16px}.room-gallery--contain .room-gallery-item{display:block;background:transparent;overflow:hidden;border-radius:2px}.room-gallery.room-gallery--contain .room-gallery-item:first-child{grid-column:auto;grid-row:auto}.room-gallery.room-gallery--contain.room-gallery--contain-hero .room-gallery-item:first-child{grid-column:1 / -1;grid-row:auto}.room-gallery--contain .room-gallery-item img{width:100%;height:auto;display:block}.room-gallery--contain .room-gallery-item:hover img{transform:scale(1.01)}.room-gallery-item--art{position:relative}.room-gallery--contain .room-gallery-item--art:hover img{transform:none}.art-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;box-sizing:border-box;width:100%;height:100%;min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,1.5vh,16px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(12px,3.5%,28px) clamp(14px,4.5%,36px);background:#f8f4eef5;color:var(--charcoal);opacity:0;visibility:hidden;transition:opacity .32s ease,visibility .32s ease;pointer-events:none;text-align:center;outline:none}.room-gallery-item--art:hover .art-hover-overlay,.room-gallery-item--art:focus-within .art-hover-overlay{opacity:1;visibility:visible;pointer-events:auto}@media (prefers-reduced-motion: reduce){.art-hover-overlay{transition:none}}.art-hover-title,.art-hover-section,.art-hover-body-columns,.art-hover-quote,.art-hover-tagline,.art-hover-footer{width:100%;max-width:min(36em,92%);margin-left:auto;margin-right:auto}.art-hover-title{font-family:var(--font-serif);font-size:clamp(16px,2.4vw,24px);font-weight:600;margin-top:0;margin-bottom:0;line-height:1.2;flex-shrink:0}.art-hover-section{font-family:var(--font-serif);font-size:clamp(13px,1.65vw,17px);font-weight:600;margin-top:0;margin-bottom:0;line-height:1.3;flex-shrink:0}.art-hover-body-columns{flex:0 1 auto;min-height:0}.art-hover-body{font-family:var(--font-serif);font-size:clamp(11px,1.35vw,15px);font-weight:300;line-height:1.52;margin:0 0 .75em;text-align:center;text-wrap:pretty;hyphens:none;-webkit-hyphens:none;break-inside:avoid}.art-hover-body:last-child{margin-bottom:0}.art-hover-quote{font-family:var(--font-serif);font-size:clamp(12px,1.5vw,16px);font-weight:600;margin-top:0;margin-bottom:0;line-height:1.4;text-align:center;text-wrap:pretty;flex-shrink:0}.art-hover-tagline{font-family:var(--font-serif);font-size:clamp(12px,1.45vw,16px);font-weight:600;margin-top:0;margin-bottom:0;line-height:1.3;flex-shrink:0}.art-hover-footer{font-family:var(--font-serif);font-size:clamp(12px,1.4vw,15px);line-height:1.45;margin-top:0;margin-bottom:0;padding-top:clamp(8px,1.5vh,14px);border-top:1px solid rgba(28,28,28,.12);flex-shrink:0}.art-hover-footer strong{font-weight:600}.art-hover-footer em{font-style:italic;font-weight:300;color:var(--gray-text)}.art-hover-footer-link{color:var(--warm);font-weight:500;text-decoration:none}.art-hover-footer-link:hover{color:var(--brown)}.room-info{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:60px;padding-top:60px;border-top:1px solid var(--gray)}.room-description{font-family:var(--font-serif);font-size:19px;font-weight:300;line-height:1.75;color:var(--charcoal);margin-bottom:0}.room-description-stack{margin-bottom:36px}.room-description-stack .room-description{margin-bottom:1.1em}.room-description-stack .room-description:last-child{margin-bottom:0}.room-description-summary{font-size:17px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-text)}.room-tab-copy{margin-top:56px;padding-top:56px;border-top:1px solid var(--gray);max-width:720px}.room-tab-title{font-family:var(--font-serif);font-size:20px;font-weight:500;font-style:normal;color:var(--charcoal);line-height:1.35;margin-bottom:1.05em}.room-description-stack>.room-tab-title:first-child{margin-top:0}.room-amenities{display:flex;flex-direction:column;gap:14px}.room-amenity-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px clamp(28px,5vw,52px);align-items:start}.amenity{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.5;color:var(--charcoal)}.amenity:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warm);flex-shrink:0;margin-top:.48em}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reviews-grid.room-gallery.room-gallery--contain{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:20px}.reviews-grid.room-gallery--contain .review-card{display:flex;flex-direction:column}.reviews-grid.room-gallery--contain .review-card.review-card--full{grid-column:1 / -1}.reviews-grid.room-gallery--contain .review-card img{width:100%;height:auto;aspect-ratio:unset;object-fit:contain;background:var(--cream)}.review-card{overflow:hidden;border-radius:2px;background:#fff;box-shadow:0 1px 16px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.review-card:hover{transform:translateY(-4px);box-shadow:0 8px 40px #0000001c}.review-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.review-text{padding:22px 24px 26px}.review-quote{font-family:var(--font-serif);font-size:17px;font-style:italic;line-height:1.6;color:var(--charcoal);margin-bottom:14px}.review-author{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--warm);font-weight:500}.minibar-layout{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}.minibar-gallery{width:100%}.minibar-gallery .room-gallery-item{cursor:default}.minibar-headline{font-family:var(--font-serif);font-size:clamp(28px,3vw,40px);font-weight:300;margin:0 0 28px;line-height:1.2;color:var(--charcoal)}.minibar-description{font-family:var(--font-serif);font-size:20px;font-weight:300;line-height:1.75;margin-bottom:28px;color:var(--charcoal)}.minibar-signature{font-family:var(--font-serif);font-size:18px;font-weight:300;font-style:italic;line-height:1.6;margin:0 0 24px;color:var(--charcoal)}.tshirt-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:12px}.tshirt-item{overflow:hidden;border-radius:2px;background:#fff;cursor:pointer}.tshirt-item:first-child{grid-column:span 2;grid-row:span 2}.tshirt-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.tshirt-item:hover img{transform:scale(1.05)}.tshirt-hero-title .tshirt-hero-line2{font-size:clamp(26px,3.2vw,42px);font-weight:500;letter-spacing:.02em;line-height:1.15}.tshirt-hero-hashtag{color:var(--charcoal)}.tshirt-hero-heart{font-weight:400}.tshirt-lead{font-family:var(--font-serif);font-size:clamp(22px,2.4vw,28px);font-weight:500;color:var(--charcoal);margin-bottom:14px}.tshirt-hashtag{font-family:var(--font-sans);font-size:27px;font-weight:500;letter-spacing:.12em;color:var(--warm);margin-bottom:22px;margin-top:22px}.tshirt-info{max-width:580px;margin:0 auto 56px;text-align:center}.tshirt-description{font-family:var(--font-serif);font-size:24px;font-weight:300;font-style:italic;line-height:1.55;color:var(--charcoal);margin-bottom:14px}.tshirt-body{font-size:15px;color:var(--gray-text)}.tshirt-handle{font-family:var(--font-serif);font-size:26px;font-weight:300;color:var(--warm)}.contact-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);gap:80px;align-items:center}.contact-video{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:5 / 8;width:100%;max-height:min(88vh,760px);background:var(--charcoal)}.contact-video video{width:100%;height:100%;object-fit:cover}.contact-description{font-family:var(--font-serif);font-size:21px;font-weight:300;line-height:1.65;color:var(--charcoal);margin-bottom:44px}.contact-instagram{display:inline-flex;align-items:center;gap:12px;font-size:15px;color:var(--gray-text);transition:color .2s ease;margin-bottom:10px}.contact-instagram:hover{color:var(--warm)}.contact-handle{display:block;font-family:var(--font-serif);font-size:34px;font-weight:300;color:var(--warm);margin-bottom:44px;transition:opacity .2s ease}.contact-handle:hover{opacity:.75}.contact-location{padding-top:32px;border-top:1px solid var(--gray);margin-bottom:36px}.contact-location-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--warm);margin-bottom:10px;font-weight:500}.contact-location-value{font-family:var(--font-serif);font-size:18px;font-weight:300;line-height:1.6;color:var(--charcoal)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000ed;z-index:200;display:flex;align-items:center;justify-content:center;padding:40px;cursor:pointer;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-picture{display:block;margin:0 auto;cursor:default}.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;cursor:default;border-radius:2px}.lightbox-close{position:absolute;top:20px;right:28px;color:#fff;font-size:36px;cursor:pointer;opacity:.6;transition:opacity .2s ease;line-height:1;background:none;border:none}.lightbox-close:hover{opacity:1}@media (max-width: 900px){.navbar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;padding:0 12px;height:60px;--navbar-logo-h: 50px;--navbar-logo-w: min(240px, 62vw);column-gap:0}.navbar-menu-btn{display:flex;order:1;flex-shrink:0;margin-right:4px}.navbar-logo-shell{order:2;flex:1 1 auto;min-width:0;display:flex;justify-content:center;align-items:center;grid-column:unset;grid-row:unset}.navbar-spacer{display:block;order:3;flex:0 0 44px;width:44px;height:1px;overflow:hidden;visibility:hidden}.navbar-tabs{position:fixed;top:60px;left:0;right:0;order:4;grid-column:unset;grid-row:unset;justify-self:stretch;flex-direction:column;align-items:stretch;gap:0;padding:4px 12px 22px;margin:0;max-height:0;overflow:hidden;opacity:0;pointer-events:none;background:#f8f4eefa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(184,147,106,.22);box-shadow:0 18px 48px #1c1c1c1a;transition:max-height .4s ease,opacity .25s ease;z-index:101}.navbar.menu-open .navbar-tabs{max-height:min(78vh,520px);opacity:1;pointer-events:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.navbar-tab{padding:14px;font-size:13px;letter-spacing:.12em;border-radius:4px;border-bottom:1px solid rgba(184,147,106,.12)}.navbar-tab:last-child{border-bottom:none}.navbar-logo-text{font-size:18px}.page-section{padding:80px 24px 60px}.hero-content{left:24px;right:24px;bottom:64px}.hero-title{font-size:clamp(44px,10vw,72px)}.about-layout,.minibar-layout,.contact-layout{grid-template-columns:1fr;gap:40px}.about-image-accent{display:none}.room-info{grid-template-columns:1fr;gap:40px}.reviews-grid{grid-template-columns:1fr 1fr}.tshirt-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.room-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.room-gallery-item:first-child{grid-column:span 2}.room-gallery--contain{grid-template-columns:1fr;grid-auto-rows:auto}}@media (max-width: 540px){.navbar{padding:0 10px;--navbar-logo-h: 46px;--navbar-logo-w: min(200px, 70vw)}.reviews-grid{grid-template-columns:1fr}.tshirt-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.hero-cta{flex-direction:column}.room-amenity-row{grid-template-columns:1fr;gap:10px 0}}
