/* Studio Nandar — shared stylesheet for the entire HubSpot site. */

:root{
  --sn-site-url: "https://studionandar.com";
}

/* The source pages used two generations of class names (sn-* and the older unprefixed set).
   Both are intentionally retained here during the migration so page content keeps its design. */

/* ===== Migrated from About.html / style block 1 ===== */
/* ============================================================
   STUDIO NANDAR — Core Stylesheet
   Handcrafted soy wax candle bouquets, Calgary
   ============================================================ */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500;600&family=Parisienne&display=swap');

/* ---------- Design Tokens ---------- */
:root{
  /* colour */
  --ink:#18171b;
  --ink-soft:#38363c;
  --paper:#fffdfb;
  --paper-dim:#fbf6f4;
  --champagne:#faf1ec;
  --blush:#ffe4ed;
  --blush-deep:#f6c9d7;
  --blush-line: rgba(24,23,27,0.08);
  --rose:#a8506c;
  --rose-dark:#7c3650;
  --rose-mid:#c17c93;
  --gold:#c9a45c;

  /* type */
  --font-display:'Cormorant Garamond', 'Times New Roman', serif;
  --font-body:'Jost', 'Helvetica Neue', Arial, sans-serif;
  --font-script:'Parisienne', cursive;

  /* layout */
  --maxw:1280px;
  --gutter:clamp(1.25rem, 4vw, 3.5rem);
  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:28px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0;color:var(--ink);}
p{margin:0;}
section{position:relative;}

/* ---------- Custom scrollbar (baby pink) ---------- */
html{
  scrollbar-width:thin;
  scrollbar-color: var(--rose-mid) var(--blush);
}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--blush);}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, var(--rose-mid), var(--rose));
  border-radius:10px;
  border:3px solid var(--blush);
}
::-webkit-scrollbar-thumb:hover{background:var(--rose-dark);}

/* ---------- Selection ---------- */
::selection{background:var(--blush-deep);color:var(--rose-dark);}

/* ---------- Focus ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--rose);
  outline-offset:3px;
  border-radius:4px;
}

/* ---------- Utility ---------- */
.sn-wrap{max-width:var(--maxw); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter);}
.sn-eyebrow{
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--rose);
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:.6em;
}
.sn-eyebrow::before{content:'';width:22px;height:1px;background:var(--rose-mid);display:inline-block;}
.sn-section-head{text-align:center; max-width:640px; margin:0 auto 3.2rem;}
.sn-section-head h2{font-size:clamp(2rem,4vw,2.9rem); margin:.7rem 0 1rem; letter-spacing:.01em;}
.sn-section-head p{color:var(--ink-soft); font-size:1.02rem;}
.sn-section-pad{padding:clamp(4rem,8vw,7rem) 0;}
.sn-italic{font-style:italic; color:var(--rose); font-weight:400;}

.sn-btn{
  display:inline-flex;align-items:center;gap:.55em;
  padding:.95em 2em;
  border-radius:999px;
  font-family:var(--font-body);
  font-size:.82rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  border:1px solid transparent;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), background .3s ease, color .3s ease, border-color .3s ease;
  white-space:nowrap;
}
.sn-btn svg{width:15px;height:15px;flex:none;}
.sn-btn-primary{background:var(--ink);color:var(--paper);}
.sn-btn-primary:hover{background:var(--rose-dark); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(124,54,80,.55);}
.sn-btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.sn-btn-outline:hover{background:var(--ink); color:var(--paper); transform:translateY(-3px);}
.sn-btn-blush{background:var(--blush); color:var(--rose-dark); border-color:var(--blush-deep);}
.sn-btn-blush:hover{background:var(--rose-dark); color:var(--paper); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(124,54,80,.45);}
.sn-btn-ghost-light{background:transparent;color:var(--paper);border-color:rgba(255,255,255,.5);}
.sn-btn-ghost-light:hover{background:var(--paper); color:var(--ink); transform:translateY(-3px);}

/* ---------- Announcement bar ---------- */
.sn-announce{
  background:var(--ink);
  color:var(--blush);
  overflow:hidden;
  white-space:nowrap;
  position:relative;
  height:38px;
}
.sn-announce-track{
  display:inline-flex;
  align-items:center;
  gap:2.5rem;
  height:100%;
  animation:marquee 32s linear infinite;
  padding-left:100%;
}
.sn-announce-track span{
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:2.5rem;
  font-weight:400;
  color:var(--blush);
}
.sn-announce-track .sn-dot{color:var(--rose-mid); font-size:.9rem;}
@keyframes marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}

/* ---------- Header / Nav ---------- */
header.sn-site-header{
  position:sticky; top:0; z-index:200;
  background:rgba(255,253,251,.86);
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--blush-line);
  transition:box-shadow .35s ease;
}
header.sn-site-header.sn-scrolled{box-shadow:0 12px 30px -20px rgba(0,0,0,.25);}
.sn-nav-inner{
  max-width:var(--maxw); margin:0 auto; padding:.7rem var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
}
.sn-brand{display:flex; align-items:center; gap:.6rem; flex:none;}
.sn-brand img{height:46px; width:auto;}
.sn-brand .sn-brand-tag{
  display:none;
}

.sn-nav-links{display:flex; align-items:center; gap:2.1rem; margin:0 auto;}
.sn-nav-links > li{position:relative;}
.sn-nav-links a.sn-nav-link{
  font-size:.82rem; letter-spacing:.09em; text-transform:uppercase;
  font-weight:500; color:var(--ink-soft);
  padding:.5rem .1rem;
  position:relative;
}
.sn-nav-links a.sn-nav-link::after{
  content:'';position:absolute; left:0; bottom:0; width:0; height:1.5px;
  background:var(--rose); transition:width .35s var(--ease);
}
.sn-nav-links a.sn-nav-link:hover, .sn-nav-links li.sn-active > a.sn-nav-link{color:var(--ink);}
.sn-nav-links a.sn-nav-link:hover::after, .sn-nav-links li.sn-active > a.sn-nav-link::after{width:100%;}
.sn-nav-links li.sn-has-drop > a.sn-nav-link{display:flex; align-items:center; gap:.4em;}
.sn-nav-links li.sn-has-drop svg{width:9px;height:9px; transition:transform .3s ease;}
.sn-nav-links li.sn-has-drop:hover svg{transform:rotate(180deg);}

.sn-nav-cta{display:flex; align-items:center; gap:1rem; flex:none;}
.sn-icon-btn{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--blush-line); color:var(--ink);
  transition:background .3s ease, color .3s ease, transform .3s ease;
}
.sn-icon-btn:hover{background:var(--blush); color:var(--rose-dark); transform:translateY(-2px);}
.sn-icon-btn svg{width:17px;height:17px;}

.sn-menu-toggle{display:none; background:none; border:none; padding:.4rem;}
.sn-menu-toggle span{display:block; width:24px; height:1.5px; background:var(--ink); margin:5px 0; transition:transform .3s ease, opacity .3s ease;}

/* Mega dropdown */
.sn-mega{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%) translateY(8px);
  width:min(720px, 84vw);
  background:var(--paper);
  border:1px solid var(--blush-line);
  border-radius:var(--radius-md);
  box-shadow:0 32px 60px -24px rgba(24,23,27,.28);
  padding:1.6rem;
  display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
  z-index:50;
}
.sn-nav-links li.sn-has-drop:hover .sn-mega,
.sn-nav-links li.sn-has-drop.sn-open .sn-mega{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.sn-mega a{display:flex; flex-direction:column; gap:.6rem; text-align:left;}
.sn-mega .sn-mega-thumb{
  border-radius:10px; overflow:hidden; aspect-ratio:1/1; background:var(--blush);
}
.sn-mega .sn-mega-thumb img{width:100%;height:100%;object-fit:cover; transition:transform .6s var(--ease);}
.sn-mega a:hover .sn-mega-thumb img{transform:scale(1.12);}
.sn-mega .sn-mega-label{font-size:.78rem; letter-spacing:.03em; color:var(--ink); font-weight:500;}
.sn-mega .sn-mega-label small{display:block; font-weight:300; color:var(--ink-soft); font-size:.72rem; letter-spacing:0; margin-top:.15rem; font-family:var(--font-body);}

/* ---------- Buttons row mobile drawer ---------- */
.sn-mobile-drawer{
  position:fixed; inset:0 0 0 auto; width:min(360px,86vw); height:100vh;
  background:var(--paper); z-index:400; padding:1.6rem;
  transform:translateX(100%); transition:transform .45s var(--ease);
  overflow-y:auto; box-shadow:-20px 0 50px rgba(0,0,0,.25);
}
.sn-mobile-drawer.sn-open{transform:translateX(0);}
.sn-mobile-drawer .sn-close-drawer{background:none;border:none;margin-left:auto;display:block;padding:.5rem;}
.sn-mobile-drawer .sn-close-drawer svg{width:20px;height:20px;}
.sn-mobile-drawer nav ul{display:flex; flex-direction:column; margin-top:1.5rem;}
.sn-mobile-drawer nav a{
  display:block; padding:.85rem 0; font-family:var(--font-display); font-size:1.3rem;
  border-bottom:1px solid var(--blush-line); color:var(--ink);
}
.sn-mobile-drawer .sn-sub-list{display:none; flex-direction:column; padding-left:1rem;}
.sn-mobile-drawer .sn-sub-list a{font-family:var(--font-body); font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; padding:.6rem 0; border:none; color:var(--ink-soft);}
.sn-scrim{position:fixed; inset:0; background:rgba(24,23,27,.4); z-index:350; opacity:0; visibility:hidden; transition:opacity .4s ease;}
.sn-scrim.sn-open{opacity:1; visibility:visible;}

/* ============================================================
   Decorative rose line-art (signature motif)
   ============================================================ */
.sn-rose-motif{position:absolute; pointer-events:none; opacity:.5;}
.sn-rose-line{fill:none; stroke:var(--rose-mid); stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round;}

.sn-divider-rose{display:flex; align-items:center; justify-content:center; gap:1rem; margin:0 auto;}
.sn-divider-rose .sn-line{width:60px; height:1px; background:linear-gradient(90deg, transparent, var(--blush-deep));}
.sn-divider-rose .sn-line.sn-r{background:linear-gradient(90deg, var(--blush-deep), transparent);}
.sn-divider-rose svg{width:26px;height:26px;flex:none;}

/* ============================================================
   Product / Photo cards — hover zoom + shadow (the finer detail)
   ============================================================ */
.sn-figure{
  position:relative; overflow:hidden; border-radius:var(--radius-md);
  background:var(--blush);
  box-shadow:0 1px 2px rgba(24,23,27,.05);
  transition:box-shadow .5s var(--ease), transform .5s var(--ease);
}
.sn-figure img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease), filter .8s var(--ease);}
.sn-figure:hover{box-shadow:0 34px 60px -22px rgba(24,23,27,.35);}
.sn-figure:hover img{transform:scale(1.09);}
.sn-figure::after{
  content:''; position:absolute; inset:0; border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  pointer-events:none;
}

.sn-card{
  background:var(--paper);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  border:1px solid var(--blush-line);
}
.sn-card:hover{transform:translateY(-8px); box-shadow:0 30px 55px -24px rgba(24,23,27,.28); border-color:transparent;}
.sn-card .sn-figure{border-radius:0; aspect-ratio:1/1;}
.sn-card .sn-card-body{padding:1.4rem 1.5rem 1.7rem;}
.sn-card .sn-card-body h3{font-size:1.28rem; margin-bottom:.35rem;}
.sn-card .sn-price{color:var(--rose); font-family:var(--font-display); font-style:italic; font-size:1.05rem; margin-bottom:.55rem; display:block;}
.sn-card .sn-desc{font-size:.86rem; color:var(--ink-soft); line-height:1.6;}
.sn-card .sn-card-tag{
  position:absolute; top:12px; left:12px; z-index:2;
  background:rgba(255,253,251,.92); color:var(--rose-dark);
  font-size:.65rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.4em .8em; border-radius:999px; font-weight:500;
}

.sn-grid{display:grid; gap:1.8rem;}
.sn-grid-4{grid-template-columns:repeat(4,1fr);}
.sn-grid-3{grid-template-columns:repeat(3,1fr);}
.sn-grid-2{grid-template-columns:repeat(2,1fr);}

/* ---------- reveal on scroll ---------- */
.sn-reveal{opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
.sn-reveal.sn-in{opacity:1; transform:translateY(0);}
.sn-reveal-stagger > *{transition-delay:calc(var(--i,0) * 90ms);}

/* ---------- Footer ---------- */
footer.sn-site-footer{background:var(--ink); color:rgba(255,253,251,.72); padding-top:0;}
.sn-foot-cta{
  background:linear-gradient(135deg, var(--blush-deep), var(--blush));
  padding:clamp(3rem,7vw,4.5rem) 0; text-align:center; color:var(--ink);
  position:relative; overflow:hidden;
}
.sn-foot-cta h2{color:var(--ink); font-size:clamp(1.9rem,4vw,2.7rem);}
.sn-foot-cta p{color:var(--ink-soft); max-width:520px; margin:1rem auto 2rem;}
.sn-foot-main{padding:clamp(3.5rem,7vw,5rem) 0 2.5rem;}
.sn-foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:3rem;}
.sn-foot-grid h4{color:var(--paper); font-family:var(--font-body); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500; margin-bottom:1.3rem;}
.sn-foot-grid img{height:42px; margin-bottom:1rem;}
.sn-foot-grid p.sn-blurb{font-size:.88rem; line-height:1.75; max-width:280px;}
.sn-foot-grid ul li{margin-bottom:.8rem;}
.sn-foot-grid ul a{font-size:.87rem; transition:color .3s ease, padding-left .3s ease;}
.sn-foot-grid ul a:hover{color:var(--blush); padding-left:4px;}
.sn-foot-social{display:flex; gap:.7rem; margin-top:1.4rem;}
.sn-foot-social a{width:36px;height:36px; border-radius:50%; border:1px solid rgba(255,253,251,.25); display:flex; align-items:center; justify-content:center; transition:.3s;}
.sn-foot-social a svg{width:15px;height:15px;}
.sn-foot-social a:hover{background:var(--blush); color:var(--rose-dark); border-color:var(--blush);}
.sn-foot-bottom{border-top:1px solid rgba(255,253,251,.14); padding:1.4rem 0; text-align:center; font-size:.78rem; letter-spacing:.02em; color:rgba(255,253,251,.55);}
.sn-foot-bottom a{text-decoration:underline; text-underline-offset:3px;}

/* ---------- Back to top ---------- */
#sn-toTop{
  position:fixed; right:1.6rem; bottom:1.6rem; z-index:150;
  width:46px;height:46px;border-radius:50%;
  background:var(--ink); color:var(--blush);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.4s var(--ease);
}
#sn-toTop.sn-show{opacity:1; visibility:visible; transform:translateY(0);}
#sn-toTop:hover{background:var(--rose-dark);}
#sn-toTop svg{width:16px;height:16px;}

