/* Perl Haven theme override - maroon #4A090A + gold, Ken Burns hero */
:root{
  --ph-maroon:#4A090A;
  --ph-maroon-soft:#6B1415;
  --ph-maroon-tint:#F4E9E9;
  --ph-gold:#C9A227;
  --ph-gold-soft:#D9BC57;
  --ph-cream:#FAF6F0;
}

/* ---------- Ken Burns hero (images only, videos removed) ---------- */
@media screen and (min-width:768px){
  .cmp-ad-campaign-promo__banner-carousel-media--image-mobile{display:block !important}
  .cmp-ad-campaign-promo__banner-carousel-media--video-desktop{display:none !important}
}
.cmp-ad-campaign-promo__banner-carousel-media--image-mobile img{
  width:100%;height:100%;-o-object-fit:cover;object-fit:cover;
  -webkit-animation:ph-kb 26s ease-in-out infinite alternate;
  animation:ph-kb 26s ease-in-out infinite alternate;
}
@keyframes ph-kb{
  0%   {transform:scale(1.02) translate(0,0)}
  50%  {transform:scale(1.12) translate(-1.2%,1.2%)}
  100% {transform:scale(1.05) translate(1%,-1%)}
}

/* ---------- Brand colors ---------- */
.cmp-ad-campaign-promo__banner-content a,
.cmp-alert-banner.geolocationAlert .cmp-alert-banner__message a,
.cmp-alert-banner.geolocationAlert .cmp-alert-banner__message a:visited{color:var(--ph-maroon)}
.cmp-ad-campaign-promo__banner-content a:hover{color:var(--ph-maroon-soft)}

/* header nav hover / active */
.apollo-global-header .apollo-navigation-desktop .apollo-nav-link:hover,
.apollo-global-header .apollo-navigation-desktop .apollo-nav-link[aria-expanded=true],
.apollo-global-header-navigation-desktop .apollo-nav-link:hover{color:var(--ph-maroon) !important;border-bottom-color:var(--ph-gold)}

/* footer brand */
.perlhaven-footer-logo{color:var(--ph-gold);font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:1.05em}
.cmp-footer__trademark{color:var(--ph-gold-soft)}

/* gold selection */
::selection{background:var(--ph-gold);color:var(--ph-maroon)}
a,button,input,select,textarea{accent-color:var(--ph-maroon)}

/* section title accents */
.cmp-title .cmp-title__text em,
.cmp-section-title span, .cmp-section-title a{color:var(--ph-maroon)}

/* generic link emphasis within Perl Haven pages */
.cmp-text a:not([class]){color:var(--ph-maroon)}
.cmp-text a:not([class]):hover{color:var(--ph-maroon-soft)}

/* ---------- Perl Haven logo images ---------- */
.perlhaven-header-logo{height:32px;width:auto;display:block;vertical-align:middle}
.perlhaven-footer-logo-img{height:24px;width:auto;display:inline-block;vertical-align:middle}
.perlhaven-footer-logo-img{filter:sepia(1) saturate(3.2) hue-rotate(6deg) brightness(0.92) contrast(0.95)}


/* ---------- Perl Haven: General Public only (role selector) ---------- */
.role-selector-dropdown .dropdown-menu{display:none !important}
.role-selector-dropdown .dropdown-icon{display:none !important}
.role-selector-dropdown .dropdown-button{pointer-events:none;cursor:default}
/* hide external-link icons inside the nav menus (all menu links are now internal) */
.apollo-menu-list-item .external-link,.nav-item .external-link{display:none !important}

