/* Marker-scoped homepage strategy grid introduced for the public launch. */
.tpm-strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:100%;grid-column:1/-1;flex:1 1 100%}
.tpm-strategy-grid>article{min-width:0;height:100%}
.tpm-strategy-grid a{font-weight:700;text-underline-offset:3px}
@media(max-width:760px){.tpm-strategy-grid{grid-template-columns:1fr;gap:16px}}

/* Candidate 17 RC4: keep the public homepage navigation calm and compact. */
nav[aria-label="Primary"]{display:flex!important;align-items:center!important;gap:clamp(14px,2.2vw,30px)!important;flex-wrap:wrap!important}
nav[aria-label="Primary"]>a,nav[aria-label="Primary"]>.tpm-nav-explore>summary{border:0!important;border-radius:0!important;padding:8px 2px!important;background:transparent!important;box-shadow:none!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap!important}
nav[aria-label="Primary"]>a[href="/"],nav[aria-label="Primary"]>.brand{order:-10!important;margin-right:auto!important;font-size:1.08em!important}
.tpm-nav-explore{position:relative!important;order:-5!important}
.tpm-nav-explore>summary{list-style:none!important;cursor:pointer!important}
.tpm-nav-explore>summary::-webkit-details-marker{display:none!important}
.tpm-nav-explore>summary::after{content:" ▾";font-size:.8em}
.tpm-nav-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:30;display:grid;min-width:250px;padding:10px;background:#fff;color:#0c1b33;border:1px solid rgba(12,27,51,.18);border-radius:12px;box-shadow:0 16px 38px rgba(0,0,0,.18)}
.tpm-nav-menu a{display:block!important;padding:9px 10px!important;border:0!important;border-radius:7px!important;background:transparent!important;text-decoration:none!important;color:inherit!important;white-space:nowrap!important}
.tpm-nav-menu a:hover,.tpm-nav-menu a:focus-visible{background:#eef2f7!important}
.tpm-mobile-contact{display:none!important}
.tpm-mobile-feedback{display:none!important}
@media(max-width:760px){
nav[aria-label="Primary"]{gap:10px!important;flex-wrap:nowrap!important}
nav[aria-label="Primary"]>a[href="/"]{font-size:.98em!important;min-width:0!important}
nav[aria-label="Primary"]>a[href*="contact"]{display:none!important}
.tpm-brand-mark{width:32px!important;height:32px!important}
.tpm-nav-menu{left:auto!important;right:calc(-1 * min(84px,22vw))!important;width:min(265px,calc(100vw - 32px))!important;min-width:0!important;max-width:calc(100vw - 32px)!important;padding:8px!important}
.tpm-nav-menu a{padding:8px 10px!important;white-space:nowrap!important;overflow-wrap:normal!important}
.tpm-nav-menu .tpm-mobile-feedback{display:block!important}
.tpm-nav-menu .tpm-mobile-contact{display:block!important;border-top:1px solid rgba(12,27,51,.12)!important;margin-top:4px!important;padding-top:11px!important}
}


/* Candidate 17 RC8: subtle circular brand mark on the published homepage. */
nav[aria-label="Primary"]>a[href="/"]{display:inline-flex!important;align-items:center!important;gap:.55rem!important}
.tpm-brand-mark{width:36px!important;height:36px!important;object-fit:contain!important;flex:none!important}

@media(max-width:360px){nav[aria-label="Primary"]>a[href="/"]{font-size:0!important;gap:0!important}.tpm-brand-mark{width:34px!important;height:34px!important}}

/* Candidate 17 RC8-R4: approved stronger branding and balanced hero composition. */
nav[aria-label="Primary"]>a[href="/"],nav[aria-label="Primary"]>.brand{display:inline-flex!important;align-items:center!important;gap:.7rem!important}
.tpm-brand-mark{width:44px!important;height:44px!important;filter:drop-shadow(0 0 6px rgba(217,173,91,.32));}
.tpm-home-hero{position:relative!important;isolation:isolate!important;overflow:hidden!important}
.tpm-home-hero>.tpm-hero-medallion{aspect-ratio:1!important;display:grid!important;place-items:center!important;pointer-events:none!important;z-index:2!important}
.tpm-home-hero>.tpm-hero-medallion::before{content:"";position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(circle,rgba(217,173,91,.16) 0,rgba(217,173,91,.07) 36%,rgba(217,173,91,0) 68%);z-index:-1}
.tpm-home-hero>.tpm-hero-medallion img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 10px 22px rgba(0,0,0,.28)) drop-shadow(0 0 12px rgba(217,173,91,.24));}