/* ============================================================
   Page banner (interior pages)
   ============================================================ */
.sn-page-banner{
  padding:clamp(5.5rem,12vw,8rem) 0 clamp(3rem,6vw,4.5rem);
  text-align:center;
  background:
    radial-gradient(60% 100% at 50% 0%, var(--blush) 0%, rgba(255,228,237,0) 70%),
    var(--paper);
  position:relative; overflow:hidden;
}
.sn-page-banner .sn-crumb{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:1rem; display:flex; gap:.5em; align-items:center; justify-content:center;}
.sn-page-banner .sn-crumb a:hover{color:var(--rose);}
.sn-page-banner h1{font-size:clamp(2.6rem,6vw,4.2rem); margin:.3rem 0 1rem;}
.sn-page-banner p{max-width:620px; margin:0 auto; color:var(--ink-soft);}

/* ============================================================
   HOMEPAGE — Hero
   ============================================================ */
.sn-hero{
  padding:clamp(3rem,7vw,5rem) 0 clamp(4rem,8vw,6rem);
  background:
    radial-gradient(48% 60% at 82% 12%, var(--blush) 0%, rgba(255,228,237,0) 72%),
    radial-gradient(38% 50% at 8% 90%, var(--champagne) 0%, rgba(250,241,236,0) 70%),
    var(--paper);
  overflow:hidden;
}
.sn-hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
.sn-hero-copy h1{font-size:clamp(2.7rem,5.4vw,4.4rem); line-height:1.08; margin:1rem 0 1.3rem;}
.sn-hero-sub{font-size:1.08rem; color:var(--ink-soft); max-width:460px; margin-bottom:2.1rem;}
.sn-hero-actions{display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.6rem;}
.sn-trust-row{display:flex; gap:1.8rem; flex-wrap:wrap;}
.sn-trust-row li{display:flex; align-items:center; gap:.55em; font-size:.82rem; color:var(--ink-soft); letter-spacing:.01em;}
.sn-trust-row svg{width:17px;height:17px; color:var(--rose); flex:none;}

.sn-hero-visual{position:relative; height:clamp(380px,42vw,560px);}
.sn-hero-blob{
  position:absolute; inset:2% 0%;
  background:var(--blush);
  border-radius:40px;
  z-index:0;
}
.sn-hero-rose{top:-6%; right:-4%; width:150px; height:150px; z-index:1;}
.sn-hero-photo{position:absolute; z-index:2;}
.sn-hero-photo img{width:100%; height:100%;}
.sn-hero-photo-1{width:52%; aspect-ratio:1/1.02; top:6%; left:2%; box-shadow:0 30px 55px -20px rgba(24,23,27,.35);}
.sn-hero-photo-2{width:40%; aspect-ratio:285/220; bottom:9%; right:2%; box-shadow:0 30px 55px -20px rgba(24,23,27,.35);}
.sn-hero-photo-3{width:34%; aspect-ratio:1/1; bottom:0; left:20%; box-shadow:0 24px 45px -18px rgba(24,23,27,.32); z-index:3;}
.sn-hero-signature{
  position:absolute; top:2%; right:6%; z-index:3;
  font-family:var(--font-script); color:var(--rose); font-size:1.3rem; transform:rotate(-6deg);
}
.sn-font-script{font-family:var(--font-script);}

/* ---------- Category cards ---------- */
.sn-cat-card{display:block; text-align:center;}
.sn-cat-card .sn-figure{aspect-ratio:1/1; margin-bottom:1.1rem; border-radius:var(--radius-lg);}
.sn-cat-card h3{font-size:1.3rem; margin-bottom:.3rem;}
.sn-cat-card .sn-cat-link{font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--rose); font-weight:500;}

/* ---------- Why us ---------- */
.sn-why-item{text-align:center; padding:1rem;}
.sn-why-item svg{width:40px;height:40px; color:var(--rose); margin-bottom:1.1rem;}
.sn-why-item h3{font-size:1.18rem; margin-bottom:.5rem;}
.sn-why-item p{font-size:.88rem; color:var(--ink-soft);}

/* ---------- Process ---------- */
.sn-process-steps > div{padding:1rem; border-left:1px solid rgba(255,253,251,.16);}
.sn-process-steps > div:first-child{border-left:none;}
.sn-step-no{font-family:var(--font-display); font-style:italic; color:var(--rose-mid); font-size:1.6rem; display:block; margin-bottom:.6rem;}
.sn-process-steps h3{color:var(--paper); font-size:1.2rem; margin-bottom:.5rem;}
.sn-process-steps p{color:rgba(255,253,251,.65); font-size:.88rem;}

/* ---------- Quote ---------- */
.sn-quote-section{background:var(--blush);}
.sn-quote{font-family:var(--font-display); font-style:italic; font-size:clamp(1.4rem,3vw,2rem); line-height:1.5; color:var(--ink);}

/* ---------- Instagram band ---------- */
.sn-ig-band{background:var(--champagne);}
.sn-ig-inner{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center;}
.sn-ig-inner h2{margin:.6rem 0 1rem; font-size:clamp(2rem,4vw,2.6rem);}
.sn-ig-inner p{color:var(--ink-soft); max-width:420px; margin-bottom:1.8rem;}
.sn-ig-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.sn-ig-grid .sn-figure{aspect-ratio:1/1; border-radius:var(--radius-md);}

@media (max-width:880px){
  .sn-hero-grid{grid-template-columns:1fr;}
  .sn-hero-visual{order:-1; height:340px; margin-bottom:1rem;}
  .sn-ig-inner{grid-template-columns:1fr;}
  .sn-process-steps > div{border-left:none; border-top:1px solid rgba(255,253,251,.16);}
}

/* ============================================================
   About page
   ============================================================ */
.sn-story-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center;}
.sn-story-copy p{color:var(--ink-soft); margin-bottom:1.2rem;}
.sn-story-photos{position:relative; height:440px;}
.sn-story-photos .sn-figure{position:absolute;}
.sn-story-photos .sn-p1{width:62%; aspect-ratio:1/1; top:0; left:0; box-shadow:0 30px 55px -20px rgba(24,23,27,.3);}
.sn-story-photos .sn-p2{width:44%; aspect-ratio:285/220; bottom:0; right:0; box-shadow:0 26px 50px -18px rgba(24,23,27,.3);}

.sn-values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.sn-value-card{background:var(--paper); border:1px solid var(--blush-line); border-radius:var(--radius-md); padding:2.2rem 1.8rem; text-align:center; transition:transform .5s var(--ease), box-shadow .5s var(--ease);}
.sn-value-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(24,23,27,.25);}
.sn-value-card svg{width:34px;height:34px;color:var(--rose); margin-bottom:1rem;}
.sn-value-card h3{font-size:1.1rem; margin-bottom:.6rem;}
.sn-value-card p{font-size:.87rem; color:var(--ink-soft);}

.sn-founder-note{
  background:var(--blush); border-radius:var(--radius-lg); padding:clamp(2.2rem,5vw,3.6rem);
  display:grid; grid-template-columns:auto 1fr; gap:2.2rem; align-items:center;
}
.sn-founder-note .sn-mark{font-family:var(--font-display); font-size:4rem; color:var(--rose-mid); line-height:1; font-style:italic;}
.sn-founder-note p{font-family:var(--font-display); font-style:italic; font-size:1.35rem; line-height:1.6; color:var(--ink);}
.sn-founder-note .sn-sign{margin-top:1rem; font-family:var(--font-script); font-size:1.4rem; color:var(--rose-dark); font-style:normal;}

/* ============================================================
   Candle Care page
   ============================================================ */
.sn-care-steps{display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem;}
.sn-care-step{
  display:flex; gap:1.4rem; background:var(--paper); border:1px solid var(--blush-line);
  border-radius:var(--radius-md); padding:1.8rem; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.sn-care-step:hover{transform:translateY(-5px); box-shadow:0 22px 45px -24px rgba(24,23,27,.25);}
.sn-care-step .sn-num{
  flex:none; width:44px;height:44px;border-radius:50%; background:var(--blush); color:var(--rose-dark);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-style:italic; font-size:1.2rem;
}
.sn-care-step h3{font-size:1.08rem; margin-bottom:.4rem;}
.sn-care-step p{font-size:.87rem; color:var(--ink-soft);}

.sn-safety-banner{
  background:var(--ink); color:var(--paper); border-radius:var(--radius-lg);
  padding:clamp(2rem,5vw,3rem); display:flex; gap:1.6rem; align-items:flex-start;
}
.sn-safety-banner svg{flex:none; width:36px;height:36px; color:var(--rose-mid);}
.sn-safety-banner h3{color:var(--paper); margin-bottom:.5rem;}
.sn-safety-banner p{color:rgba(255,253,251,.72); font-size:.92rem; line-height:1.8;}

/* ---------- FAQ accordion ---------- */
.sn-faq-list{max-width:760px; margin:0 auto;}
.sn-faq-item{border-bottom:1px solid var(--blush-line);}
.sn-faq-q{
  width:100%; text-align:left; background:none; border:none; padding:1.4rem .2rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-family:var(--font-display); font-size:1.15rem; color:var(--ink);
}
.sn-faq-q .sn-plus{flex:none; width:26px;height:26px; position:relative;}
.sn-faq-q .sn-plus::before, .sn-faq-q .sn-plus::after{content:''; position:absolute; background:var(--rose); transition:transform .35s var(--ease);}
.sn-faq-q .sn-plus::before{left:0; top:50%; width:100%; height:1.4px; transform:translateY(-50%);}
.sn-faq-q .sn-plus::after{top:0; left:50%; width:1.4px; height:100%; transform:translateX(-50%);}
.sn-faq-item.sn-open .sn-plus::after{transform:translateX(-50%) rotate(90deg); opacity:0;}
.sn-faq-a{max-height:0; overflow:hidden; transition:max-height .45s var(--ease);}
.sn-faq-item.sn-open .sn-faq-a{max-height:220px;}
.sn-faq-a p{padding:0 .2rem 1.5rem; color:var(--ink-soft); font-size:.92rem; line-height:1.75; max-width:640px;}

/* ============================================================
   Contact page
   ============================================================ */
.sn-contact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.sn-contact-card{
  background:var(--paper); border:1px solid var(--blush-line); border-radius:var(--radius-md);
  padding:2.2rem 1.8rem; text-align:center; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.sn-contact-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(24,23,27,.25);}
.sn-contact-card svg{width:32px;height:32px; color:var(--rose); margin-bottom:1rem;}
.sn-contact-card h3{font-size:1.1rem; margin-bottom:.5rem;}
.sn-contact-card p{font-size:.87rem; color:var(--ink-soft); margin-bottom:1.2rem;}

.sn-location-card{
  display:grid; grid-template-columns:1fr 1fr; border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--blush-line);
}
.sn-location-map{
  background:
    repeating-linear-gradient(0deg, transparent, transparent 38px, var(--blush-line) 39px),
    repeating-linear-gradient(90deg, transparent, transparent 38px, var(--blush-line) 39px),
    var(--champagne);
  position:relative; min-height:320px; display:flex; align-items:center; justify-content:center;
}
.sn-location-map .sn-pin{
  width:56px;height:56px;border-radius:50% 50% 50% 0; background:var(--rose); transform:rotate(-45deg);
  display:flex; align-items:center; justify-content:center; box-shadow:0 18px 30px -12px rgba(124,54,80,.5);
}
.sn-location-map .sn-pin svg{transform:rotate(45deg); width:24px;height:24px; color:var(--paper);}
.sn-location-info{padding:clamp(2rem,4vw,3rem); display:flex; flex-direction:column; justify-content:center;}
.sn-location-info h3{font-size:1.4rem; margin-bottom:1rem;}
.sn-location-info ul li{display:flex; gap:.8em; margin-bottom:1rem; font-size:.92rem; color:var(--ink-soft);}
.sn-location-info ul svg{flex:none; width:18px;height:18px; color:var(--rose); margin-top:2px;}

@media (max-width:880px){
  .sn-story-grid{grid-template-columns:1fr;}
  .sn-story-photos{order:-1;}
  .sn-values-grid, .sn-care-steps, .sn-contact-grid{grid-template-columns:1fr 1fr;}
  .sn-location-card{grid-template-columns:1fr;}
  .sn-founder-note{grid-template-columns:1fr; text-align:center;}
}
@media (max-width:560px){
  .sn-values-grid, .sn-care-steps, .sn-contact-grid{grid-template-columns:1fr;}
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .sn-grid-4{grid-template-columns:repeat(3,1fr);}
  .sn-foot-grid{grid-template-columns:1.3fr 1fr 1fr; row-gap:2.5rem;}
  .sn-foot-grid > div:last-child{grid-column:1/-1;}
}
@media (max-width:880px){
  .sn-nav-links, .sn-nav-cta .sn-icon-btn:not(.sn-ig){display:none;}
  .sn-menu-toggle{display:block;}
  .sn-grid-3{grid-template-columns:repeat(2,1fr);}
  .sn-grid-4{grid-template-columns:repeat(2,1fr);}
  .sn-foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .sn-grid-2, .sn-grid-3, .sn-grid-4{grid-template-columns:repeat(2,1fr); gap:1rem;}
  .sn-foot-grid{grid-template-columns:1fr;}
  .sn-brand img{height:38px;}
}

/* ===== Migrated from Accessories.html / style block 1 ===== */
/* ============================================================
   STUDIO NANDAR — Core Stylesheet
   Handcrafted soy wax candle bouquets, Calgary
   ============================================================ */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500;600&family=Parisienne&display=swap');

/* ---------- Design Tokens ---------- */
:root{
  /* colour */
  --ink:#18171b;
  --ink-soft:#38363c;
  --paper:#fffdfb;
  --paper-dim:#fbf6f4;
  --champagne:#faf1ec;
  --blush:#ffe4ed;
  --blush-deep:#f6c9d7;
  --blush-line: rgba(24,23,27,0.08);
  --rose:#a8506c;
  --rose-dark:#7c3650;
  --rose-mid:#c17c93;
  --gold:#c9a45c;

  /* type */
  --font-display:'Cormorant Garamond', 'Times New Roman', serif;
  --font-body:'Jost', 'Helvetica Neue', Arial, sans-serif;
  --font-script:'Parisienne', cursive;

  /* layout */
  --maxw:1280px;
  --gutter:clamp(1.25rem, 4vw, 3.5rem);
  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:28px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0;color:var(--ink);}
p{margin:0;}
section{position:relative;}

/* ---------- Custom scrollbar (baby pink) ---------- */
html{
  scrollbar-width:thin;
  scrollbar-color: var(--rose-mid) var(--blush);
}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--blush);}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, var(--rose-mid), var(--rose));
  border-radius:10px;
  border:3px solid var(--blush);
}
::-webkit-scrollbar-thumb:hover{background:var(--rose-dark);}

