/*
Theme Name: Heartmade Events V1
Theme URI: https://heartmadeevents.com/
Author: Heartmade Events
Description: Custom one-page WordPress theme based on the approved Heartmade Events V1 website concept.
Version: 1.0.0
Text Domain: heartmade-v1
*/

:root{
  --ink:#222126;
  --paper:#fffaf8;
  --soft:#f7efed;
  --rose:#d95a7c;
  --wine:#7d2e46;
  --peach:#f2b9a7;
  --sand:#e9d9cf;
  --white:#fff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",sans-serif;
  color:var(--ink);
  background:var(--paper);
}
a{color:inherit;text-decoration:none}
.site-header{
  position:sticky;top:0;z-index:30;
  height:78px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;
  background:rgba(255,250,248,.9);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(34,33,38,.07);
}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em}
.logo-mark{font-size:22px;color:var(--rose)}
nav{display:flex;align-items:center;gap:30px;font-size:14px}
.nav-cta{padding:12px 18px;background:var(--ink);color:white;border-radius:999px}
.menu-btn{display:none;background:none;border:0;font-size:25px}
.hero{
  min-height:calc(100vh - 78px);
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:5vw;
  padding:7vw 7vw 6vw;
  align-items:center;
  overflow:hidden;
}
.eyebrow{
  text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:700;color:var(--rose)
}
h1,h2{
  font-family:"Playfair Display",serif;
  letter-spacing:-.04em;
  line-height:.98;
  margin:18px 0 24px;
}
h1{font-size:clamp(54px,7vw,102px)}
h1 em{font-weight:600;color:var(--rose)}
h2{font-size:clamp(42px,5vw,72px)}
.hero-copy p{font-size:18px;line-height:1.7;max-width:650px;color:#5f5b61}
.hero-actions{display:flex;gap:12px;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;font-weight:700;font-size:14px}
.primary{background:var(--rose);color:white}
.ghost{border:1px solid #cfc6c6}
.hero-art{
  position:relative;height:620px;
}
.photo-card{
  position:absolute;border-radius:28px;
  display:flex;align-items:flex-end;
  padding:22px;color:#fff;font-weight:700;
  box-shadow:0 30px 70px rgba(60,33,40,.16);
  overflow:hidden;
}
.photo-card:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(31,20,25,.5));
}
.photo-card span{position:relative;z-index:2}
.card-one{
  width:58%;height:65%;right:8%;top:0;
  background:linear-gradient(145deg,#e49bb1,#b94b6d 65%,#7c2b45);
}
.card-two{
  width:51%;height:46%;left:0;bottom:4%;
  background:linear-gradient(145deg,#ddb0a4,#9b5d54);
}
.card-three{
  width:35%;height:34%;right:0;bottom:1%;
  background:linear-gradient(145deg,#ebcf9c,#c79247);
}
.sparkle{position:absolute;color:var(--rose);font-size:44px}
.s1{left:6%;top:4%}.s2{right:7%;top:52%;font-size:28px}
.intro-strip{
  padding:19px 4vw;background:var(--ink);color:white;
  overflow:hidden;white-space:nowrap;text-align:center;
  font-size:13px;letter-spacing:.04em
}
.section{padding:110px 7vw}
.section-head{max-width:850px;margin-bottom:55px}
.section-head p{color:#6b666b;font-size:17px;line-height:1.65}
.section-head.split{max-width:none;display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{
  min-height:330px;background:white;border:1px solid #eee3df;border-radius:24px;
  padding:28px;display:flex;flex-direction:column
}
.service-card.featured{background:var(--rose);color:white}
.service-no{font-size:12px;opacity:.6;margin-bottom:auto}
.service-card h3{font-family:"Playfair Display",serif;font-size:30px;margin:26px 0 12px}
.service-card p{line-height:1.65;color:#6d6668}
.service-card.featured p{color:rgba(255,255,255,.82)}
.service-card a{margin-top:auto;font-size:14px;font-weight:700}
.soft{background:var(--soft)}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.package-card{background:white;border-radius:26px;overflow:hidden}
.package-image{height:310px}
.p1{background:linear-gradient(145deg,#372d35,#d6a0b0)}
.p2{background:linear-gradient(145deg,#d7bea8,#8f695f)}
.p3{background:linear-gradient(145deg,#f0c7d5,#ca7693)}
.package-content{padding:25px 25px 30px}
.package-content>span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--rose);font-weight:700}
.package-content h3{font-family:"Playfair Display",serif;font-size:30px;margin:10px 0}
.package-content p{color:#6a6468;line-height:1.6}
.portfolio-grid{
  display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:250px;gap:15px
}
.portfolio-item{
  min-height:250px;border-radius:24px;padding:22px;color:white;font-weight:700;
  display:flex;align-items:flex-end;position:relative;overflow:hidden
}
.portfolio-item:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(20,15,18,.55))}
.portfolio-item span{position:relative}
.tall{grid-row:span 2}.wide{grid-column:span 2}
.pi1{background:linear-gradient(145deg,#d18aa4,#7b3650)}
.pi2{background:linear-gradient(145deg,#dda999,#bb6759)}
.pi3{background:linear-gradient(145deg,#c9b0d8,#79558f)}
.pi4{background:linear-gradient(145deg,#d6b98b,#8f7248)}
.pi5{background:linear-gradient(145deg,#d2bdaf,#8c6f62)}
.about{display:grid;grid-template-columns:1.15fr .85fr;gap:5vw;align-items:stretch;background:#fff}
.about-card{padding:20px 0}
.about-card p{font-size:17px;line-height:1.75;color:#655f63;max-width:720px}
.about-quote{
  border-radius:30px;background:var(--ink);color:white;padding:48px;
  display:flex;flex-direction:column;justify-content:flex-end
}
.quote-mark{font-family:"Playfair Display";font-size:100px;color:var(--rose);line-height:.6}
.about-quote p{font-family:"Playfair Display";font-size:36px;line-height:1.15}
.process{background:#f6eee9}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.process-grid strong{color:var(--rose)}
.process-grid h3{font-family:"Playfair Display";font-size:26px}
.process-grid p{color:#6d6668;line-height:1.6}
.contact{
  padding:95px 7vw;background:var(--wine);color:white;
  display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center
}
.contact h2{margin-bottom:16px}
.contact p{max-width:680px;color:rgba(255,255,255,.8);font-size:17px;line-height:1.6}
.light{color:#ffd7e2}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.lightbtn{background:white;color:var(--wine)}
.text-link{font-weight:700}
footer{
  padding:35px 5vw;background:#1d1b20;color:#c9c2c7;
  display:flex;align-items:center;gap:30px;justify-content:space-between;font-size:13px
}
footer .logo{color:white}

@media(max-width:950px){
  .hero{grid-template-columns:1fr;padding-top:60px}
  .hero-art{height:500px}
  .service-grid,.package-grid{grid-template-columns:1fr 1fr}
  .section-head.split,.about,.contact{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr 1fr}
  .portfolio-grid{grid-template-columns:1fr 1fr}
  .wide{grid-column:span 1}
  nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px 5vw;flex-direction:column;align-items:flex-start}
  .menu-open nav{display:flex}
  .menu-btn{display:block}
}
@media(max-width:640px){
  .site-header{height:68px}
  nav{top:68px}
  .hero{min-height:auto;padding:60px 6vw 45px}
  h1{font-size:50px}
  .hero-art{height:380px}
  .section{padding:75px 6vw}
  .service-grid,.package-grid,.process-grid,.portfolio-grid{grid-template-columns:1fr}
  .tall{grid-row:span 1}
  .package-image{height:250px}
  footer{flex-direction:column;align-items:flex-start}
  .contact{padding:70px 6vw}
}
