/* Agent Sessions additions · sits on top of satt.css (Studio). Radius 0, one hairline, no icons. */
.sess-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem; margin-top:2.6rem; }
@media (max-width:760px){ .sess-grid{ grid-template-columns:1fr; } }
.sess-card{ background:var(--white); border:1px solid var(--line); padding:clamp(1.5rem,3vw,2.2rem); display:flex; flex-direction:column; }
.sess-card__top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:1.1rem; }
.sess-card__n{ font-family:var(--sans); font-weight:200; font-size:2.1rem; line-height:1; color:var(--copper); }
.sess-card__tag{ font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text-soft); }
.sess-card h3{ font-size:1.25rem; margin-bottom:.6rem; color:var(--emerald); }
.sess-card p{ font-size:.95rem; }
.sess-card__gets{ list-style:none; padding:0; margin:1.2rem 0 0; border-top:1px solid var(--line); }
.sess-card__gets li{ font-size:.82rem; padding:.55rem 0; border-bottom:1px solid var(--line); color:var(--text-soft); }

.steps3{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:2.4rem; }
.steps3 h3{ font-size:1.1rem; margin:.7rem 0 .4rem; color:var(--emerald); }
.steps3 p{ font-size:.93rem; }
@media (max-width:760px){ .steps3{ grid-template-columns:1fr; } }

.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.check{ display:flex; gap:.6rem; align-items:flex-start; font-size:.85rem; color:var(--text-soft); margin:.2rem 0 1.4rem; cursor:pointer; }
.check input{ margin-top:.25rem; accent-color:var(--emerald); }
.capture .fine a{ color:inherit; text-decoration:underline; }
.notice{ max-width:560px; margin:1.6rem auto 0; padding:1rem 1.2rem; border:1px solid var(--copper-lt); color:#F2EDE4; font-size:.92rem; text-align:left; }
.notice[hidden]{ display:none; }

.tips{ list-style:none; padding:0; margin:0; }
.tips li{ padding:1.1rem 0; border-bottom:1px solid var(--line); font-size:1rem; }
.tips b{ color:var(--emerald); font-weight:600; }

.lib-jump{ display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; justify-content:center; margin-top:2rem; }
.lib-jump a{ font-size:.66rem; letter-spacing:.11em; text-transform:uppercase; color:rgba(242,237,228,.7); border-bottom:1px solid transparent; padding-bottom:3px; }
.lib-jump a:hover{ color:#F2EDE4; border-bottom-color:var(--copper); }
.lib-sess{ padding:3rem 0; border-bottom:1px solid var(--line); scroll-margin-top:90px; }
.lib-sess:first-child{ padding-top:0; }
.lib-sess__head{ display:flex; gap:1rem; align-items:baseline; margin-bottom:.8rem; }
.lib-sess__head h2{ font-size:clamp(1.6rem,3vw,2.2rem); color:var(--emerald); }
.lib-sess__grid{ display:grid; grid-template-columns:1.35fr 1fr; gap:2rem; margin-top:1.6rem; align-items:start; }
@media (max-width:860px){ .lib-sess__grid{ grid-template-columns:1fr; } }
.vframe{ position:relative; aspect-ratio:16/9; background:var(--emerald); border:1px solid var(--line); }
.vframe iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.vframe--soon{ display:grid; place-items:center; }
.vframe--soon span{ font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(242,237,228,.7); }
.dls{ list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.dls li{ border-bottom:1px solid var(--line); }
.dl{ display:flex; justify-content:space-between; gap:1rem; padding:1rem .2rem; color:var(--emerald); font-weight:500; }
.dl:hover{ color:var(--copper); }
.dl__meta{ font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-soft); font-weight:400; text-align:right; }
.soon{ font-size:.9rem; color:var(--text-soft); }
.satt-hero .on-dark-ghost{ border-color:rgba(242,237,228,.5); color:#F2EDE4; }
.satt-hero .on-dark-ghost:hover{ background:rgba(242,237,228,.08); }
/* footer: 4 columns here, and never wider than the phone */
.footer-main{ grid-template-columns:1.7fr 1fr 1fr 1.3fr; }
.footer-main > *{ min-width:0; }
.fcol a, .fcol li{ overflow-wrap:anywhere; }
@media (max-width:860px){ .footer-main{ grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:520px){ .footer-main{ grid-template-columns:1fr 1fr; } }