/* ---------- Selection ---------- */
::selection{background:var(--blush-deep);color:var(--rose-dark);}

/* ---------- Focus ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--rose);
  outline-offset:3px;
  border-radius:4px;
}

/* ---------- Utility ---------- */
.wrap{max-width:var(--maxw); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter);}
.eyebrow{
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--rose);
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:.6em;
}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--rose-mid);display:inline-block;}
.section-head{text-align:center; max-width:640px; margin:0 auto 3.2rem;}
.section-head h2{font-size:clamp(2rem,4vw,2.9rem); margin:.7rem 0 1rem; letter-spacing:.01em;}
.section-head p{color:var(--ink-soft); font-size:1.02rem;}
.section-pad{padding:clamp(4rem,8vw,7rem) 0;}
.italic{font-style:italic; color:var(--rose); font-weight:400;}

.btn{
  display:inline-flex;align-items:center;gap:.55em;
  padding:.95em 2em;
  border-radius:999px;
  font-family:var(--font-body);
  font-size:.82rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  border:1px solid transparent;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), background .3s ease, color .3s ease, border-color .3s ease;
  white-space:nowrap;
}
.btn svg{width:15px;height:15px;flex:none;}
.btn-primary{background:var(--ink);color:var(--paper);}
.btn-primary:hover{background:var(--rose-dark); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(124,54,80,.55);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-outline:hover{background:var(--ink); color:var(--paper); transform:translateY(-3px);}
.btn-blush{background:var(--blush); color:var(--rose-dark); border-color:var(--blush-deep);}
.btn-blush:hover{background:var(--rose-dark); color:var(--paper); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(124,54,80,.45);}
.btn-ghost-light{background:transparent;color:var(--paper);border-color:rgba(255,255,255,.5);}
.btn-ghost-light:hover{background:var(--paper); color:var(--ink); transform:translateY(-3px);}

/* ---------- Announcement bar ---------- */
.announce{
  background:var(--ink);
  color:var(--blush);
  overflow:hidden;
  white-space:nowrap;
  position:relative;
  height:38px;
}
.announce-track{
  display:inline-flex;
  align-items:center;
  gap:2.5rem;
  height:100%;
  animation:marquee 32s linear infinite;
  padding-left:100%;
}
.announce-track span{
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:2.5rem;
  font-weight:400;
  color:var(--blush);
}
.announce-track .dot{color:var(--rose-mid); font-size:.9rem;}
@keyframes marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}

/* ---------- Header / Nav ---------- */
header.site-header{
  position:sticky; top:0; z-index:200;
  background:rgba(255,253,251,.86);
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--blush-line);
  transition:box-shadow .35s ease;
}
header.site-header.scrolled{box-shadow:0 12px 30px -20px rgba(0,0,0,.25);}
.nav-inner{
  max-width:var(--maxw); margin:0 auto; padding:.7rem var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
}
.brand{display:flex; align-items:center; gap:.6rem; flex:none;}
.brand img{height:46px; width:auto;}
.brand .brand-tag{
  display:none;
}

.nav-links{display:flex; align-items:center; gap:2.1rem; margin:0 auto;}
.nav-links > li{position:relative;}
.nav-links a.nav-link{
  font-size:.82rem; letter-spacing:.09em; text-transform:uppercase;
  font-weight:500; color:var(--ink-soft);
  padding:.5rem .1rem;
  position:relative;
}
.nav-links a.nav-link::after{
  content:'';position:absolute; left:0; bottom:0; width:0; height:1.5px;
  background:var(--rose); transition:width .35s var(--ease);
}
.nav-links a.nav-link:hover, .nav-links li.active > a.nav-link{color:var(--ink);}
.nav-links a.nav-link:hover::after, .nav-links li.active > a.nav-link::after{width:100%;}
.nav-links li.has-drop > a.nav-link{display:flex; align-items:center; gap:.4em;}
.nav-links li.has-drop svg{width:9px;height:9px; transition:transform .3s ease;}
.nav-links li.has-drop:hover svg{transform:rotate(180deg);}

.nav-cta{display:flex; align-items:center; gap:1rem; flex:none;}
.icon-btn{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--blush-line); color:var(--ink);
  transition:background .3s ease, color .3s ease, transform .3s ease;
}
.icon-btn:hover{background:var(--blush); color:var(--rose-dark); transform:translateY(-2px);}
.icon-btn svg{width:17px;height:17px;}

.menu-toggle{display:none; background:none; border:none; padding:.4rem;}
.menu-toggle span{display:block; width:24px; height:1.5px; background:var(--ink); margin:5px 0; transition:transform .3s ease, opacity .3s ease;}

/* Mega dropdown */
.mega{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%) translateY(8px);
  width:min(720px, 84vw);
  background:var(--paper);
  border:1px solid var(--blush-line);
  border-radius:var(--radius-md);
  box-shadow:0 32px 60px -24px rgba(24,23,27,.28);
  padding:1.6rem;
  display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
  z-index:50;
}
.nav-links li.has-drop:hover .mega,
.nav-links li.has-drop.open .mega{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.mega a{display:flex; flex-direction:column; gap:.6rem; text-align:left;}
.mega .mega-thumb{
  border-radius:10px; overflow:hidden; aspect-ratio:1/1; background:var(--blush);
}
.mega .mega-thumb img{width:100%;height:100%;object-fit:cover; transition:transform .6s var(--ease);}
.mega a:hover .mega-thumb img{transform:scale(1.12);}
.mega .mega-label{font-size:.78rem; letter-spacing:.03em; color:var(--ink); font-weight:500;}
.mega .mega-label small{display:block; font-weight:300; color:var(--ink-soft); font-size:.72rem; letter-spacing:0; margin-top:.15rem; font-family:var(--font-body);}

/* ---------- Buttons row mobile drawer ---------- */
.mobile-drawer{
  position:fixed; inset:0 0 0 auto; width:min(360px,86vw); height:100vh;
  background:var(--paper); z-index:400; padding:1.6rem;
  transform:translateX(100%); transition:transform .45s var(--ease);
  overflow-y:auto; box-shadow:-20px 0 50px rgba(0,0,0,.25);
}
.mobile-drawer.open{transform:translateX(0);}
.mobile-drawer .close-drawer{background:none;border:none;margin-left:auto;display:block;padding:.5rem;}
.mobile-drawer .close-drawer svg{width:20px;height:20px;}
.mobile-drawer nav ul{display:flex; flex-direction:column; margin-top:1.5rem;}
.mobile-drawer nav a{
  display:block; padding:.85rem 0; font-family:var(--font-display); font-size:1.3rem;
  border-bottom:1px solid var(--blush-line); color:var(--ink);
}
.mobile-drawer .sub-list{display:none; flex-direction:column; padding-left:1rem;}
.mobile-drawer .sub-list a{font-family:var(--font-body); font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; padding:.6rem 0; border:none; color:var(--ink-soft);}
.scrim{position:fixed; inset:0; background:rgba(24,23,27,.4); z-index:350; opacity:0; visibility:hidden; transition:opacity .4s ease;}
.scrim.open{opacity:1; visibility:visible;}

/* ============================================================
   Decorative rose line-art (signature motif)
   ============================================================ */
.rose-motif{position:absolute; pointer-events:none; opacity:.5;}
.rose-line{fill:none; stroke:var(--rose-mid); stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round;}

.divider-rose{display:flex; align-items:center; justify-content:center; gap:1rem; margin:0 auto;}
.divider-rose .line{width:60px; height:1px; background:linear-gradient(90deg, transparent, var(--blush-deep));}
.divider-rose .line.r{background:linear-gradient(90deg, var(--blush-deep), transparent);}
.divider-rose svg{width:26px;height:26px;flex:none;}

/* ============================================================
   Product / Photo cards — hover zoom + shadow (the finer detail)
   ============================================================ */
.figure{
  position:relative; overflow:hidden; border-radius:var(--radius-md);
  background:var(--blush);
  box-shadow:0 1px 2px rgba(24,23,27,.05);
  transition:box-shadow .5s var(--ease), transform .5s var(--ease);
}
.figure img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease), filter .8s var(--ease);}
.figure:hover{box-shadow:0 34px 60px -22px rgba(24,23,27,.35);}
.figure:hover img{transform:scale(1.09);}
.figure::after{
  content:''; position:absolute; inset:0; border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  pointer-events:none;
}

.card{
  background:var(--paper);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  border:1px solid var(--blush-line);
}
.card:hover{transform:translateY(-8px); box-shadow:0 30px 55px -24px rgba(24,23,27,.28); border-color:transparent;}
.card .figure{border-radius:0; aspect-ratio:1/1;}
.card .card-body{padding:1.4rem 1.5rem 1.7rem;}
.card .card-body h3{font-size:1.28rem; margin-bottom:.35rem;}
.card .price{color:var(--rose); font-family:var(--font-display); font-style:italic; font-size:1.05rem; margin-bottom:.55rem; display:block;}
.card .desc{font-size:.86rem; color:var(--ink-soft); line-height:1.6;}
.card .card-tag{
  position:absolute; top:12px; left:12px; z-index:2;
  background:rgba(255,253,251,.92); color:var(--rose-dark);
  font-size:.65rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.4em .8em; border-radius:999px; font-weight:500;
}

.grid{display:grid; gap:1.8rem;}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}
.reveal-stagger > *{transition-delay:calc(var(--i,0) * 90ms);}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--ink); color:rgba(255,253,251,.72); padding-top:0;}
.foot-cta{
  background:linear-gradient(135deg, var(--blush-deep), var(--blush));
  padding:clamp(3rem,7vw,4.5rem) 0; text-align:center; color:var(--ink);
  position:relative; overflow:hidden;
}
.foot-cta h2{color:var(--ink); font-size:clamp(1.9rem,4vw,2.7rem);}
.foot-cta p{color:var(--ink-soft); max-width:520px; margin:1rem auto 2rem;}
.foot-main{padding:clamp(3.5rem,7vw,5rem) 0 2.5rem;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:3rem;}
.foot-grid h4{color:var(--paper); font-family:var(--font-body); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500; margin-bottom:1.3rem;}
.foot-grid img{height:42px; margin-bottom:1rem;}
.foot-grid p.blurb{font-size:.88rem; line-height:1.75; max-width:280px;}
.foot-grid ul li{margin-bottom:.8rem;}
.foot-grid ul a{font-size:.87rem; transition:color .3s ease, padding-left .3s ease;}
.foot-grid ul a:hover{color:var(--blush); padding-left:4px;}
.foot-social{display:flex; gap:.7rem; margin-top:1.4rem;}
.foot-social a{width:36px;height:36px; border-radius:50%; border:1px solid rgba(255,253,251,.25); display:flex; align-items:center; justify-content:center; transition:.3s;}
.foot-social a svg{width:15px;height:15px;}
.foot-social a:hover{background:var(--blush); color:var(--rose-dark); border-color:var(--blush);}
.foot-bottom{border-top:1px solid rgba(255,253,251,.14); padding:1.4rem 0; text-align:center; font-size:.78rem; letter-spacing:.02em; color:rgba(255,253,251,.55);}
.foot-bottom a{text-decoration:underline; text-underline-offset:3px;}

/* ---------- Back to top ---------- */
#toTop{
  position:fixed; right:1.6rem; bottom:1.6rem; z-index:150;
  width:46px;height:46px;border-radius:50%;
  background:var(--ink); color:var(--blush);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.4s var(--ease);
}
#toTop.show{opacity:1; visibility:visible; transform:translateY(0);}
#toTop:hover{background:var(--rose-dark);}
#toTop svg{width:16px;height:16px;}

/* ============================================================
   Page banner (interior pages)
   ============================================================ */
.page-banner{
  padding:clamp(5.5rem,12vw,8rem) 0 clamp(3rem,6vw,4.5rem);
  text-align:center;
  background:
    radial-gradient(60% 100% at 50% 0%, var(--blush) 0%, rgba(255,228,237,0) 70%),
    var(--paper);
  position:relative; overflow:hidden;
}
.page-banner .crumb{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:1rem; display:flex; gap:.5em; align-items:center; justify-content:center;}
.page-banner .crumb a:hover{color:var(--rose);}
.page-banner h1{font-size:clamp(2.6rem,6vw,4.2rem); margin:.3rem 0 1rem;}
.page-banner p{max-width:620px; margin:0 auto; color:var(--ink-soft);}

/* ============================================================
   HOMEPAGE — Hero
   ============================================================ */
.hero{
  padding:clamp(3rem,7vw,5rem) 0 clamp(4rem,8vw,6rem);
  background:
    radial-gradient(48% 60% at 82% 12%, var(--blush) 0%, rgba(255,228,237,0) 72%),
    radial-gradient(38% 50% at 8% 90%, var(--champagne) 0%, rgba(250,241,236,0) 70%),
    var(--paper);
  overflow:hidden;
}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
.hero-copy h1{font-size:clamp(2.7rem,5.4vw,4.4rem); line-height:1.08; margin:1rem 0 1.3rem;}
.hero-sub{font-size:1.08rem; color:var(--ink-soft); max-width:460px; margin-bottom:2.1rem;}
.hero-actions{display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.6rem;}
.trust-row{display:flex; gap:1.8rem; flex-wrap:wrap;}
.trust-row li{display:flex; align-items:center; gap:.55em; font-size:.82rem; color:var(--ink-soft); letter-spacing:.01em;}
.trust-row svg{width:17px;height:17px; color:var(--rose); flex:none;}

.hero-visual{position:relative; height:clamp(380px,42vw,560px);}
.hero-blob{
  position:absolute; inset:2% 0%;
  background:var(--blush);
  border-radius:40px;
  z-index:0;
}
.hero-rose{top:-6%; right:-4%; width:150px; height:150px; z-index:1;}
.hero-photo{position:absolute; z-index:2;}
.hero-photo img{width:100%; height:100%;}
.hero-photo-1{width:52%; aspect-ratio:1/1.02; top:6%; left:2%; box-shadow:0 30px 55px -20px rgba(24,23,27,.35);}
.hero-photo-2{width:40%; aspect-ratio:285/220; bottom:9%; right:2%; box-shadow:0 30px 55px -20px rgba(24,23,27,.35);}
.hero-photo-3{width:34%; aspect-ratio:1/1; bottom:0; left:20%; box-shadow:0 24px 45px -18px rgba(24,23,27,.32); z-index:3;}
.hero-signature{
  position:absolute; top:2%; right:6%; z-index:3;
  font-family:var(--font-script); color:var(--rose); font-size:1.3rem; transform:rotate(-6deg);
}
.font-script{font-family:var(--font-script);}

/* ---------- Category cards ---------- */
.cat-card{display:block; text-align:center;}
.cat-card .figure{aspect-ratio:1/1; margin-bottom:1.1rem; border-radius:var(--radius-lg);}
.cat-card h3{font-size:1.3rem; margin-bottom:.3rem;}
.cat-card .cat-link{font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--rose); font-weight:500;}

