.hr-edge{max-width:var(--ts-max, 1200px);width:100%;margin:0 auto;padding-inline:var(--ts-edge-pad, clamp(1.25rem, 5vw, 3rem));box-sizing:border-box}.hr-article{padding-block:clamp(3rem,9vh,6rem) clamp(4rem,10vh,7rem)}.hr-head{max-width:52rem;margin:0 0 clamp(2.5rem,6vh,4rem)}.hr-eyebrow{margin:0 0 1.4rem;font-family:Inter,sans-serif;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ts-accent)}.hr-headline{margin:0 0 1.4rem;font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-weight:500;font-size:clamp(2.4rem,6.5vw,4.4rem);line-height:1.02;letter-spacing:-.025em;color:var(--ts-ink)}.hr-lede{margin:0;max-width:42rem;font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.7;color:var(--ts-ink-soft)}.hr-inline-link{color:var(--ts-accent);text-decoration:none;border-bottom:1px solid rgba(143,190,240,.5);padding-bottom:1px;transition:border-color .22s ease,color .22s ease}.hr-inline-link:hover{color:#d0e3f7;border-bottom-color:var(--ts-accent)}.ph-grid{list-style:none;margin:0 0 clamp(2.5rem,6vh,4rem);padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}@media (min-width: 640px){.ph-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}}@media (min-width: 1024px){.ph-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}}.ph-tile{margin:0}.ph-link{display:flex;flex-direction:column;height:100%;background:var(--ts-bg-2);border:1px solid var(--ts-rule);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .24s ease,transform .32s cubic-bezier(.2,.7,.1,1)}.ph-link:hover{border-color:#8fbef066;transform:translateY(-3px)}.ph-image{width:100%;aspect-ratio:1 / 1;overflow:hidden;background:var(--ts-bg);border-bottom:1px solid var(--ts-rule)}.ph-image img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;display:block;transition:transform .7s cubic-bezier(.2,.7,.1,1)}.ph-link:hover .ph-image img{transform:scale(1.04)}.ph-body{display:flex;flex-direction:column;gap:.55rem;padding:1.2rem 1.3rem 1.35rem;flex:1}.ph-num{font-family:Inter,monospace;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ts-accent)}.ph-h2{margin:0;font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-weight:500;font-size:clamp(1.15rem,1.8vw,1.35rem);line-height:1.15;letter-spacing:-.012em;color:var(--ts-ink)}.ph-summary{margin:0;font-size:13.5px;line-height:1.6;color:var(--ts-ink-soft);flex:1}.ph-cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:.45rem;font-family:Inter,sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ts-accent);transition:gap .28s cubic-bezier(.2,.7,.1,1)}.ph-link:hover .ph-cta{gap:.7rem;color:#d0e3f7}.hr-cta{margin-top:clamp(2.5rem,6vh,4rem);padding:clamp(1.8rem,4vw,2.5rem);background:var(--ts-bg-2);border:1px solid var(--ts-rule);border-radius:12px}.hr-cta-h{margin:0 0 .85rem;font-family:Fraunces,Georgia,serif;font-variation-settings:"opsz" 144;font-weight:500;font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.15;letter-spacing:-.02em;color:var(--ts-ink)}.hr-cta-sub{margin:0 0 1.5rem;max-width:36rem;font-size:15px;line-height:1.7;color:var(--ts-ink-soft)}.hr-cta-row{display:flex;flex-wrap:wrap;gap:.75rem}.hr-cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border:1px solid transparent;border-radius:999px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease,color .22s ease}.hr-cta-btn-primary{background:var(--ts-cta);color:var(--ts-cta-ink);border-color:var(--ts-cta);box-shadow:var(--ts-cta-shadow)}.hr-cta-btn-primary:hover{background:var(--ts-cta-deep);border-color:var(--ts-cta-deep);transform:translateY(-1px)}.hr-cta-btn-ghost{background:transparent;color:var(--ts-accent);border-color:#8fbef08c}.hr-cta-btn-ghost:hover{background:#8fbef01f;border-color:var(--ts-accent);color:#d0e3f7;transform:translateY(-1px)}
