*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
--cream:      #E8EDDF;
--cream-warm: #F4F6F0;
--orange:     #4A7C59;
--green:      #1B3A2D;
--green-dk:   #0E2018;
--green-mid:  #2E6B4F;
--eggplant:   #1A2E20;
--mustard:    #7EAD8A;
--sage:       #A8C5A0;
--olive:      #5C7A5C;
}

html { scroll-behavior: smooth; }

body {
font-family: 'Righteous', sans-serif;
background: var(--cream-warm);
color: var(--eggplant);
overflow-x: hidden;
}

/* ── NAV ── */
nav {
position: fixed; top: 16px; left: 16px; right: 16px; z-index: 100;
max-width: 1200px; margin: 0 auto;
background: rgba(232,237,223,.95);
backdrop-filter: blur(10px);
border: 1.5px solid rgba(27,58,45,.12);
border-radius: 50px;
box-shadow: 0 8px 30px rgba(27,58,45,.10);
padding: 0 5%;
opacity: .9;
}
.nav-inner {
display: flex; align-items: center; justify-content: space-between;
height: 66px;
}
.logo {
font-family: 'Righteous', sans-serif;
font-size: 22px; font-weight: 900;
color: var(--green); letter-spacing: -.5px;
display: flex; align-items: center; gap: 8px;
}
.logo-flame { font-size: 20px; }
.nav-links { display: flex; align-items: center; gap: 2rem; }
.nav-links a {
font-size: 15px; font-weight: 600;
color: var(--eggplant); opacity: .75;
text-decoration: none; transition: opacity .2s;
}
.nav-links a:hover { opacity: 1; }
.cart-btn {
background: var(--green); color: #fff;
border: none; border-radius: 50px;
padding: 9px 20px;
font-family: 'Righteous', sans-serif;
font-size: 14px; font-weight: 700;
cursor: pointer;
display: flex; align-items: center; gap: 8px;
transition: background .2s, transform .15s;
}
.cart-btn:hover { background: var(--green-dk); }
.cart-btn:active { transform: scale(.95); }
.cart-count {
background: var(--sage); color: var(--eggplant);
border-radius: 50%; width: 22px; height: 22px;
display: flex; align-items: center; justify-content: center;
font-size: 12px; font-weight: 700;
}

/* ── HERO ── */
.hero {
min-height: 100vh;
background: #e0e9dd;
display: flex; align-items: center;
padding: 130px 5% 70px;
position: relative; overflow: hidden;
}
.hero-inner {
display: flex; align-items: center;
width: 100%; max-width: 1200px; margin: 0 auto;
position: relative; z-index: 2;
}
.blob {
position: absolute; border-radius: 50%;
pointer-events: none;
}
.blob-1 {
width: 520px; height: 520px;
background: radial-gradient(circle, rgba(94,151,107,.18), transparent 70%);
top: -120px; right: -80px;
animation: float1 9s ease-in-out infinite;
}
.blob-2 {
width: 420px; height: 420px;
background: radial-gradient(circle, rgba(126,173,138,.20), transparent 70%);
bottom: -100px; left: 22%;
animation: float2 11s ease-in-out infinite;
}
.blob-3 {
width: 300px; height: 300px;
background: radial-gradient(circle, rgba(27,58,45,.12), transparent 70%);
top: 30%; left: -60px;
animation: float3 13s ease-in-out infinite;
}
@keyframes float1 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(-28px,28px) scale(1.07)} }
@keyframes float2 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(22px,-22px) scale(1.06)} }
@keyframes float3 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(15px,30px)} }