/* ---------- Why us ---------- */
.why-item{text-align:center; padding:1rem;}
.why-item svg{width:40px;height:40px; color:var(--rose); margin-bottom:1.1rem;}
.why-item h3{font-size:1.18rem; margin-bottom:.5rem;}
.why-item p{font-size:.88rem; color:var(--ink-soft);}

/* ---------- Process ---------- */
.process-steps > div{padding:1rem; border-left:1px solid rgba(255,253,251,.16);}
.process-steps > div:first-child{border-left:none;}
.step-no{font-family:var(--font-display); font-style:italic; color:var(--rose-mid); font-size:1.6rem; display:block; margin-bottom:.6rem;}
.process-steps h3{color:var(--paper); font-size:1.2rem; margin-bottom:.5rem;}
.process-steps p{color:rgba(255,253,251,.65); font-size:.88rem;}

/* ---------- Quote ---------- */
.quote-section{background:var(--blush);}
.quote{font-family:var(--font-display); font-style:italic; font-size:clamp(1.4rem,3vw,2rem); line-height:1.5; color:var(--ink);}

/* ---------- Instagram band ---------- */
.ig-band{background:var(--champagne);}
.ig-inner{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center;}
.ig-inner h2{margin:.6rem 0 1rem; font-size:clamp(2rem,4vw,2.6rem);}
.ig-inner p{color:var(--ink-soft); max-width:420px; margin-bottom:1.8rem;}
.ig-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.ig-grid .figure{aspect-ratio:1/1; border-radius:var(--radius-md);}

@media (max-width:880px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{order:-1; height:340px; margin-bottom:1rem;}
  .ig-inner{grid-template-columns:1fr;}
  .process-steps > div{border-left:none; border-top:1px solid rgba(255,253,251,.16);}
}

/* ============================================================
   About page
   ============================================================ */
.story-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center;}
.story-copy p{color:var(--ink-soft); margin-bottom:1.2rem;}
.story-photos{position:relative; height:440px;}
.story-photos .figure{position:absolute;}
.story-photos .p1{width:62%; aspect-ratio:1/1; top:0; left:0; box-shadow:0 30px 55px -20px rgba(24,23,27,.3);}
.story-photos .p2{width:44%; aspect-ratio:285/220; bottom:0; right:0; box-shadow:0 26px 50px -18px rgba(24,23,27,.3);}

.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.value-card{background:var(--paper); border:1px solid var(--blush-line); border-radius:var(--radius-md); padding:2.2rem 1.8rem; text-align:center; transition:transform .5s var(--ease), box-shadow .5s var(--ease);}
.value-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(24,23,27,.25);}
.value-card svg{width:34px;height:34px;color:var(--rose); margin-bottom:1rem;}
.value-card h3{font-size:1.1rem; margin-bottom:.6rem;}
.value-card p{font-size:.87rem; color:var(--ink-soft);}

.founder-note{
  background:var(--blush); border-radius:var(--radius-lg); padding:clamp(2.2rem,5vw,3.6rem);
  display:grid; grid-template-columns:auto 1fr; gap:2.2rem; align-items:center;
}
.founder-note .mark{font-family:var(--font-display); font-size:4rem; color:var(--rose-mid); line-height:1; font-style:italic;}
.founder-note p{font-family:var(--font-display); font-style:italic; font-size:1.35rem; line-height:1.6; color:var(--ink);}
.founder-note .sign{margin-top:1rem; font-family:var(--font-script); font-size:1.4rem; color:var(--rose-dark); font-style:normal;}

/* ============================================================
   Candle Care page
   ============================================================ */
.care-steps{display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem;}
.care-step{
  display:flex; gap:1.4rem; background:var(--paper); border:1px solid var(--blush-line);
  border-radius:var(--radius-md); padding:1.8rem; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.care-step:hover{transform:translateY(-5px); box-shadow:0 22px 45px -24px rgba(24,23,27,.25);}
.care-step .num{
  flex:none; width:44px;height:44px;border-radius:50%; background:var(--blush); color:var(--rose-dark);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-style:italic; font-size:1.2rem;
}
.care-step h3{font-size:1.08rem; margin-bottom:.4rem;}
.care-step p{font-size:.87rem; color:var(--ink-soft);}

.safety-banner{
  background:var(--ink); color:var(--paper); border-radius:var(--radius-lg);
  padding:clamp(2rem,5vw,3rem); display:flex; gap:1.6rem; align-items:flex-start;
}
.safety-banner svg{flex:none; width:36px;height:36px; color:var(--rose-mid);}
.safety-banner h3{color:var(--paper); margin-bottom:.5rem;}
.safety-banner p{color:rgba(255,253,251,.72); font-size:.92rem; line-height:1.8;}

/* ---------- FAQ accordion ---------- */
.faq-list{max-width:760px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--blush-line);}
.faq-q{
  width:100%; text-align:left; background:none; border:none; padding:1.4rem .2rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-family:var(--font-display); font-size:1.15rem; color:var(--ink);
}
.faq-q .plus{flex:none; width:26px;height:26px; position:relative;}
.faq-q .plus::before, .faq-q .plus::after{content:''; position:absolute; background:var(--rose); transition:transform .35s var(--ease);}
.faq-q .plus::before{left:0; top:50%; width:100%; height:1.4px; transform:translateY(-50%);}
.faq-q .plus::after{top:0; left:50%; width:1.4px; height:100%; transform:translateX(-50%);}
.faq-item.open .plus::after{transform:translateX(-50%) rotate(90deg); opacity:0;}
.faq-a{max-height:0; overflow:hidden; transition:max-height .45s var(--ease);}
.faq-item.open .faq-a{max-height:220px;}
.faq-a p{padding:0 .2rem 1.5rem; color:var(--ink-soft); font-size:.92rem; line-height:1.75; max-width:640px;}

/* ============================================================
   Contact page
   ============================================================ */
.contact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.contact-card{
  background:var(--paper); border:1px solid var(--blush-line); border-radius:var(--radius-md);
  padding:2.2rem 1.8rem; text-align:center; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.contact-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(24,23,27,.25);}
.contact-card svg{width:32px;height:32px; color:var(--rose); margin-bottom:1rem;}
.contact-card h3{font-size:1.1rem; margin-bottom:.5rem;}
.contact-card p{font-size:.87rem; color:var(--ink-soft); margin-bottom:1.2rem;}

.location-card{
  display:grid; grid-template-columns:1fr 1fr; border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--blush-line);
}
.location-map{
  background:
    repeating-linear-gradient(0deg, transparent, transparent 38px, var(--blush-line) 39px),
    repeating-linear-gradient(90deg, transparent, transparent 38px, var(--blush-line) 39px),
    var(--champagne);
  position:relative; min-height:320px; display:flex; align-items:center; justify-content:center;
}
.location-map .pin{
  width:56px;height:56px;border-radius:50% 50% 50% 0; background:var(--rose); transform:rotate(-45deg);
  display:flex; align-items:center; justify-content:center; box-shadow:0 18px 30px -12px rgba(124,54,80,.5);
}
.location-map .pin svg{transform:rotate(45deg); width:24px;height:24px; color:var(--paper);}
.location-info{padding:clamp(2rem,4vw,3rem); display:flex; flex-direction:column; justify-content:center;}
.location-info h3{font-size:1.4rem; margin-bottom:1rem;}
.location-info ul li{display:flex; gap:.8em; margin-bottom:1rem; font-size:.92rem; color:var(--ink-soft);}
.location-info ul svg{flex:none; width:18px;height:18px; color:var(--rose); margin-top:2px;}

@media (max-width:880px){
  .story-grid{grid-template-columns:1fr;}
  .story-photos{order:-1;}
  .values-grid, .care-steps, .contact-grid{grid-template-columns:1fr 1fr;}
  .location-card{grid-template-columns:1fr;}
  .founder-note{grid-template-columns:1fr; text-align:center;}
}
@media (max-width:560px){
  .values-grid, .care-steps, .contact-grid{grid-template-columns:1fr;}
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .grid-4{grid-template-columns:repeat(3,1fr);}
  .foot-grid{grid-template-columns:1.3fr 1fr 1fr; row-gap:2.5rem;}
  .foot-grid > div:last-child{grid-column:1/-1;}
}
@media (max-width:880px){
  .nav-links, .nav-cta .icon-btn:not(.ig){display:none;}
  .menu-toggle{display:block;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .grid-2, .grid-3, .grid-4{grid-template-columns:repeat(2,1fr); gap:1rem;}
  .foot-grid{grid-template-columns:1fr;}
  .brand img{height:38px;}
}

/* ===== Migrated from Home.html / style block 1 ===== */
/* ============================================================
   STUDIO NANDAR — Core Stylesheet
   Handcrafted soy wax candle bouquets, Calgary
   ============================================================ */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500;600&family=Parisienne&display=swap');

/* ---------- Design Tokens ---------- */
:root{
  /* colour */
  --ink:#18171b;
  --ink-soft:#38363c;
  --paper:#fffdfb;
  --paper-dim:#fbf6f4;
  --champagne:#faf1ec;
  --blush:#ffe4ed;
  --blush-deep:#f6c9d7;
  --blush-line: rgba(24,23,27,0.08);
  --rose:#a8506c;
  --rose-dark:#7c3650;
  --rose-mid:#c17c93;
  --gold:#c9a45c;

  /* type */
  --font-display:'Cormorant Garamond', 'Times New Roman', serif;
  --font-body:'Jost', 'Helvetica Neue', Arial, sans-serif;
  --font-script:'Parisienne', cursive;

  /* layout */
  --maxw:1280px;
  --gutter:clamp(1.25rem, 4vw, 3.5rem);
  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:28px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0;color:var(--ink);}
p{margin:0;}
section{position:relative;}

/* ---------- Custom scrollbar (baby pink) ---------- */
html{
  scrollbar-width:thin;
  scrollbar-color: var(--rose-mid) var(--blush);
}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--blush);}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, var(--rose-mid), var(--rose));
  border-radius:10px;
  border:3px solid var(--blush);
}
::-webkit-scrollbar-thumb:hover{background:var(--rose-dark);}

/* ---------- Selection ---------- */
::selection{background:var(--blush-deep);color:var(--rose-dark);}

/* ---------- Focus ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--rose);
  outline-offset:3px;
  border-radius:4px;
}

/* ---------- Utility ---------- */
.sn-wrap{max-width:var(--maxw); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter);}
.sn-eyebrow{
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--rose);
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:.6em;
}
.sn-eyebrow::before{content:'';width:22px;height:1px;background:var(--rose-mid);display:inline-block;}
.sn-section-head{text-align:center; max-width:640px; margin:0 auto 3.2rem;}
.sn-section-head h2{font-size:clamp(2rem,4vw,2.9rem); margin:.7rem 0 1rem; letter-spacing:.01em;}
.sn-section-head p{color:var(--ink-soft); font-size:1.02rem;}
.sn-section-pad{padding:clamp(4rem,8vw,7rem) 0;}
.sn-italic{font-style:italic; color:var(--rose); font-weight:400;}

.sn-btn{
  display:inline-flex;align-items:center;gap:.55em;
  padding:.95em 2em;
  border-radius:999px;
  font-family:var(--font-body);
  font-size:.82rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  border:1px solid transparent;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), background .3s ease, color .3s ease, border-color .3s ease;
  white-space:nowrap;
}
.sn-btn svg{width:15px;height:15px;flex:none;}
.sn-btn-primary{background:var(--ink);color:var(--paper);}
.sn-btn-primary:hover{background:var(--rose-dark); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(124,54,80,.55);}
.sn-btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.sn-btn-outline:hover{background:var(--ink); color:var(--paper); transform:translateY(-3px);}
.sn-btn-blush{background:var(--blush); color:var(--rose-dark); border-color:var(--blush-deep);}
.sn-btn-blush:hover{background:var(--rose-dark); color:var(--paper); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(124,54,80,.45);}
.sn-btn-ghost-light{background:transparent;color:var(--paper);border-color:rgba(255,255,255,.5);}
.sn-btn-ghost-light:hover{background:var(--paper); color:var(--ink); transform:translateY(-3px);}

/* ---------- Announcement bar ---------- */
.sn-announce{
  background:var(--ink);
  color:var(--blush);
  overflow:hidden;
  white-space:nowrap;
  position:relative;
  height:38px;
}
.sn-announce-track{
  display:inline-flex;
  align-items:center;
  gap:2.5rem;
  height:100%;
  animation:marquee 32s linear infinite;
  padding-left:100%;
}
.sn-announce-track span{
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:2.5rem;
  font-weight:400;
  color:var(--blush);
}
.sn-announce-track .sn-dot{color:var(--rose-mid); font-size:.9rem;}
@keyframes marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}

/* ---------- Header / Nav ---------- */
header.sn-site-header{
  position:sticky; top:0; z-index:200;
  background:rgba(255,253,251,.86);
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--blush-line);
  transition:box-shadow .35s ease;
}
header.sn-site-header.sn-scrolled{box-shadow:0 12px 30px -20px rgba(0,0,0,.25);}
.sn-nav-inner{
  max-width:var(--maxw); margin:0 auto; padding:.7rem var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
}
.sn-brand{display:flex; align-items:center; gap:.6rem; flex:none;}
.sn-brand img{height:46px; width:auto;}
.sn-brand .sn-brand-tag{
  display:none;
}

.sn-nav-links{display:flex; align-items:center; gap:2.1rem; margin:0 auto;}
.sn-nav-links > li{position:relative;}
.sn-nav-links a.sn-nav-link{
  font-size:.82rem; letter-spacing:.09em; text-transform:uppercase;
  font-weight:500; color:var(--ink-soft);
  padding:.5rem .1rem;
  position:relative;
}
.sn-nav-links a.sn-nav-link::after{
  content:'';position:absolute; left:0; bottom:0; width:0; height:1.5px;
  background:var(--rose); transition:width .35s var(--ease);
}
.sn-nav-links a.sn-nav-link:hover, .sn-nav-links li.sn-active > a.sn-nav-link{color:var(--ink);}
.sn-nav-links a.sn-nav-link:hover::after, .sn-nav-links li.sn-active > a.sn-nav-link::after{width:100%;}
.sn-nav-links li.sn-has-drop > a.sn-nav-link{display:flex; align-items:center; gap:.4em;}
.sn-nav-links li.sn-has-drop svg{width:9px;height:9px; transition:transform .3s ease;}
.sn-nav-links li.sn-has-drop:hover svg{transform:rotate(180deg);}

.sn-nav-cta{display:flex; align-items:center; gap:1rem; flex:none;}
.sn-icon-btn{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--blush-line); color:var(--ink);
  transition:background .3s ease, color .3s ease, transform .3s ease;
}
.sn-icon-btn:hover{background:var(--blush); color:var(--rose-dark); transform:translateY(-2px);}
.sn-icon-btn svg{width:17px;height:17px;}

