/* Rege-IT Solutions | Privacy page styles */

/* ==========================================
   ROOT
========================================== */

:root{
    --bg:#f4f6f9;
    --surface:#ffffff;
    --surface-soft:#f8fafc;

    --primary:#081226;
    --secondary:#12233f;

    --accent:#0ea5e9;
    --accent-strong:#0284c7;
    --accent-dark:#0369a1;
    --accent-soft:#38bdf8;

    --text:#1e293b;
    --text-soft:#475569;
    --muted:#64748b;
    --muted-light:#94a3b8;

    --border:#dbe4ee;
    --border-strong:#cbd5e1;

    --white:#ffffff;
    --dark:#020817;
    --dark-surface:#081226;
    --dark-surface-soft:#0b1730;

    --info-bg:#eaf7ff;
    --info-border:#bae6fd;
    --notice-bg:#fff7ed;
    --notice-border:#fed7aa;

    --shadow-sm:0 10px 20px rgba(2,132,199,0.18);
    --shadow-md:0 18px 36px rgba(15,23,42,0.08);
    --shadow-lg:0 24px 50px rgba(2,8,23,0.20);

    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:16px;
    --radius-xl:18px;

    --site-header-height:93px;
    --navigation-offset:158px;
}

/* ==========================================
   RESET AND GLOBAL
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--bg);
    color:var(--text);

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

a{
    color:inherit;
}

button{
    font:inherit;
}

.container{
    width:90%;
    max-width:1240px;
    margin:auto;
}

.container-wide{
    width:94%;
    max-width:1320px;
    margin:auto;
}

section{
    position:relative;
    scroll-margin-top:var(--navigation-offset);
}

.section-label{
    color:var(--accent-strong);
    font-size:0.78rem;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.section-heading{
    margin-bottom:52px;
}

.section-heading h2{
    max-width:900px;
    color:var(--primary);
    font-size:3rem;
    line-height:1.08;
    letter-spacing:-1px;
    margin-bottom:18px;
}

.section-heading p{
    max-width:840px;
    color:var(--text-soft);
    font-size:1.05rem;
}

.prose-link{
    color:var(--accent-dark);
    font-weight:700;
    text-decoration:none;
}

.prose-link:hover{
    text-decoration:underline;
}

/* ==========================================
   ACCESSIBILITY
========================================== */

.skip-link{
    position:absolute;
    top:-70px;
    left:20px;
    z-index:1000;

    background:var(--primary);
    color:var(--white);

    padding:12px 18px;
    border-radius:var(--radius-sm);

    text-decoration:none;
}

.skip-link:focus{
    top:20px;
}

.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

:focus-visible{
    outline:3px solid rgba(14,165,233,0.38);
    outline-offset:3px;
}

/* ==========================================
   NAVIGATION
========================================== */