.hero-content { flex: 1; max-width: 550px; position: relative; z-index: 2; }
.hero-badge {
display: inline-flex; align-items: center; gap: 7px;
background: rgba(27,58,45,.1);
border: 1px solid rgba(27,58,45,.25);
border-radius: 50px; padding: 6px 16px;
font-size: 13px; font-weight: 700;
color: var(--green); margin-bottom: 26px;
}
.hero h1 {
font-family: 'Righteous', sans-serif;
font-size: clamp(50px, 7.5vw, 85px);
font-weight: 900; line-height: 1.02;
color: var(--eggplant); margin-bottom: 24px;
}
.hero h1 span{
font-size: clamp(50px, 7.5vw, 70px);
color: #4a7c59;
}
.hero-sub {
font-size: 17px; line-height: 1.7;
color: var(--eggplant); opacity: .72;
max-width: 430px; margin-bottom: 38px;
}
.cta-row { display: flex; gap: 14px; flex-wrap: wrap; }
.btn-primary {
background: var(--orange); color: #fff;
border: none; border-radius: 50px;
padding: 16px 38px;
font-family: 'Righteous', sans-serif;
font-size: 16px; font-weight: 500;
cursor: pointer;
box-shadow: 0 6px 24px rgba(74,124,89,.30);
transition: transform .15s, box-shadow .2s, background .2s;
text-decoration: none; display: inline-block;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(74,124,89,.40); }
.btn-primary:active { transform: scale(.95); }
.btn-ghost {
background: transparent; color: var(--eggplant);
border: 2px solid rgba(42,31,18,.25);
border-radius: 50px; padding: 14px 30px;
font-family: 'Righteous', sans-serif;
font-size: 16px; font-weight: 700;
cursor: pointer; transition: border-color .2s, background .2s;
text-decoration: none; display: inline-block;
}
.btn-ghost:hover { border-color: var(--green); background: rgba(15,36,22,.06); }

