/*==========================================================
THE RYTS WEBSITE
Version 0.10
==========================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{

    background:
        radial-gradient(
            circle at top,
            rgba(233,34,121,.05),
            transparent 40%
        ),
        linear-gradient(
            180deg,
            #081108 0%,
            #061006 45%,
            #040804 100%
        );

    color:#ffffff;

    font-family:
        "Segoe Print",
        "Roboto",
        sans-serif;

    line-height:1.7;

    overflow-x:hidden;

}

/*==========================================================

HERO

==========================================================*/

.hero{

    width:100%;

    padding:50px 25px 20px;

}

.hero-card{

    max-width:900px;

    margin:0 auto;

    background:
        linear-gradient(
            180deg,
            rgba(22,50,22,.96),
            rgba(14,34,14,.96)
        );

    border:2px solid rgba(233,34,121,.75);

    border-radius:30px;

    padding:27px 50px 45px;

    box-shadow:
        0 24px 60px rgba(0,0,0,.45),
        0 0 35px rgba(233,34,121,.10);

    transition:
        transform .20s ease,
        box-shadow .20s ease;

}

.hero-card:hover{

    transform:translateY(-2px);

    box-shadow:
        0 18px 40px rgba(0,0,0,.45),
        0 0 45px rgba(233,34,121,.12);

}

.hero-card:hover .logo{

    transform:scale(1.02);

    filter:drop-shadow(
        0 0 12px rgba(233,34,121,.20)
    );

}

.hero-content{

    text-align:center;

}

.logo{

    width:380px;

    max-width:90%;

    margin-bottom:24px;

    transition:
        transform .35s ease,
        filter .35s ease;

}

h1{

    color:#F28CA5;

    font-size:3.4rem;

    margin-bottom:8px;

    font-weight:700;

}

.welcome-message{

    color:#ffffff;

    font-size:1.3rem;

    margin-bottom:14px;

    font-style:italic;

}

.tagline{

    color:#E92279;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:.95rem;

    margin-bottom:20px;

}

.intro{

    max-width:760px;

    margin:auto;

    font-size:1.12rem;

    line-height:1.95;

    color:#efefef;

}

.sakura-left{

    position:fixed;

    top:0;

    left:0;

    width:300px;

    opacity:.10;

    pointer-events:none;

    z-index:-1;

}

.sakura-right{

    position:fixed;

    right:0;

    bottom:0;

    width:230px;

    opacity:.08;

    pointer-events:none;

    z-index:-1;

}

/*==========================================================

CONTENT

==========================================================*/

.content{

    max-width:1100px;

    margin:auto;

    padding:25px;

}

section{

    margin-top:85px;

    position:relative;

}

h2{

    color:#F28CA5;

    font-size:2.2rem;

    font-weight:600;

    letter-spacing:1px;

    text-align:center;

    margin-bottom:38px;

    text-shadow:
        0 2px 8px rgba(233,34,121,.15);

}

h2::after{

    content:"";

    display:block;

    width:90px;

    height:3px;

    margin:16px auto 0;

    border-radius:999px;

    background:linear-gradient(
        90deg,
        transparent,
        #E92279,
        transparent
    );

}

/*==========================================================

BUTTON GRID

==========================================================*/

.button-grid{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:32px;

    align-items:stretch;

}

.link-card{

    background:
        linear-gradient(
            180deg,
            rgba(27,72,27,.95),
            rgba(17,44,17,.98)
        );

    border:2px solid rgba(233,34,121,.75);

    border-radius:24px;

    text-decoration:none;

    color:white;

    padding:32px 26px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    min-height:195px;

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .25s ease,
        background .25s ease;

    box-shadow:
        0 10px 22px rgba(0,0,0,.28);

}

.link-card:hover{

    transform:
        translateY(-8px)
        scale(1.02);

    border-color:#F28CA5;

    background:
        linear-gradient(
            180deg,
            rgba(34,84,34,.98),
            rgba(20,52,20,.98)
        );

    box-shadow:

        0 22px 42px rgba(0,0,0,.38),

        0 0 22px rgba(233,34,121,.18),

}

.link-card:focus-visible{

    outline:3px solid #F28CA5;

    outline-offset:4px;

}

.link-card img{

    width:72px;

    height:72px;

    object-fit:contain;

    margin-bottom:20px;

    transition:
        transform .25s ease;

}

.link-card:hover img{

    transform:scale(1.08);

}

.link-card span{

    font-size:1.15rem;

    font-weight:600;

    letter-spacing:.35px;

    text-align:center;

    line-height:1.35;

}

/*==========================================================

ABOUT

==========================================================*/

.about p{

    max-width:800px;

    margin:0 auto 25px;

    text-align:center;

    font-size:1.08rem;

}

/*==========================================================

CONTACT

==========================================================*/

.contact{

    text-align:center;

}

.email{

    display:inline-block;

    margin-top:20px;

    color:#F28CA5;

    text-decoration:none;

    font-size:1.2rem;

}

.email:hover{

    color:white;

}

/*==========================================================

FOOTER

==========================================================*/

footer{

    margin-top:120px;

    background:rgba(4,12,4,.85);

    border-top:1px solid rgba(255,255,255,.08);

    padding:55px 30px;

    text-align:center;

}

footer small{

    display:block;

    margin-top:18px;

    color:#9d9d9d;

    font-size:.92rem;

    letter-spacing:.4px;

}

/*==========================================================

TABLETS

==========================================================*/

@media(max-width:900px){

    h1{

        font-size:2.4rem;

    }

}

/*==========================================================

PHONES

==========================================================*/

@media(max-width:700px){

    .button-grid{

        grid-template-columns:1fr;

    }

    h1{

        font-size:2rem;

    }

    h2{

		font-size:1.8rem;

	}

.hero-card{

    padding:22px 22px 32px;

}

    .link-card{

    min-height:150px;

    padding:24px;

}

}