.site-header{
    position:sticky;
    top:0;
    z-index:1000;

    background:rgba(244,246,249,0.96);
    border-bottom:1px solid transparent;

    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.site-header.is-scrolled{
    border-bottom-color:var(--border);
    box-shadow:0 10px 28px rgba(15,23,42,0.07);
}

.site-nav{
    padding:42px 0 20px;
}

.nav-inner{
    position:relative;

    display:flex;
    justify-content:space-between;
    align-items:center;

    gap:32px;
}

.logo{
    color:var(--accent-strong);

    font-size:0.95rem;
    font-weight:800;
    letter-spacing:3px;

    white-space:nowrap;
    text-decoration:none;
}

.nav-links{
    display:flex;
    align-items:center;
    gap:28px;
}

.nav-links a{
    color:var(--muted);

    font-size:0.95rem;
    font-weight:600;

    text-decoration:none;

    transition:color 0.2s ease;
}

.nav-links a:hover,
.nav-links a[aria-current="page"]{
    color:var(--primary);
}

.mobile-nav-toggle{
    display:none;

    width:44px;
    height:44px;

    align-items:center;
    justify-content:center;

    border:1px solid var(--border-strong);
    border-radius:10px;

    background:var(--surface);
    color:var(--primary);

    cursor:pointer;
}

.mobile-nav-toggle span,
.mobile-nav-toggle span::before,
.mobile-nav-toggle span::after{
    display:block;

    width:20px;
    height:2px;

    background:currentColor;
    border-radius:2px;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}

.mobile-nav-toggle span{
    position:relative;
}

.mobile-nav-toggle span::before,
.mobile-nav-toggle span::after{
    content:"";
    position:absolute;
    left:0;
}

.mobile-nav-toggle span::before{
    top:-6px;
}

.mobile-nav-toggle span::after{
    top:6px;
}

.mobile-nav-toggle[aria-expanded="true"] span{
    background:transparent;
}

.mobile-nav-toggle[aria-expanded="true"] span::before{
    transform:
        translateY(6px)
        rotate(45deg);
}

.mobile-nav-toggle[aria-expanded="true"] span::after{
    transform:
        translateY(-6px)
        rotate(-45deg);
}

/* ==========================================
   PRIVACY PAGE NAVIGATION
========================================== */

.page-nav{
    position:sticky;
    top:var(--site-header-height);
    z-index:900;

    background:rgba(255,255,255,0.97);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    box-shadow:0 8px 20px rgba(15,23,42,0.03);
}

.page-nav-inner{
    display:flex;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
    padding:14px 0;
}

.page-nav-inner span{
    color:var(--primary);
    font-size:0.78rem;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
    margin-right:auto;
}

.page-nav-inner a{
    position:relative;

    color:var(--muted);
    font-size:0.86rem;
    font-weight:700;
    text-decoration:none;

    transition:
        color 0.2s ease,
        background 0.2s ease;
}

.page-nav-inner a:hover,
.page-nav-inner a.is-active{
    color:var(--accent-strong);
}

.page-nav-inner a.is-active::after{
    content:"";

    position:absolute;
    left:0;
    right:0;
    bottom:-15px;

    height:2px;

    background:var(--accent-strong);
    border-radius:999px;
}

.page-nav-inner .page-nav-action{
    color:var(--accent-dark);
}

.page-nav-inner .page-nav-action::after{
    display:none;
}

/* ==========================================
   BUTTONS
========================================== */

.button-row{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.button-row.is-centered{
    justify-content:center;
}

.btn-primary,
.btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:56px;
    padding:16px 34px;

    border-radius:var(--radius-sm);

    font-weight:700;
    text-decoration:none;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}

.btn-primary{
    background:var(--accent-strong);
    color:var(--white);
    box-shadow:var(--shadow-sm);
}

.btn-primary:hover{
    background:var(--accent-dark);
    transform:translateY(-2px);
}

.btn-secondary{
    background:transparent;
    color:var(--primary);
    border:1px solid var(--border-strong);
}

.btn-secondary:hover{
    background:var(--white);
}

/* ==========================================
   PRIVACY HERO
========================================== */

.privacy-hero{
    padding:72px 0 110px;
}

.privacy-hero-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    align-items:center;
    gap:70px;
}

.privacy-hero-copy h1{
    max-width:780px;

    color:var(--primary);

    font-size:4rem;
    line-height:1.04;
    letter-spacing:-2px;

    margin-bottom:28px;
}

.privacy-hero-copy h1 span{
    color:var(--accent-strong);
}

.privacy-hero-copy > p{
    max-width:710px;

    color:var(--text-soft);

    font-size:1.1rem;

    margin-bottom:22px;
}

.policy-meta{
    display:flex;
    gap:18px;
    flex-wrap:wrap;

    color:var(--muted);

    font-size:0.84rem;

    margin-bottom:34px;
}

.policy-meta strong{
    color:var(--primary);
}

.privacy-panel{
    position:relative;
    overflow:hidden;

    padding:38px;

    border-radius:var(--radius-xl);

    color:var(--white);

    background:
        linear-gradient(
            180deg,
            var(--dark-surface) 0%,
            var(--dark-surface-soft) 100%
        );

    box-shadow:var(--shadow-lg);
}

.privacy-panel::before{
    content:"";

    position:absolute;
    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,0.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.04) 1px,
            transparent 1px
        );

    background-size:28px 28px;

    pointer-events:none;
}

.privacy-panel-content{
    position:relative;
    z-index:2;
}

.privacy-panel-kicker{
    color:var(--accent-soft);

    font-size:0.74rem;
    font-weight:800;
    letter-spacing:1.8px;

    text-transform:uppercase;

    margin-bottom:10px;
}

.privacy-panel h2{
    font-size:1.5rem;
    line-height:1.2;

    margin-bottom:10px;
}

.privacy-panel-content > p{
    color:var(--muted-light);
    font-size:0.94rem;
    margin-bottom:28px;
}

.privacy-scope{
    display:grid;
    gap:12px;
}

.privacy-scope-item{
    background:rgba(255,255,255,0.05);

    border:1px solid rgba(255,255,255,0.08);
    border-radius:var(--radius-md);

    padding:16px 18px;
}

