:root{
  /* Elegant Tea Party theme */
  --mp-purple:#4b1f59;
  --mp-teal:#1f6f6a;
  --mp-pink:#b56b8f;
  --mp-cream:#fbf4e6;
  --mp-ink:#1a1a1f;
  --mp-brass:#b08a3c;

  --bg:var(--mp-cream);
  --card:#ffffff;
  --text:var(--mp-ink);
  --muted:#475569;
  --border:rgba(27,31,42,.14);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background:
    radial-gradient(1200px 600px at 20% 0%, rgba(255,111,174,.14), transparent 60%),
    radial-gradient(900px 520px at 90% 10%, rgba(70,183,179,.16), transparent 60%),
    linear-gradient(180deg, #fffaf0, var(--bg));
  color:var(--text);
}
a{color:inherit}
.container{max-width:1100px;margin:0 auto;padding:24px}
.header{
  background:
    linear-gradient(90deg, rgba(75,31,89,.08), rgba(176,138,60,.08), rgba(31,111,106,.08)),
    #fff;
  border-bottom:1px solid var(--border);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.nav-public{flex-direction:column;justify-content:center;align-items:center;padding:10px 0}
.nav-public .links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;width:100%}
.nav-public .links a{
  font-size:15px;
  padding:10px 14px;
  border:1px solid rgba(176,138,60,.25);
  background:rgba(255,255,255,.55);
  backdrop-filter:saturate(120%) blur(6px);
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:52px;width:auto}
.brand-public img{height:150px;width:auto}
@media (max-width: 720px){
  .brand-public img{height:100px}
}
.brand-title{font-weight:900;font-size:22px;background:linear-gradient(90deg,var(--mp-purple),var(--mp-teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.brand-sub{font-size:13px;color:var(--muted);margin-top:-2px}
.links a{padding:10px 12px;border-radius:999px;text-decoration:none;transition:transform .12s ease, background .12s ease, box-shadow .12s ease}
.links a:hover{background:rgba(255,255,255,.85);transform:translateY(-1px);box-shadow:0 10px 24px rgba(27,31,42,.08)}
.card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.98));
  border:1px solid rgba(176,138,60,.22);
  border-radius:18px;
  padding:18px;
  box-shadow: 0 8px 22px rgba(27,31,42,.06);
}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* FIXED: Story / Passion image layout (hard height + crop) */
.story-grid{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap:18px;
  align-items:start;
}
.story-image-wrap{
  height:100%;
  min-height:260px;
}
.story-image{
  display:block;                /* IMPORTANT */
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media (max-width: 900px){
  .story-grid{ grid-template-columns:1fr; }
  .story-image-wrap{ height:200px; }  /* mobile height */
}

.btn{
  display:inline-block;
  padding:12px 16px;
  border-radius:999px;
  text-decoration:none;
  border:1px solid rgba(27,31,42,.14);
  background: linear-gradient(90deg, var(--mp-purple), var(--mp-teal));
  border:1px solid rgba(176,138,60,.35);
  color:#fff;
  cursor:pointer;
}
.btn.secondary{
  background:rgba(255,255,255,.80);
  border:1px solid rgba(176,138,60,.25);
  color:var(--text);
}
.btn:hover{opacity:.92}
.h1{font-size:38px;font-weight:900;margin:0 0 10px 0;font-family:'Playfair Display', serif;background:linear-gradient(90deg,var(--mp-purple),var(--mp-brass),var(--mp-teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.h2{font-size:22px;font-weight:900;margin:0 0 10px 0;font-family:'Playfair Display', serif}
.muted{color:var(--muted)}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.input, select, textarea{width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--border);font-size:14px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-top:1px solid var(--border);text-align:left;font-size:14px}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--border);font-size:12px;background:#fff}
.banner{padding:10px 12px;border-radius:18px;border:1px solid rgba(245,158,11,.35);background:rgba(255,251,235,.9);color:#92400e}
.footer{border-top:1px solid var(--border);padding:26px 0;color:var(--muted);font-size:13px}

/* Landing accents */
.hero{
  position:relative;
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(800px 420px at 20% 10%, rgba(176,138,60,.12), transparent 60%),
    radial-gradient(700px 380px at 90% 0%, rgba(75,31,89,.10), transparent 60%);
  pointer-events:none;
}
.hero-inner{position:relative}
.ribbon{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(176,138,60,.35);
  background:rgba(255,255,255,.75);
  color:rgba(26,26,31,.88);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ticket{
  border:1px dashed rgba(176,138,60,.45);
  background:rgba(255,255,255,.82);
  border-radius:16px;
  padding:12px 14px;
}
.ticket + .ticket{margin-top:10px}
.divider{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(176,138,60,.45), transparent);
  margin:16px 0;
}

.home-hero{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap:18px;
  align-items:start;
}
@media (max-width: 860px){
  .home-hero{ grid-template-columns: 1fr; }
}

/* Home content sections */
.home-sections{margin-top:18px;display:grid;gap:18px}
.section-head{max-width:900px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.feature-card,.pillar{
  padding:14px 14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.86));
  box-shadow:0 8px 18px rgba(0,0,0,.04);
}
.feature-title{
  font-family:"Playfair Display", Georgia, serif;
  letter-spacing:.2px;
  font-weight:700;
  margin-bottom:6px;
}
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.quote-card{position:relative;overflow:hidden}
.quote{
  margin:14px 0 0 0;
  padding:12px 14px;
  border-left:3px solid rgba(176,138,60,.65);
  background:rgba(176,138,60,.08);
  border-radius:12px;
  font-family:"Playfair Display", Georgia, serif;
  font-size:18px;
  line-height:1.6;
}
@media (max-width: 920px){
  .feature-grid,.pillar-grid{grid-template-columns:1fr}
}
