html { scroll-behavior:smooth; }
body { margin:0; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--plt-text); background:var(--plt-ivory); }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
.plt-container { width:min(var(--plt-max), calc(100% - 40px)); margin:0 auto; }
.plt-site-main { overflow:hidden; }
.plt-home .plt-site-main { margin-top:0; }
.plt-site-header { position:fixed; top:0; left:0; right:0; z-index:40; backdrop-filter:blur(16px); border-bottom:1px solid rgba(255,255,255,.08); }
.plt-site-header--home { background:linear-gradient(180deg, rgba(14,14,14,.58), rgba(14,14,14,.18)); }
.plt-site-header--inner { background:linear-gradient(135deg, rgba(14,14,14,.82), rgba(28,110,110,.34)); }
.plt-header-row { display:flex; align-items:center; justify-content:space-between; min-height:88px; gap:18px; }
.plt-logo { color:#fff; display:flex; align-items:center; gap:12px; font-weight:700; letter-spacing:.04em; }
.plt-logo-text { text-shadow:0 1px 12px rgba(0,0,0,.25); }
.plt-logo img, .custom-logo { max-height:52px; width:auto; display:block; }
.plt-menu { display:flex; list-style:none; gap:26px; margin:0; padding:0; color:#fff; align-items:center; }
.plt-menu a { opacity:.92; }
.plt-menu a:hover { color:var(--plt-gold-strong); opacity:1; }
.plt-mobile-toggle { display:none; background:none; border:none; color:#fff; font-size:1.7rem; }
.plt-button { display:inline-flex; align-items:center; justify-content:center; padding:15px 24px; border-radius:999px; background:linear-gradient(135deg, var(--plt-gold-strong), var(--plt-orange-strong) 58%, #ffd475); color:var(--plt-black); font-weight:800; letter-spacing:.01em; box-shadow:0 18px 46px rgba(232,106,51,.26); transition:transform .25s ease, box-shadow .25s ease, opacity .25s ease; }
.plt-button:hover { transform:translateY(-2px); box-shadow:0 24px 54px rgba(232,106,51,.34); }
.plt-button--sm { padding:11px 18px; font-size:.95rem; }
.plt-button--ghost, .plt-button--ghost-dark { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); box-shadow:none; }
.plt-button--ghost-dark { background:rgba(255,255,255,.1); }
.plt-eyebrow { display:inline-block; letter-spacing:.18em; text-transform:uppercase; font-size:.78rem; color:var(--plt-gold); margin-bottom:14px; font-weight:700; }
.plt-hero, .plt-archive-hero, .plt-single-hero, .plt-page-hero { position:relative; overflow:hidden; color:#fff; background-size:cover; background-position:center; }
.plt-hero { min-height:100vh; display:flex; align-items:center; background:#120f0b; }
.plt-hero-media, .plt-hero-slide, .plt-hero-overlay, .plt-archive-hero__overlay { position:absolute; inset:0; }
.plt-hero-slide { background-size:cover; background-position:center; opacity:0; transform:scale(1.08); transition:opacity 1.2s ease, transform 7s ease; }
.plt-hero-slide.active { opacity:1; transform:scale(1); }
.plt-hero-overlay { background:
  linear-gradient(110deg, rgba(14,14,14,.72) 0%, rgba(14,14,14,.38) 36%, rgba(28,110,110,.24) 68%, rgba(14,14,14,.58) 100%),
  radial-gradient(circle at 78% 22%, rgba(255,138,61,.35), transparent 22%),
  radial-gradient(circle at 16% 82%, rgba(27,163,168,.25), transparent 20%);
}
.plt-archive-hero__overlay { background:linear-gradient(105deg, rgba(14,14,14,.74), rgba(14,14,14,.34) 44%, rgba(28,110,110,.24) 74%, rgba(14,14,14,.55)); }
.plt-hero-content, .plt-archive-hero__content, .plt-single-hero__content { position:relative; z-index:2; max-width:820px; padding:160px 0 92px; }
.plt-archive-hero, .plt-single-hero, .plt-page-hero { min-height:64vh; display:flex; align-items:end; }
.plt-hero h1, .plt-section-heading h1, .plt-section-heading h2, .plt-quote-card h3, .plt-card-body h3, .plt-feature-overlay h3, .plt-post h1, .plt-single-hero h1, .plt-page-hero h1, .plt-side-card h3, .plt-contact-panel h2, .plt-empty-state h2 { font-family:Georgia,'Times New Roman',serif; line-height:1.02; }
.plt-hero h1, .plt-hero-title { font-size:clamp(3rem, 6vw, 5.4rem); margin:0 0 18px; max-width:6.6ch; line-height:.92; letter-spacing:-.03em; }
.plt-hero-title span { display:block; }
.plt-hero-title, .plt-hero-subtitle { opacity:0; transform:translateY(14px); transition:opacity .45s ease, transform .45s ease; }
.plt-hero-title.is-visible, .plt-hero-subtitle.is-visible { opacity:1; transform:translateY(0); }
.plt-archive-hero h1, .plt-single-hero h1, .plt-page-hero h1 { font-size:clamp(2.8rem, 5vw, 5rem); margin:0 0 16px; }
.plt-hero p, .plt-archive-hero p, .plt-single-hero p, .plt-page-hero p { font-size:1.08rem; line-height:1.75; max-width:700px; color:rgba(255,255,255,.92); }
.plt-hero-subtitle { max-width:32rem; }
.plt-hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:28px; }
.plt-hero-trust { display:flex; gap:18px; flex-wrap:wrap; margin-top:28px; color:rgba(255,255,255,.86); font-size:.95rem; }
.plt-hero-badges, .plt-meta-row { display:flex; gap:16px; flex-wrap:wrap; margin-top:26px; }
.plt-hero-badges div, .plt-meta-row span { min-width:150px; padding:14px 16px; border-radius:18px; background:linear-gradient(135deg, rgba(243,195,75,.18), rgba(255,255,255,.08)); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(12px); }
.plt-hero-badges strong { display:block; font-size:1rem; color:#fff; }
.plt-hero-badges span { font-size:.9rem; color:rgba(255,255,255,.74); }
.plt-scroll-cue { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:2; }
.plt-scroll-cue span { display:block; width:2px; height:42px; background:linear-gradient(180deg, var(--plt-gold-strong), transparent); animation:cue 1.8s infinite; }
@keyframes cue { 0% { transform:translateY(0); opacity:1; } 100% { transform:translateY(10px); opacity:.15; } }
.plt-section { padding:92px 0; }
.plt-section--light { background:#fff; }
.plt-section--sand { background:linear-gradient(180deg, #f5f1e8 0%, #ffe9ca 100%); }
.plt-section--cta { background:linear-gradient(135deg, #0f0f0f, #4a1f0f 44%, #16585d); color:#fff; }
.plt-section--features-luxe { background:linear-gradient(180deg, #fffaf4 0%, #fff0dd 100%); }
.plt-section--testimonial { background:linear-gradient(180deg, #1c120d 0%, #133d44 100%); color:#fff; }
.plt-section-heading { margin-bottom:32px; }
.plt-section-heading h2, .plt-section-heading h1 { font-size:clamp(2.2rem, 4vw, 4rem); margin:0; }
.plt-grid { display:grid; gap:24px; }
.plt-grid--3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
.plt-grid--4 { grid-template-columns:repeat(4, minmax(0,1fr)); }
.plt-card, .plt-feature, .plt-side-card, .plt-info-card, .plt-post--single, .plt-entry-content--contact, .plt-empty-state { background:#fff; border-radius:var(--plt-radius); overflow:hidden; box-shadow:var(--plt-shadow); border:1px solid var(--plt-border); }
.plt-card { transition:transform .25s ease, box-shadow .25s ease; }
.plt-card:hover, .plt-destination:hover { transform:translateY(-7px); box-shadow:0 30px 70px rgba(232,106,51,.16); }
.plt-card-link-wrap { display:block; height:100%; }
.plt-card-image { width:100%; aspect-ratio:4 / 3; background-size:cover; background-position:center; }
.plt-card-body { padding:24px; }
.plt-card-kicker { display:inline-block; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--plt-orange); margin-bottom:10px; font-weight:700; }
.plt-card-body h3 { margin:0 0 12px; font-size:1.6rem; }
.plt-card-body p, .plt-feature p, .plt-post, .plt-quote-card p, .plt-side-card p, .plt-empty-state p { color:var(--plt-muted); line-height:1.8; }
.plt-text-link { color:var(--plt-orange); font-weight:800; }
.plt-text-link--block { display:block; margin-top:18px; }
.plt-feature--visual { min-height:360px; position:relative; background-size:cover; background-position:center; display:flex; align-items:end; }
.plt-feature-overlay { position:relative; z-index:1; padding:26px; width:100%; color:#fff; }
.plt-feature--visual::before, .plt-destination::before { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,138,61,.03), rgba(14,14,14,.84)); }
.plt-feature-overlay h3 { margin:0 0 8px; font-size:1.55rem; }
.plt-feature-overlay p { color:rgba(255,255,255,.86); }
.plt-destination { min-height:420px; border-radius:var(--plt-radius); overflow:hidden; position:relative; display:flex; align-items:end; background-size:cover; background-position:center; box-shadow:var(--plt-shadow); transition:transform .25s ease, box-shadow .25s ease; }
.plt-destination span { position:relative; z-index:1; color:#fff; font-family:Georgia,serif; font-size:2rem; padding:28px; }
.plt-quote-card { padding:28px; border-radius:24px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.08); backdrop-filter:blur(10px); box-shadow:0 18px 40px rgba(0,0,0,.18); }
.plt-quote-stars { color:#f3c34b; letter-spacing:.18em; margin-bottom:18px; font-size:1rem; }
.plt-quote-card p { color:rgba(255,255,255,.84); }
.plt-quote-card h3 { margin:18px 0 4px; font-size:1.35rem; color:#fff; }
.plt-quote-card span { color:rgba(255,255,255,.65); font-size:.95rem; }
.plt-cta-band, .plt-archive-band { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:38px; border-radius:28px; background:linear-gradient(120deg, rgba(243,195,75,.16), rgba(27,163,168,.09)); border:1px solid rgba(198,167,94,.3); }
.plt-site-footer { background:linear-gradient(135deg, #0f0f0f, #2f160d 52%, #164c50); color:#f7efe3; padding:72px 0 24px; }
.plt-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:28px; }
.plt-footer-menu { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.plt-footer-bottom { margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08); }
.plt-content-narrow { max-width:880px; }
.plt-entry-content { line-height:1.9; font-size:1.05rem; }
.plt-entry-content h2, .plt-entry-content h3 { font-family:Georgia,serif; color:#151515; margin:28px 0 10px; }
.plt-single-grid, .plt-contact-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(320px,1fr); gap:30px; align-items:start; }
.plt-post--single { padding:36px; }
.plt-side-card { padding:28px; position:sticky; top:110px; }
.plt-side-card h3, .plt-contact-panel h2, .plt-empty-state h2 { margin-top:0; font-size:2rem; color:#151515; }
.plt-side-list { padding-left:18px; color:var(--plt-muted); line-height:1.8; }
.plt-contact-panel { padding:38px; background:linear-gradient(135deg, #151515, #2e1c10); color:#fff; border-radius:28px; box-shadow:var(--plt-shadow); }
.plt-contact-panel p { color:rgba(255,255,255,.84); }
.plt-contact-cards { display:grid; gap:14px; margin-top:24px; }
.plt-info-card { padding:18px 20px; display:grid; gap:6px; }
.plt-info-card strong, .plt-info-card a { color:#151515; }
.plt-entry-content--contact { padding:34px; }
.plt-entry-content--contact form, .plt-entry-content--contact .wpcf7-form, .plt-manual-form { display:grid; gap:16px; margin-top:14px; }
.plt-entry-content--contact label, .plt-manual-form label { display:grid; gap:8px; font-weight:600; color:#34302b; }
.plt-entry-content--contact input, .plt-entry-content--contact textarea, .plt-manual-form input, .plt-manual-form textarea { width:100%; padding:14px 16px; border-radius:16px; border:1px solid #ddd3bd; background:#fff; font:inherit; box-sizing:border-box; }
.plt-entry-content--contact input[type='submit'], .plt-entry-content--contact button, .plt-entry-content--contact .wpcf7-submit, .plt-manual-form button { width:auto; border:none; background:linear-gradient(135deg, var(--plt-gold-strong), var(--plt-orange-strong)); color:var(--plt-black); font-weight:800; padding:15px 24px; border-radius:999px; cursor:pointer; }
.plt-empty-state { padding:38px; max-width:720px; }
@media (max-width:980px) {
  .plt-grid--4, .plt-grid--3, .plt-footer-grid, .plt-single-grid, .plt-contact-layout { grid-template-columns:1fr; }
  .plt-cta-band, .plt-archive-band { display:grid; grid-template-columns:1fr; }
  .plt-nav { display:none; position:absolute; top:88px; left:0; right:0; background:#111; padding:18px 16px 24px; }
  .plt-nav.is-open { display:block; }
  .plt-menu { flex-direction:column; align-items:flex-start; }
  .plt-mobile-toggle { display:block; }
  .plt-button--sm { display:none; }
  .plt-side-card { position:static; }
}
@media (max-width:640px) {
  .plt-container { width:min(var(--plt-max), calc(100% - 22px)); }
  .plt-section { padding:72px 0; }
  .plt-hero-content, .plt-archive-hero__content, .plt-single-hero__content { padding-top:126px; }
  .plt-hero h1 { max-width:none; }
  .plt-hero-badges div { min-width:calc(50% - 18px); }
}