.privacy-scope-item span{
    display:block;

    color:var(--accent-soft);

    font-size:0.68rem;
    font-weight:800;
    letter-spacing:1.1px;

    text-transform:uppercase;

    margin-bottom:4px;
}

.privacy-scope-item strong{
    font-size:0.96rem;
}

/* ==========================================
   SCOPE DISCLOSURE
========================================== */

.disclosure{
    background:var(--white);

    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.disclosure-inner{
    display:grid;
    grid-template-columns:auto 1fr;

    gap:16px;
    align-items:start;

    padding:28px 0;
}

.disclosure-mark{
    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:999px;

    background:#e0f2fe;
    color:var(--accent-dark);

    font-weight:800;
    font-size:0.78rem;
}

.disclosure strong{
    display:block;
    color:var(--primary);
    margin-bottom:4px;
}

.disclosure p{
    color:var(--text-soft);
    font-size:0.94rem;
}

/* ==========================================
   PRIVACY PRINCIPLES
========================================== */

.privacy-principles{
    padding:110px 0;
}

.principles-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.principle-card{
    background:var(--white);

    border:1px solid var(--border);
    border-radius:var(--radius-lg);

    padding:28px;
}

.principle-index{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    border-radius:999px;

    background:#e0f2fe;
    color:var(--accent-dark);

    font-size:0.78rem;
    font-weight:800;

    margin-bottom:20px;
}

.principle-card h3{
    color:var(--primary);
    font-size:1.15rem;
    margin-bottom:9px;
}

.principle-card p{
    color:var(--text-soft);
    font-size:0.94rem;
}

/* ==========================================
   INFORMATION MAP
========================================== */

.information-map{
    padding:0 0 110px;
}

.data-table{
    overflow:hidden;

    background:var(--white);

    border:1px solid var(--border);
    border-radius:var(--radius-xl);

    box-shadow:
        0 16px 36px rgba(15,23,42,0.05);
}

.data-table-header,
.data-row{
    display:grid;
    grid-template-columns:0.78fr 1.16fr 1.16fr;
}

.data-table-header{
    background:var(--primary);
    color:var(--white);
}

.data-table-header div{
    padding:18px 22px;

    font-size:0.72rem;
    font-weight:800;
    letter-spacing:1.2px;

    text-transform:uppercase;
}

.data-row{
    border-top:1px solid var(--border);
}

.data-cell{
    min-width:0;
    padding:22px;
}

.data-cell + .data-cell{
    border-left:1px solid var(--border);
}

.data-context{
    color:var(--primary);
    font-weight:800;
}

.data-cell h3{
    color:var(--primary);
    font-size:1rem;
    margin-bottom:6px;
}

.data-cell p,
.data-cell li{
    color:var(--text-soft);
    font-size:0.9rem;
}

.data-cell ul{
    padding-left:18px;
}

.data-cell li + li{
    margin-top:5px;
}

/* ==========================================
   ROLE BOUNDARY
========================================== */

.role-boundary{
    overflow:hidden;

    background:var(--dark);
    color:var(--white);

    padding:110px 0;
}

.role-boundary::before{
    content:"";

    position:absolute;
    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,0.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.03) 1px,
            transparent 1px
        );

    background-size:32px 32px;
}

.role-boundary-inner{
    position:relative;
    z-index:2;
}

.role-boundary .section-label{
    color:var(--accent-soft);
}

.role-boundary h2{
    max-width:900px;

    font-size:3rem;
    line-height:1.08;

    margin-bottom:18px;
}

.role-boundary-intro{
    max-width:850px;

    color:var(--muted-light);
    font-size:1.05rem;

    margin-bottom:38px;
}

.role-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px;
}

.role-card{
    background:rgba(255,255,255,0.04);

    border:1px solid rgba(255,255,255,0.08);
    border-radius:var(--radius-lg);

    padding:30px;
}

.role-card span{
    display:block;

    color:var(--accent-soft);

    font-size:0.7rem;
    font-weight:800;
    letter-spacing:1.2px;

    text-transform:uppercase;

    margin-bottom:8px;
}

.role-card h3{
    font-size:1.22rem;
    margin-bottom:12px;
}

.role-card p{
    color:var(--muted-light);
    font-size:0.94rem;
}

.role-card ul{
    color:#dbeafe;
    font-size:0.9rem;
    padding-left:19px;
    margin-top:16px;
}

.role-card li + li{
    margin-top:7px;
}

