/* Platinum Site theme. Every rule is scoped under .pl-site so the stored Elementor kit
   CSS (element selectors like ".elementor-kit-N h1") cannot restyle theme chrome.
   Palette and type follow the approved Platinum pages (dark, Space Grotesk). The font is loaded by
   functions.php with the same Google Fonts URL as the approved homepage; system sans is the fallback. */
.pl-site{--pl-black:#060606;--pl-dark:#0e0e0e;--pl-panel:#141414;--pl-line:rgba(255,255,255,.12);
  --pl-white:#fafafa;--pl-mute:#b8b8b8;--pl-platinum:#c0c0c0;--pl-bright:#ececec;
  --pl-font:'Space Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--pl-admin:0px;
  margin:0;background:var(--pl-black)!important;color:var(--pl-white);font-family:var(--pl-font);
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.admin-bar.pl-site{--pl-admin:32px}
@media(max-width:782px){body.admin-bar.pl-site{--pl-admin:46px}}
.pl-site *,.pl-site *::before,.pl-site *::after{box-sizing:border-box}
.pl-site img{max-width:100%;height:auto}
.pl-site a{color:inherit}
.pl-site .pl-skip{position:absolute;left:-9999px;top:0;z-index:300;background:var(--pl-white);color:var(--pl-black);padding:12px 18px;border-radius:0 0 8px 0}
.pl-site .pl-skip:focus{left:0}
.pl-site :focus-visible{outline:2px solid var(--pl-white);outline-offset:3px}
.pl-site .pl-wrap{max-width:1100px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}

/* Header */
.pl-site .pl-header{position:sticky;top:var(--pl-admin);z-index:200;background:rgba(6,6,6,.88);
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.06)}
.pl-site .pl-nav-inner{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,48px);min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.pl-site .pl-logo{position:relative;z-index:230;font-size:1.25rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--pl-white)}
.pl-site .pl-nav-links{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}
.pl-site .pl-nav-links li{list-style:none;margin:0}
.pl-site .pl-nav-links a,.pl-site .pl-nav-group>summary{display:inline-flex;align-items:center;min-height:44px;color:rgba(255,255,255,.72);
  font-size:.8125rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;transition:color .25s}
