:root {
    /* --content-width: 80ch; */
    --c-text: #444;
    --c-background: hsl(51, 54%, 99%);
}

.content-grid {
    --padding-inline: 1rem;
    --content-max-width: 900px;
    --breakout-max-width: 1200px;

    --breakout-size: calc((var(--breakout-max-width) - var(--content-max-width)) / 2);

    display: grid;
    grid-template-columns:
        [full-width-start] minmax(var(--padding-inline), 1fr) [breakout-start] minmax(0, var(--breakout-size)) [content-start] min(100% - (var(--padding-inline) * 2),
            var(--content-max-width)) [content-end] minmax(0, var(--breakout-size)) [breakout-end] minmax(var(--padding-inline), 1fr) [full-width-end];
}

.content-grid> :not(.breakout, .full-width),
.full-width> :not(.breakout, .full-width) {
    grid-column: content;
}

.content-grid>.breakout {
    grid-column: breakout;
}

.content-grid>.full-width {
    grid-column: full-width;

    display: grid;
    grid-template-columns: inherit;
}

img.full-width {
    width: 100%;
    max-height: 45vh;
    object-fit: cover;
}


* {
    box-sizing: border-box;
}

html {
    font-family: sans-serif;
    color: var(--c-text);
    background-color: var(--c-background);
    padding: 0;
    font-size: 18px;
    line-height: 1.5;
}

body {
    max-width: var(--content-width);
    /* width: 100%; */
    padding: 0;
    margin: 0;
    /* margin: 0 auto; */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
    align-content: flex-start;
}

a {
    color: var(--c-text);
}

.btn {
    display: inline-block;
    padding: .5rem 1rem;
    border-radius: .5rem;
    text-decoration: none;
    background: #0000;
    transition: all .33s;
}

.btn:hover {
    background: #0001;
}

.btn__primary {
    background: #000b;
    color: var(--c-background);
}

.btn__primary:hover {
    color: var(--c-text);
}

.mainHeader {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.logo {
    display: inline-block;
    font-weight: bold;
}

.logo span {
    opacity: .66;
}


.mainHeader nav {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.mainHeader a {
    text-decoration: none;
}

.hero {
    /* text-align: center; */
    line-height: 1.2;
    padding: 6rem 0rem 8rem 0;
    background: white;
}

.hero h1 {
    font-size: 3rem;
    margin: 0;

}

footer {
    padding: 2rem 0;
    font-size: 1rem;
    color: #666;
}

.callout {
    font-size: .8rem;
    /* border: 1px solid #ccc; */
    background: #00000008;
    padding: .5rem;
    border-radius: .25rem;
    color: #777;
    /* color: white; */
    /* opacity: .6; */
}

.post {
    text-decoration: none;
}

.post:hover {
    text-decoration: underline;
}

.post h1 {
    font-size: 1.3rem;
    margin-bottom: 0;
    text-decoration: underline;
}

.post p {
    margin-top: .5rem;
}

.pillars {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    list-style: none;
    padding: 0;
}

.pillar {
    position: relative;
    flex: 0 0 10rem;
    min-height: 10rem;
    border: 2px solid #0000;
    border-radius: .5rem;
    background: #0001;
    color: white;
    text-transform: capitalize;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    font-weight: bold;
}

.pillar::after {
    /* shadow overlay */
    content: "";
    position: absolute;
    inset: 0;
    /* gradient background */
    /* blend mode */
    background: linear-gradient(135deg, #FFF0, #0001);
    transition: all .33s;
}

.pillar-1 {
    background-color: hsl(0, 60%, 69%);
    border-color: hsl(0, 60%, 60%);
    border-color: white;
}

.pillar-2 {
    background-color: hsl(40, 98%, 79%);
    border-color: hsl(40, 70%, 60%);
}

.pillar-3 {
    background-color: hsl(89, 54%, 68%);
    border-color: hsl(90, 40%, 50%);
}

.pillar-4 {
    background-color: hsl(160, 60%, 70%);
    border-color: hsl(160, 50%, 50%);
}

.pillar-5 {
    background-color: hsl(200, 80%, 80%);
    border-color: hsl(200, 60%, 60%);
}

.pillar-6 {
    background-color: hsl(250, 80%, 80%);
    border-color: hsl(250, 60%, 60%);
}

/* helpers */

.mt-1 {
    margin-top: 1rem;
}

.mt-2 {
    margin-top: 2rem;
}

.mt-3 {
    margin-top: 3rem;
}

.mt-4 {
    margin-top: 4rem;
}

.mb-3 {
    margin-bottom: 3rem;
}