/* candle illustration */
.hero-visual {
flex: 1; display: flex;
justify-content: center; align-items: center;
position: relative; z-index: 2;
}
.candle-wrap {
position: relative; width: 300px; height: 380px;
animation: sway 7s ease-in-out infinite;
}
@keyframes sway {
0%,100% { transform: rotate(3.5deg) translateY(0); }
50%      { transform: rotate(2.5deg) translateY(-14px); }
}
.candle-card {
width: 100%; height: 100%;
border-radius: 28px;
background: linear-gradient(140deg, #2E6B4F 0%, #1B3A2D 35%, #0E2018 65%, #7EAD8A 100%);
position: relative; overflow: hidden;
box-shadow: 0 24px 64px rgba(27,58,45,.28);
}
.candle-swirl {
position: absolute; inset: 0; width: 100%; height: 100%;
}
.flame-wrap {
position: absolute; top: 18px;
left: 50%; transform: translateX(-50%);
font-size: 34px;
animation: flicker 1.6s ease-in-out infinite alternate;
}
@keyframes flicker {
0%   { transform: translateX(-50%) scaleY(1) rotate(-2deg); }
100% { transform: translateX(-50%) scaleY(1.12) rotate(2deg); }
}
.jar {
position: absolute; bottom: 56px;
left: 50%; transform: translateX(-50%);
width: 130px; height: 150px;
background: rgba(210,165,65,.35);
border-radius: 18px 18px 22px 22px;
border: 2px solid rgba(255,210,90,.28);
display: flex; align-items: center; justify-content: center;
}
.jar-label {
background: rgba(244,239,230,.92);
border-radius: 10px;
padding: 10px 14px; text-align: center;
}
.jar-label span {
display: block;
font-family: 'Righteous', sans-serif;
font-size: 12px; font-weight: 700;
color: var(--eggplant);
}
.jar-label small {
font-size: 9px; color: var(--green); font-weight: 700;
}

/* stats strip */
.hero-stats {
display: flex; gap: 36px; flex-wrap: wrap;
margin-top: 40px; padding-top: 36px;
border-top: 1.5px solid rgba(42,31,18,.12);
}
.stat-num {
font-family: 'Righteous', sans-serif;
font-size: 28px; font-weight: 900;
color: var(--green-mid);
}
.stat-label {
font-size: 13px; color: var(--eggplant); opacity: .6;
}

/* ── WAVE ── */
.wave { display: block; line-height: 0; margin: 0; padding: 0; vertical-align: bottom; }

/* ── STORY ── */
.story {
background: var(--green);
padding: 80px 5%; position: relative;
}
.story-inner {
max-width: 1040px; margin: 0 auto;
display: grid; grid-template-columns: 1fr 1fr;
gap: 64px; align-items: center;
}
.polaroid {
background: #fff;
padding: 12px 12px 52px;
border-radius: 3px;
transform: rotate(-3deg);
box-shadow: 0 14px 50px rgba(0,0,0,.32), 0 2px 8px rgba(0,0,0,.15);
position: relative;
max-width: 400px;
margin-bottom: 40px;
}
.polaroid-img {
width: 100%; aspect-ratio: 3/2;
border-radius: 2px;
overflow: hidden;
position: relative;
background: #6b4f24;
}
.polaroid-caption {
position: absolute; bottom: 16px;
left: 0; right: 0; text-align: center;
font-family: 'Righteous', sans-serif;
font-size: 13px; font-style: italic; color: #888;
letter-spacing: .3px;
}
.polaroid-mini {
position: absolute;
bottom: -32px; right: -36px;
background: #fff;
padding: 8px 8px 36px;
border-radius: 3px;
transform: rotate(4.5deg);
box-shadow: 0 8px 28px rgba(0,0,0,.30), 0 2px 6px rgba(0,0,0,.14);
width: 42%;
z-index: 2;
}
.polaroid-mini-img {
width: 100%; aspect-ratio: 3/2;
border-radius: 2px;
overflow: hidden;
background: #1d1308;
}
.polaroid-mini-caption {
position: absolute; bottom: 8px;
left: 0; right: 0; text-align: center;
font-family: 'Righteous', sans-serif;
font-size: 10px; font-style: italic; color: #aaa;
}
.story-card {
background: rgba(255,255,255,.07);
border: 1px solid rgba(255,255,255,.14);
border-radius: 20px;
padding: 36px 38px;
}
.story-card h2 {
font-family: 'Righteous', sans-serif;
font-size: clamp(34px,4.5vw,54px);
font-weight: 900; line-height: 1.1;
color: #fff; margin-bottom: 20px;
}
.story-card p {
font-size: 15.5px; line-height: 1.8;
color: rgba(255,255,255,.8);
}
/* remove unused story-text rules */
.story-tags, .story-tag { display: none; }
.section-badge {
display: inline-flex; align-items: center; gap: 6px;
background: rgba(126,173,138,.22);
border: 1px solid rgba(126,173,138,.45);
border-radius: 50px; padding: 5px 14px;
font-size: 12px; font-weight: 700;
color: var(--mustard); margin-bottom: 18px;
}
/* story-card h2 and p handled above */
.story-card .section-badge { margin-bottom: 20px; }

/* ── PROMISE ── */
.promise {
background: #D9E8D6;
padding: 90px 5%;
text-align: center;
}
.promise-header {
max-width: 760px;
margin: 0 auto 56px;
}
.promise .section-label {
color: var(--green-mid);
letter-spacing: 2.5px;
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
display: block;
margin-bottom: 12px;
}
.promise h2 {
font-family: 'Righteous', sans-serif;
font-size: clamp(38px,5.5vw,62px);
font-weight: 900;
color: var(--eggplant);
line-height: 1.15;
margin-bottom: 22px;
}
.promise-sub {
font-size: 15px; line-height: 1.8;
color: var(--eggplant); opacity: .65;
max-width: 560px; margin: 0 auto;
}
.promise-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
max-width: 900px;
margin: 0 auto;
}
.promise-card {
background: #fff;
border-radius: 18px;
padding: 28px 26px;
display: flex;
align-items: flex-start;
gap: 18px;
text-align: left;
box-shadow: 0 2px 16px rgba(27,58,45,.07);
transition: transform .25s, box-shadow .25s;
}
.promise-card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 32px rgba(27,58,45,.12);
}
.promise-icon {
flex: none;
width: 52px; height: 52px;
background: linear-gradient(135deg, #4A7C59, #2E6B4F);
border-radius: 14px;
display: flex; align-items: center; justify-content: center;
font-size: 24px;
color: #fff;
box-shadow: 0 4px 12px rgba(46,107,79,.30);
}
.promise-icon svg { width: 24px; height: 24px; }
.promise-text h3 {
font-family: 'Righteous', sans-serif;
font-size: 18px; font-weight: 700;
color: var(--eggplant);
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: .5px;
}
.promise-text p {
font-size: 14px; line-height: 1.7;
color: var(--eggplant); opacity: .65;
}
@media (max-width: 600px) {
.promise-grid { grid-template-columns: 1fr; }
}

/* ── PROCESS ── */
.process {
background: var(--cream-warm);
padding: 80px 5% 90px;
}
.process-header {
text-align: center;
margin-bottom: 52px;
}
.process-header h2 {
font-family: 'Righteous', sans-serif;
font-size: clamp(38px,5vw,62px);
font-weight: 900;
color: var(--eggplant);
line-height: 1.1;
margin-top: 10px;
}
.process-steps {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 24px;
max-width: 1040px;
margin: 0 auto;
}
.process-card {
background: #fff;
border-radius: 20px;
padding: 28px 26px 30px;
box-shadow: 0 4px 24px rgba(42,31,18,.07);
transition: transform .25s, box-shadow .25s;
}
.process-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 36px rgba(42,31,18,.13);
}
.process-icon {
width: 48px; height: 48px;
background: var(--green);
border-radius: 13px;
display: flex; align-items: center; justify-content: center;
margin-bottom: 18px;
}
.process-icon svg {
width: 24px; height: 24px;
}
.process-card h3 {
font-family: 'Righteous', sans-serif;
font-size: 22px; font-weight: 700;
color: var(--eggplant);
margin-bottom: 10px;
}
.process-card p {
font-size: 14px; line-height: 1.7;
color: var(--eggplant); opacity: .65;
}