/* ==========================================
   AI DATA BOUNDARIES
========================================== */

.ai-privacy{
    padding:110px 0;
}

.ai-privacy-grid{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:70px;
    align-items:start;
}

.ai-privacy h2{
    color:var(--primary);

    font-size:3rem;
    line-height:1.08;

    margin-bottom:20px;
}

.ai-privacy-copy > p{
    color:var(--text-soft);
    font-size:1.05rem;
}

.ai-boundary-list{
    display:grid;
    gap:16px;
}

.ai-boundary{
    background:var(--white);

    border:1px solid var(--border);
    border-radius:var(--radius-md);

    padding:20px;
}

.ai-boundary span{
    display:block;

    color:var(--accent-strong);

    font-size:0.68rem;
    font-weight:800;
    letter-spacing:1.1px;

    text-transform:uppercase;

    margin-bottom:6px;
}

.ai-boundary h3{
    color:var(--primary);
    font-size:1rem;
    margin-bottom:6px;
}

.ai-boundary p{
    color:var(--text-soft);
    font-size:0.9rem;
}

/* ==========================================
   COOKIES AND ONLINE DATA
========================================== */

.cookies{
    padding:0 0 110px;
}

.cookie-layout{
    display:grid;
    grid-template-columns:0.82fr 1.18fr;
    gap:60px;
    align-items:start;
}

.cookie-copy h2{
    color:var(--primary);

    font-size:2.4rem;
    line-height:1.08;

    margin-bottom:18px;
}

.cookie-copy p{
    color:var(--text-soft);
    font-size:1rem;
}

.cookie-note{
    background:var(--notice-bg);

    border:1px solid var(--notice-border);
    border-radius:var(--radius-md);

    padding:18px 20px;
    margin-top:22px;
}

.cookie-note strong{
    display:block;
    color:var(--primary);
    margin-bottom:5px;
}

.cookie-note p{
    color:var(--text-soft);
    font-size:0.9rem;
}

.cookie-categories{
    display:grid;
    gap:14px;
}

.cookie-card{
    background:var(--white);

    border:1px solid var(--border);
    border-radius:var(--radius-md);

    padding:20px;
}

.cookie-card-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-bottom:8px;
}

.cookie-card h3{
    color:var(--primary);
    font-size:1rem;
}

.cookie-status{
    flex:0 0 auto;

    color:var(--accent-dark);
    background:#e0f2fe;

    border-radius:999px;

    padding:5px 9px;

    font-size:0.65rem;
    font-weight:800;
    letter-spacing:0.8px;

    text-transform:uppercase;
}

.cookie-card p{
    color:var(--text-soft);
    font-size:0.9rem;
}

/* ==========================================
   SHARING AND TRANSFERS
========================================== */

.sharing{
    padding:110px 0;
}

.sharing-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.sharing-card{
    background:var(--white);

    border:1px solid var(--border);
    border-radius:var(--radius-lg);

    padding:26px;
}

.sharing-card h3{
    color:var(--primary);
    font-size:1.08rem;
    margin-bottom:9px;
}

.sharing-card p{
    color:var(--text-soft);
    font-size:0.92rem;
}

.transfer-panel{
    display:grid;
    grid-template-columns:0.8fr 1.2fr;
    gap:32px;

    align-items:center;

    background:var(--primary);
    color:var(--white);

    border-radius:var(--radius-lg);

    padding:30px;
    margin-top:24px;
}

.transfer-panel h3{
    color:var(--accent-soft);
    font-size:0.76rem;
    letter-spacing:1.3px;
    text-transform:uppercase;
    margin-bottom:6px;
}

.transfer-panel strong{
    display:block;
    font-size:1.05rem;
}

.transfer-panel p{
    color:#cbd5e1;
    font-size:0.92rem;
}

/* ==========================================
   RETENTION LIFECYCLE
========================================== */

.retention{
    padding:0 0 110px;
}

.retention-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:16px;
}

.retention-step{
    position:relative;

    background:var(--white);

    border:1px solid var(--border);
    border-radius:var(--radius-md);

    padding:22px;
}

.retention-step:not(:last-child)::after{
    content:"";

    position:absolute;

    top:50%;
    right:-17px;

    width:17px;
    height:1px;

    background:var(--accent-soft);
}

.retention-step span{
    display:block;

    color:var(--accent-strong);

    font-size:0.68rem;
    font-weight:800;
    letter-spacing:1.1px;

    text-transform:uppercase;

    margin-bottom:7px;
}