.sn-menu-toggle{display:none; background:none; border:none; padding:.4rem;}
.sn-menu-toggle span{display:block; width:24px; height:1.5px; background:var(--ink); margin:5px 0; transition:transform .3s ease, opacity .3s ease;}

/* Mega dropdown */
.sn-mega{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
  width:min(720px, 84vw);
  background:var(--paper);
  border:1px solid var(--blush-line);
  border-radius:var(--radius-md);
  box-shadow:0 32px 60px -24px rgba(24,23,27,.28);
  padding:1.6rem;
  padding-top:calc(1.6rem + 18px);
  margin-top:-18px;
  display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
  z-index:50;
  background-clip:padding-box;
}
.sn-nav-links li.sn-has-drop:hover .sn-mega,
.sn-nav-links li.sn-has-drop.sn-open .sn-mega,
.sn-nav-links li.sn-has-drop:focus-within .sn-mega{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.sn-mega a{display:flex; flex-direction:column; gap:.6rem; text-align:left;}
.sn-mega .sn-mega-thumb{
  border-radius:10px; overflow:hidden; aspect-ratio:1/1; background:var(--blush);
}
.sn-mega .sn-mega-thumb img{width:100%;height:100%;object-fit:cover; transition:transform .6s var(--ease);}
.sn-mega a:hover .sn-mega-thumb img{transform:scale(1.12);}
.sn-mega .sn-mega-label{font-size:.78rem; letter-spacing:.03em; color:var(--ink); font-weight:500;}
.sn-mega .sn-mega-label small{display:block; font-weight:300; color:var(--ink-soft); font-size:.72rem; letter-spacing:0; margin-top:.15rem; font-family:var(--font-body);}

/* ---------- Buttons row mobile drawer ---------- */
.sn-mobile-drawer{
  position:fixed; inset:0 0 0 auto; width:min(360px,86vw); height:100vh;
  background:var(--paper); z-index:400; padding:1.6rem;
  transform:translateX(100%); transition:transform .45s var(--ease);
  overflow-y:auto; box-shadow:-20px 0 50px rgba(0,0,0,.25);
}
.sn-mobile-drawer.sn-open{transform:translateX(0);}
.sn-mobile-drawer .sn-close-drawer{background:none;border:none;margin-left:auto;display:block;padding:.5rem;}
.sn-mobile-drawer .sn-close-drawer svg{width:20px;height:20px;}
.sn-mobile-drawer nav ul{display:flex; flex-direction:column; margin-top:1.5rem;}
.sn-mobile-drawer nav a{
  display:block; padding:.85rem 0; font-family:var(--font-display); font-size:1.3rem;
  border-bottom:1px solid var(--blush-line); color:var(--ink);
}
.sn-mobile-drawer .sn-sub-list{display:none; flex-direction:column; padding-left:1rem;}
.sn-mobile-drawer .sn-sub-list a{font-family:var(--font-body); font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; padding:.6rem 0; border:none; color:var(--ink-soft);}
.sn-scrim{position:fixed; inset:0; background:rgba(24,23,27,.4); z-index:350; opacity:0; visibility:hidden; transition:opacity .4s ease;}
.sn-scrim.sn-open{opacity:1; visibility:visible;}

/* ============================================================
   Decorative rose line-art (signature motif)
   ============================================================ */
.sn-rose-motif{position:absolute; pointer-events:none; opacity:.5;}
.sn-rose-line{fill:none; stroke:var(--rose-mid); stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round;}

.sn-divider-rose{display:flex; align-items:center; justify-content:center; gap:1rem; margin:0 auto;}
.sn-divider-rose .sn-line{width:60px; height:1px; background:linear-gradient(90deg, transparent, var(--blush-deep));}
.sn-divider-rose .sn-line.sn-r{background:linear-gradient(90deg, var(--blush-deep), transparent);}
.sn-divider-rose svg{width:26px;height:26px;flex:none;}

/* ============================================================
   Product / Photo cards — hover zoom + shadow (the finer detail)
   ============================================================ */
.sn-figure{
  position:relative; overflow:hidden; border-radius:var(--radius-md);
  background:var(--blush);
  box-shadow:0 1px 2px rgba(24,23,27,.05);
  transition:box-shadow .5s var(--ease), transform .5s var(--ease);
}
.sn-figure img{
  width:100%; height:100%; object-fit:cover;
  backface-visibility:hidden;
  transition:transform .8s var(--ease), filter .8s var(--ease);
}
.sn-figure:hover img{
  transform:scale(1.09) translateZ(0);
}
}
.sn-figure:hover{box-shadow:0 34px 60px -22px rgba(24,23,27,.35);}
.sn-figure:hover img{transform:scale(1.09) translateZ(0);}
.sn-figure::after{
  content:''; position:absolute; inset:0; border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  pointer-events:none;
}

.sn-card{
  background:var(--paper);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  border:1px solid var(--blush-line);
}
.sn-card:hover{transform:translateY(-8px); box-shadow:0 30px 55px -24px rgba(24,23,27,.28); border-color:transparent;}
.sn-card .sn-figure{border-radius:0; aspect-ratio:1/1;}
.sn-card .sn-card-body{padding:1.4rem 1.5rem 1.7rem;}
.sn-card .sn-card-body h3{font-size:1.28rem; margin-bottom:.35rem;}
.sn-card .sn-price{color:var(--rose); font-family:var(--font-display); font-style:italic; font-size:1.05rem; margin-bottom:.55rem; display:block;}
.sn-card .sn-desc{font-size:.86rem; color:var(--ink-soft); line-height:1.6;}
.sn-card .sn-card-tag{
  position:absolute; top:12px; left:12px; z-index:2;
  background:rgba(255,253,251,.92); color:var(--rose-dark);
  font-size:.65rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.4em .8em; border-radius:999px; font-weight:500;
}

.sn-grid{display:grid; gap:1.8rem;}
.sn-grid-4{grid-template-columns:repeat(4,1fr);}
.sn-grid-3{grid-template-columns:repeat(3,1fr);}
.sn-grid-2{grid-template-columns:repeat(2,1fr);}

/* ---------- reveal on scroll ---------- */
.sn-reveal{opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
.sn-reveal.sn-in{opacity:1; transform:translateY(0);}
.sn-reveal-stagger > *{transition-delay:calc(var(--i,0) * 90ms);}

/* ---------- Footer ---------- */
footer.sn-site-footer{background:var(--ink); color:rgba(255,253,251,.72); padding-top:0;}
.sn-foot-cta{
  background:var(--blush-deep);
  padding:clamp(3rem,7vw,4.5rem) 0; text-align:center; color:var(--ink);
  position:relative; overflow:hidden;
}
.sn-foot-cta h2{color:var(--ink); font-size:clamp(1.9rem,4vw,2.7rem);}
.sn-foot-cta p{color:var(--ink-soft); max-width:520px; margin:1rem auto 2rem;}
.sn-foot-main{padding:clamp(3.5rem,7vw,5rem) 0 2.5rem;}
.sn-foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:3rem;}
.sn-foot-grid h4{color:var(--paper); font-family:var(--font-body); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500; margin-bottom:1.3rem;}
.sn-foot-grid img{height:42px; margin-bottom:1rem;}
.sn-foot-grid p.sn-blurb{font-size:.88rem; line-height:1.75; max-width:280px;}
.sn-foot-grid ul li{margin-bottom:.8rem;}
.sn-foot-grid ul a{font-size:.87rem; transition:color .3s ease, padding-left .3s ease;}
.sn-foot-grid ul a:hover{color:var(--blush); padding-left:4px;}
.sn-foot-social{display:flex; gap:.7rem; margin-top:1.4rem;}
.sn-foot-social a{width:36px;height:36px; border-radius:50%; border:1px solid rgba(255,253,251,.25); display:flex; align-items:center; justify-content:center; transition:.3s;}
.sn-foot-social a svg{width:15px;height:15px;}
.sn-foot-social a:hover{background:var(--blush); color:var(--rose-dark); border-color:var(--blush);}
.sn-foot-bottom{border-top:1px solid rgba(255,253,251,.14); padding:1.4rem 0; text-align:center; font-size:.78rem; letter-spacing:.02em; color:rgba(255,253,251,.55);}
.sn-foot-bottom a{text-decoration:underline; text-underline-offset:3px;}

/* ---------- Back to top ---------- */
#sn-toTop{
  position:fixed; right:1.6rem; bottom:1.6rem; z-index:150;
  width:46px;height:46px;border-radius:50%;
  background:var(--ink); color:var(--blush);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.4s var(--ease);
}
#sn-toTop.sn-show{opacity:1; visibility:visible; transform:translateY(0);}
#sn-toTop:hover{background:var(--rose-dark);}
#sn-toTop svg{width:16px;height:16px;}

/* ============================================================
   Page banner (interior pages)
   ============================================================ */
.sn-page-banner{
  padding:clamp(5.5rem,12vw,8rem) 0 clamp(3rem,6vw,4.5rem);
  text-align:center;
  background:
    radial-gradient(60% 100% at 50% 0%, var(--blush) 0%, rgba(255,228,237,0) 70%),
    var(--paper);
  position:relative; overflow:hidden;
}
.sn-page-banner .sn-crumb{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:1rem; display:flex; gap:.5em; align-items:center; justify-content:center;}
.sn-page-banner .sn-crumb a:hover{color:var(--rose);}
.sn-page-banner h1{font-size:clamp(2.6rem,6vw,4.2rem); margin:.3rem 0 1rem;}
.sn-page-banner p{max-width:620px; margin:0 auto; color:var(--ink-soft);}

/* ============================================================
   HOMEPAGE — Hero
   ============================================================ */
.sn-hero{
  padding:clamp(3rem,7vw,5rem) 0 clamp(4rem,8vw,6rem);
  background:
    radial-gradient(48% 60% at 82% 12%, var(--blush) 0%, rgba(255,228,237,0) 72%),
    radial-gradient(38% 50% at 8% 90%, var(--champagne) 0%, rgba(250,241,236,0) 70%),
    var(--paper);
  overflow:hidden;
}
.sn-hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
.sn-hero-copy h1{font-size:clamp(2.7rem,5.4vw,4.4rem); line-height:1.08; margin:1rem 0 1.3rem;}
.sn-hero-sub{font-size:1.08rem; color:var(--ink-soft); max-width:460px; margin-bottom:2.1rem;}
.sn-hero-actions{display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.6rem;}
.sn-trust-row{display:flex; gap:1.8rem; flex-wrap:wrap;}
.sn-trust-row li{display:flex; align-items:center; gap:.55em; font-size:.82rem; color:var(--ink-soft); letter-spacing:.01em;}
.sn-trust-row svg{width:17px;height:17px; color:var(--rose); flex:none;}

.sn-hero-visual{position:relative; height:clamp(380px,42vw,560px);}
.sn-hero-blob{
  position:absolute; inset:2% 0%;
  background:var(--blush);
  border-radius:40px;
  z-index:0;
}
.sn-hero-rose{top:-6%; right:-4%; width:150px; height:150px; z-index:1;}
.sn-hero-photo{position:absolute; z-index:2;}
.sn-hero-photo img{width:100%; height:100%;}
.sn-hero-photo-1{width:52%; aspect-ratio:1/1.02; top:6%; left:2%; box-shadow:0 30px 55px -20px rgba(24,23,27,.35);}
.sn-hero-photo-2{width:40%; aspect-ratio:285/220; bottom:9%; right:2%; box-shadow:0 30px 55px -20px rgba(24,23,27,.35);}
.sn-hero-photo-3{width:34%; aspect-ratio:1/1; bottom:0; left:20%; box-shadow:0 24px 45px -18px rgba(24,23,27,.32); z-index:3;}
.sn-hero-signature{
  position:absolute; top:2%; right:6%; z-index:3;
  font-family:var(--font-script); color:var(--rose); font-size:1.3rem; transform:rotate(-6deg);
}
.sn-font-script{font-family:var(--font-script);}

/* ---------- Category cards ---------- */
.sn-cat-card{display:block; text-align:center;}
.sn-cat-card .sn-figure{aspect-ratio:1/1; margin-bottom:1.1rem; border-radius:var(--radius-lg);}
.sn-cat-card h3{font-size:1.3rem; margin-bottom:.3rem;}
.sn-cat-card .sn-cat-link{font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--rose); font-weight:500;}

/* ---------- Why us ---------- */
.sn-why-item{text-align:center; padding:1rem;}
.sn-why-item svg{width:40px;height:40px; color:var(--rose); margin-bottom:1.1rem;}
.sn-why-item h3{font-size:1.18rem; margin-bottom:.5rem;}
.sn-why-item p{font-size:.88rem; color:var(--ink-soft);}

/* ---------- Process ---------- */
.sn-process-steps > div{padding:1rem; border-left:1px solid rgba(255,253,251,.16);}
.sn-process-steps > div:first-child{border-left:none;}
.sn-step-no{font-family:var(--font-display); font-style:italic; color:var(--rose-mid); font-size:1.6rem; display:block; margin-bottom:.6rem;}
.sn-process-steps h3{color:var(--paper); font-size:1.2rem; margin-bottom:.5rem;}
.sn-process-steps p{color:rgba(255,253,251,.65); font-size:.88rem;}

/* ---------- Quote ---------- */
.sn-quote-section{background:var(--blush);}
.sn-quote{font-family:var(--font-display); font-style:italic; font-size:clamp(1.4rem,3vw,2rem); line-height:1.5; color:var(--ink);}

/* ---------- Instagram band ---------- */
.sn-ig-band{background:var(--champagne);}
.sn-ig-inner{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center;}
.sn-ig-inner h2{margin:.6rem 0 1rem; font-size:clamp(2rem,4vw,2.6rem);}
.sn-ig-inner p{color:var(--ink-soft); max-width:420px; margin-bottom:1.8rem;}
.sn-ig-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.sn-ig-grid .sn-figure{aspect-ratio:1/1; border-radius:var(--radius-md);}

@media (max-width:880px){
  .sn-hero-grid{grid-template-columns:1fr;}
  .sn-hero-visual{order:-1; height:340px; margin-bottom:1rem;}
  .sn-ig-inner{grid-template-columns:1fr;}
  .sn-process-steps > div{border-left:none; border-top:1px solid rgba(255,253,251,.16);}
}

/* ============================================================
   About page
   ============================================================ */
.sn-story-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center;}
.sn-story-copy p{color:var(--ink-soft); margin-bottom:1.2rem;}
.sn-story-photos{position:relative; height:440px;}
.sn-story-photos .sn-figure{position:absolute;}
.sn-story-photos .sn-p1{width:62%; aspect-ratio:1/1; top:0; left:0; box-shadow:0 30px 55px -20px rgba(24,23,27,.3);}
.sn-story-photos .sn-p2{width:44%; aspect-ratio:285/220; bottom:0; right:0; box-shadow:0 26px 50px -18px rgba(24,23,27,.3);}

