/*
  PHCS heritage story concept
  Local-only / no-index preview. All selectors are page-specific.
*/

.preview-flag{
  position:relative;
  z-index:90;
  padding:7px 18px;
  background:#f2b2cf;
  color:#3b1026;
  border-bottom:1px solid rgba(59,16,38,.16);
  font:700 11px/1.2 var(--display);
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase;
}

.heritage-hero{
  position:relative;
  min-height:700px;
  padding:0;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 44%,rgba(145,0,72,.46) 0,rgba(145,0,72,.07) 31%,transparent 48%),
    linear-gradient(120deg,#171314 0%,#2c1a23 54%,#4e0027 100%);
  color:#fff;
}
.heritage-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(90deg,#000 0%,transparent 72%);
}

.heritage-hero-layout{
  width:100%;
  padding-top:88px;
  padding-bottom:88px;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);
  gap:54px;
  align-items:center;
}

.heritage-hero-copy{max-width:710px}
.heritage-hero .eyebrow{color:#f7bfd8;margin-bottom:20px}
.heritage-hero h1{
  max-width:12ch;
  margin:0 0 24px;
  color:#fff;
  font-size:clamp(48px,6.1vw,78px);
  line-height:.97;
  letter-spacing:-.042em;
  text-wrap:balance;
}
.heritage-hero h1 em{
  color:#f2b2cf;
  font-style:normal;
}
.heritage-hero .lead{
  max-width:42ch;
  margin:0 0 18px;
  color:#fff;
  font-family:var(--display);
  font-size:clamp(19px,2vw,25px);
  font-weight:600;
  line-height:1.35;
}
.heritage-intro{
  max-width:58ch;
  color:rgba(255,255,255,.84);
  font-size:17px;
}
.heritage-hero-portraits{
  position:relative;
  min-height:530px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}
.heritage-hero-portraits::before{
  content:"";
  position:absolute;
  inset:38px -34px -28px 72px;
  z-index:-1;
  border:1px solid rgba(242,178,207,.28);
  border-radius:28px;
  transform:rotate(-3deg);
}
.heritage-hero-portraits figure{
  position:relative;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:#3b3738;
  box-shadow:0 30px 70px -35px rgba(0,0,0,.8);
}
.heritage-hero-portraits figure:nth-child(2){margin-top:54px}
.heritage-hero-portraits img{
  width:100%;
  height:430px;
  object-fit:cover;
  object-position:top center;
}
.heritage-hero-portraits figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:46px 16px 15px;
  background:linear-gradient(0deg,rgba(18,15,16,.92),transparent);
  color:#fff;
}
.heritage-hero-portraits figcaption strong,.heritage-hero-portraits figcaption span{display:block}
.heritage-hero-portraits figcaption strong{font:600 16px/1.2 var(--display)}
.heritage-hero-portraits figcaption span{margin-top:3px;color:#f2b2cf;font-size:12px}
.btn-ghost-light{
  background:transparent;
  border-color:rgba(255,255,255,.72);
  color:#fff;
}
.btn-ghost-light:hover{background:#fff;color:var(--magenta)}

.heritage-proof{
  padding:0;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.heritage-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding-top:0;
  padding-bottom:0;
}
.heritage-proof-grid>div{
  min-height:132px;
  padding:25px 26px 24px;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.heritage-proof-grid>div:first-child{padding-left:0}
.heritage-proof-grid>div:last-child{padding-right:0;border-right:0}
.heritage-proof strong{
  display:block;
  color:var(--magenta);
  font:700 28px/1 var(--display);
  letter-spacing:-.03em;
}
.heritage-proof span{
  display:block;
  margin-top:8px;
  color:var(--body-ink);
  font-size:13.5px;
  line-height:1.32;
}

.heritage-why{
  padding:92px 0;
  background:linear-gradient(180deg,#fbf9f7 0%,#f6f2ef 100%);
}
.heritage-narrow{max-width:930px}
.heritage-why h2{font-size:clamp(32px,4vw,52px)}
.heritage-why .lead{
  max-width:72ch;
  margin:22px auto 0;
  color:var(--body-ink);
  font-size:20px;
  line-height:1.6;
}

.heritage-roots{padding:98px 0;background:#fff}
.heritage-section-head{max-width:780px;margin-bottom:40px}
.heritage-section-head h2{font-size:clamp(30px,3.6vw,46px)}
.heritage-section-head>p{max-width:66ch;color:var(--muted)}
.heritage-root-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.heritage-root{
  position:relative;
  min-height:510px;
  padding:42px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:28px;
}
.heritage-root::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-130px;
  bottom:-130px;
  border:1px solid rgba(145,0,72,.12);
  border-radius:50%;
  box-shadow:0 0 0 36px rgba(145,0,72,.035),0 0 0 72px rgba(145,0,72,.025);
}
.heritage-root-hess{background:#211d1f;color:#eae4e6;border-color:#211d1f}
.heritage-root-hess h3{color:#fff}
.heritage-root-hess p{color:#d6ced1}
.heritage-root-hess .textlink{color:#f2b2cf}
.heritage-root-crisci{background:#f8edf2;border-color:#ead2dd}
.heritage-root-mark{
  width:92px;
  height:92px;
  padding:13px;
  border:1px solid currentColor;
  border-radius:50%;
  display:grid;
  place-items:center;
  align-content:center;
  color:#f2b2cf;
}
.heritage-root-crisci .heritage-root-mark{color:var(--magenta)}
.heritage-root-mark span{font:700 42px/.9 var(--display)}
.heritage-root-mark small{margin-top:5px;font:700 9px/1 var(--display);letter-spacing:.18em}
.heritage-overline{
  display:block;
  margin-bottom:12px;
  color:var(--magenta);
  font:700 11px/1.2 var(--display);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.heritage-root-hess .heritage-overline{color:#f2b2cf}
.heritage-root h3{max-width:15ch;font-size:clamp(27px,3vw,38px)}
.heritage-root p{max-width:58ch;font-size:16px}
.heritage-root .textlink{position:relative;z-index:2;display:inline-block;margin-top:8px}

.heritage-archive{padding:100px 0;background:#f6f2ef}
.heritage-archive-intro{max-width:820px;margin-bottom:42px}
.heritage-archive-intro h2{font-size:clamp(31px,3.8vw,48px)}
.heritage-archive-intro p{max-width:70ch;color:var(--body-ink);font-size:17px}
.heritage-archive-roots{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.heritage-archive figure{position:relative;margin:0;overflow:hidden;border-radius:20px;background:#211d1f;box-shadow:0 24px 65px -48px rgba(35,31,32,.9)}
.heritage-archive figure::after{content:"From the PHCS archive";position:absolute;top:16px;left:16px;padding:7px 10px;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(25,20,22,.76);color:#fff;font:700 9px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(5px)}
.heritage-archive img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.9) contrast(1.03)}
.heritage-archive-feature{min-height:680px}
.heritage-archive-feature img{object-position:center center}
.heritage-archive-quickprint{background:linear-gradient(145deg,#7d1d26,#211d1f)}
.heritage-archive-quickprint img{object-fit:contain;padding:12px;object-position:center}
.heritage-archive-clem img{object-position:center 7%}
.heritage-archive-bridge{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;margin-top:22px}
.heritage-archive-bridge figure{min-height:390px}
.heritage-archive-bridge figure:first-child img{object-position:center 35%}
.heritage-archive-bridge figure:last-child img{object-position:center 28%}
.heritage-archive figcaption{position:absolute;left:0;right:0;bottom:0;padding:76px 24px 24px;background:linear-gradient(0deg,rgba(18,15,16,.95) 0%,rgba(18,15,16,.76) 54%,transparent 100%);color:#fff}
.heritage-archive figcaption span,.heritage-archive figcaption strong,.heritage-archive figcaption small{display:block}
.heritage-archive figcaption span{margin-bottom:6px;color:#f2b2cf;font:700 10px/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase}
.heritage-archive figcaption strong{font:600 clamp(18px,2vw,25px)/1.22 var(--display)}
.heritage-archive figcaption small{margin-top:7px;color:rgba(255,255,255,.76);font-size:12.5px;line-height:1.35}
.heritage-archive-note{margin:24px 0 0;padding:22px 24px;border-left:4px solid var(--magenta);background:#fff;color:var(--body-ink);font-size:15.5px}
.heritage-archive-note strong{color:var(--ink)}

.heritage-timelines{padding:100px 0;background:#1b1819;color:#ddd5d8}
.heritage-section-head-light h2{color:#fff}
.heritage-section-head-light>p{color:#c8bec2}
.heritage-timelines .eyebrow{color:#f2b2cf}
.heritage-rail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.heritage-rail{
  padding:32px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.heritage-rail h3{
  margin-bottom:28px;
  color:#fff;
  font-size:20px;
}
.heritage-rail h3 span{
  display:inline-block;
  margin-right:9px;
  padding:5px 10px;
  border-radius:999px;
  background:var(--magenta);
  color:#fff;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.heritage-rail ol{list-style:none;margin:0;padding:0}
.heritage-rail li{
  position:relative;
  display:grid;
  grid-template-columns:78px 1fr;
  gap:18px;
  padding:0 0 28px;
}
.heritage-rail li:last-child{padding-bottom:0}
.heritage-rail li::before{
  content:"";
  position:absolute;
  top:9px;
  left:66px;
  bottom:-9px;
  width:1px;
  background:rgba(242,178,207,.34);
}
.heritage-rail li:last-child::before{display:none}
.heritage-rail li::after{
  content:"";
  position:absolute;
  top:5px;
  left:62px;
  width:9px;
  height:9px;
  border:2px solid #1b1819;
  border-radius:50%;
  background:#f2b2cf;
  box-shadow:0 0 0 1px #f2b2cf;
}
.heritage-rail time{
  color:#f2b2cf;
  font:700 13px/1.4 var(--display);
  letter-spacing:.04em;
}
.heritage-rail strong{display:block;color:#fff;font:600 17px/1.3 var(--display)}
.heritage-rail p{margin:6px 0 0;color:#cfc6ca;font-size:14.5px}
.heritage-convergence{
  max-width:980px;
  margin:72px auto 0;
  padding:40px 48px 44px;
  border-radius:20px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 30px 80px -55px #000;
}
.heritage-convergence-rule{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:-62px auto 30px}
.heritage-convergence-rule span{height:2px;background:#f2b2cf}
.heritage-convergence-rule i{width:42px;height:42px;border:8px solid #1b1819;border-radius:50%;background:var(--magenta);box-shadow:0 0 0 1px #f2b2cf}
.heritage-convergence-copy{max-width:760px;margin:auto;text-align:center}
.heritage-convergence h2{font-size:clamp(29px,3.5vw,43px)}
.heritage-convergence p{color:var(--body-ink)}

.heritage-owners{padding:94px 0;background:#f8f5f3}
.heritage-owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.heritage-owner{
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  display:grid;
  grid-template-columns:150px 1fr;
  gap:24px;
  align-items:center;
  background:#fff;
  box-shadow:0 20px 52px -45px rgba(35,31,32,.65);
}
.heritage-owner img{width:150px;height:190px;border-radius:12px;object-fit:cover;object-position:top}
.heritage-owner h3{margin:0 0 9px;font-size:25px}
.heritage-owner p{color:var(--body-ink);font-size:15px}

.heritage-value{padding:96px 0;background:#f6f2ef;color:var(--ink)}
.heritage-value .heritage-section-head{max-width:850px}
.heritage-value .eyebrow{color:var(--magenta)}
.heritage-value-lead{font-size:18px}
.heritage-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.heritage-value article{
  --force-accent:var(--magenta);
  min-height:330px;
  padding:29px 24px 28px;
  border:1px solid var(--line);
  border-top:4px solid var(--force-accent);
  border-radius:16px;
  background:#fff;
  box-shadow:0 18px 46px -42px rgba(35,31,32,.72);
}
.heritage-value article:nth-child(1){--force-accent:#211d1f}
.heritage-value article:nth-child(2){--force-accent:#5e0030}
.heritage-value article:nth-child(3){--force-accent:#9f3f68}
.heritage-value article:nth-child(4){--force-accent:#910048}
.heritage-value article>span{display:block;min-height:32px;margin-bottom:29px;color:var(--force-accent);font:700 11px/1.35 var(--display);letter-spacing:.08em;text-transform:uppercase}
.heritage-value h3{color:var(--ink);font-size:20px}
.heritage-value article p{color:var(--body-ink);font-size:14.5px}
.heritage-power-result{
  position:relative;
  margin-top:20px;
  padding:34px 38px 32px;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(112deg,#211d1f 0%,#5e0030 58%,#910048 100%);
  color:#fff;
}
.heritage-power-result::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-84px;
  top:-92px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 68px rgba(255,255,255,.025);
}
.heritage-power-result>span{position:relative;z-index:1;display:block;margin-bottom:16px;color:#f2b2cf;font:700 12px/1.5 var(--display);letter-spacing:.08em;text-transform:uppercase}
.heritage-power-result>span i{padding:0 5px;color:#fff;font-style:normal}
.heritage-power-result strong{position:relative;z-index:1;display:block;color:#fff;font:700 clamp(27px,3.3vw,42px)/1.1 var(--display);letter-spacing:-.035em}
.heritage-power-result p{position:relative;z-index:1;max-width:78ch;margin:12px 0 0;color:rgba(255,255,255,.84);font-size:16px}

.heritage-capabilities{padding:96px 0;background:#fff}
.heritage-capabilities>.wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:72px;align-items:start}
.heritage-capabilities-copy{position:sticky;top:120px}
.heritage-capabilities-copy h2{font-size:clamp(30px,3.5vw,44px)}
.heritage-capabilities-copy p{color:var(--muted);font-size:18px}
.heritage-capability-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.heritage-capability-links a{
  min-height:145px;
  padding:23px;
  border:1px solid var(--line);
  border-radius:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:var(--ink);
  background:#fbf9f7;
  text-decoration:none!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.heritage-capability-links a::after{content:"→";align-self:flex-end;color:var(--magenta);font:700 22px/1 var(--display)}
.heritage-capability-links a:hover,.heritage-capability-links a:focus-visible{transform:translateY(-3px);border-color:var(--magenta);box-shadow:0 18px 42px -34px rgba(35,31,32,.75)}
.heritage-capability-links span{font:600 18px/1.25 var(--display)}
.heritage-capability-links small{margin:8px 0 auto;color:var(--muted);font-size:13.5px}

.heritage-source-note{padding:0 0 88px;background:#fff}
.heritage-source-note details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.heritage-source-note summary{padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;font:600 16px/1.3 var(--display)}
.heritage-source-note summary::after{content:"+";color:var(--magenta);font-size:25px}
.heritage-source-note details[open] summary::after{content:"−"}
.heritage-source-body{max-width:850px;padding:0 0 22px;color:var(--body-ink);font-size:15px}

.heritage-close{padding:86px 0;background:linear-gradient(120deg,#201a1d 0%,#5e0030 56%,#910048 100%);color:#fff}
.heritage-close-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end}
.heritage-close .eyebrow{color:#f2b2cf}
.heritage-close h2{color:#fff;font-size:clamp(34px,4.6vw,56px)}
.heritage-close p{max-width:54ch;color:rgba(255,255,255,.84)}
.heritage-close-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.heritage-close-actions p{width:100%;margin:14px 0 0;text-align:right;font-family:var(--display);font-weight:600;color:#f2b2cf}

@media (max-width:1000px){
  .heritage-hero-layout{grid-template-columns:minmax(0,1fr) minmax(350px,.76fr);gap:34px}
  .heritage-hero-portraits{min-height:470px}
  .heritage-hero-portraits img{height:380px}
  .heritage-proof-grid{grid-template-columns:1fr 1fr}
  .heritage-proof-grid>div{border-bottom:1px solid var(--line)}
  .heritage-proof-grid>div:nth-child(2){border-right:0;padding-right:0}
  .heritage-proof-grid>div:nth-child(3){padding-left:0;border-bottom:0}
  .heritage-proof-grid>div:nth-child(4){border-right:0;border-bottom:0;padding-right:0}
  .heritage-value-grid{grid-template-columns:1fr 1fr}
  .heritage-archive-roots{grid-template-columns:1fr 1fr}
  .heritage-archive-feature{min-height:620px}
  .heritage-archive-bridge{grid-template-columns:1fr 1fr}
  .heritage-archive-bridge figure{min-height:420px}
  .heritage-capabilities>.wrap{grid-template-columns:1fr;gap:34px}
  .heritage-capabilities-copy{position:static}
}

@media (max-width:860px){
  .heritage-hero{min-height:0}
  .heritage-hero-layout{padding-top:72px;padding-bottom:72px}
  .heritage-hero-layout{grid-template-columns:1fr;gap:42px}
  .heritage-hero-copy{max-width:680px}
  .heritage-hero-portraits{min-height:0;max-width:620px}
  .heritage-hero-portraits img{height:auto;aspect-ratio:3/4}
  .heritage-root-grid,.heritage-rail-grid,.heritage-owner-grid,.heritage-close-grid{grid-template-columns:1fr}
  .heritage-root{min-height:0}
  .heritage-convergence{padding:34px 28px 36px}
  .heritage-close-actions{justify-content:flex-start}
  .heritage-close-actions p{text-align:left}
}

@media (max-width:600px){
  .preview-flag{padding:6px 12px;font-size:9.5px}
  .heritage-hero{min-height:0}
  .heritage-hero-layout{padding-top:54px;padding-bottom:48px}
  .heritage-hero h1{font-size:42px}
  .heritage-hero .lead{font-size:18px}
  .heritage-intro{font-size:15px}
  .heritage-hero-portraits{gap:8px}
  .heritage-hero-portraits::before{inset:24px -14px -16px 34px}
  .heritage-hero-portraits figure{border-radius:12px}
  .heritage-hero-portraits figure:nth-child(2){margin-top:28px}
  .heritage-hero-portraits figcaption{padding:34px 10px 10px}
  .heritage-hero-portraits figcaption strong{font-size:13px}
  .heritage-hero-portraits figcaption span{font-size:10px}
  .heritage-proof-grid{grid-template-columns:1fr}
  .heritage-proof-grid>div,.heritage-proof-grid>div:first-child,.heritage-proof-grid>div:nth-child(2),.heritage-proof-grid>div:nth-child(3),.heritage-proof-grid>div:nth-child(4){min-height:0;padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}
  .heritage-proof-grid>div:last-child{border-bottom:0}
  .heritage-proof-grid>div{display:grid;grid-template-columns:78px 1fr;align-items:center;gap:12px}
  .heritage-proof span{margin-top:0}
  .heritage-why,.heritage-roots,.heritage-archive,.heritage-timelines,.heritage-owners,.heritage-value,.heritage-capabilities,.heritage-close{padding-top:64px;padding-bottom:64px}
  .heritage-why .lead{font-size:17px}
  .heritage-root{padding:28px 23px;border-radius:16px}
  .heritage-root-mark{width:72px;height:72px}
  .heritage-root-mark span{font-size:31px}
  .heritage-archive-intro{margin-bottom:28px}
  .heritage-archive-roots,.heritage-archive-bridge{grid-template-columns:1fr}
  .heritage-archive-feature{min-height:560px}
  .heritage-archive-clem{min-height:500px}
  .heritage-archive-bridge figure{min-height:430px}
  .heritage-archive figcaption{padding:70px 20px 21px}
  .heritage-rail{padding:24px 20px}
  .heritage-rail li{grid-template-columns:66px 1fr;gap:14px}
  .heritage-rail li::before{left:56px}
  .heritage-rail li::after{left:52px}
  .heritage-convergence{margin-top:60px}
  .heritage-owner{grid-template-columns:92px 1fr;padding:18px;gap:16px;align-items:start}
  .heritage-owner img{width:92px;height:124px}
  .heritage-owner p{grid-column:1/-1}
  .heritage-value-grid,.heritage-capability-links{grid-template-columns:1fr}
  .heritage-value article{min-height:0;padding:25px 22px}
  .heritage-value article>span{min-height:0;margin-bottom:20px}
  .heritage-power-result{padding:28px 23px}
  .heritage-power-result>span i{padding:0 2px}
  .heritage-capability-links a{min-height:128px}
  .heritage-source-note{padding-bottom:56px}
  .heritage-close-actions .btn{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .heritage-capability-links a{transition:none}
  .heritage-capability-links a:hover,.heritage-capability-links a:focus-visible{transform:none}
}
