/* Pink Bamboo — marketing site. Shared styles. */
:root{
  --ivory:#FDFBF7;
  --cream:#F7F1E8;
  --blush:#F5DCE0;
  --pink:#E7A9B4;
  --pink-deep:#C16E7E;
  --olive:#6B705C;
  --gold:#C1993F;
  --ink:#3A312B;
  --muted:#8A7F76;
  --border:#E7DDCE;
  --shadow:0 18px 48px rgba(58,49,43,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:"Karla",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{font-family:"Fraunces",Georgia,serif}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* soft pearl texture wash on the page */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(245,220,224,.55), transparent 60%),
    radial-gradient(1000px 700px at 100% 0%, rgba(247,241,232,.7), transparent 55%),
    radial-gradient(900px 700px at 50% 120%, rgba(245,220,224,.35), transparent 60%);
}

/* ---- Header ---- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(253,251,247,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:34px;height:34px;border-radius:8px;box-shadow:0 4px 10px rgba(58,49,43,.15)}
.brand span{font-family:"Fraunces",serif;font-weight:700;font-size:22px;letter-spacing:.5px;color:var(--pink-deep);white-space:nowrap}
.nav a{margin-left:26px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.nav a:hover,.nav a.active{color:var(--pink-deep)}

/* ---- Overline / dividers ---- */
.overline{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--pink-deep);font-weight:700}
.rule{width:56px;height:2px;background:var(--gold);border:0;margin:22px 0}
.rule.center{margin:22px auto}

/* ---- Buttons ---- */
.appstore{
  display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--ivory);
  padding:13px 22px;border-radius:14px;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .15s ease;
}
.appstore:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(58,49,43,.2)}
.appstore svg{width:26px;height:26px;fill:var(--ivory)}
.appstore .small{font-size:11px;letter-spacing:.5px;opacity:.85;line-height:1;text-transform:uppercase}
.appstore .big{font-family:"Fraunces",serif;font-size:19px;line-height:1.1;font-weight:600}

/* ---- Hero ---- */
.hero{padding:64px 0 40px}
.hero .grid{display:grid;grid-template-columns:1fr 1.05fr;gap:52px;align-items:center}
.hero-poster{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border);background:var(--cream);transform:rotate(-1.2deg)}
.hero h1{font-size:64px;line-height:.98;font-weight:900;margin:10px 0 6px;color:var(--pink-deep);letter-spacing:.5px}
.hero .tagline{font-family:"Fraunces",serif;font-style:italic;font-size:22px;color:var(--olive);margin:0 0 20px}
.hero p{color:#5c534b;margin:0 0 16px}
.hero .cta{margin-top:26px}

/* ---- Section ---- */
.section{padding:56px 0}
.section h2{font-size:38px;font-weight:700;margin:6px 0 0}
.section .lead{font-family:"Fraunces",serif;font-style:italic;color:var(--olive);font-size:20px;margin-top:8px}

/* ---- Features ---- */
.features{background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px;margin-top:28px}
.feature{display:flex;align-items:center;gap:12px;font-size:16px;color:#4f463f}
.feature .dot{width:9px;height:9px;border-radius:50%;background:var(--pink);flex:0 0 auto;box-shadow:0 0 0 4px rgba(231,169,180,.25)}

/* ---- Destination grid ---- */
.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px}
.dest{border-radius:18px;overflow:hidden;background:var(--cream);border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .18s ease}
.dest:hover{transform:translateY(-4px)}
.dest .ph{aspect-ratio:3/4;overflow:hidden}
.dest .ph img{width:100%;height:100%;object-fit:cover}
.dest .cap{padding:16px 18px}
.dest .cap .name{font-family:"Fraunces",serif;font-weight:600;font-size:20px}
.dest .cap .year{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-top:2px}

/* ---- Closing invitation ---- */
.invite{background:linear-gradient(180deg,var(--blush),#F7E6E0);border-top:1px solid var(--border);text-align:center;padding:78px 0}
.invite h2{font-size:44px;color:var(--pink-deep);margin:0 0 6px;font-weight:900}
.invite p{font-family:"Fraunces",serif;font-style:italic;font-size:22px;color:var(--olive);margin:2px 0}
.invite .cta{margin-top:30px}
.invite .flowers{font-size:26px;margin-top:22px}

/* ---- Content pages ---- */
.page{padding:64px 0 40px;max-width:760px}
.page h1{font-size:52px;color:var(--pink-deep);font-weight:900;margin:6px 0 0}
.page h2{font-size:26px;margin:40px 0 6px}
.page h3{font-size:19px;margin:26px 0 4px;color:var(--olive)}
.page p{color:#544b43}
.page a.link{color:var(--pink-deep);border-bottom:1px solid rgba(193,110,126,.35)}
.email{display:inline-block;font-family:"Fraunces",serif;font-size:22px;color:var(--pink-deep);margin:6px 0 4px}
.faq{border-top:1px solid var(--border);margin-top:18px}
.faq details{border-bottom:1px solid var(--border);padding:16px 2px}
.faq summary{cursor:pointer;font-family:"Fraunces",serif;font-size:18px;list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--pink-deep);font-size:22px;font-family:"Karla",sans-serif}
.faq details[open] summary::after{content:"–"}
.faq p{margin:12px 0 2px;font-size:16px}

/* ---- Footer ---- */
.site-foot{background:var(--ink);color:#EFE6DA;padding:48px 0 40px;margin-top:0}
.site-foot .brand span{color:var(--pink)}
.foot-links{display:flex;flex-wrap:wrap;gap:24px;margin:22px 0 18px}
.foot-links a{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#cdbfae}
.foot-links a:hover{color:var(--pink)}
.foot-note{font-size:13px;color:#9c8f80}

/* ---- Responsive ---- */
@media (max-width:860px){
  .hero .grid{grid-template-columns:1fr;gap:34px}
  .hero-poster{max-width:360px;margin:0 auto;order:-1;transform:none}
  .hero h1{font-size:48px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .dest-grid{grid-template-columns:repeat(2,1fr)}
  .nav a{margin-left:16px;font-size:11px;letter-spacing:1.5px}
  .brand span{font-size:18px}
  .brand img{width:30px;height:30px}
}
@media (max-width:520px){
  .dest-grid{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
  .hero h1{font-size:42px}
  .invite h2{font-size:34px}
  .page h1{font-size:40px}
}
