@font-face {
    font-family: 'Coolvetica';
    src: local('Coolvetica Regular'), local('Coolvetica-Regular'),
        url('../fonts/Coolvetica-Regular.woff2') format('woff2'),
        url('../fonts/Coolvetica-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Coolvetica';
    src: local('Coolvetica Italic'), local('Coolvetica-Italic'),
        url('../fonts/Coolvetica-Italic.woff2') format('woff2'),
        url('../fonts/Coolvetica-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: local('Helvetica Neue Light'), local('HelveticaNeue-Light'),
        url('../fonts/HelveticaNeue-Light.woff2') format('woff2'),
        url('../fonts/HelveticaNeue-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: local('Helvetica Neue Light Italic'), local('HelveticaNeue-LightItalic'),
        url('../fonts/HelveticaNeue-LightItalic.woff2') format('woff2'),
        url('../fonts/HelveticaNeue-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: local('Helvetica Neue Medium'), local('HelveticaNeue-Medium'),
        url('../fonts/HelveticaNeue-Medium.woff2') format('woff2'),
        url('../fonts/HelveticaNeue-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue';
    src: local('Helvetica Neue Medium Italic'), local('HelveticaNeue-MediumItalic'),
        url('../fonts/HelveticaNeue-MediumItalic.woff2') format('woff2'),
        url('../fonts/HelveticaNeue-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Fuzzy Bubbles';
    src: local('Fuzzy Bubbles Regular'), local('FuzzyBubbles-Regular'),
        url('../fonts/FuzzyBubbles-Regular.woff2') format('woff2'),
        url('../fonts/FuzzyBubbles-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --white-h: 0;
    --white-s: 100%;
    --white-l: 98%;
    --white-a: 1;
    --white: hsl(var(--white-h) var(--white-s) var(--white-l) / var(--white-a));

    --black-h: 0;
    --black-s: 1%;
    --black-l: 7%;
    --black-a: 1;
    --black: hsl(var(--black-h) var(--black-s) var(--black-l) / var(--black-a));

    --blue-h: 205;
    --blue-s: 86%;
    --blue-l: 40%;
    --blue-a: 1;
    --blue: hsl(var(--blue-h) var(--blue-s) var(--blue-l) / var(--blue-a));

    --yellow-h: 35;
    --yellow-s: 100%;
    --yellow-l: 66%;
    --yellow-a: 1;
    --yellow: hsl(var(--yellow-h) var(--yellow-s) var(--yellow-l) / var(--yellow-a));

    --clamp-12-16: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
    --clamp-14-16: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
    --clamp-14-20: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
    --clamp-16-20: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    --clamp-16-24: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
    --clamp-16-32: clamp(1rem, 0.636rem + 1.82vw, 2rem);
    --clamp-16-48: clamp(1rem, 0.273rem + 3.64vw, 3rem);
    --clamp-16-64: clamp(1rem, -0.091rem + 5.45vw, 4rem);
    --clamp-16-128: clamp(1rem, -1.545rem + 12.73vw, 8rem);
    --clamp-20-28: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);
    --clamp-24-32: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
    --clamp-24-48: clamp(1.5rem, 0.955rem + 2.73vw, 3rem);
    --clamp-24-64: clamp(1.5rem, 0.591rem + 4.55vw, 4rem);
    --clamp-32-64: clamp(2rem, 1.273rem + 3.64vw, 4rem);
    --clamp-64-128: clamp(4rem, 2.545rem + 7.27vw, 8rem);
    --clamp-64-192: clamp(4rem, 1.091rem + 14.55vw, 12rem);
    --clamp-96-192: clamp(6rem, 3.818rem + 10.91vw, 12rem);
}

@layer reset, base, layout, helpers, components, forms;

@layer reset {
    :where(*, *:before, *:after) {
        box-sizing: border-box;
    }

    :where(*) {
        margin: 0;
        padding: 0;
    }

    :where(body) {
        min-height: 100dvh;
    }

    :where(h1, h2, h3, h4, h5, h6) {
        text-wrap: balance;
    }

    :where(p) {
        text-wrap: pretty;
    }

    :where(ol, ul) {
        list-style: none;
    }

    :where(a) {
        color: inherit;
    }

    :where(input, textarea, select, button) {    
        font: inherit;
    }

    :where(img, video, svg) {
        max-inline-size: 100%;
        block-size: auto;
    }

    @media (prefers-reduced-motion: reduce) {
        :where(*, *:before, *:after) {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
            scroll-behavior: auto !important;
            transition: none;
        }
    }
}

@layer base {
    :where(html) {
        scroll-behavior: smooth;
    }

    :where(body) {
        display: grid;
        grid-template-rows: auto 1fr auto;
        padding-inline: clamp(1rem, 0.636rem + 1.82vw, 2rem);
        line-height: 1.4;
        text-rendering: optimizeSpeed;
        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
        font-weight: 300;
        color: var(--black);
        background-color: var(--white);
        overflow-x: hidden;

        @media (min-width: 1200px) {
            padding-inline: 0;
        }
    }

    :where(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
        line-height: 1;
        text-wrap: balance;
    }

    :where(strong, b, dt, legend) {
        font-weight: 500;
    } 
}

@layer layout {
    :where(.layout) {
        --gap: var(--clamp-16-128);
        
        align-items: var(--align-items, start);
        gap: var(--gap);

        &[data-layout="flex"] {
            display: flex;
            justify-content: var(--justify-content, start);
        }

        &[data-layout^="grid"] {
            display: grid;
        }

        &[data-layout="grid-2x1"] {
            grid-template-columns: repeat(2, 1fr);
        }

        &[data-layout="grid-3x1"] {
            grid-template-columns: repeat(3, 1fr);
        }

        &[data-layout="grid-4x1"] {
            grid-template-columns: repeat(4, 1fr);
        }

        &[data-layout="grid-1-2"] {
            grid-template-columns: 1fr 2fr;
        }

        &[data-layout="grid-2-1"] {
            grid-template-columns: 2fr 1fr;
        }

        &[data-layout-auto-rows="true"] {
            grid-auto-rows: 1fr;
        }

        &[data-justify-content="start"] {
            --justify-content: start;
        }

        &[data-justify-content="center"] {
            --justify-content: center;
        }

        &[data-justify-content="end"] {
            --justify-content: end;
        }

        &[data-justify-content="space-between"] {
            --justify-content: space-between;
        }

        &[data-justify-content="space-around"] {
            --justify-content: space-around;
        }

        &[data-justify-content="space-evently"] {
            --justify-content: space-evently;
        }

        &[data-align-items="start"] {
            --align-items: start;
        }

        &[data-align-items="center"] {
            --align-items: center;
        }

        &[data-align-items="end"] {
            --align-items: end;
        }

        &[data-align-items="stretch"] {
            --align-items: stretch;
        }

        &[data-align-items="baseline"] {
            --align-items: baseline;
        }

        @media (min-width: 768px) {
            &[data-layout-medium="flex"] {
                display: flex;
                justify-content: var(--justify-content, start);
            }

            &[data-layout-medium^="grid"] {
                display: grid;
            }

            &[data-layout-medium="grid-2x1"] {
                grid-template-columns: repeat(2, 1fr);
            }

            &[data-layout-medium="grid-3x1"] {
                grid-template-columns: repeat(3, 1fr);
            }

            &[data-layout-medium="grid-4x1"] {
                grid-template-columns: repeat(4, 1fr);
            }

            &[data-layout-medium="grid-1-2"] {
                grid-template-columns: 1fr 2fr;
            }

            &[data-layout-medium="grid-2-1"] {
                grid-template-columns: 2fr 1fr;
            }

            &[data-justify-content-medium="start"] {
                --justify-content: start;
            }

            &[data-justify-content-medium="center"] {
                --justify-content: center;
            }

            &[data-justify-content-medium="end"] {
                --justify-content: end;
            }

            &[data-justify-content-medium="space-between"] {
                --justify-content: space-between;
            }

            &[data-justify-content-medium="space-around"] {
                --justify-content: space-around;
            }

            &[data-justify-content-medium="space-evently"] {
                --justify-content: space-evently;
            }

            &[data-align-items-medium="start"] {
                --align-items: start;
            }

            &[data-align-items-medium="center"] {
                --align-items: center;
            }

            &[data-align-items-medium="end"] {
                --align-items: end;
            }

            &[data-align-items-medium="stretch"] {
                --align-items: stretch;
            }

            &[data-align-items-medium="baseline"] {
                --align-items: baseline;
            }
        }

        @media (min-width: 1080px) {
            &[data-layout-large="flex"] {
                display: flex;
                justify-content: var(--justify-content, start);
            }

            &[data-layout-large^="grid"] {
                display: grid;
            }

            &[data-layout-large="grid-2x1"] {
                grid-template-columns: repeat(2, 1fr);
            }

            &[data-layout-large="grid-3x1"] {
                grid-template-columns: repeat(3, 1fr);
            }

            &[data-layout-large="grid-4x1"] {
                grid-template-columns: repeat(4, 1fr);
            }

            &[data-layout-large="grid-1-2"] {
                grid-template-columns: 1fr 2fr;
            }

            &[data-layout-large="grid-2-1"] {
                grid-template-columns: 2fr 1fr;
            }

            &[data-justify-content-large="start"] {
                --justify-content: start;
            }

            &[data-justify-content-large="center"] {
                --justify-content: center;
            }

            &[data-justify-content-large="end"] {
                --justify-content: end;
            }

            &[data-justify-content-large="space-between"] {
                --justify-content: space-between;
            }

            &[data-justify-content-large="space-around"] {
                --justify-content: space-around;
            }

            &[data-justify-content-large="space-evently"] {
                --justify-content: space-evently;
            }

            &[data-align-items-large="start"] {
                --align-items: start;
            }

            &[data-align-items-large="center"] {
                --align-items: center;
            }

            &[data-align-items-large="end"] {
                --align-items: end;
            }

            &[data-align-items-large="stretch"] {
                --align-items: stretch;
            }

            &[data-align-items-large="baseline"] {
                --align-items: baseline;
            }
        }
    }

    :where(.container) {
        margin-inline: auto;
        width: 100%;
        max-width: var(--container-width, 67.5rem);

        &[data-size="large"] {
            --container-width: 90rem;
        }
    }

    :where(.sticky) {
        @media (min-width: 768px) {
            position: sticky;
            top: var(--clamp-16-32);
            left: 0;
        }
    }
}

@layer helpers {
    :where(.sr-only) {
        position: absolute;
        margin: -1px;
        padding: 0;
        width: 1px;
        height: 1px;
        white-space: nowrap;
        border: none;
        clip: rect(0, 0, 0, 0);
        overflow: hidden;
    }

    :where(.coolvetica) {
        font-family: 'Coolvetica', Helvetica, Arial, sans-serif;
        font-weight: 400;
    }

    :where(.fuzzy-bubbles) {
        font-family: 'Fuzzy Bubbles', cursive;
        font-weight: 400;
    }

    :where(.blue) {
        color: var(--blue);
    }

    :where(.yellow) {
        color: var(--yellow);
    }

    :where(.text-start) {
        @media (min-width: 768px) {
            text-align: start;
        }
    }

    :where(.text-center) {
        @media (min-width: 768px) {
            text-align: center;
        }
    }

    :where(.text-end) {
        @media (min-width: 768px) {
            text-align: end;
        }
    }
}

@layer components {
    .header {
        --gap: var(--clamp-32-64);

        z-index: 2;
        position: relative;
        padding-block: var(--clamp-16-32);
        min-height: 100dvh;
        align-content: center;
    }

    .logo {
        --gap: .5em;

        font-size: clamp(1rem, 0.636rem + 1.82vw, 2rem);

        img {
            display: block;
            height: 3.75em;
        }

        span {
            font-size: 1em;
            color: var(--blue);
        }
    }

    .intro {
        h1 {
            line-height: .85;
            font-size: var(--clamp-32-64);
        }

        span {
            display: block;
            margin-block-start: 2em;
            font-size: var(--clamp-16-20);

            abbr {
                text-decoration: none;
            }
        }

        p {
            text-wrap: balance;

            &:not(:last-child) {
                margin-block: .25em 1em;
            }
        }
    }

    .nav {
        margin-block-start: var(--clamp-16-64);

        ul {
            --gap: 1em;

            padding: 1em 2em;
            margin-inline: auto;
            width: fit-content;
            font-size: var(--clamp-16-20);
            border-radius: .25em;
            border: 2px solid var(--blue);
            background-color: var(--white);

            li {
                line-height: 1;
                text-align: center;

                a {
                    text-decoration: none;
                    transition: color .5s;

                    &:hover, &:active {
                        color: var(--blue);
                    }
                }

                &:not(:first-child) {
                    display: flex; 
                    justify-content: center;

                    &:before {
                        content: '';
                        display: block;
                        padding-inline-end: 1em;
                        border-inline-start: 2px solid var(--blue);
                    }
                }
            }

            @media (max-width: 767px) {
                flex-direction: column;
                padding: 1em;
                width: 100%;

                li {
                    width: 100%;

                    &:not(:first-child) {
                        flex-direction: column;

                        &:before {
                            content: '';
                            display: block;
                            padding-inline-end: 0;
                            border-inline-start: 0;
                            padding-block-end: 1em;
                            border-block-start: 2px solid var(--blue);
                        }
                    }
                }
            }
        }
    }

    .social {
        ul {
            --gap: .5rem;

            font-size: var(--clamp-12-16);

            li {
                a {
                    display: block;
                    padding: .5em;
                    aspect-ratio: 1;
                    border-radius: .25rem;
                    background-color: var(--blue);
                    transition: background-color .5s;

                    &:before {
                        content: '';
                        display: block;
                        width: 1.5em;
                        height: 1.5em;
                        background-color: var(--white);
                        mask-size: cover;
                        mask-size: center;
                        mask-image: url('../icons/link.svg');
                        transition: background-color .5s;
                    }

                    &[href*="facebook.com"] {
                        &:before {
                            mask-image: url('../icons/facebook.svg');
                        }
                    }

                    &[href*="instagram.com"] {
                        &:before {
                            mask-image: url('../icons/instagram.svg');
                        }
                    }

                    &[href*="x.com"] {
                        &:before {
                            mask-image: url('../icons/x.svg');
                        }
                    }

                    &:hover, &:active {
                        background-color: var(--yellow);

                        &:before {
                            background-color: var(--black);
                        }
                    }
                }
            }            
        }
    }

    .footer {
        --gap: var(--clamp-16-24);
    
        margin-block: var(--clamp-64-192) var(--clamp-16-64);

        .footer-block {        
            --gap: var(--clamp-16-24);
        }
    }

    .call {
        text-align: center;
        text-decoration: none;
        font-weight: 500;
        font-size: var(--clamp-16-20);

        @media (max-width: 767px) {
            
        }
    }

    .legal {

        ul {
            --gap: 1em;

            font-size: var(--clamp-16-20);

            li {
                text-align: center;

                a {
                    text-decoration: none;

                    &:hover, &:active {
                        text-decoration: underline;
                    }
                }
            }
        }

        @media (min-width: 768px) {
            margin-inline-end: auto;
        }
    }

    .credits {
        text-align: center;
        font-size: var(--clamp-12-16);
    }

    .section {
        padding-block-start: var(--clamp-64-192);
    }

    .parallax {
        position: relative;
        margin-block-start: var(--clamp-64-128);
        padding: var(--clamp-16-64);
        border-radius: var(--clamp-16-32);
        background-image: var(--parallax-image);
        background-attachment: fixed;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .quote {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: .5rem;

        p {
            position: relative;
            transform: skewY(-2.5deg);
            max-width: max(20rem, 33.33333%);
            padding: 1em;
            line-height: 1;
            text-wrap: balance;
            text-align: center;
            font-size: var(--clamp-16-24);
            background-color: var(--yellow);
            border-radius: var(--clamp-16-32);

            &:after {
                position: absolute;
                top: 90%;
                left: 25%;
                content: '';
                display: block;
                width: 2.75em;
                height: 2.75em;
                clip-path: polygon(0 0, 100% 0, 100% 100%);
                background-color: var(--yellow);
            }
        }

        img {
            display: block;
            width: var(--clamp-96-192);
            height: auto;
            border: .5rem solid var(--white);
            border-radius: 50%;
        }

        cite {
            font-style: normal;
            font-size: var(--clamp-12-16);
            padding: .5em 1em;
            background-color: var(--white);
            border-radius: .5em;

            span {
                &:first-child {
                    font-weight: 500;
                }
            }
        }
    }

    .title {
        margin-block-end: var(--clamp-16-32);

        h2 {
            margin-block-end: .25em;
            line-height: 1;
            font-size: var(--clamp-16-24);
            color: var(--blue);
        }

        div {
            font-size: var(--clamp-24-48);
        }
    }

    .text {
        font-size: var(--clamp-14-20);

        p {
            &:not(:first-child) {
                margin-block-start: 1em;
            }
        }

        &[data-size="large"] {
            font-size: var(--clamp-16-24);
        }
    }

    .photo {
        img:not([class]) {
            border-radius: var(--clamp-16-32);
        }
    }

    .video {
        video {
            display: block;
            width: 100%;
            height: auto;
            aspect-ratio: 16 / 9;
            border-radius: .5rem;
        }
    }

    .button {
        display: inline-block;
        appearance: none;
        padding: .5em 1em;
        line-height: 1;
        text-box: trim-both cap alphabetic;
        text-transform: uppercase;
        text-decoration: none;
        font-weight: 500;
        font-size: inherit;
        color: var(--black);
        border: none;
        border-radius: .25rem;
        background-color: var(--yellow);
        cursor: pointer;
        transition: color .5s, background-color .5s;

        &[data-type="square"] {
            aspect-ratio: 1;
        }

        &:hover, &:active {
            color: var(--white);
            background-color: var(--blue);
        }
    }

    .icon-list {
        margin-block-start: 2em;
        font-size: var(--clamp-14-20);

        & > li {
            display: flex;
            align-items: baseline;
            gap: .5em;

            img {
                line-height: 0;
                width: 2.5em;
                height: auto;
                aspect-ratio: 1;
            }

            span {
                transform: translateY(-.75em);
            }

            ul {
                list-style: initial;
                margin-block-start: 1em;
                margin-inline-start: 2em;
                font-size: var(--clamp-14-16);
            }

            &:not(:first-child) {
                margin-block-start: .5em;
                padding-block-start: 1em;
                border-block-start: 1px dashed var(--black);
            }
        }
    }

    .scribbles {
        .scribble-item {
            --scribble-translate-x: 0;
            --scribble-translate-y: 0;
            --scribble-width: 30%;

            position: absolute;
            display: block;
            width: var(--scribble-width);
            height: auto;
            transform: translate(var(--scribble-translate-x), var(--scribble-translate-y));

            &[data-position="top-left"], &[data-position="middle-left"], &[data-position="bottom-left"] {
                --scribble-translate-x: -50%;
                left: 0;
            }

            &[data-position="top-center"], &[data-position="middle-center"], &[data-position="bottom-center"] {
                --scribble-translate-x: -50%;
                left: 50%;
            }

            &[data-position="top-right"], &[data-position="middle-right"], &[data-position="bottom-right"] {
                --scribble-translate-x: 50%;
                right: 0;
            }

            &[data-position="top-left"], &[data-position="top-right"] {
                --scribble-translate-y: 50%;
                top: 0;
            }

            &[data-position="top-center"] {
                --scribble-translate-y: -50%;
                top: 0;
            }

            &[data-position="middle-left"], &[data-position="middle-center"], &[data-position="middle-right"] {
                --scribble-translate-y: -50%;
                top: 50%;
            }

            &[data-position="bottom-left"], &[data-position="bottom-right"] {
                --scribble-translate-y: -50%;
                bottom: 0%;
            }

            &[data-position="bottom-center"] {
                --scribble-translate-y: 50%;
                bottom: 0%;
            }

            &[data-size="small"] {
                --scribble-width: 10%;
            }

            &[data-size="medium"] {
                --scribble-width: 25%;
            }

            &[data-size="large"] {
                --scribble-width: 40%;
            }
        }

        &:not(.sticky) {
            position: relative;
        }

        @media (max-width: 767px) {
            position: relative;
        }
    }

    .pill {
        padding: var(--clamp-16-32);
        color: var(--white);
        border-radius: var(--clamp-16-32);

        img {
            display: block;
            margin-inline-start: auto;
            width: 20%;
            height: auto;
            aspect-ratio: 1;
        }

        h3 {
            max-width: 25ch;
            font-size: var(--clamp-20-28);
        }

        p {
            margin-block-start: 1em;
            font-size: var(--clamp-14-16);

            span {
                position: relative;
                anchor-name: --anchor-el;
                background-color: hsl(var(--black-h) var(--black-s) var(--black-l) / .125);
                cursor: pointer;

                &:hover, &:active {
                    background-color: hsl(var(--black-h) var(--black-s) var(--black-l) / .25);
                }
            }
        }

        .popover {
            display: none;
            position-anchor: --anchor-el;
            position: absolute;
            top: anchor(--anchor-el bottom);
            left: calc(anchor(--anchor-el left) - 1rem);
            padding: 1rem;
            max-width: 25rem;
            border-radius: 1rem;
            background-color: var(--white);
            box-shadow: 0 .25rem 1rem hsl(var(--black-h) var(--black-s) var(--black-l) / .125);

            p {
                margin-block-start: 0;
            }
        }

        &:has(p span:hover), &:has(p span:active) {
            .popover {
                display: block;
            }
        }

        &:nth-of-type(1) {
            background: #458db3;
        }

        &:nth-of-type(2) {
            background: #e05d7b;
        }

        &:nth-of-type(3) {
            color: var(--black);
            background: #f5d581;
        }

        &:nth-of-type(4) {
            color: var(--black);
            background: #76c5a4;
        }

        &:nth-of-type(5) {
            background: #c66f40;
        }

        &:nth-of-type(6) {
            background: #49416d;
        }
    }

    .featured {
        order: 2;
        padding: var(--clamp-16-24);
        font-size: var(--clamp-16-48);
        border-radius: var(--clamp-16-32);
        background-color: var(--yellow);
        transform: skewY(-2.5deg);

        .scribble-item {
            display: none;
        }

        @media (min-width: 768px) {
            order: unset;
            padding: var(--clamp-16-48) var(--clamp-16-24);
            border-radius: 0;
            background-color: transparent;
            transform: none;
            
            .scribble-item {
                display: block;
            }

            div {
                z-index: 1;
                position: relative;
                line-height: 1;
                transform: skewY(-7.5deg);
            }
        }
    }

    .project-pills {
        --gap: var(--clamp-16-32);

        margin-block-start: var(--clamp-16-64);
    }

    .services, .contact {
        --gap: 0;
    
        span[aria-hidden="true"] {
            display: none;
        }

        @media (min-width: 768px) {
            --gap: 0 var(--clamp-16-128);

            span[aria-hidden="true"] {
                display: initial;
            }
        }
    }
}

@layer forms {
    .form {
        --gap: 1rem;

        margin-block: var(--clamp-16-32);

        .form-input {
            label {
                display: block;
                margin-block-end: .25em;
                font-weight: 500;
            }

            input {
                appearance: none;
                padding: .5em 1em;
                color: var(--black);
                border: 2px solid var(--black);
                border-radius: .25rem;
                background-color: var(--white);
                
                &[type="text"], &[type="email"] {
                    width: 100%;
                }

                &[type="checkbox"] {
                    padding: 0;
                    width: 1.5rem;
                    height: auto;
                    aspect-ratio: 1;

                    &:checked {
                        background-color: var(--yellow);
                    }
                }
            }

            &[data-type="inline"] {
                display: flex;
                align-items: center;
                gap: .5em;

                label {
                    margin-block-end: 0;
                }
            }
        }

        .form-multiple {
            --gap: 1rem;
        }

        .form-privacy {
            p {
                font-size: .675rem;

                &:not(:first-child) {
                    margin-block-start: 1em;
                }
            }
        }

        .form-submit {
            font-size: var(--clamp-14-20);
        }

        @media (min-width: 768px) {
            margin-block-end: 0;

            .form-span {
                grid-column: span 2;
            }
        }
    }
}