@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;1,400;1,500&display=swap');

:root { --psd-shell:min(1170px,calc(100% - 48px)); --psd-gold:#cfb400; --psd-gold-text:#827000; --psd-muted:#767676; --psd-ink:#242424; --psd-text:#4b4b58; --psd-serif:'Lora', Georgia, serif; --psd-sans:'Nexa Book', nexa, Arial, sans-serif; --psd-xbold:'Nexa Extra Bold', nexa, Arial, sans-serif; --psd-width:1170px; }
.psd-home,.psd-page { background:#fff; color:var(--psd-text); font-family:var(--psd-sans); }
.psd-home *,.psd-page * { box-sizing:border-box; }
.psd-home h1,.psd-home h2,.psd-home h3,.psd-home p,.psd-page h1,.psd-page h2,.psd-page h3,.psd-page p { margin-top:0; }
.psd-header { position:absolute; z-index:5; top:0; left:0; width:100%; height:205px; padding:20px max(24px,calc((100% - 1170px)/2)); display:flex; align-items:flex-start; gap:28px; background:linear-gradient(180deg,rgba(9,13,19,.94) 0%,rgba(9,13,19,.76) 55%,rgba(9,13,19,0) 100%); color:#fff; }
.psd-header.is-scrolled { position:fixed; height:auto; padding-top:12px; padding-bottom:12px; background:rgba(36,36,36,.97); }
.psd-logo { flex:0 0 176px; display:block; }
.psd-logo img { width:176px; height:150px; object-fit:contain; background:#fff; }
.psd-nav { display:flex; flex:1; align-items:center; justify-content:flex-end; gap:24px; padding-top:66px; font-size:15px; text-transform:uppercase; white-space:nowrap; }
.psd-header.is-scrolled .psd-nav { padding-top:0; }
.psd-nav a { color:#fff; }
.psd-gold-button,.psd-dark-button,.psd-outline-button { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:0 18px; border:0; font-family:var(--psd-sans); font-size:13px; text-transform:uppercase; }
.psd-gold-button { background:var(--psd-gold); color:var(--psd-ink)!important; }
.psd-dark-button { background:var(--psd-ink); color:#fff!important; }
.psd-outline-button { border:1px solid currentColor; color:inherit!important; }
.psd-menu-toggle { display:none; }
.psd-hero { position:relative; height:min(53.49vw,1027px); overflow:hidden; background:#222; }
.psd-hero__image,.psd-hero__media { display:block; width:100%; height:100%; object-fit:cover; object-position:center; background:#222; }
/* WCAG 2.2.2 — auto-playing motion over 5s needs a mechanism to stop it.
   Daryl asked for no visible control in the hero, so it is visually hidden and
   appears only on keyboard focus: invisible to mouse users, still reachable by
   keyboard and announced to screen readers, so the mechanism still exists. */
.psd-hero__motion { position:absolute; z-index:2; right:max(24px,calc((100% - 1170px)/2)); bottom:28px; width:1px; height:1px; min-height:0; padding:0; overflow:hidden; border:0; clip-path:inset(50%); white-space:nowrap; background:transparent; color:#fff; font-family:var(--psd-sans); font-size:12px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.psd-hero__motion:focus-visible { width:auto; height:auto; min-height:44px; min-width:44px; padding:0 16px; display:inline-flex; align-items:center; gap:8px; overflow:visible; clip-path:none; border:1px solid rgba(255,255,255,.55); background:rgba(20,24,20,.88); outline:3px solid var(--psd-gold); outline-offset:3px; }
.psd-hero__motion:focus-visible::before { content:'\275A\275A'; font-size:13px; letter-spacing:1px; }
.psd-hero__motion[aria-pressed="true"]:focus-visible::before { content:'\25B6'; letter-spacing:0; }
.psd-hero__overlay { position:absolute; inset:0; background:radial-gradient(ellipse 62% 42% at 50% 50%,rgba(10,16,25,.46) 0%,rgba(10,16,25,.22) 55%,rgba(10,16,25,0) 100%),linear-gradient(180deg,rgba(10,16,25,.32) 0%,rgba(10,16,25,0) 24%),rgba(10,16,25,.20); }
.psd-hero h1 { position:absolute; z-index:1; top:50%; left:50%; width:min(1170px,calc(100% - 48px)); transform:translate(-50%,-50%); margin:0; color:#fff; font-family:var(--psd-serif); font-size:clamp(44px,4.33vw,83px); font-style:italic; line-height:1.02; text-align:center; }
.psd-white-section { background:#fff; }
.psd-title { text-align:center; }
.psd-title h2 { margin:0; color:var(--psd-ink); font-family:var(--psd-serif); font-size:clamp(32px,2.6vw,50px); font-style:italic; font-weight:400; }
.psd-title span { display:block; width:40px; height:5px; margin:30px auto 60px; background:var(--psd-gold); }
.psd-rooms { padding:88px 24px 74px; }
.psd-room-grid { width:var(--psd-shell); margin-inline:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.psd-room { display:flex; flex-direction:column; }
.psd-room img { width:100%; aspect-ratio:1.41; object-fit:cover; }
.psd-tags { display:flex; gap:8px; margin-top:8px; }
.psd-tags span { padding:8px 12px; border:1px solid var(--psd-gold); color:var(--psd-gold-text); font-size:14px; }
.psd-room h3 { margin:18px 0 8px; color:var(--psd-ink); font-family:var(--psd-serif); font-size:29px; font-style:italic; font-weight:400; }
.psd-room p { flex:1; min-height:86px; margin-bottom:20px; color:var(--psd-muted); font-size:15px; line-height:1.55; }
.psd-room > a:not(.psd-gold-button) { display:block; margin-top:auto; margin-bottom:20px; color:var(--psd-gold-text); font-size:14px; }
.psd-room .psd-gold-button { align-self:flex-start; padding:0 24px; }
.psd-home .psd-note { max-width:900px; margin:30px auto 0; color:var(--psd-muted); text-align:center; font-size:15px; }
.psd-amenities { position:relative; height:calc(min(43.44vw,834px) + 300px); display:grid; place-items:center; overflow:hidden; background:url('../assets/media/thegoose-52026-32.jpg') center/cover; color:#fff; }
.psd-amenities__veil { position:absolute; inset:0; background:rgba(184,159,0,.84); }
.psd-amenities__inner { position:relative; width:min(930px,calc(100% - 48px)); }
.psd-amenities h2 { margin-bottom:3.54vw; font-family:var(--psd-xbold); font-size:clamp(22px,1.67vw,32px); letter-spacing:.12em; text-align:center; }
.psd-amenity-grid { display:grid; grid-template-columns:1fr 1fr; gap:55px 100px; }
.psd-amenity-grid span { display:flex; align-items:center; gap:1.56vw; min-height:65px; font-size:54px; }
.psd-amenity-grid img { width:clamp(58px,5vw,96px); max-height:clamp(58px,5vw,96px); object-fit:contain; flex:0 0 clamp(58px,5vw,96px); filter:brightness(0) invert(1); }
.psd-amenity-grid em { font-family:var(--psd-serif); font-size:clamp(16px,1.15vw,22px); font-style:italic; line-height:1.2; }
.psd-food { padding:82px 0 74px; }
.psd-food__feature,.psd-food__takeout { width:var(--psd-shell); margin-inline:auto; display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:40px; }
.psd-food__feature { margin-bottom:56px; }
.psd-food__takeout { margin-bottom:96px; }
.psd-food__feature img { width:100%; aspect-ratio:1.217; object-fit:cover; }
.psd-food__takeout img { width:100%; aspect-ratio:1.237; object-fit:cover; }
.psd-food h2 { color:var(--psd-text); font-family:var(--psd-xbold); font-size:40px; line-height:1.15; }
.psd-food p { max-width:520px; color:var(--psd-muted); font-size:15px; line-height:1.55; }

.psd-food__feature .psd-dark-button,.psd-food__feature .psd-gold-button,.psd-food__takeout .psd-dark-button,.psd-food__takeout .psd-gold-button { margin:14px 10px 0 0; }
.psd-food-gallery { width:var(--psd-shell); margin-inline:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.psd-food-gallery img { width:100%; aspect-ratio:.855; object-fit:cover; }
.psd-spa { display:grid; grid-template-columns:1fr 1fr; min-height:870px; height:auto; background:var(--psd-gold); color:var(--psd-ink); }
.psd-spa img { width:100%; height:100%; min-height:500px; object-fit:cover; }
.psd-spa > div { max-width:629px; padding:95px 70px; }
.psd-spa h2 { font-family:var(--psd-serif); font-size:46px; font-style:italic; font-weight:400; }
.psd-spa p { font-family:var(--psd-sans); font-size:16px; font-weight:400; line-height:1.55; }
.psd-kingsville { padding:85px 24px 71px; background:var(--psd-ink); color:#fff; }
.psd-kingsville .psd-title h2 { color:#fff; font-size:45px; font-weight:400; }
.psd-kingsville .psd-title strong { display:block; color:var(--psd-gold); font-family:var(--psd-xbold); font-size:32px; letter-spacing:.06em; }
.psd-kingsville__image { display:block; width:min(1560px,calc(100% - 96px)); margin:78px auto 0; aspect-ratio:2.4; object-fit:cover; }
.psd-kingsville__text { width:var(--psd-shell); margin:54px auto 0; columns:2; column-gap:70px; }
.psd-kingsville__text p:first-child { margin-top:0; }
.psd-kingsville__cta { width:var(--psd-shell); margin:10px auto 0; text-align:center; }
.psd-kingsville__text p { margin-bottom:22px; font-size:16px; line-height:1.55; break-inside:avoid-column; }

.psd-promos { display:grid; grid-template-columns:1fr 1fr; }
.psd-promos a { position:relative; aspect-ratio:960/453; overflow:hidden; }
.psd-promos img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.62); }
.psd-promos span { position:absolute; inset:0; display:grid; place-content:center; color:#fff; font-family:var(--psd-serif); font-size:38px; font-style:italic; line-height:.95; text-align:center; }
.psd-promos small { display:block; width:215px; margin:35px auto 0; padding:11px; border:1px solid #fff; font-family:var(--psd-sans); font-size:14px; font-style:normal; text-transform:uppercase; }
.psd-visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; }

.psd-reviews { width:var(--psd-shell); margin-inline:auto; padding:78px 24px 0; }
.psd-reviews__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:31px; }
.psd-review-card { display:flex; flex-direction:column; align-items:center; min-height:253px; padding:30px 18px; background:#fff; box-shadow:0 8px 22px rgba(0,0,0,.12); color:#222; font-size:14px; line-height:1.5; text-align:center; }
.psd-review-card__stars { color:#f59b00; font-size:22px; letter-spacing:2px; line-height:1; }
.psd-review-card__source { width:22px; height:22px; margin:12px 0 14px; }
.psd-review-card__text { flex:1; margin:0; color:#222; font-size:13.5px; }
.psd-review-card__name { margin-top:14px; font-weight:700; font-size:13px; }
.psd-review-card__when { color:var(--psd-muted); font-size:12px; }
.psd-review-card__avatar { width:34px; height:34px; margin-top:12px; border-radius:50%; object-fit:cover; background:#e9e9e9; }
.psd-review-card__link { margin-top:10px; color:var(--psd-gold-text); font-size:12px; text-decoration:underline; text-underline-offset:2px; }
.psd-review-card__link:hover { color:var(--psd-ink); }
.psd-reviews__fallback { grid-column:1/-1; padding:44px 24px; background:#fff; box-shadow:0 8px 22px rgba(0,0,0,.12); text-align:center; }
.psd-reviews__fallback p { margin:0 0 18px; color:#222; font-family:var(--psd-serif); font-size:22px; font-style:italic; }
.psd-reviews__attrib { margin:34px 0 0; color:var(--psd-muted); font-size:12.5px; letter-spacing:.02em; text-align:center; }
.psd-reviews__attrib a { color:var(--psd-gold-text); text-decoration:underline; text-underline-offset:2px; }
.psd-awards { padding:117px 24px 0; }
.psd-awards .psd-title { margin-bottom:90px; }
.psd-award-carousel { width:min(1100px,calc(100% - 48px)); margin-inline:auto; display:flex; align-items:center; gap:24px; }
.psd-award-window { flex:1; overflow:hidden; }
.psd-award-row { display:flex; align-items:center; gap:24px; transition:transform .35s ease; }
.psd-award-row img { width:176px; height:136px; object-fit:contain; flex:0 0 176px; }
.psd-carousel-button { width:38px; height:38px; border:0; background:transparent; color:var(--psd-ink); cursor:pointer; font-size:42px; line-height:1; }
.psd-instagram { width:var(--psd-shell); margin-inline:auto; padding:160px 0 52px; }
.psd-instagram__grid { display:grid; grid-template-columns:repeat(5,1fr); }
.psd-instagram img { display:block; width:100%; aspect-ratio:.74; object-fit:cover; }
.psd-instagram__tile { position:relative; display:block; overflow:hidden; }
.psd-instagram__tile::after { content:""; position:absolute; inset:0; background:rgba(10,16,25,0); transition:background .25s ease; }
.psd-instagram__tile:hover::after { background:rgba(10,16,25,.28); }
.psd-instagram__tile i { position:absolute; top:10px; right:10px; z-index:1; color:#fff; font-size:17px; text-shadow:0 1px 6px rgba(0,0,0,.55); }
.psd-instagram__tile:focus-visible { outline:3px solid var(--psd-gold); outline-offset:-3px; }
.psd-footer { color:#fff; background:var(--psd-ink); }
.psd-footer__main { width:min(1078px,calc(100% - 48px)); margin-inline:auto; padding:52px 24px 48px; display:grid; grid-template-columns:repeat(5,1fr); gap:35px; font-size:14px; }
.psd-footer__main img { grid-column:1 / -1; justify-self:center; width:172px; height:151px; object-fit:contain; background:#fff; }
.psd-footer__main div { display:flex; flex-direction:column; gap:8px; line-height:1.15; }
.psd-footer__main a,.psd-footer__main span { color:#fff; letter-spacing:.02em; text-transform:uppercase; }
.psd-footer__main .footer-social-links { display:flex; flex-direction:column; gap:0; }
.psd-footer__main .footer-social-icon { display:block; width:auto; height:auto; border:0; font-size:22px; line-height:1.8; }
.psd-footer__main .footer-uber { grid-column:auto; width:74px; height:auto; margin:0 0 10px; background:transparent; filter:none; }
.psd-footer__copyright { padding:42px 24px; background:var(--psd-gold); color:var(--psd-ink); text-align:center; font-size:13px; }
.psd-footer__copyright a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.psd-footer__main .footer-uber-link { display:inline-block; }

@media (max-width:1100px) {
  .psd-tags { gap:6px; }
  .psd-tags span { padding:7px 8px; font-size:12.5px; }

  .psd-header { height:105px; align-items:center; padding:10px 18px; }
  .psd-header.is-scrolled { padding:8px 18px; }
  .psd-logo,.psd-logo img { width:132px; height:112px; }
  .psd-menu-toggle { display:inline-flex; align-items:center; justify-content:center; margin-left:auto; min-height:44px; min-width:44px; padding:0 14px; border:1px solid #fff; background:transparent; color:#fff; font-family:var(--psd-sans); font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
  /* Open panel covers the header, so the toggle has to sit above it and become
     the close control — otherwise the only way out is to pick a nav link. */
  .psd-menu-toggle { position:relative; z-index:9; }
  .psd-menu-toggle[aria-expanded="true"] { padding:0; width:44px; border-color:transparent; }
  .psd-menu-toggle[aria-expanded="true"] .psd-menu-toggle__label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .psd-menu-toggle[aria-expanded="true"]::after { content:'\00D7'; font-size:40px; font-weight:300; line-height:1; }
  .psd-nav { position:fixed; z-index:8; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:stretch; gap:0; padding:110px 30px 30px; background:var(--psd-ink); opacity:0; pointer-events:none; transform:translateY(-8px); transition:.2s; }
  .psd-nav.is-open { opacity:1; pointer-events:auto; transform:none; }
  .psd-nav a { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.18); }
  .psd-nav .psd-gold-button,.psd-nav .psd-dark-button { margin-top:10px; justify-content:center; }
}

@media (max-width:760px) {
  .psd-logo,.psd-logo img { width:100px; height:84px; }
  .psd-hero { height:720px; }
  .psd-hero h1 { width:calc(100% - 36px); font-size:clamp(34px,9.5vw,60px); }
  .psd-rooms { padding-top:65px; }
  .psd-title span { margin-bottom:35px; }
  .psd-room-grid,.psd-food-gallery,.psd-reviews__grid { grid-template-columns:1fr; }
  .psd-room p { min-height:0; }
  .psd-amenities { height:auto; min-height:1200px; padding:240px 0; }
  .psd-amenity-grid { grid-template-columns:1fr; gap:24px; }
  .psd-amenities h2 { font-size:22px; }
  .psd-amenity-grid span { font-size:42px; }
  .psd-amenity-grid em { font-size:20px; }
  .psd-food__feature,.psd-food__takeout,.psd-spa { grid-template-columns:1fr; }
  .psd-spa { min-height:0; }
  .psd-food__feature,.psd-food__takeout { padding:0 18px; }
  .psd-food__takeout img { order:-1; }
  .psd-spa > div { padding:55px 24px; }
  .psd-kingsville__text { columns:1; }
  .psd-kingsville__image { width:calc(100% - 36px); aspect-ratio:1.7; margin-top:46px; }
  .psd-promos { grid-template-columns:1fr; }
  .psd-promos a { aspect-ratio:3/2; min-height:0; }
  .psd-award-carousel { gap:4px; }
  .psd-award-row { gap:10px; }
  .psd-award-row img { width:135px; height:100px; flex-basis:135px; }
  .psd-amenity-grid img { width:76px; max-height:76px; flex-basis:76px; }
  .psd-instagram { padding:0 18px 60px; }
  .psd-instagram__grid { grid-template-columns:repeat(2,1fr); }
  .psd-footer__main { grid-template-columns:1fr 1fr; }
  .psd-footer__main img { grid-column:1/-1; margin:auto; }
}

@media (prefers-reduced-motion: reduce) {
  .psd-hero__media { animation:none; }
}
