/* Flavor for the Soul — brand stylesheet (black · pink · white) */
:root{
  --black:#101014;
  --pink:#EC2C75;
  --pink-dark:#C9165C;
  --pink-soft:#FDE7F1;
  --white:#ffffff;
  --ink:#2b2b30;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--white);color:var(--ink);line-height:1.75;font-weight:300}
h1,h2,h3{font-family:'Oswald',sans-serif;text-transform:uppercase;color:var(--black);letter-spacing:.04em}
.script{font-family:'Allura',cursive;text-transform:none;font-weight:400}
img{display:block;max-width:100%}
a{color:var(--pink)}

/* ---- nav ---- */
nav{position:sticky;top:0;z-index:100;background:var(--white);display:flex;align-items:center;
    justify-content:space-between;padding:.7rem 4vw;border-bottom:3px dotted var(--black)}
.nav-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.nav-brand svg{width:54px;height:54px}
.nav-brand .word{font-family:'Oswald',sans-serif;font-weight:600;color:var(--black);font-size:1.05rem;letter-spacing:.08em;line-height:1.1}
.nav-brand .word .script{color:var(--pink);font-size:1.5rem;letter-spacing:0}
.nav-links{display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap}
.nav-links a{text-decoration:none;color:var(--black);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:400;padding-bottom:2px;border-bottom:2px solid transparent;transition:all .2s}
.nav-links a:hover{color:var(--pink)}
.nav-links a.active{color:var(--pink);border-bottom-color:var(--pink)}
.nav-links a.order{background:var(--pink);color:var(--white);padding:.55rem 1.4rem;border-radius:2rem;border:none;font-weight:500}
.nav-links a.order:hover{background:var(--black)}
@media(max-width:880px){.nav-links{gap:.9rem}.nav-links a{font-size:.7rem}}

/* ---- buttons ---- */
.btn{display:inline-block;text-decoration:none;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
     padding:.95rem 2.4rem;border-radius:3rem;transition:all .25s;margin:.35rem;font-weight:500}
.btn-pink{background:var(--pink);color:var(--white)}
.btn-pink:hover{background:var(--white);color:var(--pink);transform:translateY(-2px)}
.btn-outline-w{border:2px solid var(--white);color:var(--white)}
.btn-outline-w:hover{border-color:var(--pink);color:var(--pink)}
.btn-outline-b{border:2px solid var(--black);color:var(--black)}
.btn-outline-b:hover{background:var(--black);color:var(--white)}

/* ---- page hero band ---- */
.page-hero{background:var(--black);text-align:center;padding:5rem 5vw 4.2rem;position:relative;overflow:hidden}
.page-hero .script{color:var(--pink);font-size:clamp(2.2rem,5vw,3.4rem);display:block}
.page-hero h1{color:var(--white);font-size:clamp(2rem,5.5vw,3.6rem);font-weight:600}
.page-hero p{color:rgba(255,255,255,.75);max-width:560px;margin:1rem auto 0}
.dotline{width:120px;margin:1.4rem auto 0;border-bottom:4px dotted var(--pink)}

/* ---- sections ---- */
section{padding:4.5rem 5vw}
.kicker{color:var(--pink);letter-spacing:.4em;text-transform:uppercase;font-size:.72rem;margin-bottom:.8rem;font-weight:500}
.section-title{font-size:clamp(1.7rem,3.5vw,2.5rem);margin-bottom:1rem;font-weight:600}
.center{text-align:center}
.wrap{max-width:1150px;margin:0 auto}

/* ---- cards ---- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.6rem;margin-top:2.6rem}
.card{background:var(--white);border:2px dotted var(--black);border-radius:20px;padding:2.4rem 1.9rem;
      transition:transform .3s,box-shadow .3s,border-color .3s;text-align:center}
.card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(16,16,20,.12);border-color:var(--pink)}
.card .glyph{font-size:2.1rem;margin-bottom:.8rem}
.card h3{font-size:1.35rem;margin-bottom:.5rem}
.card .sub{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--pink);margin-bottom:.9rem;font-weight:500}

/* ---- gallery ---- */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem;margin-top:2.4rem}
.gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;cursor:pointer;
  transition:transform .3s,box-shadow .3s}
.gallery-grid img:hover{transform:scale(1.04);box-shadow:0 14px 34px rgba(236,44,117,.3)}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(16,16,20,.93);display:none;align-items:center;justify-content:center;z-index:200;cursor:zoom-out}
.lightbox.open{display:flex}
.lightbox img{max-width:88vw;max-height:86vh;border-radius:12px;border:4px solid var(--white)}

/* ---- pink band ---- */
.pink-band{background:var(--pink-soft);text-align:center}
.black-band{background:var(--black);text-align:center;color:var(--white)}
.black-band h2{color:var(--white)}
.black-band .script{color:var(--pink)}

/* ---- footer ---- */
footer{background:var(--black);color:rgba(255,255,255,.85);padding:3.5rem 5vw 2rem;border-top:6px dotted var(--pink)}
.foot-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.2rem;text-align:center}
.foot-grid h3{color:var(--white);font-size:1rem;letter-spacing:.2em;margin-bottom:.8rem}
.foot-grid a{color:rgba(255,255,255,.85);text-decoration:none}
.foot-grid a:hover{color:var(--pink)}
.foot-script{text-align:center;font-family:'Allura',cursive;color:var(--pink);font-size:2.2rem;margin-bottom:1.6rem}
.fine{text-align:center;font-size:.74rem;color:rgba(255,255,255,.4);margin-top:2.4rem}
.tel{font-family:'Oswald',sans-serif;font-size:1.3rem;letter-spacing:.1em;color:var(--pink)!important}

/* ---- reveal ---- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.show{opacity:1;transform:none}

/* ---- story layout ---- */
.split{display:grid;grid-template-columns:1fr 1.25fr;gap:3.5rem;align-items:center;max-width:1100px;margin:0 auto}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.split img{border-radius:18px;box-shadow:0 22px 50px rgba(16,16,20,.25)}
.tribute{border-left:4px solid var(--pink);padding-left:1.2rem;font-style:italic;color:var(--pink-dark);margin:1.4rem 0;font-weight:400}