.sn-values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.sn-value-card{background:var(--paper); border:1px solid var(--blush-line); border-radius:var(--radius-md); padding:2.2rem 1.8rem; text-align:center; transition:transform .5s var(--ease), box-shadow .5s var(--ease);}
.sn-value-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(24,23,27,.25);}
.sn-value-card svg{width:34px;height:34px;color:var(--rose); margin-bottom:1rem;}
.sn-value-card h3{font-size:1.1rem; margin-bottom:.6rem;}
.sn-value-card p{font-size:.87rem; color:var(--ink-soft);}

.sn-founder-note{
  background:var(--blush); border-radius:var(--radius-lg); padding:clamp(2.2rem,5vw,3.6rem);
  display:grid; grid-template-columns:auto 1fr; gap:2.2rem; align-items:center;
}
.sn-founder-note .sn-mark{font-family:var(--font-display); font-size:4rem; color:var(--rose-mid); line-height:1; font-style:italic;}
.sn-founder-note p{font-family:var(--font-display); font-style:italic; font-size:1.35rem; line-height:1.6; color:var(--ink);}
.sn-founder-note .sn-sign{margin-top:1rem; font-family:var(--font-script); font-size:1.4rem; color:var(--rose-dark); font-style:normal;}

/* ============================================================
   Candle Care page
   ============================================================ */
.sn-care-steps{display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem;}
.sn-care-step{
  display:flex; gap:1.4rem; background:var(--paper); border:1px solid var(--blush-line);
  border-radius:var(--radius-md); padding:1.8rem; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.sn-care-step:hover{transform:translateY(-5px); box-shadow:0 22px 45px -24px rgba(24,23,27,.25);}
.sn-care-step .sn-num{
  flex:none; width:44px;height:44px;border-radius:50%; background:var(--blush); color:var(--rose-dark);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-style:italic; font-size:1.2rem;
}
.sn-care-step h3{font-size:1.08rem; margin-bottom:.4rem;}
.sn-care-step p{font-size:.87rem; color:var(--ink-soft);}

.sn-safety-banner{
  background:var(--ink); color:var(--paper); border-radius:var(--radius-lg);
  padding:clamp(2rem,5vw,3rem); display:flex; gap:1.6rem; align-items:flex-start;
}
.sn-safety-banner svg{flex:none; width:36px;height:36px; color:var(--rose-mid);}
.sn-safety-banner h3{color:var(--paper); margin-bottom:.5rem;}
.sn-safety-banner p{color:rgba(255,253,251,.72); font-size:.92rem; line-height:1.8;}

/* ---------- FAQ accordion ---------- */
.sn-faq-list{max-width:760px; margin:0 auto;}
.sn-faq-item{border-bottom:1px solid var(--blush-line);}
.sn-faq-q{
  width:100%; text-align:left; background:none; border:none; padding:1.4rem .2rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-family:var(--font-display); font-size:1.15rem; color:var(--ink);
}
.sn-faq-q .sn-plus{flex:none; width:26px;height:26px; position:relative;}
.sn-faq-q .sn-plus::before, .sn-faq-q .sn-plus::after{content:''; position:absolute; background:var(--rose); transition:transform .35s var(--ease);}
.sn-faq-q .sn-plus::before{left:0; top:50%; width:100%; height:1.4px; transform:translateY(-50%);}
.sn-faq-q .sn-plus::after{top:0; left:50%; width:1.4px; height:100%; transform:translateX(-50%);}
.sn-faq-item.sn-open .sn-plus::after{transform:translateX(-50%) rotate(90deg); opacity:0;}
.sn-faq-a{max-height:0; overflow:hidden; transition:max-height .45s var(--ease);}
.sn-faq-item.sn-open .sn-faq-a{max-height:220px;}
.sn-faq-a p{padding:0 .2rem 1.5rem; color:var(--ink-soft); font-size:.92rem; line-height:1.75; max-width:640px;}

/* ============================================================
   Contact page
   ============================================================ */
.sn-contact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.sn-contact-card{
  background:var(--paper); border:1px solid var(--blush-line); border-radius:var(--radius-md);
  padding:2.2rem 1.8rem; text-align:center; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.sn-contact-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(24,23,27,.25);}
.sn-contact-card svg{width:32px;height:32px; color:var(--rose); margin-bottom:1rem;}
.sn-contact-card h3{font-size:1.1rem; margin-bottom:.5rem;}
.sn-contact-card p{font-size:.87rem; color:var(--ink-soft); margin-bottom:1.2rem;}

.sn-location-card{
  display:grid; grid-template-columns:1fr 1fr; border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--blush-line);
}
.sn-location-map{
  background:
    repeating-linear-gradient(0deg, transparent, transparent 38px, var(--blush-line) 39px),
    repeating-linear-gradient(90deg, transparent, transparent 38px, var(--blush-line) 39px),
    var(--champagne);
  position:relative; min-height:320px; display:flex; align-items:center; justify-content:center;
}
.sn-location-map .sn-pin{
  width:56px;height:56px;border-radius:50% 50% 50% 0; background:var(--rose); transform:rotate(-45deg);
  display:flex; align-items:center; justify-content:center; box-shadow:0 18px 30px -12px rgba(124,54,80,.5);
}
.sn-location-map .sn-pin svg{transform:rotate(45deg); width:24px;height:24px; color:var(--paper);}
.sn-location-info{padding:clamp(2rem,4vw,3rem); display:flex; flex-direction:column; justify-content:center;}
.sn-location-info h3{font-size:1.4rem; margin-bottom:1rem;}
.sn-location-info ul li{display:flex; gap:.8em; margin-bottom:1rem; font-size:.92rem; color:var(--ink-soft);}
.sn-location-info ul svg{flex:none; width:18px;height:18px; color:var(--rose); margin-top:2px;}

@media (max-width:880px){
  .sn-story-grid{grid-template-columns:1fr;}
  .sn-story-photos{order:-1;}
  .sn-values-grid, .sn-care-steps, .sn-contact-grid{grid-template-columns:1fr 1fr;}
  .sn-location-card{grid-template-columns:1fr;}
  .sn-founder-note{grid-template-columns:1fr; text-align:center;}
}
@media (max-width:560px){
  .sn-values-grid, .sn-care-steps, .sn-contact-grid{grid-template-columns:1fr;}
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .sn-grid-4{grid-template-columns:repeat(3,1fr);}
  .sn-foot-grid{grid-template-columns:1.3fr 1fr 1fr; row-gap:2.5rem;}
  .sn-foot-grid > div:last-child{grid-column:1/-1;}
}
@media (max-width:880px){
  .sn-nav-links, .sn-nav-cta .sn-icon-btn:not(.sn-ig){display:none;}
  .sn-menu-toggle{display:block;}
  .sn-grid-3{grid-template-columns:repeat(2,1fr);}
  .sn-grid-4{grid-template-columns:repeat(2,1fr);}
  .sn-foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .sn-grid-2, .sn-grid-3, .sn-grid-4{grid-template-columns:repeat(2,1fr); gap:1rem;}
  .sn-foot-grid{grid-template-columns:1fr;}
  .sn-brand img{height:38px;}
}

/* ===== Migrated from Wax Melts.html / style block 1 ===== */
/* ============================================================
   STUDIO NANDAR — Core Stylesheet
   Handcrafted soy wax candle bouquets, Calgary
   ============================================================ */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500;600&family=Parisienne&display=swap');

/* ---------- Design Tokens ---------- */
:root{
  /* colour */
  --ink:#18171b;
  --ink-soft:#38363c;
  --paper:#fffdfb;
  --paper-dim:#fbf6f4;
  --champagne:#faf1ec;
  --blush:#ffe4ed;
  --blush-deep:#f6c9d7;
  --blush-line: rgba(24,23,27,0.08);
  --rose:#a8506c;
  --rose-dark:#7c3650;
  --rose-mid:#c17c93;
  --gold:#c9a45c;

  /* type */
  --font-display:'Cormorant Garamond', 'Times New Roman', serif;
  --font-body:'Jost', 'Helvetica Neue', Arial, sans-serif;
  --font-script:'Parisienne', cursive;

  /* layout */
  --maxw:1280px;
  --gutter:clamp(1.25rem, 4vw, 3.5rem);
  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:28px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-weight:300;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0;color:var(--ink);}
p{margin:0;}
section{position:relative;}

/* ---------- Custom scrollbar (baby pink) ---------- */
html{
  scrollbar-width:thin;
  scrollbar-color: var(--rose-mid) var(--blush);
}
::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--blush);}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, var(--rose-mid), var(--rose));
  border-radius:10px;
  border:3px solid var(--blush);
}
::-webkit-scrollbar-thumb:hover{background:var(--rose-dark);}

/* ---------- Selection ---------- */
::selection{background:var(--blush-deep);color:var(--rose-dark);}

/* ---------- Focus ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--rose);
  outline-offset:3px;
  border-radius:4px;
}

/* ---------- Utility ---------- */
.sn-wrap{max-width:var(--maxw); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter);}
.sn-eyebrow{
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--rose);
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:.6em;
}
.sn-eyebrow::before{content:'';width:22px;height:1px;background:var(--rose-mid);display:inline-block;}
.sn-section-head{text-align:center; max-width:640px; margin:0 auto 3.2rem;}
.sn-section-head h2{font-size:clamp(2rem,4vw,2.9rem); margin:.7rem 0 1rem; letter-spacing:.01em;}
.sn-section-head p{color:var(--ink-soft); font-size:1.02rem;}
.sn-section-pad{padding:clamp(4rem,8vw,7rem) 0;}
.sn-italic{font-style:italic; color:var(--rose); font-weight:400;}

.sn-btn{
  display:inline-flex;align-items:center;gap:.55em;
  padding:.95em 2em;
  border-radius:999px;
  font-family:var(--font-body);
  font-size:.82rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  border:1px solid transparent;
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), background .3s ease, color .3s ease, border-color .3s ease;
  white-space:nowrap;
}
.sn-btn svg{width:15px;height:15px;flex:none;}
.sn-btn-primary{background:var(--ink);color:var(--paper);}
.sn-btn-primary:hover{background:var(--rose-dark); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(124,54,80,.55);}
.sn-btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.sn-btn-outline:hover{background:var(--ink); color:var(--paper); transform:translateY(-3px);}
.sn-btn-blush{background:var(--blush); color:var(--rose-dark); border-color:var(--blush-deep);}
.sn-btn-blush:hover{background:var(--rose-dark); color:var(--paper); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(124,54,80,.45);}
.sn-btn-ghost-light{background:transparent;color:var(--paper);border-color:rgba(255,255,255,.5);}
.sn-btn-ghost-light:hover{background:var(--paper); color:var(--ink); transform:translateY(-3px);}

/* ---------- Announcement bar ---------- */
.sn-announce{
  background:var(--ink);
  color:var(--blush);
  overflow:hidden;
  white-space:nowrap;
  position:relative;
  height:38px;
}
.sn-announce-track{
  display:inline-flex;
  align-items:center;
  gap:2.5rem;
  height:100%;
  animation:marquee 32s linear infinite;
  padding-left:100%;
}
.sn-announce-track span{
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:2.5rem;
  font-weight:400;
  color:var(--blush);
}
.sn-announce-track .sn-dot{color:var(--rose-mid); font-size:.9rem;}
@keyframes marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}

/* ---------- Header / Nav ---------- */
header.sn-site-header{
  position:sticky; top:0; z-index:200;
  background:rgba(255,253,251,.86);
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--blush-line);
  transition:box-shadow .35s ease;
}
header.sn-site-header.sn-scrolled{box-shadow:0 12px 30px -20px rgba(0,0,0,.25);}
.sn-nav-inner{
  max-width:var(--maxw); margin:0 auto; padding:.7rem var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
}
.sn-brand{display:flex; align-items:center; gap:.6rem; flex:none;}
.sn-brand img{height:46px; width:auto;}
.sn-brand .sn-brand-tag{
  display:none;
}

.sn-nav-links{display:flex; align-items:center; gap:2.1rem; margin:0 auto;}
.sn-nav-links > li{position:relative;}
.sn-nav-links a.sn-nav-link{
  font-size:.82rem; letter-spacing:.09em; text-transform:uppercase;
  font-weight:500; color:var(--ink-soft);
  padding:.5rem .1rem;
  position:relative;
}
.sn-nav-links a.sn-nav-link::after{
  content:'';position:absolute; left:0; bottom:0; width:0; height:1.5px;
  background:var(--rose); transition:width .35s var(--ease);
}
.sn-nav-links a.sn-nav-link:hover, .sn-nav-links li.sn-active > a.sn-nav-link{color:var(--ink);}
.sn-nav-links a.sn-nav-link:hover::after, .sn-nav-links li.sn-active > a.sn-nav-link::after{width:100%;}
.sn-nav-links li.sn-has-drop > a.sn-nav-link{display:flex; align-items:center; gap:.4em;}
.sn-nav-links li.sn-has-drop svg{width:9px;height:9px; transition:transform .3s ease;}
.sn-nav-links li.sn-has-drop:hover svg{transform:rotate(180deg);}

.sn-nav-cta{display:flex; align-items:center; gap:1rem; flex:none;}
.sn-icon-btn{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--blush-line); color:var(--ink);
  transition:background .3s ease, color .3s ease, transform .3s ease;
}
.sn-icon-btn:hover{background:var(--blush); color:var(--rose-dark); transform:translateY(-2px);}
.sn-icon-btn svg{width:17px;height:17px;}

.sn-menu-toggle{display:none; background:none; border:none; padding:.4rem;}
.sn-menu-toggle span{display:block; width:24px; height:1.5px; background:var(--ink); margin:5px 0; transition:transform .3s ease, opacity .3s ease;}

