/* Korppi Mail — legal pages
   Design tokens are the same as main site (style.css). White accent only. */

:root {
    --bg:#050505; --surface:#0a0a0a; --surface-2:#0f0f0f; --surface-3:#141414;
    --border:#1a1a1a; --border-2:#222; --border-3:#2a2a2a;
    --text:#e8e8e8; --text-2:#a0a0a0; --text-3:#666; --text-4:#444;
    --white:#fff;
    --accent-dim:rgba(255,255,255,.04);
    --serif:'Instrument Serif',Georgia,serif;
    --sans:'Archivo',system-ui,sans-serif;
    --mono:'IBM Plex Mono','SF Mono',monospace;
    --ease:cubic-bezier(.22,1,.36,1);
}

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

html{scroll-behavior:smooth}

body{
    background:var(--bg);
    color:var(--text);
    font-family:var(--sans);
    font-size:15px;
    line-height:1.65;
    min-height:100vh;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}

::selection{background:rgba(255,255,255,.15)}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}

/* Soft radial fade backdrop — matches main site's .bg-fade, no grid */
.bg-fade{
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(255,255,255,.025) 0%,transparent 70%);
}

.wrap{
    position:relative;
    z-index:1;
    max-width:760px;
    margin:0 auto;
    padding:32px 24px 64px;
}

/* Top nav — same logo treatment as main site */
.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 0;
    margin-bottom:32px;
    border-bottom:1px solid var(--border);
}

.logo{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--text);
    text-decoration:none;
    transition:opacity .2s var(--ease);
}

.logo:hover{opacity:.8}

.logo-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;height:30px;
    border-radius:7px;
    background:var(--surface-2);
    border:1px solid var(--border-2);
    color:var(--text);
}

.logo-name{
    font-family:var(--serif);
    font-size:22px;
    letter-spacing:0;
    line-height:1;
}

.lang{
    display:inline-flex;
    gap:2px;
    font-family:var(--mono);
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:0.1em;
    background:var(--surface);
    border:1px solid var(--border-2);
    border-radius:8px;
    padding:3px;
}

.lang button{
    appearance:none;
    background:transparent;
    color:var(--text-3);
    border:none;
    padding:6px 12px;
    border-radius:5px;
    cursor:pointer;
    font-family:inherit;
    font-size:inherit;
    letter-spacing:inherit;
    text-transform:inherit;
    transition:color .15s var(--ease),background .15s var(--ease);
}

.lang button:hover{color:var(--text)}

.lang button.is-active{
    color:var(--text);
    background:var(--surface-3);
}

/* Page heading */
.page-tag{
    display:inline-block;
    font-family:var(--mono);
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:0.14em;
    color:var(--text-3);
    padding:5px 12px;
    border:1px solid var(--border-2);
    border-radius:999px;
    margin-bottom:20px;
    background:var(--surface);
}

.page-title{
    font-family:var(--serif);
    font-size:52px;
    line-height:1.05;
    letter-spacing:-0.02em;
    margin-bottom:12px;
    color:var(--text);
    font-weight:400;
}

.page-title em{
    font-style:italic;
    color:var(--text-2);
}

.page-meta{
    font-family:var(--mono);
    font-size:11.5px;
    color:var(--text-3);
    margin-bottom:40px;
    text-transform:uppercase;
    letter-spacing:0.08em;
}

/* Body content */
.content{
    font-size:15px;
    color:var(--text-2);
}

.content h2{
    font-family:var(--serif);
    font-size:30px;
    color:var(--text);
    font-weight:400;
    margin:42px 0 14px;
    letter-spacing:-0.015em;
    line-height:1.2;
}

.content h3{
    font-family:var(--serif);
    font-size:24px;
    color:var(--text);
    font-weight:400;
    margin:32px 0 12px;
    letter-spacing:-0.01em;
    line-height:1.25;
}

.content p{
    margin:0 0 16px;
}

.content ul{
    margin:0 0 16px;
    padding-left:0;
    list-style:none;
}

.content li{
    position:relative;
    padding-left:18px;
    margin-bottom:8px;
}

.content li::before{
    content:'';
    position:absolute;
    left:0;
    top:0.7em;
    width:5px;
    height:1px;
    background:var(--text-4);
}

.content strong{
    color:var(--text);
    font-weight:600;
}

.content code{
    font-family:var(--mono);
    font-size:0.9em;
    padding:2px 7px;
    background:var(--surface-2);
    border:1px solid var(--border-2);
    border-radius:4px;
    color:var(--text);
}

.content a{
    color:var(--text);
    text-decoration:none;
    border-bottom:1px solid var(--border-3);
    transition:border-color .15s var(--ease);
}

.content a:hover{border-bottom-color:var(--text)}

/* Language sections — only the active one is shown */
.section{display:none}
.section.is-active{display:block;animation:fadeIn .25s var(--ease)}

@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

/* Footer */
.foot{
    margin-top:64px;
    padding-top:28px;
    border-top:1px solid var(--border);
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    justify-content:space-between;
    align-items:center;
    font-family:var(--mono);
    font-size:10.5px;
    text-transform:uppercase;
    letter-spacing:0.1em;
    color:var(--text-3);
}

.foot-links{
    display:inline-flex;
    gap:18px;
    flex-wrap:wrap;
}

.foot-links a{
    color:var(--text-3);
    text-decoration:none;
    transition:color .15s var(--ease);
}

.foot-links a:hover{color:var(--text)}

.back{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--text-3);
    text-decoration:none;
    transition:color .15s var(--ease);
}

.back:hover{color:var(--text)}

/* Mobile */
@media (max-width: 600px){
    .wrap{padding:20px 18px 48px}
    .page-title{font-size:38px}
    .content h2{font-size:24px}
    .content h3{font-size:20px}
    .foot{flex-direction:column;align-items:flex-start;gap:14px}
    .nav{margin-bottom:24px}
}