.retention-step h3{
    color:var(--primary);
    font-size:1rem;
    margin-bottom:7px;
}

.retention-step p{
    color:var(--text-soft);
    font-size:0.88rem;
}

.retention-note{
    color:var(--muted);
    font-size:0.86rem;
    margin-top:20px;
}

/* ==========================================
   PRIVACY RIGHTS
========================================== */

.rights{
    overflow:hidden;

    background:var(--dark);
    color:var(--white);

    padding:110px 0;
}

.rights::before{
    content:"";

    position:absolute;
    inset:0;

    background-image:
        linear-gradient(
            rgba(255,255,255,0.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.03) 1px,
            transparent 1px
        );

    background-size:32px 32px;
}

.rights-inner{
    position:relative;
    z-index:2;
}

.rights .section-label{
    color:var(--accent-soft);
}

.rights-header{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:60px;
    align-items:end;
    margin-bottom:36px;
}

.rights-header h2{
    font-size:3rem;
    line-height:1.08;
}

.rights-header p{
    color:var(--muted-light);
    font-size:1rem;
}

.rights-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

.right-card{
    background:rgba(255,255,255,0.04);

    border:1px solid rgba(255,255,255,0.08);
    border-radius:var(--radius-md);

    padding:20px;
}

.right-card h3{
    color:var(--accent-soft);
    font-size:0.96rem;
    margin-bottom:7px;
}

.right-card p{
    color:#cbd5e1;
    font-size:0.88rem;
}

.rights-process{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:16px;
    align-items:start;

    background:rgba(255,255,255,0.04);

    border:1px solid rgba(255,255,255,0.08);
    border-radius:var(--radius-md);

    padding:20px;
    margin-top:20px;
}

.rights-process-mark{
    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:999px;

    background:var(--accent-strong);
    color:var(--white);

    font-size:0.76rem;
    font-weight:800;
}

.rights-process strong{
    display:block;
    margin-bottom:4px;
}

.rights-process p{
    color:var(--muted-light);
    font-size:0.9rem;
}

/* ==========================================
   ADDITIONAL NOTICE
========================================== */

.additional-notice{
    padding:110px 0;
}

.notice-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.notice-card{
    background:var(--white);

    border:1px solid var(--border);
    border-radius:var(--radius-lg);

    padding:28px;
}

.notice-card h3{
    color:var(--primary);
    font-size:1.1rem;
    margin-bottom:9px;
}

.notice-card p{
    color:var(--text-soft);
    font-size:0.92rem;
}

/* ==========================================
   PRIVACY CTA
========================================== */

.privacy-cta{
    padding:0 0 120px;
}

.privacy-cta-panel{
    background:var(--white);

    border:1px solid var(--border);
    border-radius:var(--radius-xl);

    padding:70px;

    text-align:center;
}

.privacy-cta-panel h2{
    color:var(--primary);

    font-size:3rem;
    line-height:1.08;
    letter-spacing:-1px;

    margin-bottom:20px;
}

.privacy-cta-panel > p{
    max-width:800px;

    color:var(--text-soft);
    font-size:1.05rem;

    margin:0 auto 28px;
}

.request-details{
    max-width:850px;

    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:12px;

    margin:0 auto 32px;
}

.request-detail{
    background:var(--surface-soft);

    border:1px solid var(--border);
    border-radius:10px;

    padding:15px;

    color:var(--primary);

    font-size:0.84rem;
    font-weight:700;
}

/* ==========================================
   FOOTER
========================================== */

.footer{
    background:#eef2f7;

    border-top:1px solid var(--border);

    padding:54px 0 30px;
}

.footer-main{
    display:grid;
    grid-template-columns:1.2fr 0.8fr 0.8fr;

    gap:50px;

    padding-bottom:36px;
}

.footer-brand h2{
    color:var(--primary);

    font-size:1rem;
    letter-spacing:2px;

    margin-bottom:12px;
}

.footer-brand p{
    max-width:420px;

    color:var(--muted);

    font-size:0.9rem;
}

.footer-column h3{
    color:var(--primary);

    font-size:0.78rem;
    letter-spacing:1.2px;

    text-transform:uppercase;

    margin-bottom:14px;
}

.footer-links{
    display:grid;
    gap:9px;
}

.footer-links a{
    color:var(--muted);

    font-size:0.9rem;

    text-decoration:none;
}

.footer-links a:hover,
.footer-links a[aria-current="page"]{
    color:var(--accent-strong);
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;

    gap:20px;
    flex-wrap:wrap;

    padding-top:24px;

    border-top:1px solid var(--border);
}