.pl-site .pl-nav-links a:hover,.pl-site .pl-nav-group[open]>summary,.pl-site .pl-nav-group>summary:hover,.pl-site .pl-nav-links a[aria-current="page"]{color:#fff}
.pl-site .pl-nav-group{position:relative}
.pl-site .pl-nav-group>summary{gap:7px;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.pl-site .pl-nav-group>summary::-webkit-details-marker{display:none}
.pl-site .pl-nav-group>summary::marker{content:''}
.pl-site .pl-caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .25s}
.pl-site .pl-nav-group[open]>summary .pl-caret{transform:rotate(225deg);margin-top:2px}
.pl-site .pl-nav-panel{position:absolute;top:calc(100% + 18px);left:-20px;display:flex;gap:30px;padding:22px 26px;background:rgba(10,10,10,.98);
  border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 22px 48px rgba(0,0,0,.5);z-index:220}
.pl-site .pl-nav-col-title{margin:0 0 10px;font-size:.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.pl-site .pl-sublist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pl-site .pl-nav-links .pl-sublist a{display:block;padding:8px 0;min-height:0;white-space:nowrap;font-size:.8125rem;text-transform:none;letter-spacing:.01em;color:rgba(255,255,255,.8)}
.pl-site .pl-nav-links .pl-sublist a:hover,.pl-site .pl-nav-links .pl-sublist a[aria-current="page"]{color:#fff}
.pl-site .pl-nav-links .pl-sublist a[aria-current="page"]{font-weight:600}
.pl-site .pl-nav-links a.pl-nav-cta{background:var(--pl-white);color:var(--pl-black);padding:10px 26px;border-radius:100px;font-weight:600}
.pl-site .pl-nav-links a.pl-nav-cta:hover{background:var(--pl-bright);color:var(--pl-black)}
.pl-site button.pl-toggle{display:none;background:none;border:0;border-radius:0;cursor:pointer;padding:12px;position:relative;z-index:230;box-shadow:none;min-width:44px;min-height:44px}
.pl-site .pl-toggle span{display:block;width:22px;height:2px;margin:5px 0;background:var(--pl-white);transition:transform .25s,opacity .25s}
.pl-site .pl-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.pl-site .pl-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.pl-site .pl-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.pl-site button.pl-toggle:hover,.pl-site button.pl-toggle:focus{background:none}

/* Without JavaScript the directory stays in normal flow (and groups stay open). */
.pl-site .pl-nav:not(.pl-js) .pl-nav-inner{flex-wrap:wrap;align-items:flex-start;padding-block:16px}
.pl-site .pl-nav:not(.pl-js) .pl-nav-links{flex-wrap:wrap;align-items:flex-start;gap:14px 30px}
.pl-site .pl-nav:not(.pl-js) .pl-nav-group>summary{pointer-events:none}
.pl-site .pl-nav:not(.pl-js) .pl-caret{display:none}
.pl-site .pl-nav:not(.pl-js) .pl-nav-panel{position:static;padding:0;background:none;border:0;box-shadow:none}

@media(max-width:768px){
  .pl-site button.pl-toggle{display:block}
  .pl-site button.pl-toggle[hidden]{display:none}
  .pl-site .pl-nav.pl-js .pl-nav-links{display:none}
  .pl-site .pl-nav.pl-js .pl-nav-links.open{display:flex;position:fixed;top:calc(72px + var(--pl-admin));left:0;right:0;bottom:0;z-index:210;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:20px;
    padding:16px 22px calc(64px + env(safe-area-inset-bottom,0px));scroll-padding:16px 0 64px;height:calc(100vh - 72px - var(--pl-admin));height:calc(100dvh - 72px - var(--pl-admin));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--pl-black)}
  .pl-site .pl-nav-links.open>li,.pl-site .pl-nav:not(.pl-js) .pl-nav-links>li{width:100%}
  .pl-site .pl-nav:not(.pl-js) .pl-nav-links{flex-direction:column;gap:10px}
  .pl-site .pl-nav-group>summary{display:none}
  .pl-site .pl-nav-panel .pl-nav-group-label{display:block}
  .pl-site .pl-nav-panel{position:static;display:block;padding:0;background:none;border:0;box-shadow:none;border-radius:0}
  .pl-site .pl-nav-col+.pl-nav-col{margin-top:18px}
  .pl-site .pl-nav-links .pl-sublist a{white-space:normal;font-size:1rem;padding:10px 0;min-height:44px;display:flex;align-items:center}
  .pl-site .pl-nav-links.open a.pl-nav-cta,.pl-site .pl-nav:not(.pl-js) a.pl-nav-cta{display:inline-flex;align-self:flex-start}
}
body.pl-site.pl-menu-open{overflow:hidden}
/* backdrop-filter makes the sticky header the containing block of the fixed panel; drop it while the panel is open. */
.pl-site.pl-menu-open .pl-header{background:var(--pl-black);-webkit-backdrop-filter:none;backdrop-filter:none}
/* Group label: only where the toggle summary is hidden (mobile panel and no-JS small screens). */
.pl-site .pl-nav-group-label{display:none;margin:0 0 6px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pl-platinum)}
.pl-site .pl-nav-group--current>summary{color:#fff;box-shadow:inset 0 -2px 0 var(--pl-platinum)}

/* Hero photography: wide image behind/alongside the copy, gradient keeps text readable, object-fit prevents distortion. */
.pl-site .pl-hero--image{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(420px,62vh,640px);display:flex;align-items:flex-end}
.pl-site .pl-hero--image .pl-hero-copy{position:relative;z-index:1;width:100%}
.pl-site .pl-hero-media{position:absolute;inset:0;z-index:-1;background:var(--pl-dark)}
.pl-site .pl-hero-media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 45%}
.pl-site .pl-hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,6,.94) 0%,rgba(6,6,6,.78) 42%,rgba(6,6,6,.28) 100%),linear-gradient(0deg,rgba(6,6,6,.85) 0%,rgba(6,6,6,0) 45%)}
.pl-site .pl-hero--image .pl-h1,.pl-site .pl-hero--image .pl-lede{text-shadow:0 1px 18px rgba(0,0,0,.55)}
.pl-site .pl-hero--image .pl-lede{color:#d6d6d6}
@media(max-width:768px){
  .pl-site .pl-hero--image{display:block;min-height:0;padding:0 0 clamp(32px,6vw,48px)}
  .pl-site .pl-hero-media{position:relative;inset:auto;z-index:0;aspect-ratio:16/10;margin-bottom:28px}
  .pl-site .pl-hero-media::after{background:linear-gradient(0deg,var(--pl-black) 0%,rgba(6,6,6,0) 55%)}
}

/* Image sections */
.pl-site .pl-section--image{border-bottom:0}
.pl-site .pl-section--image+.pl-section--image{padding-top:0}
.pl-site .pl-gallery{display:grid;gap:clamp(16px,3vw,32px);grid-template-columns:1fr}
.pl-site .pl-gallery--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.pl-site .pl-gallery--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.pl-site .pl-figure{margin:0;min-width:0}
.pl-site .pl-figure-title{font-size:clamp(1.25rem,2.4vw,1.625rem)}
.pl-site .pl-figure-img{display:block;width:100%;height:auto;max-height:min(80vh,720px);object-fit:contain;border-radius:14px;background:var(--pl-dark)}
.pl-site .pl-gallery--2 .pl-figure-img,.pl-site .pl-gallery--3 .pl-figure-img{aspect-ratio:4/3;object-fit:cover}
.pl-site .pl-figure figcaption{margin-top:10px;font-size:.875rem;color:var(--pl-mute)}

/* Provider form embeds: floor height until the vendor script sets the real height; no overflow clipping. */
.pl-site .pl-embed{width:100%;max-width:820px;--pl-embed-h:900px}
.pl-site .pl-embed-frame{display:block;width:100%;height:var(--pl-embed-h);border:0;border-radius:8px;background:#fff}
@media(max-width:600px){.pl-site .pl-embed-frame{height:max(var(--pl-embed-h),1100px)}}
.pl-site .pl-embed-fallback{margin:12px 0 0;font-size:.875rem;color:var(--pl-mute)}

/* Type and buttons */
.pl-site .pl-main{display:block;outline:none}
.pl-site .pl-hero{padding:clamp(56px,10vw,120px) 0 clamp(32px,6vw,64px);border-bottom:1px solid rgba(255,255,255,.06)}
.pl-site .pl-hero--compact{padding:clamp(40px,7vw,80px) 0 clamp(24px,4vw,40px)}
.pl-site .pl-eyebrow{margin:0 0 14px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pl-platinum)}
.pl-site h1.pl-h1{margin:0 0 16px;font-family:var(--pl-font);font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;font-weight:600;letter-spacing:-.01em;color:var(--pl-white)}
.pl-site h2.pl-h2{margin:0 0 14px;font-family:var(--pl-font);font-size:clamp(1.5rem,3vw,2.125rem);line-height:1.2;font-weight:600;color:var(--pl-white)}
.pl-site h3.pl-h3{margin:0 0 8px;font-family:var(--pl-font);font-size:1.125rem;line-height:1.3;font-weight:600;color:var(--pl-white)}
.pl-site .pl-lede{max-width:44rem;margin:0 0 24px;font-size:clamp(1.0625rem,2vw,1.25rem);color:var(--pl-mute)}
.pl-site .pl-section{padding:clamp(48px,8vw,104px) 0;border-bottom:1px solid rgba(255,255,255,.06)}
.pl-site .pl-prose{max-width:46rem;color:var(--pl-mute)}
.pl-site .pl-prose p{margin:0 0 1em}
.pl-site .pl-text-link,.pl-site .pl-prose a{color:var(--pl-white);text-decoration:underline;text-underline-offset:3px}
.pl-site .pl-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.pl-site a.pl-btn,.pl-site button.pl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border-radius:100px;border:1px solid transparent;
  font-family:var(--pl-font);font-size:.9375rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background .25s,transform .25s;text-align:center;overflow-wrap:anywhere}