@media(max-width:760px){
nav[aria-label="Primary"]>a[href="/"],nav[aria-label="Primary"]>.brand{gap:.55rem!important}
.tpm-brand-mark{width:38px!important;height:38px!important;filter:drop-shadow(0 0 5px rgba(217,173,91,.30));}
.tpm-home-hero{padding-right:0!important;overflow:hidden!important}
.tpm-home-hero>.tpm-hero-medallion{position:relative!important;right:auto!important;bottom:auto!important;width:min(44vw,178px)!important;margin:24px 10px 2px auto!important}
}
@media(max-width:360px){
nav[aria-label="Primary"]>a[href="/"],nav[aria-label="Primary"]>.brand{font-size:0!important;gap:0!important}
.tpm-brand-mark{width:38px!important;height:38px!important}
.tpm-home-hero>.tpm-hero-medallion{width:min(48vw,166px)!important;margin-top:20px!important}
}

/* Candidate 17 RC8-R5: rebalance homepage composition and make Explore a compact brand surface. */
@media(min-width:761px){
nav[aria-label="Primary"]{width:100%!important;max-width:none!important;box-sizing:border-box!important;justify-content:flex-end!important}
nav[aria-label="Primary"]>a[href="/"],nav[aria-label="Primary"]>.brand{margin-right:auto!important}
}
.tpm-nav-menu{min-width:0!important;width:max-content!important;max-width:min(286px,calc(100vw - 28px))!important;padding:7px!important;background:linear-gradient(145deg,rgba(20,42,70,.98),rgba(8,25,48,.98))!important;color:#f8f2e7!important;border:1px solid rgba(217,173,91,.48)!important;box-shadow:0 18px 42px rgba(3,12,26,.30),inset 0 1px 0 rgba(255,255,255,.045)!important;backdrop-filter:blur(12px)}
.tpm-nav-menu a{padding:8px 11px!important;border-radius:8px!important;color:#f8f2e7!important}
.tpm-nav-menu a:hover,.tpm-nav-menu a:focus-visible{background:rgba(217,173,91,.16)!important;color:#fffaf0!important}
.tpm-nav-menu .tpm-mobile-contact{border-top-color:rgba(217,173,91,.30)!important}
@media(max-width:760px){
nav[aria-label="Primary"]{width:100%!important}
.tpm-home-hero{min-height:auto!important;padding-right:0!important;padding-bottom:clamp(88px,22vw,118px)!important}
.tpm-home-hero>.tpm-hero-medallion{position:absolute!important;right:-6px!important;bottom:-8px!important;width:min(33vw,138px)!important;margin:0!important}
.tpm-nav-menu{left:auto!important;right:-6px!important;width:max-content!important;min-width:0!important;max-width:calc(100vw - 28px)!important;padding:6px!important;border-radius:11px!important}
.tpm-nav-menu a{padding:7px 10px!important}
.tpm-nav-menu .tpm-mobile-contact{margin-top:3px!important;padding-top:10px!important}
}
@media(max-width:390px){
.tpm-home-hero{padding-bottom:96px!important}
.tpm-home-hero>.tpm-hero-medallion{width:min(34vw,126px)!important;right:-10px!important;bottom:-6px!important}
}

/* Candidate 17 RC8-R6: final mobile spacing polish after live review. */
@media(max-width:760px){
.tpm-home-hero{padding-top:34px!important}
.tpm-nav-menu{top:calc(100% + 4px)!important;right:-14px!important;width:min(220px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;padding:5px!important}
.tpm-nav-menu a{padding:7px 9px!important}
}
@media(max-width:390px){
.tpm-home-hero{padding-top:28px!important}
.tpm-nav-menu{right:-12px!important;width:min(214px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important}
}

/* Candidate 17 RC8-R7: final mobile-only visual polish; desktop RC8-R6 is frozen. */
@media(max-width:760px){
.tpm-home-hero{padding-top:10px!important}
.tpm-home-hero>.tpm-hero-medallion{right:12px!important;bottom:24px!important}
.tpm-nav-menu{top:calc(100% + 1px)!important;right:-20px!important;width:min(198px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}
}
@media(max-width:390px){
.tpm-home-hero{padding-top:8px!important}
.tpm-home-hero>.tpm-hero-medallion{right:10px!important;bottom:22px!important}
.tpm-nav-menu{top:calc(100% + 1px)!important;right:-18px!important;width:min(192px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important}
}


/* Candidate 17 RC9-R7: fluid public shell and structural desktop/tablet layout. */
@media(min-width:761px){
html,body{max-width:none!important}
body>nav[aria-label="Primary"],body>main,body>footer,.tpm-home-hero,.shell{width:min(1500px,calc(100% - clamp(32px,6vw,112px)))!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
nav[aria-label="Primary"]{padding-right:0!important;justify-content:flex-end!important}
nav[aria-label="Primary"]>a[href="/"],nav[aria-label="Primary"]>.brand{margin-right:auto!important}
.tpm-home-hero{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(210px,.72fr)!important;column-gap:clamp(32px,5vw,88px)!important;align-items:center!important;min-height:auto!important;padding-right:0!important}
.tpm-home-hero>:not(.tpm-hero-medallion){grid-column:1!important;min-width:0!important}
.tpm-home-hero>.tpm-hero-medallion{position:relative!important;grid-column:2!important;grid-row:1 / span 3!important;align-self:center!important;justify-self:end!important;right:auto!important;bottom:auto!important;width:min(100%,clamp(190px,20vw,330px))!important;margin:0!important}
body>main>section.intro{display:grid!important;grid-template-columns:minmax(230px,.72fr) minmax(0,1.55fr)!important;gap:clamp(28px,4vw,72px)!important;align-items:start!important}
body>main>section.intro>h2{grid-column:1!important;margin-top:0!important}
body>main>section.intro>.intro-copy{grid-column:2!important;max-width:80ch!important;margin-top:0!important}
.tpm-strategy-grid{gap:clamp(18px,2vw,28px)}
}
@media(min-width:761px) and (max-width:1024px){
body>nav[aria-label="Primary"],body>main,body>footer,.tpm-home-hero,.shell{width:calc(100% - clamp(32px,5vw,56px))!important}
.tpm-home-hero{grid-template-columns:minmax(0,1fr) minmax(170px,.38fr)!important;column-gap:clamp(22px,4vw,38px)!important}
.tpm-home-hero>.tpm-hero-medallion{width:min(100%,210px)!important}
body>main>section.intro{grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr)!important;gap:clamp(22px,4vw,38px)!important}
}
@media(min-width:1366px){
body>main>section.intro>.intro-copy{max-width:88ch!important}
}
@media(min-width:1800px){
body>nav[aria-label="Primary"],body>main,body>footer,.tpm-home-hero,.shell{width:min(1560px,calc(100% - 112px))!important}
}


/* Candidate 17 RC9-R8: remove residual wide-desktop double-inset behavior seen in live Safari review. */
@media(min-width:1025px){
body{--tpm-public-shell:min(1760px,calc(100vw - clamp(48px,7vw,128px)))}
body>main,body>footer,.tpm-home-hero{width:var(--tpm-public-shell)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
/* RC9-R10: the live homepage nav is nested in a narrower source-owned wrapper.
   Break it out symmetrically around that wrapper's center, then keep an inner
   gutter so the final Contact control cannot clip at the viewport/shell edge. */
nav[aria-label="Primary"]{width:var(--tpm-public-shell)!important;max-width:none!important;box-sizing:border-box!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;padding-left:clamp(12px,1.2vw,22px)!important;padding-right:clamp(12px,1.2vw,22px)!important;justify-content:flex-end!important}
body>main{padding-left:0!important;padding-right:0!important}
.tpm-home-hero{margin-left:auto!important;margin-right:auto!important}
}
@media(min-width:1366px){
.tpm-home-hero{grid-template-columns:minmax(0,1.7fr) minmax(250px,.65fr)!important;column-gap:clamp(40px,4vw,76px)!important}
.tpm-home-hero>.tpm-hero-medallion{width:min(100%,clamp(220px,17vw,320px))!important}
body>main>section.intro{grid-template-columns:minmax(280px,.68fr) minmax(0,1.72fr)!important;gap:clamp(40px,4vw,76px)!important}
body>main>section.intro>.intro-copy{max-width:88ch!important}
}


/* Candidate 17 RC9-R10-R2: viewport-efficient public shell after live wide-screen review.
   Keep the navy navigation/hero surface close to the viewport edges while letting
   readable content retain its own larger-display ceiling. Desktop hero vertical
   rhythm also responds to the available viewport height. */
@media(min-width:1025px){
body{--tpm-surface-shell:calc(100vw - clamp(36px,3vw,56px));--tpm-content-shell:min(2200px,var(--tpm-surface-shell));--tpm-public-shell:var(--tpm-content-shell)}
body>main,body>footer{width:var(--tpm-content-shell)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
body>nav[aria-label="Primary"]{width:var(--tpm-surface-shell)!important;max-width:calc(100vw - 24px)!important;margin-left:auto!important;margin-right:auto!important;left:auto!important;transform:none!important;padding-left:clamp(14px,1.1vw,22px)!important;padding-right:clamp(14px,1.1vw,22px)!important;justify-content:flex-end!important}
.tpm-home-hero{width:var(--tpm-surface-shell)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;padding-top:clamp(46px,6vh,82px)!important;padding-right:clamp(20px,2vw,38px)!important;padding-bottom:clamp(54px,7vh,94px)!important}
/* Fallback for a source-owned centered wrapper if the homepage nav is ever nested again. */
body>:not(nav) nav[aria-label="Primary"]{width:var(--tpm-surface-shell)!important;max-width:calc(100vw - 24px)!important;left:50%!important;transform:translateX(-50%)!important;padding-left:clamp(14px,1.1vw,22px)!important;padding-right:clamp(14px,1.1vw,22px)!important;justify-content:flex-end!important}
}
@media(min-width:1800px){
body>main,body>footer{width:var(--tpm-content-shell)!important}
body>nav[aria-label="Primary"],.tpm-home-hero{width:var(--tpm-surface-shell)!important}
}

/* Candidate 17 RC9-R10-R3: normalize the existing RC9-R10-R2 public layout without redesigning it.
   Keep the approved hero/medallion/content treatment, but make the source-owned homepage
   navigation wrapper share the same centered desktop gutter, retain modest edge breathing room,
   and trim excess desktop hero vertical padding. */
@media(min-width:1025px){
body{--tpm-surface-shell:calc(100vw - clamp(48px,5vw,80px));--tpm-content-shell:min(2200px,var(--tpm-surface-shell));--tpm-public-shell:var(--tpm-content-shell)}
body>nav[aria-label="Primary"]{width:var(--tpm-surface-shell)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;left:auto!important;transform:none!important;padding-left:clamp(16px,1.2vw,22px)!important;padding-right:clamp(16px,1.2vw,22px)!important}
body>:has(> nav[aria-label="Primary"]){width:var(--tpm-surface-shell)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
body>:not(nav)>nav[aria-label="Primary"]{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;left:auto!important;transform:none!important;padding-left:clamp(16px,1.2vw,22px)!important;padding-right:clamp(16px,1.2vw,22px)!important}
.tpm-home-hero{width:var(--tpm-surface-shell)!important;height:auto!important;min-height:auto!important;padding-top:clamp(34px,4vh,52px)!important;padding-bottom:clamp(40px,4.5vh,60px)!important}
}
@media(min-width:761px) and (max-width:1024px){
body>:has(> nav[aria-label="Primary"]){width:calc(100% - clamp(32px,5vw,56px))!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
body>:not(nav)>nav[aria-label="Primary"]{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;left:auto!important;transform:none!important}
}

/* RC9-R13-R4: keep the source-owned homepage brand visible inside the normalized shell. */
nav[aria-label="Primary"]>.brand,nav[aria-label="Primary"]>a[href="/"]{
position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;
visibility:visible!important;opacity:1!important;overflow:visible!important;max-width:none!important;color:inherit!important;
}

/* RC9-R13-R7: canonical homepage navigation foundation.
   Publication now owns one body-level nav surface and one canonical nav DOM.
   This removes the source-owned ancestor coordinate systems that caused Safari
   width-dependent brand drift. The hero and navigation use the viewport itself
   as their outer coordinate system; only their real content is inset. */
body:has(.tpm-home-hero){width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body:has(.tpm-home-hero)>.tpm-home-nav-surface{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;box-sizing:border-box!important;overflow:visible!important;
  background:linear-gradient(110deg,#0c213f 0%,#102a4c 58%,#3c4652 100%)!important;color:#fff!important;
}
body:has(.tpm-home-hero)>.tpm-home-nav-surface>nav[aria-label="Primary"]{
  box-sizing:border-box!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important;
  max-width:none!important;overflow:visible!important;
}
body:has(.tpm-home-hero)>.tpm-home-nav-surface .tpm-public-brand{
  position:static!important;inset:auto!important;transform:none!important;visibility:visible!important;opacity:1!important;
  display:inline-flex!important;align-items:center!important;gap:.7rem!important;white-space:nowrap!important;
}
body:has(.tpm-home-hero)>main,body:has(.tpm-home-hero)>footer{
  box-sizing:border-box!important;max-width:100%!important;
}
@media(min-width:761px){
  body:has(.tpm-home-hero){--tpm-home-gutter:clamp(48px,5vw,80px);--tpm-home-nav-width:calc(100% - clamp(96px,10vw,160px))}
  body:has(.tpm-home-hero)>.tpm-home-nav-surface>nav[aria-label="Primary"]{
    width:var(--tpm-home-nav-width)!important;margin-left:auto!important;margin-right:auto!important;
    padding-left:0!important;padding-right:0!important;display:flex!important;align-items:center!important;
    justify-content:flex-end!important;flex-wrap:nowrap!important;
  }
  body:has(.tpm-home-hero)>.tpm-home-nav-surface .tpm-public-brand{
    order:0!important;flex:0 0 auto!important;min-width:max-content!important;margin-left:0!important;margin-right:auto!important;
  }
  body:has(.tpm-home-hero)>.tpm-home-nav-surface .tpm-nav-explore{order:1!important;flex:0 0 auto!important}
  body:has(.tpm-home-hero)>.tpm-home-nav-surface .tpm-public-events{order:2!important;flex:0 0 auto!important}
  body:has(.tpm-home-hero)>.tpm-home-nav-surface .tpm-public-feedback{order:3!important;flex:0 0 auto!important}
  body:has(.tpm-home-hero)>.tpm-home-nav-surface .tpm-public-contact{order:4!important;flex:0 0 auto!important}
  body:has(.tpm-home-hero)>.tpm-home-hero{
    width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
    left:auto!important;right:auto!important;transform:none!important;box-sizing:border-box!important;
    padding-left:var(--tpm-home-gutter)!important;padding-right:clamp(32px,4vw,64px)!important;
  }
}

/* RC9-R14-R1: customer feedback link remains compact on mobile. */
@media(max-width:760px){
  body:has(.tpm-home-hero)>.tpm-home-nav-surface .tpm-public-feedback{display:none!important}
}


/* RC9-R14-R4: concise homepage About summary, visually aligned with the existing public composition. */
.tpm-home-about{margin:clamp(2.4rem,4vw,4rem) 0;padding:clamp(1.5rem,3vw,2.4rem);border:1px solid rgba(12,27,51,.12);border-radius:18px;background:linear-gradient(135deg,rgba(247,249,252,.94),rgba(255,255,255,.98));box-shadow:0 10px 30px rgba(12,27,51,.045)}
.tpm-home-about .eyebrow{margin:0 0 .45rem;color:#866020;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;font-weight:700}.tpm-home-about h2{margin:.25rem 0 1rem}.tpm-home-about p{max-width:900px}.tpm-home-about-mantra{font-size:1.08rem;color:#0c1b33}.tpm-footer-about{margin-top:.35rem}
@media(max-width:760px){.tpm-home-about{margin:2rem 0;padding:1.25rem}.tpm-home-about h2{font-size:1.55rem}}
