@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Prata&display=swap');

:root{
  --blue:#A5C4D9;
  --ivory:#FAF7EA;
  --pink:#E1AEBC;
  --red:#711D2C;

  --blue-soft:#D9E8F1;
  --pink-soft:#F0D8DF;
  --red-dark:#4D131E;
  --ink:#3E2A2E;
  --muted:#796469;
  --white:#FFFFFF;
  --line:rgba(113,29,44,.17);
  --shadow:0 18px 50px rgba(113,29,44,.10);
  --radius:30px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:"Manrope",system-ui,-apple-system,sans-serif;
  line-height:1.65;
}
a{color:inherit}
img{max-width:100%;display:block}

.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px clamp(20px,4vw,64px);
  background:rgba(250,247,234,.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand-logo{
  width:48px;height:48px;border-radius:50%;
  object-fit:cover;
  box-shadow:0 3px 12px rgba(113,29,44,.12);
}
.brand-name{
  font-size:13px;text-transform:uppercase;letter-spacing:.13em;
  font-weight:700;color:var(--red);
}
nav{display:flex;gap:24px}
nav a,.text-link,.footer-links a{
  text-decoration:none;font-size:14px;color:var(--red);
}
nav a:hover,.text-link:hover,.footer-links a:hover{text-decoration:underline}

.section{padding:100px clamp(22px,7vw,110px)}

.hero{
  min-height:80vh;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(390px,.97fr);
  gap:64px;
  align-items:center;
  background:
    radial-gradient(circle at 6% 10%, rgba(225,174,188,.26), transparent 24%),
    radial-gradient(circle at 92% 14%, rgba(165,196,217,.34), transparent 30%),
    var(--ivory);
}
.eyebrow{
  margin:0 0 16px;
  color:var(--red);
  text-transform:uppercase;
  letter-spacing:.19em;
  font-size:12px;
  font-weight:700;
}
h1,h2{
  font-family:"Prata",Georgia,serif;
  font-weight:400;
  line-height:1.08;
  margin:0;
  color:var(--red);
}
h1{font-size:clamp(48px,7vw,96px);max-width:1050px}
h1 span{display:block;color:#6F91AD}
h2{font-size:clamp(34px,4.3vw,62px)}
h3{margin:10px 0 8px;font-size:19px;color:var(--red)}

.brand-positioning{
  margin:18px 0 0;
  font-family:"Prata",Georgia,serif;
  font-size:clamp(20px,2.1vw,30px);
  color:var(--red);
  line-height:1.25;
  max-width:720px;
}

.lead{
  font-size:clamp(18px,2vw,23px);
  max-width:780px;
  color:var(--ink);
  margin:30px 0;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:54px;padding:0 25px;border-radius:999px;
  text-decoration:none;font-weight:700;
  transition:.2s ease;
}
.button.primary{
  background:var(--red);color:var(--ivory);
  box-shadow:0 9px 24px rgba(113,29,44,.18);
}
.button.primary:hover{transform:translateY(-2px);background:var(--red-dark)}
.button.ghost{
  border:1px solid var(--red);
  color:var(--red);
  background:rgba(250,247,234,.5);
}
.button.ghost:hover{background:var(--pink-soft)}
.button.large{min-height:62px;padding:0 32px}
.microcopy{color:var(--muted);font-size:13px;margin-top:14px}

.hero-visual{
  position:relative;
  border-radius:34px;
  overflow:visible;
  box-shadow:var(--shadow);
  transform:translateY(-28px);
}
.hero-visual>img{
  width:100%;
  border-radius:34px;
  object-fit:cover;
  border:1px solid rgba(113,29,44,.10);
}
.hero-badge{
  position:absolute;
  left:-28px;
  bottom:-28px;
  display:flex;
  align-items:center;
  gap:13px;
  min-width:260px;
  padding:17px 20px;
  background:var(--red);
  color:var(--ivory);
  border-radius:20px;
  box-shadow:0 14px 36px rgba(113,29,44,.22);
}
.hero-badge strong,.hero-badge small{display:block}
.hero-badge small{opacity:.82;font-size:12px}
.badge-star{font-size:27px;color:var(--pink)}

.brand-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin:0;
  background:var(--red);
  border-top:1px solid var(--red);
  border-bottom:1px solid var(--red);
}
.brand-strip>div{
  background:var(--blue);
  padding:30px clamp(20px,5vw,62px);
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:12px;
  align-items:center;
}
.brand-strip span{color:var(--red);font-size:23px;grid-row:1 / span 2}
.brand-strip strong{color:var(--red);font-family:"Prata",serif;font-size:22px}
.brand-strip small{color:var(--ink)}

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  background:var(--ivory);
}
.body-copy{font-size:18px;color:var(--ink)}

.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:45px;
}
.steps article{
  background:var(--blue-soft);
  padding:28px;
  border-radius:22px;
  border:1px solid rgba(113,29,44,.10);
}
.steps article:nth-child(even){background:var(--pink-soft)}
.steps span{font-family:"Prata",serif;color:var(--red);font-size:32px}
.steps p,.product-card p{color:var(--muted);font-size:14px}

.products{background:var(--blue)}

