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

: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;
    --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;
}

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

html{
    scroll-behavior:smooth;
}

body{
    background:var(--bg);
    color:var(--text);
    font-family:
        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:920px;
    color:var(--primary);
    font-size:3rem;
    line-height:1.08;
    letter-spacing:-1px;
    margin-bottom:18px;
}

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

.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{
    position:relative;

    color:var(--muted);
    font-size:0.95rem;
    font-weight:600;
    text-decoration:none;

    transition:
        color 0.2s ease,
        background 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);
}

/* TERMS 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;
}

.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);
}

/* TERMS HERO */

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

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

.terms-hero-copy h1{
    max-width:800px;
    color:var(--primary);
    font-size:4rem;
    line-height:1.04;
    letter-spacing:-2px;
    margin-bottom:28px;
}

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

.terms-hero-copy > p{
    max-width:720px;
    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);
}

.terms-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);
}

.terms-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;
}

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

.terms-panel-kicker{
    color:var(--accent-soft);
    font-size:0.74rem;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;
    margin-bottom:10px;
}

.terms-panel h2{
    font-size:1.5rem;
    line-height:1.2;
    margin-bottom:10px;
}

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

.terms-scope{
    display:grid;
    gap:12px;

    margin:0;
    padding:0;

    list-style:none;
}

.terms-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;
}

.terms-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;
}

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

/* 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;
}

/* AGREEMENT HIERARCHY */

.agreement-hierarchy{
    padding:110px 0;
}

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

.hierarchy-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:28px;
}

.hierarchy-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;
}

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

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

/* ACCEPTABLE USE */

.acceptable-use{
    overflow:hidden;
    background:var(--dark);
    color:var(--white);
    padding:110px 0;
}

.acceptable-use::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;
}

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

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

.acceptable-use h2{
    max-width:920px;
    font-size:3rem;
    line-height:1.08;
    margin-bottom:18px;
}

.acceptable-use-intro{
    max-width:850px;
    color:var(--muted-light);
    font-size:1.05rem;
    margin-bottom:38px;
}

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

.use-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:var(--radius-lg);
    padding:30px;
}

.use-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;
}

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

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

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

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

/* EVALUATION */

.evaluation{
    padding:110px 0;
}

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

.evaluation h2{
    color:var(--primary);
    font-size:3rem;
    line-height:1.08;
    margin-bottom:20px;
}

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

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

.evaluation-item{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:20px;
}

.evaluation-item span{
    display:block;
    color:var(--accent-strong);
    font-size:0.68rem;
    font-weight:800;
    letter-spacing:1.1px;
    text-transform:uppercase;
    margin-bottom:6px;
}

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

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

/* OPERATING TERMS TABLE */

.operating-terms{
    padding:0 0 110px;
}

.terms-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);
}

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

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

.terms-table-header div{
    padding:18px 22px;
    font-size:0.72rem;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
}

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

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

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

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

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

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

/* INTELLECTUAL PROPERTY */

.intellectual-property{
    padding:110px 0;
}

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

.ip-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:26px;
}

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

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

.ip-notice{
    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;
}

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

.ip-notice strong{
    display:block;
    font-size:1.05rem;
}

.ip-notice p{
    color:#cbd5e1;
    font-size:0.92rem;
}

/* COMMERCIAL */

.commercial{
    padding:0 0 110px;
}

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

.commercial-copy h2{
    color:var(--primary);
    font-size:2.4rem;
    line-height:1.08;
    margin-bottom:18px;
}

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

.commercial-note{
    background:var(--notice-bg);
    border:1px solid var(--notice-border);
    border-radius:var(--radius-md);
    padding:18px 20px;
    margin-top:22px;
}

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

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

.commercial-cards{
    display:grid;
    gap:14px;
}

.commercial-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:20px;
}

.commercial-card h3{
    color:var(--primary);
    font-size:1rem;
    margin-bottom:8px;
}

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

/* RISK TERMS */

.risk-terms{
    overflow:hidden;
    background:var(--dark);
    color:var(--white);
    padding:110px 0;
}

.risk-terms::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;
}

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

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

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

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

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

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

.risk-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:var(--radius-md);
    padding:22px;
}

.risk-card h3{
    color:var(--accent-soft);
    font-size:1rem;
    margin-bottom:8px;
}

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

.liability-callout{
    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:22px;
    margin-top:20px;
}

.liability-mark{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--accent-strong);
    color:var(--white);
    font-size:0.68rem;
    font-weight:800;
}

.liability-callout strong{
    display:block;
    margin-bottom:4px;
}

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

/* ENFORCEMENT */

.enforcement{
    padding:110px 0;
}

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

.enforcement-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:28px;
}

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

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

/* GENERAL TERMS */

.general-terms{
    padding:0 0 110px;
}

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

.general-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:22px;
}

.general-card span{
    display:block;
    color:var(--accent-strong);
    font-size:0.68rem;
    font-weight:800;
    letter-spacing:1.1px;
    text-transform:uppercase;
    margin-bottom:7px;
}

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

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


/* Utility states formerly expressed inline */
.general-card-note{
    margin-top:10px;
}

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

/* CTA */

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

.terms-cta-panel{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:70px;
    text-align:center;
}

.terms-cta-panel h2{
    color:var(--primary);
    font-size:3rem;
    line-height:1.08;
    letter-spacing:-1px;
    margin-bottom:20px;
}

.terms-cta-panel > p{
    max-width:820px;
    color:var(--text-soft);
    font-size:1.05rem;
    margin:0 auto 28px;
}

.contact-details{
    max-width:850px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin:0 auto 32px;
    padding:0;
    list-style:none;
}

.contact-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){

    .terms-hero-grid,
    .evaluation-grid,
    .commercial-layout,
    .risk-header{
        grid-template-columns:1fr;
    }

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

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

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

    .risk-grid,
    .enforcement-grid{
        grid-template-columns:1fr;
    }

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

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

@media(max-width:900px){

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

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

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

    .terms-cell::before{
        display:block;
        color:var(--muted);
        font-size:0.66rem;
        font-weight:800;
        letter-spacing:1px;
        text-transform:uppercase;
        margin-bottom:7px;
    }

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

    .terms-row .terms-cell:nth-child(2)::before{
        content:"Your Responsibilities";
    }

    .terms-row .terms-cell:nth-child(3)::before{
        content:"Rege-IT Boundary";
    }

    .use-grid,
    .ip-notice{
        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);
    }

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

    .terms-hero,
    .agreement-hierarchy,
    .acceptable-use,
    .evaluation,
    .intellectual-property,
    .risk-terms,
    .enforcement{
        padding:82px 0;
    }

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

    .section-heading h2,
    .acceptable-use h2,
    .evaluation h2,
    .risk-header h2,
    .terms-cta-panel h2{
        font-size:2.2rem;
    }

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

    .hierarchy-grid,
    .ip-grid,
    .general-grid{
        grid-template-columns:1fr;
    }

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

    .terms-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%;
    }

    .terms-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;
    }
}