.footer-bottom p{
    color:var(--muted);
    font-size:0.84rem;
}

.footer-bottom a{
    color:var(--accent-strong);

    font-weight:700;

    text-decoration:none;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:1100px){

    .privacy-hero-grid,
    .ai-privacy-grid,
    .cookie-layout,
    .rights-header{
        grid-template-columns:1fr;
    }

    .privacy-hero-copy h1{
        font-size:3.4rem;
    }

    .privacy-panel{
        max-width:760px;
    }

    .principles-grid,
    .sharing-grid,
    .rights-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .retention-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .retention-step:not(:last-child)::after{
        display:none;
    }

    .notice-grid{
        grid-template-columns:1fr;
    }

    .footer-main{
        grid-template-columns:1fr 1fr;
    }

    .footer-brand{
        grid-column:1 / -1;
    }
}

@media(max-width:900px){

    .data-table-header{
        display:none;
    }

    .data-row{
        grid-template-columns:1fr;
    }

    .data-cell + .data-cell{
        border-left:0;
        border-top:1px solid var(--border);
    }

    .data-cell::before{
        display:block;

        color:var(--muted);

        font-size:0.66rem;
        font-weight:800;
        letter-spacing:1px;

        text-transform:uppercase;

        margin-bottom:7px;
    }

    .data-row .data-cell:nth-child(1)::before{
        content:"Context";
    }

    .data-row .data-cell:nth-child(2)::before{
        content:"Information";
    }

    .data-row .data-cell:nth-child(3)::before{
        content:"Purpose";
    }

    .role-grid,
    .transfer-panel{
        grid-template-columns:1fr;
    }
}

@media(max-width:768px){

    :root{
        --navigation-offset:142px;
    }

    .site-nav{
        padding:28px 0 18px;
    }

    .page-nav-inner{
        flex-wrap:nowrap;
        gap:18px;

        overflow-x:auto;
        overscroll-behavior-x:contain;

        padding:12px 0;

        scrollbar-width:thin;
    }

    .page-nav-inner span{
        flex:0 0 auto;

        width:auto;
        margin-right:4px;

        white-space:nowrap;
    }

    .page-nav-inner a{
        flex:0 0 auto;
        white-space:nowrap;
    }

    .page-nav-inner a.is-active{
        color:var(--primary);
        background:#eaf7ff;

        padding:6px 9px;
        border-radius:999px;
    }

    .page-nav-inner a.is-active::after{
        display:none;
    }

    .mobile-nav-toggle{
        display:inline-flex;
    }

    .nav-links{
        display:none;

        position:absolute;

        top:56px;
        right:0;

        width:min(320px,92vw);

        flex-direction:column;
        align-items:stretch;

        gap:0;

        background:var(--white);

        border:1px solid var(--border);
        border-radius:var(--radius-md);

        box-shadow:var(--shadow-md);

        padding:10px;
    }

    .nav-links[data-open="true"]{
        display:flex;
    }

    .nav-links a{
        padding:12px 14px;
        border-radius:8px;
    }

    .nav-links a:hover{
        background:var(--surface-soft);
    }

    .privacy-hero,
    .privacy-principles,
    .role-boundary,
    .ai-privacy,
    .sharing,
    .rights,
    .additional-notice{
        padding:82px 0;
    }

    .privacy-hero-copy h1{
        font-size:2.45rem;
        letter-spacing:-1px;
    }

    .section-heading h2,
    .role-boundary h2,
    .ai-privacy h2,
    .rights-header h2,
    .privacy-cta-panel h2{
        font-size:2.2rem;
    }

    .privacy-panel{
        padding:28px 24px;
    }

    .principles-grid,
    .sharing-grid,
    .rights-grid,
    .retention-grid{
        grid-template-columns:1fr;
    }

    .request-details{
        grid-template-columns:1fr;
    }

    .privacy-cta-panel{
        padding:48px 30px;
    }

    .footer-main{
        grid-template-columns:1fr;
    }

    .footer-brand{
        grid-column:auto;
    }
}

@media(max-width:520px){

    .container,
    .container-wide{
        width:92%;
    }

    .button-row{
        flex-direction:column;
    }

    .btn-primary,
    .btn-secondary{
        width:100%;
    }

    .privacy-cta-panel{
        padding:42px 22px;
    }
}

@media(prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto;
    }

    *,
    *::before,
    *::after{
        animation-duration:0.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:0.01ms !important;
    }
}