/* ---------- Perl Haven Investor Relations hub ---------- */
.ph-ir{font-family:Georgia,'Times New Roman',serif;background:var(--ph-cream);color:#2c2a26;line-height:1.6}
.ph-ir *{box-sizing:border-box}
.ph-ir-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.ph-ir-header{background:var(--ph-maroon);padding:14px 0;position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.ph-ir-header .ph-ir-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ph-ir-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:1.05em}
.ph-ir-nav{display:flex;gap:4px;flex-wrap:wrap}
.ph-ir-nav a{color:rgba(255,255,255,.85);text-decoration:none;padding:8px 12px;font-size:.9em;border-radius:2px;letter-spacing:.02em}
.ph-ir-nav a:hover{color:#fff;background:rgba(255,255,255,.12)}
.ph-ir-nav a.active{color:var(--ph-gold);border-bottom:2px solid var(--ph-gold)}
.ph-ir-hero{background:linear-gradient(135deg,var(--ph-maroon) 0%,var(--ph-maroon-soft) 55%,#2c0a0b 100%);color:#fff;padding:72px 0 64px}
.ph-ir-hero h1{margin:0 0 12px;font-size:2.6em;letter-spacing:.01em}
.ph-ir-hero p{margin:0;max-width:740px;font-size:1.08em;color:rgba(255,255,255,.88)}
.ph-ir-hero .ph-ir-kicker{color:var(--ph-gold);text-transform:uppercase;letter-spacing:.18em;font-size:.82em;font-weight:700;margin-bottom:10px}
.ph-ir-breadcrumb{font-size:.85em;color:#6b6355;padding:18px 0 0}
.ph-ir-breadcrumb a{color:var(--ph-maroon);text-decoration:none}
.ph-ir-breadcrumb a:hover{text-decoration:underline}
.ph-ir-section{padding:56px 0}
.ph-ir-section h2{color:var(--ph-maroon);font-size:1.7em;margin:0 0 8px}
.ph-ir-section .ph-ir-lead{color:#6b6355;margin:0 0 28px;max-width:760px}
.ph-ir-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.ph-ir-card{background:#fff;border:1px solid #e5ddcf;border-top:4px solid var(--ph-gold);padding:24px;box-shadow:0 6px 18px rgba(74,9,10,.06)}
.ph-ir-card h3{margin:0 0 8px;color:var(--ph-maroon);font-size:1.15em}
.ph-ir-card p{margin:0;color:#4a463f;font-size:.95em}
.ph-ir-card a.ph-ir-link{display:inline-block;margin-top:14px;color:var(--ph-maroon);font-weight:700;text-decoration:none;border-bottom:2px solid var(--ph-gold)}
.ph-ir-card a.ph-ir-link:hover{color:var(--ph-maroon-soft)}
.ph-ir-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:8px}
.ph-ir-stat{background:var(--ph-maroon);color:#fff;padding:22px;text-align:center;border-bottom:3px solid var(--ph-gold)}
.ph-ir-stat .ph-ir-num{font-size:1.9em;font-weight:700;color:var(--ph-gold)}
.ph-ir-stat .ph-ir-lbl{font-size:.85em;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.85);margin-top:4px}
.ph-ir-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5ddcf}
.ph-ir-table th{background:var(--ph-maroon);color:#fff;text-align:left;padding:12px 14px;font-size:.85em;letter-spacing:.05em;text-transform:uppercase}
.ph-ir-table td{padding:12px 14px;border-top:1px solid #eee6da;font-size:.95em}
.ph-ir-table tr:nth-child(even) td{background:#fbf7f1}
.ph-ir-list{list-style:none;margin:0;padding:0}
.ph-ir-list li{padding:13px 0;border-bottom:1px solid #eee6da;display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap}
.ph-ir-list .ph-ir-date{color:var(--ph-maroon);font-weight:700;white-space:nowrap;font-size:.88em}
.ph-ir-list .ph-ir-doc{color:var(--ph-maroon);font-weight:700;text-decoration:none}
.ph-ir-list .ph-ir-doc:hover{color:var(--ph-maroon-soft)}
.ph-ir-cta{background:var(--ph-gold);color:var(--ph-maroon);display:inline-block;padding:13px 26px;font-weight:700;text-decoration:none;letter-spacing:.03em;border-radius:2px}
.ph-ir-cta:hover{background:var(--ph-gold-soft)}
.ph-ir-contact{background:#fff;border:1px solid #e5ddcf;border-left:4px solid var(--ph-gold);padding:22px 26px}
.ph-ir-contact p{margin:4px 0}
.ph-ir-footer{background:#2b0708;color:rgba(255,255,255,.75);padding:34px 0}
.ph-ir-footer .ph-ir-wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ph-ir-footer a{color:var(--ph-gold);text-decoration:none}
.ph-ir-footer a:hover{text-decoration:underline}
.ph-ir-pill{display:inline-block;background:var(--ph-maroon-tint);color:var(--ph-maroon);border:1px solid #dcc9c9;padding:3px 12px;border-radius:999px;font-size:.82em;font-weight:600;margin:2px 6px 2px 0}
@media (max-width:720px){
  .ph-ir-hero h1{font-size:2em}
  .ph-ir-header .ph-ir-wrap{justify-content:center}
  .ph-ir-nav a{padding:6px 8px;font-size:.82em}
}

/* ---------- About Perl Haven breadcrumb: image + burgundy overlay ---------- */
.ph-breadcrumb-hero .cmp-breadcrumb{
  position:relative;
  background-image:url('content/dam/perlhavenaem/images/aboutus/about-us-landing-page/cityscape-v1.png');
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  overflow:hidden;
}
.ph-breadcrumb-hero .cmp-breadcrumb::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  background:rgba(74,9,10,.72);
  z-index:1;
}
@media screen and (min-width:768px){
  .ph-breadcrumb-hero .cmp-breadcrumb .breadcrumbs{
    position:relative;
    z-index:2;
    display:block;
    float:none;
    padding:44px 0;
  }
}
.ph-breadcrumb-hero .cmp-breadcrumb .breadcrumbs__item--last{color:#fff}
.ph-breadcrumb-hero .cmp-breadcrumb acl-apollo-button{color:#fff}

/* ---------- Perl Haven login page ---------- */
.perlhaven-login-section{padding:60px 24px;background:var(--ph-cream)}
.perlhaven-login-wrap{max-width:440px;margin:0 auto}
.perlhaven-login-card{background:#fff;border:1px solid #e5ddcf;border-top:4px solid var(--ph-maroon);box-shadow:0 10px 30px rgba(74,9,10,.08);padding:44px 40px}
.perlhaven-login-brand{margin-bottom:22px}
.perlhaven-login-card .perlhaven-header-logo{height:34px;margin:0 auto}
.perlhaven-login-title{font-size:1.6em;color:var(--ph-maroon);margin:0 0 10px;font-weight:700}
.perlhaven-login-sub{color:#6b6355;font-size:.95em;line-height:1.5;margin:0 0 26px}
.perlhaven-login-field{margin-bottom:18px}
.perlhaven-login-field label{display:block;font-size:.85em;font-weight:600;color:var(--ph-maroon);margin-bottom:6px}
.perlhaven-login-field input{width:100%;box-sizing:border-box;border:1px solid #d6cebf;border-radius:2px;padding:11px 12px;font-size:1em;color:#2c2a26;background:#fff}
.perlhaven-login-field input:focus{outline:none;border-color:var(--ph-gold);box-shadow:0 0 0 3px rgba(201,162,39,.25)}
.perlhaven-login-submit{width:100%;box-sizing:border-box;background:var(--ph-maroon);color:#fff;border:none;border-radius:2px;padding:13px 12px;font-size:1em;font-weight:700;cursor:pointer;letter-spacing:.02em}
.perlhaven-login-submit:hover{background:var(--ph-maroon-soft)}
.perlhaven-login-note{font-size:.85em;color:#6b6355;margin:20px 0 0;text-align:center}
.perlhaven-login-note a{color:var(--ph-maroon);text-decoration:underline}

/* ---------- Perl Haven: Our Team org-chart tree ---------- */
.ph-team-tree{--ph-tree-line:#cdbfa6;padding:14px 0 6px}
.ph-team-tree *{box-sizing:border-box}
.ph-tree-root{
  max-width:320px;margin:0 auto;background:var(--ph-maroon);color:#fff;
  text-align:center;padding:14px 20px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;font-size:.95em;border-bottom:3px solid var(--ph-gold);
}
.ph-tree-stem{width:2px;height:30px;background:var(--ph-tree-line);margin:0 auto}
.ph-tree-tier{position:relative}
.ph-tree-rail{height:2px;background:var(--ph-tree-line);margin:0 5%}
.ph-tree-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:32px;position:relative}
.ph-tree-mid{flex:0 0 44px;align-self:stretch;position:relative}
/* continuous channel line running from the tier 1 rail down to the tier 2 rail */
.ph-tree-tier--top .ph-tree-mid::after{
  content:'';position:absolute;left:50%;top:-32px;transform:translateX(-50%);
  width:2px;height:calc(100% + 74px);background:var(--ph-tree-line);
}
.ph-tree-sector{
  flex:1 1 0;min-width:165px;max-width:260px;position:relative;background:#fff;
  border:1px solid #e5ddcf;border-top:4px solid var(--ph-gold);
  padding:16px 16px 8px;box-shadow:0 6px 18px rgba(74,9,10,.06);
}
/* drop connectors from the rail down to each sector box */
.ph-tree-sector::before{
  content:'';position:absolute;left:50%;top:-32px;transform:translateX(-50%);
  width:2px;height:32px;background:var(--ph-tree-line);
}
.ph-tree-tier--below{margin-top:42px}
.ph-tree-sector-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.ph-tree-sector-name{
  margin:0;color:var(--ph-maroon);font-size:.95em;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;
}
.ph-tree-sector-count{
  flex:0 0 auto;background:var(--ph-maroon-tint);color:var(--ph-maroon);
  border:1px solid #dcc9c9;border-radius:999px;font-size:.72em;font-weight:700;
  padding:2px 9px;
}
.ph-tree-members{list-style:none;margin:0;padding:0}
.ph-tree-members li{
  position:relative;padding:8px 0 8px 16px;font-size:.94em;color:#3a372f;
  border-top:1px solid #f0e9dd;line-height:1.35;
}
.ph-tree-members li::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:6px;height:6px;background:var(--ph-gold);
}
@media (max-width:900px){
  .ph-tree-stem,.ph-tree-rail,.ph-tree-mid{display:none}
  .ph-tree-sector::before{display:none}
  .ph-tree-cards{margin-top:0;justify-content:flex-start;gap:20px}
  .ph-tree-tier--below{margin-top:20px}
  .ph-tree-sector{max-width:none;min-width:210px;flex:1 1 240px}
}
@media (max-width:600px){
  .ph-tree-cards{display:block}
  .ph-tree-sector{min-width:0;margin-bottom:18px}
}

/* ---------- Perl Haven: Contact Us team cards ---------- */
.ph-contact-intro{margin:2px 0 22px;color:#6b6355;max-width:70ch}
.ph-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.ph-contact-card{
  background:#fff;border:1px solid #e5ddcf;border-top:4px solid var(--ph-gold);
  padding:22px;box-shadow:0 6px 18px rgba(74,9,10,.06);
}
.ph-contact-name{margin:0 0 8px;color:var(--ph-maroon);font-size:1.12em;font-weight:700}
.ph-contact-sector{
  display:inline-block;background:var(--ph-maroon-tint);color:var(--ph-maroon);
  border:1px solid #dcc9c9;border-radius:999px;padding:3px 12px;
  font-size:.8em;font-weight:600;margin-bottom:14px;
}
.ph-contact-email{
  display:block;width:-moz-fit-content;width:fit-content;color:var(--ph-maroon);font-weight:700;font-size:.93em;
  text-decoration:none;border-bottom:2px solid var(--ph-gold);word-break:break-all;
}
.ph-contact-email:hover{color:var(--ph-maroon-soft)}
