/* privacy notice — legal document layout
   Shared pattern across /privacy-notice/, /cookies-policy/, and
   /terms-and-conditions/: compact hero, fact bar, contents index beside a
   numbered clause spine. Only the hero image differs between the three. */

/* Reference pages, not marketing pages — the hero is a band, not a stage. */
.legal-hero{
    background-image:url("/media/privacy-notice/hero-student-reading-library-desk.jpg?v=579be3b7c5");
    min-height:clamp(300px, 30vw, 400px);
    padding-block:clamp(56px, 6vh, 80px);
}
.legal-hero h1{margin-bottom:20px;max-width:16ch}
.legal-hero .lead{margin-bottom:0;max-width:52ch}

/* doc-bar — the three facts a reader wants before the clauses start */
.doc-bar{
    background:var(--premium);
    border-bottom:1px solid var(--border-strong);
    padding:26px 56px;
}
.doc-bar-grid{
    max-width:1168px;
    margin:0 auto;
    display:flex;
    flex-wrap:wrap;
    gap:18px 88px;
}
.doc-bar dt{
    font-family:var(--font-ui);
    font-size:0.7rem;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:6px;
}
.doc-bar dd{
    font-family:var(--font-ui);
    font-size:0.95rem;
    font-weight:700;
    color:var(--navy);
}

/* document body */
.legal{padding:80px 56px 96px;background:var(--canvas)}
.legal-grid{
    max-width:1168px;
    margin:0 auto;
    display:grid;
    grid-template-columns:236px 1fr;
    gap:72px;
    align-items:start;
}
/* Grid items must be free to shrink. Without this, the cookie table's
   min-width sizes the whole column and the page scrolls sideways on a phone. */
.legal-grid > *{min-width:0}

/* contents index — plain anchor list, no scroll behaviour */
.legal-index .label{
    font-family:var(--font-ui);
    font-size:0.7rem;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--muted);
    display:block;
    margin-bottom:16px;
    padding-bottom:14px;
    border-bottom:1px solid var(--border-strong);
}
.legal-index ol{display:grid;gap:2px}
.legal-index a{
    display:grid;
    grid-template-columns:30px 1fr;
    gap:2px;
    align-items:baseline;
    padding:6px 0;
    font-family:var(--font-ui);
    font-size:0.88rem;
    line-height:1.4;
    color:var(--body);
    text-decoration:none;
}
.legal-index .n{
    font-size:0.7rem;
    font-weight:700;
    letter-spacing:0.06em;
    color:var(--gold);
}

/* clause spine */
.clause{padding-top:34px;border-top:1px solid var(--border)}
.clause:first-child{padding-top:0;border-top:none}
.clause + .clause{margin-top:34px}
.clause .clause-n{
    font-family:var(--font-ui);
    font-size:0.7rem;
    font-weight:700;
    letter-spacing:0.14em;
    color:var(--gold);
    margin-bottom:8px;
}
.clause h2{
    font-size:clamp(1.28rem, 2vw, 1.55rem);
    line-height:1.25;
    margin-bottom:14px;
    max-width:30ch;
}
.clause p{
    font-family:var(--font-body);
    font-size:1.02rem;
    line-height:1.75;
    color:var(--body);
    max-width:68ch;
}
.clause p + p{margin-top:14px}
.clause a{color:var(--blue)}

/* legal-list — genuine lists (data categories, recipients, rights) */
.legal-list{display:grid;gap:12px;margin:18px 0 4px;max-width:68ch}
.legal-list li{
    position:relative;
    padding-left:22px;
    font-family:var(--font-body);
    font-size:1.02rem;
    line-height:1.7;
    color:var(--body);
}
.legal-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:11px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--gold);
}
.legal-list strong{color:var(--ink);font-weight:700}
.legal-list + p{margin-top:16px}

@media (max-width:1100px){
    .legal-grid{grid-template-columns:1fr;gap:44px}
    .legal-index ol{grid-template-columns:1fr 1fr;column-gap:24px}
}
@media (max-width:720px){
    .doc-bar{padding:22px 24px}
    .doc-bar-grid{flex-direction:column;gap:18px}
    .legal{padding:56px 24px 72px}
    .legal-index ol{grid-template-columns:1fr}
}