.section-subtitle{
  margin:14px 0 0;
  color:var(--ink);
  max-width:640px;
}
.product-photo-link{display:block;text-decoration:none}
.product-photo{
  width:100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position:center;
  border-radius:18px;
  display:block;
  border:1px solid rgba(113,29,44,.08);
  background:#f2f2f2;
  transition:transform .25s ease, box-shadow .25s ease;
}
.product-card:hover .product-photo{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(113,29,44,.10);
}
.product-label{
  display:inline-block;
  margin-top:14px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--pink-soft);
  color:var(--red);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
}
.set-items{
  margin-top:16px;
  display:grid;
  gap:12px;
}
.set-item{
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.74), rgba(250,247,234,.92));
  border:1px solid rgba(113,29,44,.10);
}
.set-head{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--red);
  margin-bottom:6px;
}
.set-icon{font-size:18px}
.item-meta{
  color:var(--muted);
  font-size:14px;
}
.item-price{
  margin-top:6px;
  font-family:"Prata", Georgia, serif;
  font-size:34px;
  line-height:1.05;
  color:var(--red);
}
.item-note{
  margin-top:6px;
  font-size:13px;
  color:var(--ink);
}
.mini-button{
  display:inline-flex;
  margin-top:12px;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  background:var(--red);
  color:var(--ivory);
  font-weight:700;
  text-decoration:none;
}
.mini-button:hover{background:var(--red-dark)}

.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px}
.product-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:42px;
}
.product-card{
  border:1px solid rgba(113,29,44,.15);
  border-radius:24px;
  padding:18px;
  background:var(--ivory);
  box-shadow:0 10px 28px rgba(113,29,44,.06);
}

.info-list{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:16px;
}
.info-list li{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:14px;
  align-items:flex-start;
}
.info-list li span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.52);
  font-size:18px;
}
.info-list li strong{color:var(--red)}

.product-art{
  height:250px;border-radius:18px;
  background:
    radial-gradient(circle at 50% 48%,rgba(250,247,234,.9) 0 3%,transparent 4%),
    radial-gradient(circle at 50% 50%,transparent 0 24%,rgba(113,29,44,.35) 25% 28%,transparent 29%),
    linear-gradient(145deg,var(--blue-soft),var(--pink));
  position:relative;overflow:hidden;
}
.product-art.earrings:after{
  content:"";position:absolute;width:48px;height:70px;
  border:5px solid rgba(113,29,44,.45);
  border-radius:50%;left:30%;top:32%;
  box-shadow:82px 0 0 -5px var(--pink-soft),82px 0 0 0 rgba(113,29,44,.45);
}
.product-art.pendant:after{
  content:"";position:absolute;left:50%;top:24%;width:2px;height:95px;
  background:rgba(113,29,44,.45);
  box-shadow:0 95px 0 14px rgba(113,29,44,.45);
  border-radius:50%;
}
.price{padding-top:12px;border-top:1px solid var(--line)}
.price strong,.todo{color:var(--red)}
.notice{
  margin-top:24px;padding:18px 20px;border-radius:16px;
  background:var(--ivory);
  border:1px solid rgba(113,29,44,.25);
  color:var(--red-dark);
  font-size:14px;
}

.payment{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  background:var(--ivory);
}
.payment>div{
  padding:36px;
  border-radius:24px;
  border:1px solid var(--line);
}
.payment>div:first-child{background:var(--pink-soft)}
.payment>div:last-child{background:var(--blue-soft)}

.returns{
  border-top:1px solid var(--line);
  background:var(--ivory);
}
.returns>p:not(.eyebrow),.invite>p{max-width:850px;font-size:18px;color:var(--ink)}

.invite{
  text-align:center;
  background:var(--red);
  color:var(--ivory);
}
.invite .eyebrow{color:var(--pink)}
.invite h2{color:var(--ivory)}
.invite p{margin:20px auto 30px;color:var(--ivory);opacity:.9}
.invite .button.primary{
  background:var(--blue);
  color:var(--red-dark);
}
.invite .button.primary:hover{background:var(--pink)}

.legal{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:60px;
  background:var(--ivory);
}
dl{margin:0}
dl div{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
dt{color:var(--muted);font-size:13px}
dd{margin:0;font-weight:600}

.site-footer{
  padding:45px clamp(22px,7vw,110px);
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:30px;
  align-items:start;
  background:var(--blue);
  color:var(--red-dark);
  border-top:6px solid var(--red);
}
.footer-logo{
  width:62px;height:62px;border-radius:50%;object-fit:cover;
  margin-bottom:10px;
}
.footer-links{display:flex;flex-direction:column;gap:8px}
.copyright{color:var(--red);font-size:13px;margin:0}

.legal-page{
  max-width:900px;
  margin:0 auto;
  padding:70px 24px 120px;
}
.legal-page h1{font-size:clamp(38px,6vw,68px);margin-bottom:24px}
.legal-page h2{font-size:28px;margin:42px 0 14px}
.legal-page .warning{
  background:var(--pink-soft);
  border:1px solid rgba(113,29,44,.25);
  padding:18px;
  border-radius:14px;
}
.back{display:inline-block;margin-bottom:32px;color:var(--red)}

@media(max-width:1000px){
  nav{display:none}
  .hero{grid-template-columns:1fr;gap:46px}
  .hero-visual{max-width:760px;transform:translateY(-14px)}
  .hero-badge{left:22px}
  .split,.payment,.legal{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .product-grid{grid-template-columns:1fr}
  .brand-strip{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr}
}
@media(max-width:560px){
  .brand-name{display:none}
  .section{padding:70px 20px}
  .steps{grid-template-columns:1fr}
  dl div{grid-template-columns:1fr;gap:4px}
  h1{font-size:44px}
  .hero{padding-top:56px}
  .hero-visual{transform:translateY(-8px)}
  .hero-badge{position:relative;left:auto;bottom:auto;margin:-18px 14px 0}
}
