:root{
--ink:#1a091d;
--plum:#3a1238;
--berry:#7a2855;
--gold:#ffd86b;
--blush:#ffd5ee;
--white:#fffafd;
}

*{
box-sizing:border-box;
}

body{
margin:0;
height:100vh;
height:100dvh;
overflow:hidden;
display:grid;
grid-template-rows:76px minmax(0,1fr) 64px;
background:linear-gradient(135deg,var(--plum),var(--berry));
font-family:Arial,Helvetica,sans-serif;
color:var(--white);
text-align:center;
}

header{
display:flex;
justify-content:space-between;
align-items:center;
padding:0 clamp(24px,6vw,80px);
background:rgba(26,9,29,.92);
border-bottom:1px solid rgba(255,216,107,.28);
}

.logo{
font-family:Georgia,"Times New Roman",serif;
font-size:clamp(22px,2.4vw,30px);
font-weight:bold;
color:var(--gold);
}

nav{
display:flex;
align-items:center;
gap:clamp(18px,3vw,40px);
}

nav a{
color:var(--white);
text-decoration:none;
font-size:16px;
transition:color .2s ease;
}

nav a:hover{
color:var(--gold);
}

nav a:focus-visible,
.footer-contact:focus-visible{
outline:2px solid var(--gold);
outline-offset:4px;
}

main{
min-height:0;
display:grid;
place-items:center;
padding:24px 32px;
}

.hero{
position:relative;
width:min(960px,calc(100vw - 64px),calc(133.333vh - 251px));
width:min(960px,calc(100vw - 64px),calc(133.333dvh - 251px));
aspect-ratio:4 / 3;
overflow:hidden;
border:1px solid rgba(255,216,107,.45);
border-radius:8px;
box-shadow:0 18px 55px rgba(20,5,24,.42),0 0 28px rgba(255,213,238,.18);
}

.main-image{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:opacity .35s ease;
}

.hero::after{
content:"";
position:absolute;
inset:45% 0 0;
background:linear-gradient(to bottom,transparent,rgba(17,4,20,.76));
pointer-events:none;
}

.hero-text{
position:absolute;
z-index:1;
left:clamp(20px,5vw,48px);
right:clamp(20px,5vw,48px);
bottom:clamp(18px,4vw,38px);
text-align:left;
}

h1{
font-family:Georgia,"Times New Roman",serif;
font-size:clamp(30px,4vw,48px);
margin:0 0 8px;
color:var(--gold);
}

.hero-text p{
margin:0;
font-size:clamp(14px,1.7vw,18px);
color:var(--blush);
}

footer{
display:grid;
place-items:center;
background:var(--ink);
border-top:1px solid rgba(255,255,255,.08);
}

.footer-inner{
display:flex;
align-items:center;
justify-content:center;
gap:20px;
font-size:15px;
}

.footer-contact{
color:var(--gold);
font-weight:bold;
text-decoration:none;
padding-left:20px;
border-left:1px solid rgba(255,216,107,.35);
transition:color .2s ease;
}

.footer-contact:hover{
color:var(--white);
text-decoration:underline;
text-underline-offset:4px;
}

@media (max-width:620px){
body{
grid-template-rows:68px minmax(0,1fr) 72px;
}

header{
padding:0 18px;
}

.logo{
max-width:150px;
line-height:1.05;
text-align:left;
}

nav{
gap:14px;
}

nav a{
font-size:14px;
}

main{
padding:16px;
}

.hero{
width:min(calc(100vw - 32px),calc(133.333dvh - 229px));
}

.footer-inner{
gap:12px;
font-size:13px;
}

.footer-contact{
padding-left:12px;
}
}

@media (prefers-reduced-motion:reduce){
.main-image,
nav a,
.footer-contact{
transition:none;
}
}


.privacy-page{
height:auto;
min-height:100vh;
min-height:100dvh;
overflow:auto;
grid-template-rows:76px auto 64px;
background:var(--white);
color:#321c35;
}

.privacy{
width:min(920px,calc(100vw - 48px));
margin:0 auto;
padding:56px 0 72px;
text-align:left;
line-height:1.72;
font-size:16px;
}

.privacy-heading{
padding-bottom:28px;
margin-bottom:32px;
border-bottom:2px solid rgba(122,40,85,.24);
}

.privacy h1{
margin:0 0 10px;
font-size:clamp(38px,5vw,58px);
line-height:1.1;
color:var(--plum);
}

.effective-date{
margin:0;
color:var(--berry);
font-size:17px;
}

.privacy-intro{
font-size:17px;
color:#4d334f;
}

.privacy section{
margin-top:42px;
}

.privacy h2{
margin:0 0 16px;
padding-top:18px;
border-top:1px solid rgba(122,40,85,.18);
font-family:Georgia,"Times New Roman",serif;
font-size:clamp(22px,3vw,28px);
line-height:1.3;
color:var(--berry);
}

.privacy h3{
margin:30px 0 12px;
font-size:19px;
line-height:1.4;
color:var(--plum);
}

.privacy p{
margin:0 0 18px;
}

.privacy ol{
margin:12px 0 24px;
padding-left:28px;
}

.privacy li{
padding-left:6px;
margin-bottom:14px;
}

.privacy a{
color:#8b2359;
font-weight:bold;
text-underline-offset:3px;
overflow-wrap:anywhere;
}

.privacy a:hover{
color:var(--plum);
}

.privacy-support{
margin-top:48px !important;
padding:22px 24px;
background:rgba(122,40,85,.08);
border-left:4px solid var(--berry);
}

@media (max-width:620px){
.privacy-page{
grid-template-rows:68px auto 64px;
}

.privacy{
width:min(calc(100% - 32px),920px);
padding:38px 0 52px;
font-size:15px;
line-height:1.68;
}

.privacy-intro{
font-size:16px;
}

.privacy section{
margin-top:34px;
}

.privacy h2{
font-size:21px;
}

.privacy h3{
font-size:17px;
}
}
