/* Partners page (/partners) — scoped to .pt-page.
   Follows the same per-page stylesheet pattern as careers.css and jonathan.css. */
/* Partners page — same corporate scaffold and scale as /contact. */
.pt-page{
  --pt-max:1080px;
  --pt-line:rgba(255,255,255,.10);
  color:#F2F2F2;
  background:
    radial-gradient(1100px 620px at 12% -6%,rgba(200,166,75,.10),transparent 68%),
    linear-gradient(180deg,#070707,#0A0A0A 42%,#070707 100%);
  overflow-x:clip;
}
.pt-wrap{width:100%;max-width:var(--pt-max);margin-inline:auto;padding-inline:28px}

.pt-hero{
  position:relative;
  isolation:isolate;
  padding:clamp(132px,15vw,180px) 0 clamp(48px,6vw,72px);
  border-bottom:1px solid rgba(255,255,255,.06);
  overflow:hidden;
}
.pt-hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:104px 104px;background-position:center top;
  -webkit-mask-image:radial-gradient(120% 82% at 50% 0%,#000 12%,transparent 76%);
  mask-image:radial-gradient(120% 82% at 50% 0%,#000 12%,transparent 76%);
  pointer-events:none;
}
.pt-hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(760px 380px at 18% 0%,rgba(200,166,75,.13),transparent 70%);
  pointer-events:none;
}
.pt-eyebrow{
  margin:0;font-size:11px;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--lc-gold);
}
.pt-rule{
  height:1px;border:0;width:96px;margin:20px 0 0;
  background:linear-gradient(90deg,rgba(200,166,75,.9),rgba(200,166,75,.12));
}
.pt-title{
  margin:22px 0 0;font-size:clamp(30px,5vw,54px);font-weight:600;
  line-height:1.08;letter-spacing:-.03em;color:#fff;max-width:20ch;text-wrap:balance;
}
.pt-lede{
  margin:24px 0 0;font-size:clamp(16px,1.7vw,18.5px);line-height:1.7;
  color:#DCDCDC;max-width:70ch;
}

.pt-section{padding:clamp(52px,7vw,84px) 0;border-top:1px solid rgba(255,255,255,.06)}
.pt-h2{
  margin:14px 0 0;font-size:clamp(24px,3.2vw,34px);font-weight:600;
  line-height:1.15;letter-spacing:-.015em;color:#fff;
}
.pt-body{margin:22px 0 0;font-size:16px;line-height:1.75;color:#C4C4C4;max-width:74ch}
.pt-body + .pt-body{margin-top:16px}

/* Partner records — restrained, typography-led. No logo assets are used until
   official, authorized partner logo files are supplied. */
.pt-partner{
  margin-top:34px;border:1px solid var(--pt-line);background:#0A0A0A;
  display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);
}
.pt-partner + .pt-partner{margin-top:20px}
.pt-mark{
  padding:34px 30px;border-right:1px solid var(--pt-line);
  display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(180deg,#0C0C0C,#080808);
}
.pt-mark h3{
  margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em;color:#fff;line-height:1.25;
}
.pt-mark span{
  display:block;margin-top:14px;font-size:10.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--lc-gold);
}
.pt-detail{padding:32px 30px 34px;display:flex;flex-direction:column}
.pt-detail p{margin:0;font-size:15.5px;line-height:1.75;color:#C4C4C4;max-width:70ch}
.pt-detail p + p{margin-top:16px}
.pt-page .go{
  align-self:flex-start;color:var(--lc-gold-soft);
  text-decoration:none;font-size:14.5px;font-weight:600;
  border-bottom:1px solid rgba(215,180,76,.4);padding-bottom:2px;
  display:inline-block;padding-top:7px;margin-top:24px;
}
.pt-page .go:hover{color:#E5C566;border-bottom-color:#E5C566}
.pt-detail p.pt-site{
  margin-top:18px;font-size:13px;color:#8E8E8E;letter-spacing:.02em;word-break:break-word;
}

.pt-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;background:var(--pt-line);border:1px solid var(--pt-line);margin-top:34px;
}
.pt-card{background:#0A0A0A;padding:30px 28px 32px}
.pt-card h3{
  margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--lc-gold);
}
.pt-card p{margin:0;font-size:15px;line-height:1.7;color:#C4C4C4}

.pt-areas{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.pt-areas li{
  border:1px solid var(--pt-line);padding:9px 16px;
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#A8A8A8;
}

.pt-primary{
  margin-top:34px;
  border:1px solid rgba(200,166,75,.3);
  border-radius:18px;
  padding:34px 32px 36px;
  background:
    radial-gradient(560px 280px at 8% 0%,rgba(200,166,75,.10),transparent 70%),
    linear-gradient(180deg,#0C0C0C,#090909);
}
.pt-primary p{margin:0 0 22px;font-size:16px;line-height:1.7;color:#C9C9C9;max-width:72ch}
.pt-actions{display:flex;flex-wrap:wrap;gap:14px}
.pt-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:19px 46px;border:1px solid var(--lc-gold);
  background:linear-gradient(180deg,var(--lc-gold-soft),var(--lc-gold));
  color:#0A0A0A;font-size:14px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none;
  box-shadow:0 18px 44px rgba(0,0,0,.55);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.pt-btn:hover{
  background:linear-gradient(180deg,#E5C566,var(--lc-gold-soft));
  transform:translateY(-1px);box-shadow:0 24px 56px rgba(0,0,0,.7);
}
.pt-btn:active{transform:translateY(0)}
.pt-btn--ghost{
  background:transparent;border-color:rgba(255,255,255,.22);color:#EAEAEA;box-shadow:none;
}
.pt-btn--ghost:hover{background:rgba(255,255,255,.05);border-color:rgba(200,166,75,.5)}

.pt-note{
  margin:28px 0 0;padding-left:20px;
  border-left:2px solid rgba(200,166,75,.45);
  font-size:14.5px;line-height:1.7;color:#A8A8A8;max-width:88ch;
}
.pt-page a:focus-visible{outline:2px solid var(--lc-gold-soft);outline-offset:4px;border-radius:3px}

@media(max-width:900px){
  .pt-grid{grid-template-columns:minmax(0,1fr)}
  .pt-partner{grid-template-columns:minmax(0,1fr)}
  .pt-mark{border-right:0;border-bottom:1px solid var(--pt-line);padding:28px 26px}
}
@media(max-width:600px){
  .pt-wrap{padding-inline:20px}
  .pt-card,.pt-detail,.pt-primary{padding:24px 20px 26px}
  .pt-btn{width:100%;box-sizing:border-box;padding:18px 22px}
}
@media(prefers-reduced-motion:reduce){
  .pt-btn{transition:none}
  .pt-btn:hover{transform:none}
}
