/* Designed for Hyatt home page, rebuilt 2026-10-19 to the approved
   portal mock-up preview's home page look. Loaded only on "/" (see
   app/Views/layout.php). Class names carry the pv- prefix so nothing
   here collides with the shared site.css rules used by other pages. */
.pv-home{
  --navy:#2a3a55; --navy-deep:#1c3a5e; --navy-ink:#0c1425;
  --gold:#a8842f; --gold-bright:#c9a762; --gold-soft:#e0c78f;
  --gh-red:#a6192e;
  --paper:#f3eee2; --paper-2:#ece5d3; --card:#fffdf7;
  --ink:#1a1916; --muted:#5c574d;
  --line:#cfc4a8; --line-soft:#ddd3ba;
  --shadow-sm:0 6px 22px rgba(12,10,6,.14);
  font-family:"IBM Plex Sans",system-ui,sans-serif;
  background:var(--paper); color:var(--ink); line-height:1.55;
}
.pv-home img{display:block;max-width:100%}
.pv-shell{width:min(1240px,calc(100% - 36px));margin:0 auto}
.pv-serif{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400}

/* ---------- Hero ---------- */
/* 2026-10-19 fix (Tony): the headline rendered dark on the photo
   (site.css sets h1 color directly, and this rule set no color), and
   the lede ran across the receptionist's face. The hero is now split:
   copy sits on a solid dark panel on the left in white, and the photo
   fills the right side with no text over it at any width. */
