:root{
  --navy:#0F3456; --ink:#0c1623; --muted:#6b778a; --beige:#F6F2EA; --border:#e5e8ef; --accent:#F2B705;
}
*{box-sizing:border-box}
html,body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
.container{max-width:1120px;margin:0 auto;padding:0 18px}
.row{display:flex;gap:12px}.between{justify-content:space-between}.center{align-items:center}.wrap{flex-wrap:wrap}.gap{gap:10px}
.logo{height:44px;border-radius:8px}
.brandline{margin-left:10px;color:var(--muted);font-size:12px}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:20}
.site-header .container{height:68px}
.nav a{color:var(--ink);text-decoration:none;margin:0 10px}
.nav a:hover{color:var(--navy)}
.menu{display:none;background:#f2f4f8;border:1px solid var(--border);border-radius:10px;padding:10px}
.btn{border:none;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:600}.btn.primary{background:var(--navy);color:#fff}
.btn.ghost{background:#f7f9fc;color:var(--ink);border:1px solid var(--border)}.btn.icon{background:#f2f4f8}.btn.block{width:100%}
.badge{background:var(--accent);color:#102a44;border-radius:999px;padding:2px 8px;margin-left:6px}
.hero{background:linear-gradient(180deg,#f6fbff,#fff);padding:64px 0 36px;border-bottom:1px solid var(--border)}
.hero h1{margin:0 0 10px;font-size:44px;line-height:1.1;color:var(--navy)}
.hero p{margin:0 0 18px;color:var(--muted)}
.shop{padding:28px 0 60px}
.toolbar{margin-bottom:14px}
.input{padding:10px 12px;border:1px solid var(--border);border-radius:10px;min-width:220px;font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:0 1px 2px rgba(10,36,99,.04)}
.card .img{height:180px;border-radius:10px;overflow:hidden;background:#f5f7fb;display:flex;align-items:center;justify-content:center}
.card .img img{width:100%;height:100%;object-fit:cover}
.card h3{margin:8px 0 6px;font-size:18px;color:var(--navy)}
.price{font-weight:700}.kicker{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}
.pill{display:inline-flex;gap:6px;background:#f7f9fc;border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px;color:#223}
.about{background:var(--beige);padding:48px 0}.columns{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.ticks{padding-left:18px}.ticks li{margin:8px 0}
.contact{padding:48px 0}
.footer{border-top:1px solid var(--border);padding:20px 0;color:var(--muted)}
.cart{position:fixed;top:0;right:-420px;width:360px;max-width:100%;height:100%;background:#fff;border-left:1px solid var(--border);box-shadow:-10px 0 30px rgba(0,0,0,.05);padding:16px;transition:right .25s ease;z-index:50;display:flex;flex-direction:column}
.cart.open{right:0}
.cart-header{padding-bottom:10px;border-bottom:1px solid var(--border)}
.cart-items{flex:1;overflow:auto;padding:10px 2px}
.cart-item{display:grid;grid-template-columns:56px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--border)}
.cart-item img{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}
.qty{display:flex;align-items:center;gap:6px}.qty button{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:#fafbfe}
.modal{border:none;border-radius:16px;max-width:860px;width:92%;}
.modal::backdrop{background:rgba(0,0,0,.35)}
.modal-content{position:relative;padding:18px}
.modal-close{position:absolute;top:8px;right:8px}
.modal-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:16px}
@media(max-width:880px){.columns{grid-template-columns:1fr}.hero h1{font-size:34px}.menu{display:block}.nav{display:none}.site-header.open .nav{display:flex;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:8px 18px}}


/* === HERO GALLERY === */
.hero{position:relative; height:72vh; min-height:420px; max-height:820px; overflow:hidden; border-radius:28px; margin:16px; background:#0F3456;}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.30), rgba(0,0,0,.45)); z-index:1}
.hero-slides{position:absolute; inset:0; z-index:0}
.hero-slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.1); transition:opacity 1200ms ease, transform 7000ms ease;}
.hero-slide.current{opacity:1; transform:scale(1.0);}
.hero-content{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; gap:16px; color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.25)}
.hero h1{font-size:clamp(28px, 4vw, 56px); line-height:1.05; letter-spacing:-0.02em; margin:0}
.hero .kicker{font-size:clamp(14px, 1.6vw, 18px); color:#e6eef7}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap}
.hero-badge{display:inline-block; padding:6px 10px; border-radius:999px; background:rgba(255,255,255,.18); backdrop-filter:blur(6px); font-weight:600; font-size:12px; letter-spacing:.02em}

/* === CONTAINER & LAYOUT === */
.container{width:min(1120px, 92%); margin:0 auto}
.section{padding:56px 0}
.grid{display:grid; gap:18px}
.grid.cols-3{grid-template-columns:repeat(3, 1fr)}
.grid.cols-4{grid-template-columns:repeat(4, 1fr)}
@media (max-width: 1024px){
  .grid.cols-4{grid-template-columns:repeat(3, 1fr)}
}
@media (max-width: 800px){
  .grid.cols-3, .grid.cols-4{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 520px){
  .grid.cols-3, .grid.cols-4{grid-template-columns:1fr}
  .hero{margin:0; border-radius:0}
}

/* === CARDS === */
.card{background:#fff; border:1px solid #e6ecf3; border-radius:16px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease}
.card:hover{transform:translateY(-4px); box-shadow:0 12px 30px rgba(15,52,86,.08)}
.card .thumb{aspect-ratio:4/3; width:100%; object-fit:cover; background:#f5f7fa}
.card .content{padding:14px}
.price{font-weight:700; color:var(--navy)}
.price .was{color:#6b778a; font-weight:500; text-decoration:line-through; margin-left:8px}

/* === BUTTONS (dark teal & Aloniva blue) === */
:root{ --navy:#0F3456; --aloblue:#1f6feb }
.btn{display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border-radius:999px; font-weight:600; text-decoration:none; border:1px solid transparent}
.btn.primary{background:var(--navy); color:#fff}
.btn.primary:hover{filter:brightness(1.05)}
.btn.ghost{background:#fff; color:var(--navy); border-color:#d0dae5}
.btn.ghost:hover{background:#f6f9fc}

/* === SCROLL ANIMS === */
.reveal{opacity:0; transform:translateY(14px); transition:all .6s ease}
.reveal.visible{opacity:1; transform:none}

/* === HERO FALLBACK === */
.hero{background:#0F3456; position:relative}
.hero.fallback .hero-slides{display:none}
.hero.fallback{background-image: radial-gradient(1200px 600px at 70% -10%, rgba(255,255,255,.12), transparent), linear-gradient(180deg, #0F3456 0%, #0c2238 60%);}


/* === PREMIUM ANIMATIONS === */
@keyframes floatUp { 0%{transform:translateY(6px)} 50%{transform:translateY(-4px)} 100%{transform:translateY(6px)} }
@keyframes bubble { 0%{transform:translateY(0) scale(1); opacity:.35} 100%{transform:translateY(-120vh) scale(1.6); opacity:0} }
@keyframes shine { from { background-position: -200% 0; } to { background-position: 200% 0; } }

.hero .shine{
  background: linear-gradient(90deg, rgba(255,255,255,.85), rgba(255,255,255,.35), rgba(255,255,255,.85));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  background-size: 200% 100%; animation: shine 6s linear infinite;
}
.float-up{ animation: floatUp 6s ease-in-out infinite; }
.lift{ transition: transform .25s ease, box-shadow .25s ease }
.lift:hover{ transform: translateY(-2px); box-shadow: 0 10px 24px rgba(15,52,86,.18) }

.hero-bubbles{ position:absolute; inset:0; overflow:hidden; z-index:1; pointer-events:none }
.hero-bubbles span{
  position:absolute; bottom:-10vh; width:12px; height:12px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.7), rgba(255,255,255,.1));
  animation: bubble 18s linear infinite; filter: blur(0.2px);
}
.hero-bubbles span:nth-child(1){ left:12%; animation-duration:16s; width:10px; height:10px; }
.hero-bubbles span:nth-child(2){ left:28%; animation-duration:19s; width:14px; height:14px; }
.hero-bubbles span:nth-child(3){ left:54%; animation-duration:22s; width:11px; height:11px; }
.hero-bubbles span:nth-child(4){ left:72%; animation-duration:20s; width:13px; height:13px; }
.hero-bubbles span:nth-child(5){ left:86%; animation-duration:24s; width:16px; height:16px; }

/* Parallax subtle tilt */
.hero{ perspective:1000px }
.hero .hero-content{ transform: rotateX(var(--tiltX,0deg)) rotateY(var(--tiltY,0deg)); transform-style: preserve-3d; transition: transform .2s ease }


/* Hero Ken Burns (attribution removed) */
@keyframes kenburns { from{ transform: scale(1.08) translateY(0) } to{ transform: scale(1.0) translateY(-2%) } }


/* === Clabane-inspired sections === */
.link{color:var(--aloblue); text-decoration:underline; font-weight:600}
.cards-hover-swap .card .img{position:relative; overflow:hidden}
.cards-hover-swap .card .img img{transition: transform .6s ease}
.cards-hover-swap .card:hover .img img{transform: scale(1.06)}
.reviews-card{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px; border-radius:16px; background:linear-gradient(135deg,#0F3456,#123f68); color:#fff}
.reviews-stats{display:flex; gap:32px}
.reviews-card .stat .num{font-size:clamp(28px,4vw,42px); font-weight:800}
.reviews-card .stat .label{opacity:.85}
.snap-strip{display:flex; gap:12px; overflow:auto; scroll-snap-type:x mandatory; padding-bottom:6px}
.snap-strip img{width:240px; height:240px; object-fit:cover; border-radius:12px; flex:0 0 auto; scroll-snap-align:center; transition:transform .3s ease}
.snap-strip img:hover{transform:translateY(-4px)}
.story .thumb{background:linear-gradient(180deg,#eaf2fb,#ffffff); height:160px}


/* === HERO animated background pictures === */
.hero{position:relative; overflow:hidden}
.hero-bg{position:absolute; inset:0; z-index:0}
.hero-bg .bg{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.08); animation: heroFade 18s ease-in-out infinite}
.hero-bg .bg-1{background-image:url("assets/freepik/lady-applying-cream.jpeg"); animation-delay:0s}
.hero-bg .bg-2{background-image:url("assets/freepik/couple-skincare.jpeg"); animation-delay:6s}
.hero-bg .bg-3{background-image:url("assets/freepik/man-cleansing-face.jpeg"); animation-delay:12s}

@keyframes heroFade {
  0%   {opacity:0; transform:scale(1.08)}
  5%   {opacity:1}
  30%  {opacity:1}
  40%  {opacity:0.0}
  100% {opacity:0.0; transform:scale(1.0)}
}

/* Put slides above bg, overlay above slides */
.hero-slides{z-index:1}
.hero-overlay{z-index:2}
.hero-content{z-index:3}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce){
  .hero-bg .bg{animation:none; opacity:.35; transform:none}
  .hero-slide{animation:none}
}
