/* Photos */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.gallery figure{margin:0;background:#fff;border:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:10px}
.gallery img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--champagne);display:block}
.gallery figcaption{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text);text-align:center}
.results-note{text-align:center;font-size:14px;color:var(--body)}
.bio-photo{width:180px;height:225px;object-fit:cover;border-radius:2px;border:3px solid var(--champagne)}
.bio-photo.founder{width:240px;height:360px;object-position:50% 0}
.feature-photo{width:100%;max-width:340px;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.feature-photo.portrait{aspect-ratio:2/3}
.award{width:110px;height:110px;object-fit:contain}

.logo-img{display:block;width:190px;height:auto}
.footer-logo{display:block;width:220px;height:auto;margin-bottom:14px}
.tier .tier-note{font-size:13px;letter-spacing:1px;color:var(--gold-text);margin-top:-6px}
.tier.featured .tier-note{color:var(--gold-light)}
.gallery.portfolio figcaption{text-transform:none;letter-spacing:0;font-size:15px;color:var(--navy);display:flex;flex-direction:column;gap:4px}
.gallery.portfolio figcaption strong{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text);font-weight:500}
.gallery.portfolio figcaption span{font-size:14px;color:var(--body)}
.offer-more{display:block;margin-top:12px;font-size:14px;color:var(--navy);text-decoration:underline}
.specials-soon{font-size:19px;color:var(--body)}
.gift-card-art{background:var(--navy);color:var(--gold-pale);border:1px solid var(--gold);border-radius:12px;aspect-ratio:1.6/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;max-width:440px;margin:0 auto}
.gift-card-art svg{width:64px;height:64px;stroke:var(--gold-light)}
.gift-card-art p{font-family:var(--serif);font-style:italic;font-size:30px;margin:0}
.g-rating{display:inline-flex;align-items:center;gap:8px;margin-top:4px;color:var(--on-navy);text-decoration:none;font-size:15px}
.g-rating strong{color:var(--cream);font-weight:600}
.g-stars{color:var(--gold-light);letter-spacing:2px;font-size:18px}
.g-rating:hover{color:var(--gold-pale)}
.g-rating-dark{color:var(--body);font-size:16px}
.g-rating-dark strong{color:var(--navy)}
.g-rating-dark .g-stars{color:var(--gold)}
.bf-terms{font-size:14px;color:var(--body);max-width:720px;margin:0 auto}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(15,30,58,.12)}
.blog-card-media img,.blog-card-ph{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--champagne)}
.blog-card-ph{background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--gold-pale);font-family:var(--serif);font-style:italic;font-size:20px}
.blog-card-ph svg{stroke:var(--gold-light);width:44px;height:44px}
.blog-card-body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.blog-card-body h3{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.15;color:var(--navy);margin:0}
.blog-card-body p{margin:0;color:var(--body);font-size:15px}
.blog-meta{font-size:12px!important;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text)!important}
.post-cover{max-width:880px;margin:-40px auto 0;padding:0 24px;position:relative}
.post-cover img{width:100%;height:auto;display:block;border-radius:2px;box-shadow:0 14px 40px rgba(15,30,58,.18)}
.post-body img{width:100%;height:auto;border-radius:2px;margin:12px 0}
.post-body h2{font-family:var(--serif);font-weight:600;font-size:32px;line-height:1.15;color:var(--navy);margin-top:12px}
.post-body h3{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--navy)}
.post-body ul,.post-body ol{padding-left:22px;display:flex;flex-direction:column;gap:6px}
.post-back{margin-top:24px}
.suite-price{background:var(--navy);border:1px solid var(--gold);padding:40px 28px;justify-content:center;align-self:center}
.suite-price .eyebrow{color:var(--gold-light);letter-spacing:4px}
.suite-price .package-amount{font-size:60px}
.suite-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
@media (max-width:900px){.suite-gallery{grid-template-columns:repeat(2,1fr)}}
.suite-gallery figure{margin:0;display:flex;flex-direction:column;gap:8px}
.suite-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:2px}
.suite-gallery figcaption{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text);text-align:center}
.announce{display:block;background:var(--gold);color:var(--navy);text-align:center;padding:10px 16px;font-size:14px;text-decoration:none;letter-spacing:.3px}
.announce strong{font-weight:600}
.announce-cta{text-decoration:underline;font-weight:600;margin-left:6px;white-space:nowrap}
.announce:hover{background:var(--gold-light);color:var(--navy)}
@media (max-width:640px){.announce-more{display:none}.announce{font-size:13px}}
.spotlight{background:var(--champagne);padding:56px 24px}
.spotlight .wrap{display:flex;flex-direction:column;gap:28px}
.spot-head{text-align:center}
.spot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.spot{display:flex;flex-direction:column;gap:8px;background:var(--navy);color:var(--on-navy);border:1px solid var(--gold);padding:26px 24px;text-decoration:none;transition:transform .2s}
.spot:hover{transform:translateY(-3px)}
.spot-tag{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light);margin:0}
.spot h3{font-family:var(--serif);font-weight:600;font-size:28px;color:var(--cream);margin:0}
.spot p{margin:0}
.spot-price{margin-top:auto!important;padding-top:10px;font-family:var(--serif);font-size:34px;font-weight:600;color:var(--gold-light)}
.spot-price span{display:block;font-family:var(--sans);font-size:13px;font-weight:400;letter-spacing:1px;color:var(--on-navy)}
.footer-tagline{font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;line-height:1.2;color:var(--gold-light);margin:-4px 0 22px}
.logo-tag{display:block;margin-top:6px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:16px;letter-spacing:.5px;color:var(--gold-pale);text-align:center;white-space:nowrap}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.feature-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.feature-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(15,30,58,.12)}
.feature-media img,.feature-icon{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--champagne)}
.feature-icon{background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--gold-pale);text-align:center;padding:0 24px}
.feature-icon p{font-family:var(--serif);font-style:italic;font-size:22px;margin:0}
.feature-body{padding:24px 24px 28px;display:flex;flex-direction:column;gap:8px;flex:1}
.feature-body h3{font-family:var(--serif);font-weight:600;font-size:28px;color:var(--navy);margin:0}
.feature-body p{margin:0;color:var(--body)}
.feature-price{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-text)!important;font-weight:500}
.feature-link{margin-top:auto;padding-top:10px;font-weight:500;color:var(--navy)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:900px;margin:0 auto}
@media (max-width:700px){.tiles{grid-template-columns:repeat(2,1fr)}}
.tile{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--navy);font-weight:500;text-align:center;font-size:15px}
.tile-media img,.tile-icon{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:2px}
.tile-icon{background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center}
.tile-icon svg{width:48px;height:48px}
.tile:hover span{color:var(--gold-text)}
.meet{display:flex;flex-wrap:wrap;gap:40px;align-items:center;max-width:900px;margin:0 auto}
.meet-photo{width:220px;height:220px;border-radius:50%;object-fit:cover;border:4px solid var(--champagne);flex:0 0 auto}
.meet .prose{flex:1 1 360px;min-width:0}
.meet-creds{font-size:14px;color:var(--gold-text)}
@media (max-width:640px){.meet{justify-content:center;text-align:center}.logo-tag{font-size:14px}}
.hero-copy{container-type:inline-size}
.hero-tagline{font-family:var(--script);font-size:44px;font-size:min(60px,9.4cqi);line-height:1.1;white-space:nowrap;color:var(--gold-light);margin:0}
.hero-tagline + h1{font-size:44px}
@media (max-width:640px){.hero-tagline + h1{font-size:34px}}
@media (max-width:640px){.logo-img{width:150px}}