:root { 
    --color-accent: #90f;
    --color-attention: #F00;
    --color-border: #000;
    --header-height: 80px;
    --border-width: 1px;
    --pad-responsive: 40px;
    
    font-family: "Inter", sans-serif; 
}

* {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

a {
    color: black;
    text-decoration: none;
}

a:hover {
    color: var(--color-accent);
}

/* 
   BORDER SOLUTION: Use background-color on container 
   instead of individual borders to avoid 1px gaps 
*/
.panel--bordered {
    position: relative;
}

.panel--bordered::before {
    content: '';
    position: absolute;
    inset: calc(var(--border-width) * -0.5);
    border: var(--border-width) solid var(--color-border);
    pointer-events: none;
    z-index: 1;
}
html {
    height: 100%;
}
body {
    height: 100%;
    background-image: linear-gradient(#fff, #fff 80%, #90f8);
    overflow: hidden;
}
main {
    height: 100%;
    overflow: hidden;
}

/* HEADER */
.site-header {
    display: flex;
    position: absolute;
    width: 100%;
    height: var(--header-height);
    z-index: 10;
}

.header-nav {
    display: flex;
    align-items: center;
    height: 100%;
}
.header-tagline {
    padding-left: var(--pad-responsive);
}

/* MAIN LAYOUT */
.layout-split {
    display: flex;
    width: 100%;
    height: 100%;
}

/* LEFT SIDE */
.logo-header {
    padding: var(--pad-responsive);
    display: flex;
    height: 60%;
    align-items: flex-end;
}
.content-primary {
    overflow: hidden;
    width: 70%;
    padding-top: var(--header-height);
}

.panel-guide {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#intangible {
    width: 90%;
}

.guide-content {
    padding: var(--pad-responsive);
    padding-right: 30%;
    height: 40%;
    overflow-y: auto;
}

/* GUIDE LIST GRID LAYOUT */
.guide-header {
    margin-bottom: 1.5em;
}

.guide-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.guide-list li {
    display: grid;
    grid-template-columns: 2ch 1fr; /* number column + text column */
    gap: 0.5em;
    align-items: baseline;
}

/* RIGHT SIDE */
.content-secondary {
    width: 30%;
    padding-top: var(--header-height);
}
.panel-links {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.links-grid {
    display: flex;
    width: 100%;
    height: 60%;
}

.link-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 50%;
}

.gradient-accent {
    background: linear-gradient(#90f8, #fff, #fff);
    width: 100%;
    height: 30%;
    transition: all 0.5s;
    display: flex;
    justify-content: center;
    align-items: center;
}

.link-tldr {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70%;
    width: 100%;
}

.tldr-link {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%; 
    width: 100%;
}

.essay-link {
    height: 100%; 
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.essay-text-rotated {
    font-size: 4em;
    transform: rotate(90deg);
    display: block;
}

/* CTA SECTION */
.link-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40%;
}

.cta-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 70%;
}

/* UTILITIES */
.attention {
    color: var(--color-attention);
}

/* HOVER STATES */
.link-cta:hover, 
.link-tldr:hover,
.essay-link:hover {
    background-color: rgba(140, 0, 255, 0.067);
}

@media (max-width: 1024px) {
.logo-header {
    align-items: center;
}
}
/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
    :root {
        --pad-responsive: 1em;
    }
    body {
        background-image: linear-gradient(#fff, #fff 80%, #90f8);
    }
    .attention {
        font-size: 1em;
    }
    
    .layout-split {
        height: 100%;
        flex-direction: column; /* primary on top */
    }
    
    /* HEADER: hide first child, second takes full width */
    .site-header {
        display: none;
    }
    
    /* PRIMARY CONTENT */
    .content-primary {
        width: 100%;
        height: 70%;
        padding-top: 0;
    }
    .logo-header {
        background: linear-gradient(#90f8, #fff, #fff);
    }
    
    .guide-header {
        height: auto;
    }
    .panel-guide {
        height: 100%;
    }
    .guide-content {
        padding-right: 10%;
        height: auto;
    }
    
    /* SECONDARY CONTENT */
    .content-secondary {
        width: 100%;
        height: 30%;
        padding-top: 0;
    }
    
    .panel-links {
        height: 100%;
    }
    
    /* switch links-grid from row to column */
    .links-grid {
        flex-direction: row;
        height: 50%;
    }
    
    .link-card, .link-cta {
        padding: 20px;
        height: 100%;
    }
    
    .link-card--visual {
        flex-direction: row; /* side by side instead of stacked */
    }
    
    .gradient-accent {
        height: 50%;
        display: none;
    }
    
    .essay-text-rotated {
        transform: none; /* remove rotation */
    }
    
    .link-cta {
        display: flex;
        height: 50%;
    }
    .cta-button img, .tldr-link img {
        height: 100%;
    }
    .essay-text-rotated {
        font-size: 2.5em;
    }
}