*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
:root{

    --canvas-size:min(72vmin,420px);

}
body{

    background:#fff;
    color:#333;
    font-family:"Poppins",sans-serif;

}

#page{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    padding-top:3vh;
    padding-bottom:3vh;
}
#canvas{
    width:min(85vmin,580px);
    width:var(--canvas-size);
    aspect-ratio:1;
    /*border:1px solid rgba(0,0,0);*/
    margin-bottom:3vh;
}
#canvas{
    width:var(--canvas-size);
    aspect-ratio:1;
    overflow:hidden;
    position:relative;
    border-radius:6px;
}

#svgCanvas{
    width:100%;
    height:100%;
    display:block;
}
#svgCanvas{

    position:absolute;
    inset:0;
	z-index:10;
}
#logo{

    position:absolute;

    left:50%;
    top:50%;

    transform:translate(-50%,-50%);

    opacity:0.05;

    transition:opacity 1.2s ease;
	z-index:20;
}

#mainHead,#navigation,#socials,#dev{
	display:block;
	visibility:hidden;
	transition:opacity 3s ease;
	opacity:0;
    transform:translateY(-100px);
    transition:
        opacity 3s ease,
        transform 3s ease;
	z-index:30;
}
#dev{
	transform:translateY(-20px);
}
h1{
    font-size:clamp(34px,4vw,46px);
    font-weight:300;
    letter-spacing:8px;
}

h2{
    margin-top:4px;
    font-size:clamp(12px,1vw,16px);
    letter-spacing:10px;
    font-weight:400;
    color:#777;
}
nav{
    display:flex;
    gap:36px;
}
nav a{
    text-decoration:none;
    color:#444;
    font-size:14px;
    letter-spacing:2px;
    transition:.3s;
}

nav a:hover{
    color:#000;
}
#socials{
    display:flex;
    gap:20px;
    margin-top:10px;
}
footer{
    margin-top:auto;
    padding-top:25px;
    font-size:12px;
    color:#888;
}
.playfair-display-sc-regular {
  font-family: "Playfair Display SC", serif;
  font-weight: 400;
  font-style: normal;
}

.playfair-display-sc-bold {
  font-family: "Playfair Display SC", serif;
  font-weight: 700;
  font-style: normal;
}

#navigation a{
    text-decoration:none;
    color:#444;

    margin:0 24px;

    font-size:1.2rem;

    letter-spacing:.08em;

    transition:.3s;
    cursor:pointer;

    position:relative;
    text-decoration:none;
    color:#444;
    font-weight:400;

    transition:
        color .3s ease,
        font-weight .3s ease,
        letter-spacing .3s ease;
  font-family: "Playfair Display SC", serif;
  font-weight: 400;
  font-style: normal;
}

#navigation a::after{

    content:"";

    position:absolute;

    left:50%;
    bottom:-6px;

    width:0;
    height:2px;

    background:#C86A8C;

    transform:translateX(-50%);
    transition:width .3s ease;

}

#navigation a:hover{

    font-weight:500;
    letter-spacing:.02em;
  font-family: "Playfair Display SC", serif;
  font-style: normal;
}

#navigation a:hover::after{

    width:100%;

}
#socials a{

    display:inline-flex;
    align-items:center;

    margin:0 12px;

    text-decoration:none;
    color:#555;

    transition:.3s ease;

}

#socials img{

    width:22px;
    height:22px;

    transition:
        transform .3s ease,
        opacity .3s ease;

}

#socials a:hover img{

    transform:translateY(-2px) scale(1.08);
    opacity:.8;

}
.popup{

    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,.35);
/*background:rgba(238,236,230,.45);*/
backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    transition:.35s ease;
    z-index:1000;
}

.popup.show{
    opacity:1;
    visibility:visible;
}

.popupBox{

    width:650px;
    max-width:90%;
    background:#fcfbf8;
    border-radius:12px;
    padding:35px;
    box-shadow:0 10px 40px rgba(0,0,0,.15);
    transform:translateY(20px);
    transition:.35s ease;
background:#FCFAF7;
border:1px solid #E7DED3;
border-radius:16px;
box-shadow: 0 15px 40px rgba(90,80,70,.15);
}

.popupBox::before{

    content:"";

    position:absolute;

    top:-40px;
    right:-30px;

    width:140px;
    height:140px;

    border-radius:50%;

    background:rgba(223,168,183,.18);

    filter:blur(40px);

    pointer-events:none;

}

.popup.show .popupBox{

    transform:translateY(0);

}

.popupHeader{

    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-bottom:20px;
border-bottom:1px solid #EFE8DF;

padding-bottom:18px;
margin-bottom:24px;
}
.popupBox H2{
color:#755E57;
font-size:20px;
letter-spacing:.05em;
}

.popupBox P{
	color:#666;
line-height:1.8;
}
.popupBox A{
	color:#666;
line-height:1.8;
font-weight:700;
text-decoration:none;
}

#popupClose{
    cursor:pointer;
    font-size:32px;
    color:#888;
}

#popupClose:hover{
    color:#444;
}
#popupClose{
aspect-ratio:1;
    color:#B45C79;
    transition:.3s;
}
#popupClose:hover{
    transform:rotate(90deg);
}
.popupContentTemplate{
	    display:none;
}