/* ── SHOP ── */
.shop {
background: #a8c5a0;
padding: 90px 5%;
}
.shop-header { text-align: center; margin-bottom: 56px; }
.section-label {
display: block;
font-size: 11px; font-weight: 700;
letter-spacing: 2.5px; color: var(--green-mid);
text-transform: uppercase; margin-bottom: 12px;
}
.shop h2 {
font-family: 'Righteous', sans-serif;
font-size: clamp(38px,5vw,64px);
font-weight: 900; color: var(--eggplant);
line-height: 1.1; margin-bottom: 14px;
}
.shop-sub {
font-size: 16px; color: var(--eggplant); opacity: .62;
max-width: 500px; margin: 0 auto;
line-height: 1.65;
}
.products {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px; max-width: 1040px; margin: 0 auto;
}
.product-card {
background: #fff;
border-radius: 26px;
overflow: hidden;
box-shadow: 0 4px 28px rgba(42,31,18,.07);
transition: transform .28s, box-shadow .28s;
cursor: default;
}
.product-card:hover {
transform: translateY(-7px);
box-shadow: 0 16px 48px rgba(42,31,18,.14);
}
.product-img {
height: 210px; position: relative;
display: flex; align-items: center; justify-content: center;
overflow: hidden;
}
.p1 { background: linear-gradient(140deg,#7a3b8a,#d35400,#e5a93b); }
.p2 { background: linear-gradient(140deg,#c8852a,#d35400,#8b1a1a); }
.p3 { background: linear-gradient(140deg,#2c4a1a,#4a5d23,#8b6914); }
.product-img svg { position: absolute; inset: 0; width:100%; height:100%; opacity:.32; }
.product-icon { font-size: 58px; position: relative; z-index: 2; filter: drop-shadow(0 4px 14px rgba(0,0,0,.3)); }
.product-body { padding: 22px; }
.product-top {
display: flex; justify-content: space-between;
align-items: flex-start; margin-bottom: 10px;
}
.product-name {
font-family: 'Righteous', sans-serif;
font-size: 21px; font-weight: 700;
color: var(--eggplant); line-height: 1.2;
}
.product-price {
background: var(--mustard);
color: #fff;
border-radius: 50px; padding: 4px 12px;
font-size: 13px; font-weight: 700;
white-space: nowrap; flex-shrink: 0;
margin-left: 10px;
}
.scent-notes {
font-size: 13.5px; font-style: italic;
color: var(--eggplant); opacity: .58;
margin-bottom: 18px; line-height: 1.55;
}
.add-btn {
width: 100%; background: var(--green); color: #fff;
border: none; border-radius: 50px; padding: 13px;
font-family: 'Righteous', sans-serif;
font-size: 14px; font-weight: 700;
cursor: pointer;
transition: background .2s, transform .15s;
}
.add-btn:hover { background: var(--green-mid); }
.add-btn:active { transform: scale(.97); }

/* ── REVIEWS ── */
.reviews {
background: var(--eggplant);
padding: 80px 5%;
margin-top: -1px;
}
.reviews-header { text-align: center; margin-bottom: 50px; }
.reviews .section-label { color: var(--mustard); }
.reviews h2 {
font-family: 'Righteous', sans-serif;
font-size: clamp(34px,4.5vw,56px);
font-weight: 900; color: #fff;
line-height: 1.1;
}
.reviews h2 em { color: var(--mustard); font-style: normal; }
.reviews-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 24px; max-width: 1040px; margin: 0 auto 40px;
}
.review-card {
background: rgba(255,255,255,.06);
border: 1px solid rgba(255,255,255,.12);
border-radius: 20px; padding: 24px;
}
.stars { font-size: 16px; margin-bottom: 14px; }
.review-text {
font-size: 14.5px; line-height: 1.7;
color: rgba(255,255,255,.8);
font-style: italic; margin-bottom: 18px;
}
.review-product {
display: inline-block;
background: rgba(126,173,138,.18);
border: 1px solid rgba(126,173,138,.35);
border-radius: 50px; padding: 3px 12px;
font-size: 12px; font-weight: 700;
color: var(--sage); margin-bottom: 14px;
}
.reviewer {
display: flex; align-items: center; gap: 10px;
}
.reviewer-avatar {
width: 38px; height: 38px; border-radius: 50%;
background: var(--mustard);
display: flex; align-items: center; justify-content: center;
font-size: 16px;
}
.reviewer-name {
font-size: 14px; font-weight: 500; color: #fff;
}
.reviewer-loc { font-size: 12px; color: rgba(255,255,255,.45); }
.reviews-total {
max-width: 340px; margin: 0 auto;
background: rgba(126,173,138,.15);
border: 1px solid rgba(126,173,138,.3);
border-radius: 50px; padding: 16px 28px;
display: flex; align-items: center; justify-content: center;
gap: 14px; text-align: center;
}
.total-stars { font-size: 20px; }
.total-score {
font-family: 'Righteous', sans-serif;
font-size: 22px; font-weight: 900; color: var(--sage);
}
.total-label { font-size: 13px; color: rgba(255,255,255,.55); }

/* ── FOOTER ── */
.site-footer {
background: var(--sage);
padding: 60px 5%;
margin-top: -1px;
}
.footer-card {
max-width: 1200px; margin: 0 auto;
background: var(--cream-warm);
border-radius: 28px;
padding: 48px 5%;
opacity: .9;
}
.footer-top {
display: flex; flex-wrap: wrap;
justify-content: space-between;
gap: 40px; margin-bottom: 36px;
}
.footer-brand { max-width: 280px; }
.footer-brand .footer-logo {
font-family: 'Righteous', sans-serif;
font-size: 20px; font-weight: 900;
color: var(--green); margin-bottom: 10px;
display: flex; align-items: center; gap: 8px;
}
.footer-tagline {
font-size: 14px; line-height: 1.65;
color: var(--eggplant); opacity: .68;
}
.footer-col h4 {
font-family: 'Righteous', sans-serif;
font-size: 15px; font-weight: 900;
color: var(--eggplant); margin-bottom: 14px;
}
.footer-col a {
display: block;
font-size: 14px; font-weight: 600;
color: var(--eggplant); opacity: .7;
text-decoration: none; margin-bottom: 10px;
transition: opacity .2s, color .2s;
}
.footer-col a:hover { opacity: 1; color: var(--green); }
.footer-bottom-row {
display: flex; align-items: center; justify-content: space-between;
flex-wrap: wrap; gap: 14px;
padding-top: 28px;
border-top: 1.5px solid rgba(15,36,22,.12);
}
.footer-copy {
font-size: 13px; color: var(--eggplant); opacity: .6;
}
.footer-copy span { color: var(--green); font-weight: 700; }
.footer-socials { display: flex; gap: 18px; flex-wrap: wrap; }
.footer-socials a {
font-size: 14px; font-weight: 700;
color: var(--eggplant); opacity: .7;
text-decoration: none; transition: opacity .2s;
}
.footer-socials a:hover { opacity: 1; }
@media (max-width: 760px) {
.footer-top { flex-direction: column; gap: 28px; }
.footer-bottom-row { flex-direction: column; align-items: flex-start; }
}

/* ── CART DRAWER ── */
.cart-overlay {
position: fixed; inset: 0;
background: rgba(42,31,18,.52);
z-index: 200; opacity: 0;
pointer-events: none;
transition: opacity .3s;
}
.cart-overlay.open { opacity: 1; pointer-events: all; }
.cart-drawer {
position: fixed; right: 0; top: 0; bottom: 0;
width: min(390px, 100vw);
background: var(--cream); z-index: 201;
transform: translateX(100%);
transition: transform .36s cubic-bezier(.4,0,.2,1);
display: flex; flex-direction: column;
box-shadow: -8px 0 48px rgba(42,31,18,.22);
}
.cart-drawer.open { transform: translateX(0); }
.cart-head {
padding: 22px 26px;
border-bottom: 1.5px solid rgba(15,36,22,.14);
display: flex; align-items: center; justify-content: space-between;
}
.cart-head h3 {
font-family: 'Righteous', sans-serif;
font-size: 22px; font-weight: 700;
color: var(--eggplant);
}
.close-btn {
background: none; border: none; cursor: pointer;
font-size: 22px; color: var(--eggplant);
padding: 4px; line-height: 1; opacity: .6;
transition: opacity .2s;
}
.close-btn:hover { opacity: 1; }
.cart-items { flex: 1; overflow-y: auto; padding: 20px 26px; }
.empty-cart {
text-align: center; padding: 70px 0;
color: var(--eggplant); opacity: .45;
}
.empty-cart .empty-icon { font-size: 44px; margin-bottom: 14px; }
.empty-cart p { font-size: 15px; line-height: 1.6; }
.cart-item {
display: flex; gap: 14px; align-items: center;
padding: 14px 0;
border-bottom: 1px solid rgba(15,36,22,.1);
}
.cart-item-icon {
width: 52px; height: 52px;
border-radius: 14px;
display: flex; align-items: center;
justify-content: center; font-size: 24px;
flex-shrink: 0;
}
.cart-item-info { flex: 1; }
.cart-item-name {
font-weight: 700; font-size: 15px;
color: var(--eggplant); margin-bottom: 3px;
}
.cart-item-price {
font-size: 14px; color: var(--green-mid); font-weight: 600;
}
.remove-item {
background: none; border: none; cursor: pointer;
color: rgba(42,31,18,.38); font-size: 18px;
transition: color .2s; padding: 4px;
}
.remove-item:hover { color: var(--green-mid); }
.cart-footer {
padding: 20px 26px;
border-top: 1.5px solid rgba(15,36,22,.14);
}
.subtotal-row {
display: flex; justify-content: space-between;
align-items: center; margin-bottom: 16px;
}
.subtotal-row span {
font-size: 15px; font-weight: 600; color: var(--eggplant);
}
.subtotal-row strong {
font-size: 22px; font-weight: 700; color: var(--eggplant);
}
.checkout-btn {
width: 100%; background: var(--orange); color: #fff;
border: none; border-radius: 50px; padding: 16px;
font-family: 'Righteous', sans-serif;
font-size: 16px; font-weight: 700;
cursor: pointer;
transition: background .2s, transform .15s;
}
.checkout-btn:hover { background: var(--green-mid); }
.checkout-btn:active { transform: scale(.97); }

/* ── TOAST ── */
.toast {
position: fixed; bottom: 30px; left: 50%; z-index: 300;
transform: translateX(-50%) translateY(80px);
background: var(--green); color: #fff;
border-radius: 50px; padding: 12px 28px;
font-size: 14px; font-weight: 700;
box-shadow: 0 8px 28px rgba(0,0,0,.22);
opacity: 0; transition: transform .35s, opacity .35s;
white-space: nowrap;
}
.toast.show { transform: translateX(-50%) translateY(0); opacity: 1; }

/* ── RESPONSIVE ── */
@media (max-width: 760px) {
.hero, .hero-inner { flex-direction: column; text-align: center; }
.hero-content { max-width: 100%; }
.hero-sub { max-width: 100%; }
.cta-row { justify-content: center; }
.hero-stats { justify-content: center; }
.hero-visual { margin-top: 36px; }
.story-inner { grid-template-columns: 1fr; }
.polaroid { transform: rotate(-1.5deg); max-width: 100%; }
.process-steps { grid-template-columns: 1fr 1fr; }
.nav-links a { display: none; }
}