/* Rege-IT Solutions | Security 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;
    --success:#15803d;
    --warning-bg:#fff7ed;
    --warning-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:
        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:860px;
    color:var(--primary);
    font-size:3rem;
    line-height:1.08;
    letter-spacing:-1px;
    margin-bottom:18px;
}

.section-heading p{
    max-width:820px;
    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{
    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); }

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

/* Hero */
.security-hero{
    padding:72px 0 110px;
}

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

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

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

.security-hero-copy > p{
    max-width:690px;
    color:var(--text-soft);
    font-size:1.1rem;
    margin-bottom:38px;
}

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

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

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

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

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

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

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

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

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

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

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

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

/* Control model */
.control-model{
    padding:0 0 110px;
}

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

.control-table-header,
.control-row{
    display:grid;
    grid-template-columns:0.8fr 1.25fr 1.15fr;
}

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

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

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

.control-row:first-of-type{
    border-top:0;
}

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

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

.control-area{
    color:var(--primary);
    font-weight:800;
}

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

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

.control-cell ul{
    padding-left:18px;
    color:var(--text-soft);
    font-size:0.9rem;
}

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

/* Dark AI/data section */
.ai-security{
    overflow:hidden;
    background:var(--dark);
    color:var(--white);
    padding:110px 0;
}

.ai-security::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;
}

.ai-security-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:70px;
    align-items:start;
}

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

.ai-security h2{
    font-size:3rem;
    line-height:1.08;
    margin-bottom:20px;
}

.ai-security-intro p{
    color:var(--muted-light);
    font-size:1.05rem;
}

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

.ai-control{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:var(--radius-md);
    padding:20px;
}

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

.ai-control h3{
    font-size:1rem;
    margin-bottom:6px;
}

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

/* Lifecycle */
.security-lifecycle{
    padding:110px 0;
}

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

.lifecycle-step{
    position:relative;
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:24px;
}

.lifecycle-step:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:-17px;
    width:16px;
    height:1px;
    background:var(--accent-soft);
}

.lifecycle-number{
    color:var(--accent-strong);
    font-size:0.72rem;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
    margin-bottom:10px;
}

.lifecycle-step h3{
    color:var(--primary);
    font-size:1.05rem;
    margin-bottom:8px;
}

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

/* Shared responsibility */
.shared-responsibility{
    padding:0 0 110px;
}

.responsibility-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px;
}

.responsibility-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:34px;
}

.responsibility-card h3{
    color:var(--primary);
    font-size:1.35rem;
    margin-bottom:18px;
}

.responsibility-list{
    display:grid;
    gap:12px;
}

.responsibility-item{
    position:relative;
    padding-left:20px;
    color:var(--text-soft);
    font-size:0.94rem;
}

.responsibility-item::before{
    content:"";
    position:absolute;
    left:0;
    top:0.72em;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--accent);
    transform:translateY(-50%);
}

/* Assurance */
.assurance{
    padding:0 0 110px;
}

.assurance-panel{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    padding:42px;
}

.assurance-grid{
    display:grid;
    grid-template-columns:0.8fr 1.2fr;
    gap:48px;
    align-items:start;
}

.assurance-copy h2{
    color:var(--primary);
    font-size:2.35rem;
    line-height:1.1;
    margin-bottom:16px;
}

.assurance-copy p{
    color:var(--text-soft);
}

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

.evidence-item{
    background:var(--surface-soft);
    border:1px solid var(--border);
    border-radius:10px;
    padding:16px;
    color:var(--primary);
    font-size:0.88rem;
    font-weight:700;
}

.assurance-note{
    margin-top:24px;
    padding:18px 20px;
    background:var(--warning-bg);
    border:1px solid var(--warning-border);
    border-radius:var(--radius-md);
    color:#7c2d12;
    font-size:0.9rem;
}

/* CTA */
.security-cta{
    padding:0 0 120px;
}

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

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

.security-cta-panel p{
    max-width:780px;
    margin:0 auto 34px;
    color:var(--text-soft);
    font-size:1.05rem;
}

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

@media(max-width:1100px){
    .security-hero-grid,
    .ai-security-grid,
    .assurance-grid{
        grid-template-columns:1fr;
    }

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

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

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

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

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

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

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

@media(max-width:820px){
    .control-table-header{
        display:none;
    }

    .control-row{
        grid-template-columns:1fr;
        padding:14px;
        margin:14px;
        border:1px solid var(--border);
        border-radius:var(--radius-lg);
    }

    .control-row + .control-row{
        margin-top:0;
    }

    .control-cell{
        padding:14px;
    }

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

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

@media(max-width:768px){
    .site-nav{
        padding:28px 0 18px;
    }

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

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

    .security-hero,
    .security-principles,
    .ai-security,
    .security-lifecycle{
        padding:82px 0;
    }

    .security-hero-copy h1,
    .section-heading h2,
    .ai-security h2,
    .security-cta-panel h2{
        font-size:2.35rem;
        letter-spacing:-1px;
    }

    .principles-grid,
    .lifecycle-grid,
    .evidence-grid{
        grid-template-columns:1fr;
    }

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

    .assurance-panel,
    .security-cta-panel{
        padding:42px 24px;
    }

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

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

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

/* Externalized inline alignment utility */
.button-row.is-centered{
    justify-content:center;
}