/* Mega dropdown */
.sn-mega{
  position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%) translateY(8px);
  width:min(840px, 88vw);
  background:var(--paper);
  border:1px solid var(--blush-line);
  border-radius:var(--radius-md);
  box-shadow:0 32px 60px -24px rgba(24,23,27,.28);
  padding:1.6rem;
  display:grid; grid-template-columns:repeat(6,1fr); gap:1.1rem;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
  z-index:50;
}
.sn-nav-links li.sn-has-drop:hover .sn-mega,
.sn-nav-links li.sn-has-drop.sn-open .sn-mega{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.sn-mega a{display:flex; flex-direction:column; gap:.6rem; text-align:left;}
.sn-mega .sn-mega-thumb{
  border-radius:10px; overflow:hidden; aspect-ratio:1/1; background:var(--blush);
}
.sn-mega .sn-mega-thumb img{width:100%;height:100%;object-fit:cover; transition:transform .6s var(--ease);}
.sn-mega a:hover .sn-mega-thumb img{transform:scale(1.12);}
.sn-mega .sn-mega-label{font-size:.78rem; letter-spacing:.03em; color:var(--ink); font-weight:500;}
.sn-mega .sn-mega-label small{display:block; font-weight:300; color:var(--ink-soft); font-size:.72rem; letter-spacing:0; margin-top:.15rem; font-family:var(--font-body);}

/* ---------- Buttons row mobile drawer ---------- */
.sn-mobile-drawer{
  position:fixed; inset:0 0 0 auto; width:min(360px,86vw); height:100vh;
  background:var(--paper); z-index:400; padding:1.6rem;
  transform:translateX(100%); transition:transform .45s var(--ease);
  overflow-y:auto; box-shadow:-20px 0 50px rgba(0,0,0,.25);
}
.sn-mobile-drawer.sn-open{transform:translateX(0);}
.sn-mobile-drawer .sn-close-drawer{background:none;border:none;margin-left:auto;display:block;padding:.5rem;}
.sn-mobile-drawer .sn-close-drawer svg{width:20px;height:20px;}
.sn-mobile-drawer nav ul{display:flex; flex-direction:column; margin-top:1.5rem;}
.sn-mobile-drawer nav a{
  display:block; padding:.85rem 0; font-family:var(--font-display); font-size:1.3rem;
  border-bottom:1px solid var(--blush-line); color:var(--ink);
}
.sn-mobile-drawer .sn-sub-list{display:none; flex-direction:column; padding-left:1rem;}
.sn-mobile-drawer .sn-sub-list a{font-family:var(--font-body); font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; padding:.6rem 0; border:none; color:var(--ink-soft);}
.sn-scrim{position:fixed; inset:0; background:rgba(24,23,27,.4); z-index:350; opacity:0; visibility:hidden; transition:opacity .4s ease;}
.sn-scrim.sn-open{opacity:1; visibility:visible;}

/* ============================================================
   Decorative rose line-art (signature motif)
   ============================================================ */
.sn-rose-motif{position:absolute; pointer-events:none; opacity:.5;}
.sn-rose-line{fill:none; stroke:var(--rose-mid); stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round;}

.sn-divider-rose{display:flex; align-items:center; justify-content:center; gap:1rem; margin:0 auto;}
.sn-divider-rose .sn-line{width:60px; height:1px; background:linear-gradient(90deg, transparent, var(--blush-deep));}
.sn-divider-rose .sn-line.sn-r{background:linear-gradient(90deg, var(--blush-deep), transparent);}
.sn-divider-rose svg{width:26px;height:26px;flex:none;}

/* ============================================================
   Product / Photo cards — hover zoom + shadow (the finer detail)
   ============================================================ */
.sn-figure{
  position:relative; overflow:hidden; border-radius:var(--radius-md);
  background:var(--blush);
  box-shadow:0 1px 2px rgba(24,23,27,.05);
  transition:box-shadow .5s var(--ease), transform .5s var(--ease);
}
.sn-figure img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease), filter .8s var(--ease);}
.sn-figure:hover{box-shadow:0 34px 60px -22px rgba(24,23,27,.35);}
.sn-figure:hover img{transform:scale(1.09);}
.sn-figure::after{
  content:''; position:absolute; inset:0; border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  pointer-events:none;
}

.sn-card{
  background:var(--paper);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  border:1px solid var(--blush-line);
}
.sn-card:hover{transform:translateY(-8px); box-shadow:0 30px 55px -24px rgba(24,23,27,.28); border-color:transparent;}
.sn-card .sn-figure{border-radius:0; aspect-ratio:1/1;}
.sn-card .sn-card-body{padding:1.4rem 1.5rem 1.7rem;}
.sn-card .sn-card-body h3{font-size:1.28rem; margin-bottom:.35rem;}
.sn-card .sn-price{color:var(--rose); font-family:var(--font-display); font-style:italic; font-size:1.05rem; margin-bottom:.55rem; display:block;}
.sn-card .sn-desc{font-size:.86rem; color:var(--ink-soft); line-height:1.6;}
.sn-card .sn-card-tag{
  position:absolute; top:12px; left:12px; z-index:2;
  background:rgba(255,253,251,.92); color:var(--rose-dark);
  font-size:.65rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.4em .8em; border-radius:999px; font-weight:500;
}

.sn-grid{display:grid; gap:1.8rem;}
.sn-grid-4{grid-template-columns:repeat(4,1fr);}
.sn-grid-3{grid-template-columns:repeat(3,1fr);}
.sn-grid-2{grid-template-columns:repeat(2,1fr);}

/* ---------- reveal on scroll ---------- */
.sn-reveal{opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
.sn-reveal.sn-in{opacity:1; transform:translateY(0);}
.sn-reveal-stagger > *{transition-delay:calc(var(--i,0) * 90ms);}

/* ---------- Footer ---------- */
footer.sn-site-footer{background:var(--ink); color:rgba(255,253,251,.72); padding-top:0;}
.sn-foot-cta{
  background:linear-gradient(135deg, var(--blush-deep), var(--blush));
  padding:clamp(3rem,7vw,4.5rem) 0; text-align:center; color:var(--ink);
  position:relative; overflow:hidden;
}
.sn-foot-cta h2{color:var(--ink); font-size:clamp(1.9rem,4vw,2.7rem);}
.sn-foot-cta p{color:var(--ink-soft); max-width:520px; margin:1rem auto 2rem;}
.sn-foot-main{padding:clamp(3.5rem,7vw,5rem) 0 2.5rem;}
.sn-foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:3rem;}
.sn-foot-grid h4{color:var(--paper); font-family:var(--font-body); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500; margin-bottom:1.3rem;}
.sn-foot-grid img{height:42px; margin-bottom:1rem;}
.sn-foot-grid p.sn-blurb{font-size:.88rem; line-height:1.75; max-width:280px;}
.sn-foot-grid ul li{margin-bottom:.8rem;}
.sn-foot-grid ul a{font-size:.87rem; transition:color .3s ease, padding-left .3s ease;}
.sn-foot-grid ul a:hover{color:var(--blush); padding-left:4px;}
.sn-foot-social{display:flex; gap:.7rem; margin-top:1.4rem;}
.sn-foot-social a{width:36px;height:36px; border-radius:50%; border:1px solid rgba(255,253,251,.25); display:flex; align-items:center; justify-content:center; transition:.3s;}
.sn-foot-social a svg{width:15px;height:15px;}
.sn-foot-social a:hover{background:var(--blush); color:var(--rose-dark); border-color:var(--blush);}
.sn-foot-bottom{border-top:1px solid rgba(255,253,251,.14); padding:1.4rem 0; text-align:center; font-size:.78rem; letter-spacing:.02em; color:rgba(255,253,251,.55);}
.sn-foot-bottom a{text-decoration:underline; text-underline-offset:3px;}

/* ---------- Back to top ---------- */
#sn-toTop{
  position:fixed; right:1.6rem; bottom:1.6rem; z-index:150;
  width:46px;height:46px;border-radius:50%;
  background:var(--ink); color:var(--blush);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.4s var(--ease);
}
#sn-toTop.sn-show{opacity:1; visibility:visible; transform:translateY(0);}
#sn-toTop:hover{background:var(--rose-dark);}
#sn-toTop svg{width:16px;height:16px;}

/* ============================================================
   Page banner (interior pages)
   ============================================================ */
.sn-page-banner{
  padding:clamp(5.5rem,12vw,8rem) 0 clamp(3rem,6vw,4.5rem);
  text-align:center;
  background:
    radial-gradient(60% 100% at 50% 0%, var(--blush) 0%, rgba(255,228,237,0) 70%),
    var(--paper);
  position:relative; overflow:hidden;
}
.sn-page-banner .sn-crumb{font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:1rem; display:flex; gap:.5em; align-items:center; justify-content:center;}
.sn-page-banner .sn-crumb a:hover{color:var(--rose);}
.sn-page-banner h1{font-size:clamp(2.6rem,6vw,4.2rem); margin:.3rem 0 1rem;}
.sn-page-banner p{max-width:620px; margin:0 auto; color:var(--ink-soft);}

/* ============================================================
   HOMEPAGE — Hero
   ============================================================ */
.sn-hero{
  padding:clamp(3rem,7vw,5rem) 0 clamp(4rem,8vw,6rem);
  background:
    radial-gradient(48% 60% at 82% 12%, var(--blush) 0%, rgba(255,228,237,0) 72%),
    radial-gradient(38% 50% at 8% 90%, var(--champagne) 0%, rgba(250,241,236,0) 70%),
    var(--paper);
  overflow:hidden;
}
.sn-hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
.sn-hero-copy h1{font-size:clamp(2.7rem,5.4vw,4.4rem); line-height:1.08; margin:1rem 0 1.3rem;}
.sn-hero-sub{font-size:1.08rem; color:var(--ink-soft); max-width:460px; margin-bottom:2.1rem;}
.sn-hero-actions{display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.6rem;}
.sn-trust-row{display:flex; gap:1.8rem; flex-wrap:wrap;}
.sn-trust-row li{display:flex; align-items:center; gap:.55em; font-size:.82rem; color:var(--ink-soft); letter-spacing:.01em;}
.sn-trust-row svg{width:17px;height:17px; color:var(--rose); flex:none;}

.sn-hero-visual{position:relative; height:clamp(380px,42vw,560px);}
.sn-hero-blob{
  position:absolute; inset:2% 0%;
  background:var(--blush);
  border-radius:40px;
  z-index:0;
}
.sn-hero-rose{top:-6%; right:-4%; width:150px; height:150px; z-index:1;}
.sn-hero-photo{position:absolute; z-index:2;}
.sn-hero-photo img{width:100%; height:100%;}
.sn-hero-photo-1{width:52%; aspect-ratio:1/1.02; top:6%; left:2%; box-shadow:0 30px 55px -20px rgba(24,23,27,.35);}
.sn-hero-photo-2{width:40%; aspect-ratio:285/220; bottom:9%; right:2%; box-shadow:0 30px 55px -20px rgba(24,23,27,.35);}
.sn-hero-photo-3{width:34%; aspect-ratio:1/1; bottom:0; left:20%; box-shadow:0 24px 45px -18px rgba(24,23,27,.32); z-index:3;}
.sn-hero-signature{
  position:absolute; top:2%; right:6%; z-index:3;
  font-family:var(--font-script); color:var(--rose); font-size:1.3rem; transform:rotate(-6deg);
}
.sn-font-script{font-family:var(--font-script);}

/* ---------- Category cards ---------- */
.sn-cat-card{display:block; text-align:center;}
.sn-cat-card .sn-figure{aspect-ratio:1/1; margin-bottom:1.1rem; border-radius:var(--radius-lg);}
.sn-cat-card h3{font-size:1.3rem; margin-bottom:.3rem;}
.sn-cat-card .sn-cat-link{font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--rose); font-weight:500;}

/* ---------- Why us ---------- */
.sn-why-item{text-align:center; padding:1rem;}
.sn-why-item svg{width:40px;height:40px; color:var(--rose); margin-bottom:1.1rem;}
.sn-why-item h3{font-size:1.18rem; margin-bottom:.5rem;}
.sn-why-item p{font-size:.88rem; color:var(--ink-soft);}

/* ---------- Process ---------- */
.sn-process-steps > div{padding:1rem; border-left:1px solid rgba(255,253,251,.16);}
.sn-process-steps > div:first-child{border-left:none;}
.sn-step-no{font-family:var(--font-display); font-style:italic; color:var(--rose-mid); font-size:1.6rem; display:block; margin-bottom:.6rem;}
.sn-process-steps h3{color:var(--paper); font-size:1.2rem; margin-bottom:.5rem;}
.sn-process-steps p{color:rgba(255,253,251,.65); font-size:.88rem;}

/* ---------- Quote ---------- */
.sn-quote-section{background:var(--blush);}
.sn-quote{font-family:var(--font-display); font-style:italic; font-size:clamp(1.4rem,3vw,2rem); line-height:1.5; color:var(--ink);}

/* ---------- Instagram band ---------- */
.sn-ig-band{background:var(--champagne);}
.sn-ig-inner{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center;}
.sn-ig-inner h2{margin:.6rem 0 1rem; font-size:clamp(2rem,4vw,2.6rem);}
.sn-ig-inner p{color:var(--ink-soft); max-width:420px; margin-bottom:1.8rem;}
.sn-ig-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
.sn-ig-grid .sn-figure{aspect-ratio:1/1; border-radius:var(--radius-md);}

@media (max-width:880px){
  .sn-hero-grid{grid-template-columns:1fr;}
  .sn-hero-visual{order:-1; height:340px; margin-bottom:1rem;}
  .sn-ig-inner{grid-template-columns:1fr;}
  .sn-process-steps > div{border-left:none; border-top:1px solid rgba(255,253,251,.16);}
}

/* ============================================================
   About page
   ============================================================ */
.sn-story-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center;}
.sn-story-copy p{color:var(--ink-soft); margin-bottom:1.2rem;}
.sn-story-photos{position:relative; height:440px;}
.sn-story-photos .sn-figure{position:absolute;}
.sn-story-photos .sn-p1{width:62%; aspect-ratio:1/1; top:0; left:0; box-shadow:0 30px 55px -20px rgba(24,23,27,.3);}
.sn-story-photos .sn-p2{width:44%; aspect-ratio:285/220; bottom:0; right:0; box-shadow:0 26px 50px -18px rgba(24,23,27,.3);}

.sn-values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.sn-value-card{background:var(--paper); border:1px solid var(--blush-line); border-radius:var(--radius-md); padding:2.2rem 1.8rem; text-align:center; transition:transform .5s var(--ease), box-shadow .5s var(--ease);}
.sn-value-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(24,23,27,.25);}
.sn-value-card svg{width:34px;height:34px;color:var(--rose); margin-bottom:1rem;}
.sn-value-card h3{font-size:1.1rem; margin-bottom:.6rem;}
.sn-value-card p{font-size:.87rem; color:var(--ink-soft);}

.sn-founder-note{
  background:var(--blush); border-radius:var(--radius-lg); padding:clamp(2.2rem,5vw,3.6rem);
  display:grid; grid-template-columns:auto 1fr; gap:2.2rem; align-items:center;
}
.sn-founder-note .sn-mark{font-family:var(--font-display); font-size:4rem; color:var(--rose-mid); line-height:1; font-style:italic;}
.sn-founder-note p{font-family:var(--font-display); font-style:italic; font-size:1.35rem; line-height:1.6; color:var(--ink);}
.sn-founder-note .sn-sign{margin-top:1rem; font-family:var(--font-script); font-size:1.4rem; color:var(--rose-dark); font-style:normal;}

/* ============================================================
   Candle Care page
   ============================================================ */