.pl-site a.pl-btn--light,.pl-site button.pl-btn--light{background:var(--pl-white);color:var(--pl-black)}
.pl-site a.pl-btn--light:hover,.pl-site button.pl-btn--light:hover{background:var(--pl-bright);color:var(--pl-black)}
.pl-site a.pl-btn--ghost{background:rgba(255,255,255,.06);color:var(--pl-white);border-color:rgba(255,255,255,.2)}
.pl-site a.pl-btn--ghost:hover{background:rgba(255,255,255,.12);color:var(--pl-white)}
.pl-site .pl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px;margin:24px 0}
.pl-site .pl-card{padding:24px;background:var(--pl-panel);border:1px solid var(--pl-line);border-radius:14px}
.pl-site .pl-card p{margin:0 0 16px;color:var(--pl-mute)}
.pl-site .pl-card .pl-btn{width:100%}
.pl-site .pl-note{padding:20px 24px;border-left:3px solid var(--pl-platinum);background:var(--pl-dark);max-width:46rem}
.pl-site .pl-note ul{margin:0;padding-left:1.2em;color:var(--pl-mute)}
.pl-site .pl-faq-item{border-bottom:1px solid var(--pl-line)}
.pl-site .pl-faq-item>summary{cursor:pointer;padding:16px 0;font-weight:600;min-height:44px}
.pl-site .pl-address{font-style:normal;font-size:1.125rem;color:var(--pl-white);margin:0 0 12px}
/* Scheduler: one scroll region at a bounded, readable height; reflows to 100% width. */
.pl-site .pl-scheduler{display:block;width:100%;height:clamp(640px,85vh,960px);border:1px solid var(--pl-line);border-radius:12px;background:#fff;margin:16px 0}

/* Lists, search, pagination */
.pl-site .pl-list-item{padding:20px 0;border-bottom:1px solid var(--pl-line)}
.pl-site .pl-list-item a{text-decoration:none}
.pl-site .pl-search{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0}
.pl-site .pl-search label{position:absolute;left:-9999px}
.pl-site .pl-search input[type=search]{flex:1 1 220px;min-height:48px;padding:10px 16px;border-radius:100px;border:1px solid rgba(255,255,255,.25);background:var(--pl-dark);color:var(--pl-white);font:inherit}
.pl-site .pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.pl-site .pagination a,.pl-site .pagination span{padding:8px 14px;border:1px solid var(--pl-line);border-radius:100px;text-decoration:none}
.pl-site .pagination .current{background:var(--pl-white);color:var(--pl-black)}

/* Legacy fallback: unconverted stored content sits on a light surface, unaltered, so
   bodies designed for white pages remain legible. Nothing inside is hidden or restyled. */
.pl-site .pl-legacy-body{background:#fafafa;color:#141414}
.pl-site .pl-legacy-inner{max-width:1200px;margin:0 auto;padding:clamp(20px,4vw,48px)}
.pl-site .pl-legacy-body a{color:revert}
.pl-site .pl-legacy-body .elementor-section-wrap,.pl-site .pl-legacy-body .elementor{max-width:100%}
.pl-site .pl-page-links{margin:24px 0}

/* Footer */
.pl-site .pl-footer{border-top:1px solid rgba(255,255,255,.08);padding:60px clamp(20px,4vw,48px) 36px;background:var(--pl-black)}
.pl-site .pl-footer-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:2fr 1.4fr 1.2fr;gap:48px}
.pl-site .pl-footer-logo{font-size:1.125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.pl-site .pl-footer-brand p{max-width:22rem;font-size:.875rem;color:var(--pl-mute);line-height:1.7}
.pl-site h2.pl-footer-heading{margin:0 0 12px;font-family:var(--pl-font);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ccc}
.pl-site .pl-footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.pl-site .pl-footer-links a{display:inline-flex;align-items:center;min-height:36px;color:#c4c4c4;font-size:.875rem;text-decoration:none}
.pl-site .pl-footer-links a:hover{color:#fff;text-decoration:underline}
.pl-site .pl-footer-links address{font-style:normal;color:#c4c4c4;font-size:.875rem;line-height:1.8;padding-top:10px}
.pl-site .pl-footer-bottom{max-width:1400px;margin:40px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.8125rem;color:#aaa}
.pl-site .pl-footer-bottom a{color:#c4c4c4}
@media(max-width:900px){.pl-site .pl-footer-inner{grid-template-columns:1fr 1fr}.pl-site .pl-footer-brand{grid-column:1/-1}}
@media(max-width:560px){.pl-site .pl-footer-inner{grid-template-columns:1fr}.pl-site .pl-actions .pl-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.pl-site *{transition:none!important;scroll-behavior:auto!important}}