.pv-hero{position:relative;overflow:hidden;background:var(--navy-ink);min-height:540px;display:flex;align-items:center}
.pv-hero img{position:absolute;top:0;right:0;left:auto;width:57%;height:100%;object-fit:cover;object-position:center 38%}
.pv-hero::after{content:"";position:absolute;top:0;right:0;width:57%;height:100%;background:linear-gradient(90deg,var(--navy-ink) 0%,rgba(12,20,37,0) 14%)}
.pv-hero .pv-hero-copy{position:relative;z-index:2;width:min(500px,43%);max-width:500px;margin:0 auto 0 max(18px,calc((100vw - 1240px)/2));padding:52px 36px 48px 0;color:#fff}
.pv-kicker{color:var(--gold-soft);font-size:12px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px;font-weight:600}
.pv-hero-copy h1{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1.03;margin:0 0 12px;max-width:100%;color:#fff}
.pv-lede{margin:0;color:#f0e9da;font-size:16px;max-width:100%}
.pv-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.pv-proof{margin:18px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.28);color:#ddd5c2;font-size:13.5px;letter-spacing:.02em;max-width:100%}
@media (max-width:900px){
  .pv-hero{flex-direction:column;align-items:stretch;min-height:0}
  .pv-hero img{position:relative;width:100%;height:300px;object-position:center 35%}
  .pv-hero::after{display:none}
  .pv-hero .pv-hero-copy{width:auto;max-width:none;margin:0;padding:36px 20px 38px}
}

/* ---------- Buttons ---------- */
.pv-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;font-size:15px;line-height:1;padding:0 22px;min-height:54px;border-radius:6px}
.pv-btn-red{background:var(--gh-red);color:#fff;border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 14px rgba(0,0,0,.35)}
.pv-btn-red:hover{background:#c1273a;border-color:rgba(255,255,255,.45)}
.pv-btn-ghost{background:rgba(10,10,14,.35);border:1px solid rgba(255,255,255,.75);color:#fff}
.pv-btn-ghost:hover{border-color:var(--gold-soft);color:var(--gold-soft)}
.pv-btn-gold{background:var(--gold-bright);color:#141109;border:1px solid transparent}
.pv-btn-gold:hover{background:var(--gold-soft)}
.pv-btn-light{background:#fff;border:1px solid var(--line);color:var(--ink)}
.pv-btn-light:hover{border-color:var(--gold-bright)}

/* ---------- Section scaffolding ---------- */
.pv-section{padding:42px 0 8px}
.pv-section-head{display:flex;flex-wrap:wrap;align-items:end;gap:10px 18px;margin:6px 0 6px}
.pv-section-head h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;font-size:clamp(26px,3vw,34px);margin:0;line-height:1.05}
.pv-section-head p{margin:0;color:var(--muted);font-size:14.5px;max-width:560px}
.pv-section-head.center{flex-direction:column;align-items:center;text-align:center}
.pv-eyebrow{color:var(--gold);font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;margin:0 0 8px}

/* ---------- Shop by department ---------- */
.pv-depts{padding:38px 0 10px}
.pv-dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:16px;margin-top:12px}
.pv-dcard{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);text-align:left;color:var(--ink);display:flex;flex-direction:column;width:100%;text-decoration:none}
.pv-dcard:hover{border-color:var(--gold-bright)}
.pv-dcard img{width:100%;height:158px;object-fit:cover}
.pv-dcard-body{padding:15px 16px 16px;display:flex;flex-direction:column;gap:6px}
.pv-dcard-body strong{font-size:17px;line-height:1.25}
.pv-ddesc{font-size:13.5px;color:var(--muted)}
.pv-dgo{margin-top:4px;color:var(--gold);font-weight:700;font-size:13.5px}
.pv-more-depts{margin:20px 0 0;font-size:14px;color:var(--muted)}
.pv-more-depts a{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.pv-more-depts a:hover{color:var(--gold);border-color:var(--gold-bright)}
.pv-strip{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;background:var(--navy);color:#fff;padding:20px 22px}
.pv-strip strong{display:block;font-size:16.5px;margin-bottom:2px}
.pv-strip span{font-size:14px;color:#dbe3f0;max-width:640px;display:block}
.pv-strip .pv-btn{margin-left:auto;white-space:nowrap;min-height:50px}

/* ---------- Grand Hyatt band ---------- */
.pv-band{padding:46px 0 10px}
.pv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:16px;margin-top:14px}
.pv-tile{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);margin:0;display:flex;flex-direction:column}
.pv-tile img{width:100%;height:150px;object-fit:cover}
.pv-tile figcaption{padding:13px 15px 15px;font-weight:700;font-size:15.5px;line-height:1.3}
.pv-tile figcaption span{display:block;font-weight:400;font-size:13.5px;color:var(--muted);margin-top:4px;line-height:1.45}
.pv-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* ---------- People scenes ---------- */
.pv-scenes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:14px}
.pv-scene{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);margin:0}
.pv-scene img{width:100%;height:300px;object-fit:cover}
.pv-scene figcaption{padding:13px 15px 15px;font-weight:600;font-size:15px}

/* ---------- Featured products (cards keep the shared site card style) ---------- */
.pv-featured .product-grid{margin-top:14px}
.pv-empty-call{margin-top:10px}
.pv-empty-call a{color:var(--navy);font-weight:700}

/* ---------- Reorder band ---------- */
.pv-reorder{background:var(--navy-ink);color:#fff;padding:48px 0;margin-top:46px}
.pv-reorder h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.08;margin:0 0 10px;color:#fff}
.pv-reorder p{margin:0;color:#dbe3f0;max-width:560px}
.pv-reorder .pv-btn{margin-top:22px}
.pv-reorder .pv-eyebrow{color:var(--gold-soft)}

/* ---------- Steps ---------- */
.pv-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:14px}
.pv-step{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:20px}
.pv-step-num{font-family:"Libre Caslon Display",Georgia,serif;color:var(--gold);font-size:16px;letter-spacing:.08em}
.pv-step h3{margin:8px 0 6px;font-size:17.5px;line-height:1.3}
.pv-step p{margin:0;color:var(--muted);font-size:14.5px}

/* ---------- Trust ---------- */
.pv-trust{background:var(--navy);color:#fff;padding:48px 0;margin-top:46px}
.pv-trust-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px 40px;align-items:start}
.pv-trust h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.08;margin:0;color:#fff}
.pv-trust .pv-eyebrow{color:var(--gold-soft)}
.pv-trust-proof{font-family:"Libre Caslon Display",Georgia,serif;font-size:clamp(20px,2.4vw,26px);color:var(--gold-soft);line-height:1.25}
.pv-trust p{margin:10px 0 0;color:#dbe3f0;max-width:640px}
.pv-trust p strong{color:#fff}

@media (max-width:640px){
  .pv-hero{min-height:340px}
  .pv-hero-copy{padding:38px 0 34px}
  .pv-dgrid{grid-template-columns:1fr 1fr;gap:11px}
  .pv-dcard img{height:108px}
  .pv-dcard-body{padding:12px}
  .pv-dcard-body strong{font-size:15px}
  .pv-strip .pv-btn{margin-left:0}
  .pv-tiles{grid-template-columns:1fr 1fr;gap:11px}
  .pv-tile img{height:110px}
  .pv-scene img{height:220px}
  .pv-trust-grid{grid-template-columns:1fr}
  .pv-btn{width:100%}
  .pv-hero-actions .pv-btn{width:auto}
  .pv-strip .pv-btn{width:auto}
}