.sn-care-steps{display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem;}
.sn-care-step{
  display:flex; gap:1.4rem; background:var(--paper); border:1px solid var(--blush-line);
  border-radius:var(--radius-md); padding:1.8rem; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.sn-care-step:hover{transform:translateY(-5px); box-shadow:0 22px 45px -24px rgba(24,23,27,.25);}
.sn-care-step .sn-num{
  flex:none; width:44px;height:44px;border-radius:50%; background:var(--blush); color:var(--rose-dark);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-style:italic; font-size:1.2rem;
}
.sn-care-step h3{font-size:1.08rem; margin-bottom:.4rem;}
.sn-care-step p{font-size:.87rem; color:var(--ink-soft);}

.sn-safety-banner{
  background:var(--ink); color:var(--paper); border-radius:var(--radius-lg);
  padding:clamp(2rem,5vw,3rem); display:flex; gap:1.6rem; align-items:flex-start;
}
.sn-safety-banner svg{flex:none; width:36px;height:36px; color:var(--rose-mid);}
.sn-safety-banner h3{color:var(--paper); margin-bottom:.5rem;}
.sn-safety-banner p{color:rgba(255,253,251,.72); font-size:.92rem; line-height:1.8;}

/* ---------- FAQ accordion ---------- */
.sn-faq-list{max-width:760px; margin:0 auto;}
.sn-faq-item{border-bottom:1px solid var(--blush-line);}
.sn-faq-q{
  width:100%; text-align:left; background:none; border:none; padding:1.4rem .2rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-family:var(--font-display); font-size:1.15rem; color:var(--ink);
}
.sn-faq-q .sn-plus{flex:none; width:26px;height:26px; position:relative;}
.sn-faq-q .sn-plus::before, .sn-faq-q .sn-plus::after{content:''; position:absolute; background:var(--rose); transition:transform .35s var(--ease);}
.sn-faq-q .sn-plus::before{left:0; top:50%; width:100%; height:1.4px; transform:translateY(-50%);}
.sn-faq-q .sn-plus::after{top:0; left:50%; width:1.4px; height:100%; transform:translateX(-50%);}
.sn-faq-item.sn-open .sn-plus::after{transform:translateX(-50%) rotate(90deg); opacity:0;}
.sn-faq-a{max-height:0; overflow:hidden; transition:max-height .45s var(--ease);}
.sn-faq-item.sn-open .sn-faq-a{max-height:220px;}
.sn-faq-a p{padding:0 .2rem 1.5rem; color:var(--ink-soft); font-size:.92rem; line-height:1.75; max-width:640px;}

/* ============================================================
   Contact page
   ============================================================ */
.sn-contact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
.sn-contact-card{
  background:var(--paper); border:1px solid var(--blush-line); border-radius:var(--radius-md);
  padding:2.2rem 1.8rem; text-align:center; transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.sn-contact-card:hover{transform:translateY(-6px); box-shadow:0 26px 50px -24px rgba(24,23,27,.25);}
.sn-contact-card svg{width:32px;height:32px; color:var(--rose); margin-bottom:1rem;}
.sn-contact-card h3{font-size:1.1rem; margin-bottom:.5rem;}
.sn-contact-card p{font-size:.87rem; color:var(--ink-soft); margin-bottom:1.2rem;}

.sn-location-card{
  display:grid; grid-template-columns:1fr 1fr; border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--blush-line);
}
.sn-location-map{
  background:
    repeating-linear-gradient(0deg, transparent, transparent 38px, var(--blush-line) 39px),
    repeating-linear-gradient(90deg, transparent, transparent 38px, var(--blush-line) 39px),
    var(--champagne);
  position:relative; min-height:320px; display:flex; align-items:center; justify-content:center;
}
.sn-location-map .sn-pin{
  width:56px;height:56px;border-radius:50% 50% 50% 0; background:var(--rose); transform:rotate(-45deg);
  display:flex; align-items:center; justify-content:center; box-shadow:0 18px 30px -12px rgba(124,54,80,.5);
}
.sn-location-map .sn-pin svg{transform:rotate(45deg); width:24px;height:24px; color:var(--paper);}
.sn-location-info{padding:clamp(2rem,4vw,3rem); display:flex; flex-direction:column; justify-content:center;}
.sn-location-info h3{font-size:1.4rem; margin-bottom:1rem;}
.sn-location-info ul li{display:flex; gap:.8em; margin-bottom:1rem; font-size:.92rem; color:var(--ink-soft);}
.sn-location-info ul svg{flex:none; width:18px;height:18px; color:var(--rose); margin-top:2px;}

@media (max-width:880px){
  .sn-story-grid{grid-template-columns:1fr;}
  .sn-story-photos{order:-1;}
  .sn-values-grid, .sn-care-steps, .sn-contact-grid{grid-template-columns:1fr 1fr;}
  .sn-location-card{grid-template-columns:1fr;}
  .sn-founder-note{grid-template-columns:1fr; text-align:center;}
}
@media (max-width:560px){
  .sn-values-grid, .sn-care-steps, .sn-contact-grid{grid-template-columns:1fr;}
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .sn-grid-4{grid-template-columns:repeat(3,1fr);}
  .sn-foot-grid{grid-template-columns:1.3fr 1fr 1fr; row-gap:2.5rem;}
  .sn-foot-grid > div:last-child{grid-column:1/-1;}
}
@media (max-width:880px){
  .sn-nav-links, .sn-nav-cta .sn-icon-btn:not(.sn-ig){display:none;}
  .sn-menu-toggle{display:block;}
  .sn-grid-3{grid-template-columns:repeat(2,1fr);}
  .sn-grid-4{grid-template-columns:repeat(2,1fr);}
  .sn-foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .sn-grid-2, .sn-grid-3, .sn-grid-4{grid-template-columns:repeat(2,1fr); gap:1rem;}
  .sn-foot-grid{grid-template-columns:1fr;}
  .sn-brand img{height:38px;}
}

/* Shared utility used by the consolidated site.js image fallback. */
.sn-img-fallback{
  display:block;
  min-height:120px;
  background:var(--blush,#ffe4ed);
}


/* ============================================================
   Studio Nandar — 2026 interaction/layout fixes
   ============================================================ */

/* Shop mega menu: six columns, no viewport-edge overlap, and a generous hover bridge. */
.sn-mega{
  width:min(900px, calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  left:auto;
  right:0;
  top:100%;
  transform:translateY(8px);
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:1rem;
}
.sn-mega::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-12px;
  height:14px;
}
.sn-nav-links li.sn-has-drop:hover .sn-mega,
.sn-nav-links li.sn-has-drop.sn-open .sn-mega,
.sn-nav-links li.sn-has-drop:focus-within .sn-mega{
  transform:translateY(0);
}

/* The announcement text now travels at one-quarter of the previous speed. */
.sn-announce-track,
.announce-track{
  animation-duration:128s !important;
}

/* Keep the page footer CTA a simple pink panel. */
.sn-page-banner{
  background:var(--blush) !important;
}
.sn-foot-cta{
  background:var(--blush) !important;
}
.sn-foot-cta .sn-rose-motif{
  display:none !important;
}

/* Prevent wide decorative/interactive elements from ever creating viewport overlap. */
.sn-site-header,
.sn-announce,
.sn-page-banner,
.sn-foot-cta{
  max-width:100%;
}

@media (max-width:1080px){
  .sn-mega{width:min(820px, calc(100vw - 32px));}
}

@media (max-width:880px){
  .sn-mega{display:none !important;}
}

/* Homepage collection category row: five across on wide screens. */
.sn-grid-collections{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.4rem;}
@media (max-width:1080px){.sn-grid-collections{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:880px){.sn-grid-collections{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}}

/* ============================================================
   Studio Nandar — verified final corrections
   These rules are intentionally LAST so they override the
   duplicated legacy styles retained during the migration.
   ============================================================ */

/* 1) Desktop Shop menu: center it to the viewport, 6 equal columns,
      and keep enough horizontal room for all six cards. */
@media (min-width: 881px){
  header.sn-site-header{position:sticky; top:0;}
  .sn-nav-links > li.sn-has-drop{position:static;}
  .sn-mega{
    left:50% !important;
    right:auto !important;
    top:100% !important;
    width:min(1000px, calc(100vw - 40px)) !important;
    max-width:calc(100vw - 40px) !important;
    grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
    transform:translateX(-50%) translateY(8px) !important;
  }
  .sn-nav-links li.sn-has-drop:hover .sn-mega,
  .sn-nav-links li.sn-has-drop.sn-open .sn-mega,
  .sn-nav-links li.sn-has-drop:focus-within .sn-mega{
    transform:translateX(-50%) translateY(0) !important;
  }
}

/* 2) Mobile: prevent horizontal overflow that makes the viewport feel
      zoomed-out/zoomed-in. Keep media intrinsically inside the viewport. */
html, body{
  width:100%;
  max-width:100%;
  min-width:0 !important;
  overflow-x:hidden !important;
}
body.sn-site-body,
body.sn-site-body .body-wrapper{
  width:100%;
  max-width:100%;
  min-width:0 !important;
}
img, svg, video, iframe, canvas{
  max-width:100%;
}

@media (max-width:880px){
  .sn-nav-inner,
  .sn-wrap{
    width:100%;
    max-width:100%;
    padding-left:1rem;
    padding-right:1rem;
  }
  .sn-nav-inner{gap:.65rem;}
  .sn-brand{min-width:0;}
  .sn-brand img{height:38px; max-width:calc(100vw - 125px); width:auto;}
  .sn-nav-cta{min-width:0; gap:.45rem;}
  .sn-icon-btn{flex:0 0 38px;}
  .sn-menu-toggle{flex:0 0 auto;}
  .sn-mobile-drawer{max-width:100vw;}
  input, select, textarea, button{max-width:100%;}
}

/* 3) “Made with love in Calgary” — make the COMPLETE line use the
      same script font on desktop and mobile. */
.sn-hero-signature,
.sn-hero-signature *{
  font-family:var(--font-script) !important;
  font-weight:400 !important;
}

/* 4) Plain, shorter interior pink banner. No gradient, curve, squiggle,
      border artwork, or inherited decorative pseudo-element. */
.sn-page-banner{
  min-height:0 !important;
  height:auto !important;
  padding:2rem 1rem 2.15rem !important;
  background:var(--blush) !important;
  background-image:none !important;
  text-align:center !important;
  overflow:hidden !important;
}
.sn-page-banner::before,
.sn-page-banner::after,
.sn-page-banner svg,
.sn-page-banner .sn-rose-motif,
.sn-page-banner .rose-motif{
  display:none !important;
  content:none !important;
  background:none !important;
}
.sn-page-banner .sn-crumb{
  margin:0 0 .55rem !important;
  justify-content:flex-start !important;
  text-align:left !important;
  align-self:stretch;
}
.sn-page-banner h1{margin:.1rem 0 .55rem !important;}
.sn-page-banner p{margin:0 auto !important;}

/* 5) Bottom pink CTA: shorter and completely flat. */
.sn-foot-cta{
  min-height:0 !important;
  height:auto !important;
  padding:2rem 0 2.15rem !important;
  background:var(--blush) !important;
  background-image:none !important;
  overflow:hidden !important;
}
.sn-foot-cta::before,
.sn-foot-cta::after,
.sn-foot-cta svg,
.sn-foot-cta .sn-rose-motif,
.sn-foot-cta .rose-motif{
  display:none !important;
  content:none !important;
  background:none !important;
}

/* 6) Desktop breadcrumb = top-left; mobile = centered. */
@media (min-width:881px){
  .sn-page-banner .sn-wrap{position:relative;}
  .sn-page-banner .sn-crumb{
    justify-content:flex-start !important;
    text-align:left !important;
  }
}
@media (max-width:880px){
  .sn-page-banner{padding:1.55rem .85rem 1.8rem !important;}
  .sn-page-banner .sn-crumb{
    justify-content:center !important;
    text-align:center !important;
    align-self:center;
    width:100%;
  }
}

/* 7) Desktop footer: raise the whole footer content about one line.
      Mobile is intentionally left at the existing spacing. */
@media (min-width:881px){
  .sn-foot-main{padding-top:2rem !important;}
}

/* Footer section headings: one size larger. */
.sn-site-footer .sn-foot-col h4{font-size:0.78rem !important;}

/* 8) Wax melts product photos: use one consistent image frame and
      contain the source artwork so tall/short source files stay aligned. */
.sn-grid.sn-grid-2 > .sn-card > .sn-figure{
  aspect-ratio:286 / 269 !important;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:var(--paper);
}
.sn-grid.sn-grid-2 > .sn-card > .sn-figure img{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* 9) The shared scrolling bars: the second bar is real markup in the
      global header. Both scrolling lines use the requested duration. */
.sn-announce-track,
.announce-track{
  animation-duration:123s !important;
}
.sn-top-brand-bar{
  display:block;
}
.sn-top-brand-track{
  animation:sn-top-brand-marquee 123s linear infinite;
}
@keyframes sn-top-brand-marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

@media (max-width:880px){
  .sn-top-brand-bar{height:28px;}
  .sn-top-brand-track{height:28px; line-height:28px;}
}

/* Top brand bar styling */
.sn-top-brand-bar{
  height:32px;
  width:100%;
  overflow:hidden;
  white-space:nowrap;
  background:var(--ink);
  color:var(--blush);
  border:0;
}
.sn-top-brand-track{
  display:flex;
  width:max-content;
  height:32px;
  align-items:center;
  gap:0;
  padding-left:0;
  font-family:var(--font-body);
  font-size:.66rem;
  font-weight:400;
  letter-spacing:.18em;
  line-height:32px;
  text-transform:uppercase;
  will-change:transform;
}
.sn-top-brand-track span{display:inline-flex;align-items:center;flex:0 0 auto;padding-right:4rem;}
.sn-top-brand-track em{font-style:normal;color:var(--rose-mid);}
@media (max-width:880px){
  .sn-top-brand-bar{height:28px;}
  .sn-top-brand-track{
    height:28px;
    line-height:28px;
    font-size:.56rem;
    letter-spacing:.13em;
    gap:1.5rem;
  }
  .sn-top-brand-track span{padding-right:1.5rem;}
}

/* Ensure the brand bar is above the sticky header rather than nested into it. */
.sn-top-brand-bar + .sn-site-header{top:0;}


/* Brand bar: evenly spaced items and a faster seamless loop. */
.sn-top-brand-track{
  animation:sn-top-brand-marquee 90s linear infinite !important;
}
.sn-brand-set{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:center;
  justify-items:center;
  width:100vw;
  min-width:100vw;
  flex:0 0 100vw;
}
.sn-brand-set span{
  display:block !important;
  padding:0 !important;
  white-space:nowrap;
  text-align:center;
}
.sn-brand-set span:not(:last-child)::after{
  content:'•';
  display:inline-block;
  margin-left:1.5rem;
  color:var(--rose-mid);
}
@keyframes sn-top-brand-marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-100vw);}
}
@media (max-width:880px){
  .sn-top-brand-track{animation-duration:70s !important;}
  .sn-brand-set{grid-template-columns:repeat(5,minmax(150px,1fr));}
  .sn-brand-set span:not(:last-child)::after{margin-left:.85rem;}
}