@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');

* {
    margin: 0;
    padding: 0;
    text-decoration: none;
    transition: .12s ease;
    font-family: "SF Pro", system-ui, -apple-system, sans-serif;
	font-weight: 400;
    box-sizing: border-box;
}


:root {
    color-scheme: light dark;

    --primary-colour-background: oklch(1.00 0 0);
    --primary-colour-text: var(--colour-grey-1);
    --secondary-colour-text: var(--colour-grey-2);
    --primary-colour-hr: var(--colour-grey-5);
    --primary-colour-micro-links: var(--colour-grey-4);
    --secondary-colour-micro-links: var(--colour-grey-3);
    --colour-grey-1: oklch(0.3 0 0);
    --colour-grey-2: oklch(0.46 0 0);
    --colour-grey-3: oklch(0.62 0 0);
    --colour-grey-4: oklch(0.78 0 0);
    --colour-grey-5: oklch(0.94 0 0);
    --primary-colour-accent: oklch(0.5 0.25 260);
    --secondary-colour-accent: oklch(0.65 0.25 260);
}

@media (prefers-color-scheme: dark) {
    :root {
        --primary-colour-background: oklch(0 0 0);
        --primary-colour-text: var(--colour-grey-5);
        --secondary-colour-text: var(--colour-grey-4);
        --primary-colour-hr: var(--colour-grey-1);
        --primary-colour-micro-links: var(--colour-grey-1);
        --secondary-colour-micro-links: var(--colour-grey-2);
        --colour-grey-1: oklch(0.3 0 0);
        --colour-grey-2: oklch(0.46 0 0);
        --colour-grey-3: oklch(0.62 0 0);
        --colour-grey-4: oklch(0.78 0 0);
        --colour-grey-5: oklch(0.94 0 0);
        --primary-colour-accent: oklch(0.5 0.25 260);
        --secondary-colour-accent: oklch(0.65 0.25 260);
    }
}

html, body {
    height: 100%;
	width: 100%;
	padding-left: 4em;
    padding-right: 4em;
}

body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: var(--primary-colour-background);
    color: var(--primary-colour-text);
}

hr {
    border: none;
    height: 1px;
    background: var(--primary-colour-hr);
    margin: 1em 0;
}



@media (max-width: 700px) {
    .layout { flex-direction: column; padding: 1rem; gap: 12px; }
    .card { width: 100%; max-width: 100%; }
    .content-right { padding-left: 0; border-left: none; }
}



.layout {
    display: flex;
    gap: 2em;
    align-items: flex-start;
    width: 100%;
    max-width: 1100px;
}

.content-left {
    width: 10em;
    text-align: justify;
    align-self: center;
}

.content-right {
    flex: 1;
    color: var(--secondary-colour-text);
    font-size: 12px;
    line-height: 1.5;
    text-align: justify;
    padding-left: 2em;
    border-left: 1px solid var(--primary-colour-hr);
}

.content-right p {
    margin-bottom: 1rem;
}



.visually-hidden {
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

#title {
    font-size: 12px;
    letter-spacing: 0em;
    font-weight: 600;
    margin-bottom: 0.25em;
}

.subtitle {
    font-size: 10px;
	color: var(--secondary-colour-text);
    margin-bottom: 1em;
}



.links ul {
    list-style: none;
}
.links li {
    margin: 0.25em 0;
}
.links a {
    font-size: 11px;
    color: var(--primary-colour-text);
    text-decoration: none;
    position: relative;
    padding-right: 0.5em;
    transition: color .12s ease;
}

.links a::after {
    content: '→';
    display: inline-block;
    margin-left: 0.2em;
    transform: translateX(-0.3em) scaleX(1);
    opacity: 0;
    transform-origin: left center;
    transition: transform .22s cubic-bezier(.2,.9,.25,1), opacity .14s ease;
    will-change: transform, opacity;
}

.links a:hover {
    text-decoration: none;
    color: var(--colour-grey-3);
}

.links a:hover::after {
    transform: translateX(0) scaleX(1.15);
    opacity: 1;
}



.micro-links {
    font-size: 10px;
    color: var(--primary-colour-micro-links);
}
.micro-links a { 
	color: inherit; 
	text-decoration: none;
}
.micro-links a:hover { 
	color: var(--secondary-colour-micro-links);
	text-decoration: none;
}