/* Tallent Drug Store — Lumistry design system build */
*, *::before, *::after { box-sizing: border-box; }
:root{
  --brand:#CC2036; --brand-dark:#A31A2B; --brand-tint:#FBEDEE;
  --ink:#241E1E; --ink-soft:#55494A; --line:#E8DFDA; --paper:#FDFBF9; --cream:#F6F1EC; --ok:#1E6B3C;
  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --radius:10px;
  --shadow:0 1px 2px rgba(36,30,30,.06), 0 8px 24px -12px rgba(36,30,30,.18);
}
@font-face{font-family:'Fraunces';src:url('/fonts/Fraunces-600.woff2') format('woff2');font-weight:600 700;font-display:swap;}
@font-face{font-family:'Source Sans 3';src:url('/fonts/SourceSans3-400.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'Source Sans 3';src:url('/fonts/SourceSans3-600.woff2') format('woff2');font-weight:600;font-display:swap;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none!important;transition:none!important;}
}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--ink);background:var(--paper);font-variation-settings:"WONK" 0,"SOFT" 0;}
img{max-width:100%;height:auto;}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2;margin:0 0 .5em;}
h1{font-size:clamp(1.9rem,4.5vw,3rem);}
h2{font-size:clamp(1.5rem,3vw,2.1rem);}
h3{font-size:1.2rem;}
p{margin:0 0 1em;}
a{color:var(--brand);}
a:hover{color:var(--brand-dark);}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:200;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;color:#fff;}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px;}
.section{padding:clamp(44px,7vw,84px) 0;}
.section--cream{background:var(--cream);}
.section-head{max-width:640px;margin-bottom:34px;}
.kicker{display:block;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--brand);margin-bottom:8px;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:.93rem;font-weight:600;padding:11px 18px;min-height:44px;min-width:44px;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s;}
.btn-lg{padding:15px 26px;}
.btn--primary{background:var(--brand);color:#fff;border-color:var(--brand);}
.btn--primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;}
.btn--outline{background:transparent;color:var(--brand);border-color:var(--brand);}
.btn--outline:hover{background:var(--brand-tint);color:var(--brand-dark);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn--ghost:hover{border-color:var(--ink-soft);color:var(--ink);}
.btn--white{background:#fff;color:var(--brand-dark);border-color:#fff;}
.btn--white:hover{background:var(--brand-tint);border-color:var(--brand-tint);color:var(--brand-dark);}
.btn--white-outline{background:transparent;color:#fff;border-color:#fff;}
.btn--white-outline:hover{background:rgba(255,255,255,.15);color:#fff;}

/* Top bar */
.topbar{background:var(--ink);color:#fff;font-size:.85rem;padding:7px 0;}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;justify-content:space-between;}
.topbar a{color:#fff;text-decoration:none;}
.topbar a:hover{text-decoration:underline;color:#fff;}
.topbar-item{display:inline-flex;align-items:center;gap:7px;min-height:24px;}
.open-now{display:inline-flex;align-items:center;gap:7px;font-weight:600;}
.open-dot{width:9px;height:9px;border-radius:50%;background:#9a9a9a;display:inline-block;}
.open-now[data-state="open"] .open-dot{background:#4CC275;}
.open-now[data-state="closed"] .open-dot{background:#E4A03C;}
@media (max-width:767px){ .topbar-hours{display:none;} .topbar-addr{display:none;} }

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(253,251,249,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex;align-items:center;gap:26px;min-height:124px;}
.logo-link{display:inline-flex;align-items:center;flex-shrink:0;}
.logo-link img{height:106px;width:auto;}
.primary-nav{display:flex;align-items:center;gap:4px;margin-left:auto;}
.primary-nav > ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;}
.primary-nav a, .nav-drop-btn{display:inline-flex;align-items:center;gap:5px;padding:10px 13px;min-height:44px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;background:none;border:0;font-family:var(--font-body);cursor:pointer;border-radius:8px;line-height:1.2;}
.primary-nav a:hover,.nav-drop-btn:hover{color:var(--brand);background:var(--brand-tint);}
.nav-drop{position:relative;}
.nav-drop-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(620px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px;display:none;max-height:70vh;overflow:auto;grid-template-columns:1fr 1fr;gap:2px 8px;}
.nav-drop.open .nav-drop-menu{display:grid;}
.nav-drop-menu a{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;font-weight:500;border-radius:10px;}
.nav-drop-menu a svg{width:18px;height:18px;flex:none;color:var(--brand);background:var(--brand-tint);border-radius:7px;padding:3px;box-sizing:content-box;}
.nav-drop-menu a:hover svg{background:var(--brand);color:#fff;}
.header-ctas{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.header-ctas .btn,.drawer-ctas .btn{background:var(--brand);color:#fff;border-color:var(--brand);}
.header-ctas .btn:hover,.drawer-ctas .btn:hover{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark);}
.header-phone{display:none;}
.menu-btn{display:none;background:none;border:2px solid var(--line);border-radius:10px;width:48px;height:48px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);}
@media (max-width:1199px){
  .site-header .wrap{min-height:94px;gap:12px;}
  .logo-link img{height:76px;}
  .primary-nav,.header-ctas{display:none;}
  .menu-btn{display:inline-flex;margin-left:auto;}
  .header-phone{display:inline-flex;align-items:center;min-height:44px;padding:6px 10px;color:var(--ink);text-decoration:none;font-weight:600;}
}
@media (max-width:479px){
  .header-phone{font-size:0;padding:6px;}
}

/* Drawer */
.drawer-backdrop{position:fixed;inset:0;background:rgba(36,30,30,.5);z-index:110;opacity:0;pointer-events:none;transition:opacity .15s;}
.drawer-backdrop.show{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,100%);background:var(--paper);z-index:120;transform:translateX(100%);transition:transform .2s ease-out;overflow-y:auto;padding:18px 20px 32px;}
.drawer.open{transform:translateX(0);}
.drawer-close{background:none;border:2px solid var(--line);border-radius:10px;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);float:right;}
.drawer .logo-link img{height:76px;}
.drawer-nav{list-style:none;margin:20px 0;padding:0;}
.drawer-nav > li > a, .drawer-svc-btn{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 6px;color:var(--ink);text-decoration:none;font-weight:600;font-size:1.05rem;border:0;border-bottom:1px solid var(--line);background:none;font-family:var(--font-body);cursor:pointer;text-align:left;}
.drawer-svc-list{list-style:none;margin:0;padding:0 0 8px;display:none;}
.drawer-svc-list.open{display:block;}
.drawer-svc-list a{display:flex;min-height:44px;align-items:center;padding:10px 6px 10px 18px;color:var(--ink-soft);text-decoration:none;border-bottom:1px dashed var(--line);}
.drawer-ctas{display:flex;flex-direction:column;gap:10px;margin:18px 0;}
.drawer-ctas .btn{width:100%;}
.drawer-hours{background:var(--cream);border-radius:var(--radius);padding:14px 16px;font-size:.92rem;}

/* Hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#FFFDFB 0%,#FBEDEE 58%,#F7E2E4 100%);}
.hero-bg{position:absolute;inset:0;pointer-events:none;}
.hero-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;}
.hero-blob--a{width:520px;height:520px;right:-140px;top:-180px;background:radial-gradient(circle,rgba(204,32,54,.20),transparent 70%);}
.hero-blob--b{width:420px;height:420px;left:-160px;bottom:-200px;background:radial-gradient(circle,rgba(204,32,54,.12),transparent 70%);}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center;padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(48px,7vw,96px);}
.hero-inner{max-width:640px;}
.hero h1{color:var(--ink);margin-bottom:.4em;font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.06;letter-spacing:-.02em;}
.hero h1 em{font-style:normal;color:var(--brand);}
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:.86rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-dark);box-shadow:0 2px 10px rgba(20,15,15,.06);margin-bottom:22px;}
.hero-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);}
.hero-lede{font-size:1.14rem;max-width:56ch;margin-bottom:28px;color:var(--ink-soft);}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:26px;}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.95rem;align-items:center;}
.hero-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:600;color:var(--ink);text-decoration:none;box-shadow:0 1px 6px rgba(20,15,15,.05);}
.hero-chip svg{width:16px;height:16px;color:var(--brand);}
a.hero-chip:hover{border-color:var(--brand);color:var(--brand-dark);}
.hero-figure{position:relative;}
.hero-photo{position:relative;border-radius:200px 200px 28px 28px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(163,26,43,.35),0 8px 24px rgba(20,15,15,.12);border:6px solid #fff;}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/4.4;}
.hero-figure::before{content:"";position:absolute;inset:-18px -18px auto auto;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 3px 3px,rgba(204,32,54,.35) 2.5px,transparent 3px);background-size:18px 18px;z-index:0;}
.hero-card{position:absolute;left:-22px;bottom:26px;background:#fff;border-radius:16px;padding:14px 20px;box-shadow:0 12px 32px rgba(20,15,15,.16);display:flex;flex-direction:column;gap:2px;border-left:4px solid var(--brand);}
.hero-card strong{font-size:1.05rem;color:var(--ink);}
.hero-card span{font-size:.85rem;color:var(--ink-soft);}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;padding-top:44px;padding-bottom:52px;}
  .hero-figure{max-width:440px;}
  .hero-photo{border-radius:140px 140px 22px 22px;}
  .hero-photo img{aspect-ratio:4/3.6;}
  .hero-card{left:10px;bottom:14px;}
}

/* Page hero (interior) */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(150deg,#FFFDFB 0%,#FBEDEE 55%,#F7E2E4 100%);padding:clamp(46px,7vw,84px) 0;border-bottom:1px solid var(--line);}
.page-hero .wrap{position:relative;}
.page-hero-bg{position:absolute;inset:0;pointer-events:none;}
.ph-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;}
.ph-blob--a{width:420px;height:420px;right:-120px;top:-190px;background:radial-gradient(circle,rgba(204,32,54,.22),transparent 70%);animation:ph-drift 14s ease-in-out infinite alternate;}
.ph-blob--b{width:340px;height:340px;left:-140px;bottom:-190px;background:radial-gradient(circle,rgba(204,32,54,.13),transparent 70%);animation:ph-drift 18s ease-in-out infinite alternate-reverse;}
.ph-ring{position:absolute;right:8%;top:50%;width:190px;height:190px;transform:translateY(-50%);border:2px dashed rgba(204,32,54,.22);border-radius:50%;animation:ph-spin 40s linear infinite;}
.ph-ring-icon{position:absolute;right:8%;top:50%;width:190px;height:190px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;}
.ph-ring-icon svg{width:56px;height:56px;color:rgba(204,32,54,.35);}
@keyframes ph-drift{from{transform:translate(0,0) scale(1);}to{transform:translate(34px,22px) scale(1.08);}}
@keyframes ph-spin{to{transform:translateY(-50%) rotate(360deg);}}
.breadcrumb{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;letter-spacing:.03em;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 16px;box-shadow:0 2px 10px rgba(20,15,15,.06);margin-bottom:18px;animation:ph-rise .5s ease both;}
.breadcrumb a{color:var(--ink-soft);text-decoration:none;}
.breadcrumb a:hover{color:var(--brand);}
.crumb-sep{color:rgba(204,32,54,.5);}
.crumb-here{color:var(--brand-dark);}
.page-hero h1{font-size:clamp(2.1rem,4.6vw,3.2rem);letter-spacing:-.02em;line-height:1.08;margin-bottom:.3em;animation:ph-rise .55s .06s ease both;}
.page-hero p.lede{max-width:640px;font-size:1.08rem;color:var(--ink-soft);margin:0;animation:ph-rise .6s .12s ease both;}
.page-hero-rule{display:block;width:74px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--brand),#F6BCC4);margin-top:22px;animation:ph-grow .6s .2s ease both;}
@keyframes ph-rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@keyframes ph-grow{from{opacity:0;width:0;}to{opacity:1;width:74px;}}
@media (prefers-reduced-motion: reduce){
  .ph-blob,.ph-ring{animation:none;}
  .breadcrumb,.page-hero h1,.page-hero p.lede,.page-hero-rule{animation:none;}
}

/* Cards / grids */
.grid{display:grid;gap:22px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:899px){ .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);} }
@media (max-width:639px){ .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;} }
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 1px 2px rgba(36,30,30,.04);transition:border-color .15s,box-shadow .15s;display:flex;flex-direction:column;}
.card:hover{border-color:var(--brand);box-shadow:var(--shadow);}
.card h3{margin-bottom:.4em;}
.card p{font-size:.95rem;color:var(--ink-soft);margin-bottom:12px;}
.card .more{margin-top:auto;font-weight:600;text-decoration:none;font-size:.93rem;}
.icon-chip{width:46px;height:46px;border-radius:12px;background:var(--brand-tint);color:var(--brand);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;}
.icon-chip svg{width:24px;height:24px;}

/* Split */
/* Trust cards beneath hero (homepage) */
.trust-cards-band{position:relative;padding:0 0 clamp(34px,5vw,56px);background:linear-gradient(180deg,#F7E2E4 0%,#fff 65%);}
.trust-cards{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:-8px;}
@media (max-width:899px){ .trust-cards{grid-template-columns:1fr;} }
.trust-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px;box-shadow:0 10px 28px rgba(20,15,15,.08);display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,box-shadow .2s ease;}
.trust-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(163,26,43,.14);}
.trust-card .icon-chip{align-self:flex-start;}
.trust-card h3{font-size:1.08rem;margin:0;}
.trust-card p{font-size:.94rem;color:var(--ink-soft);margin:0;}

/* Map embed (hours & location) */
.map-embed{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 28px rgba(20,15,15,.10);min-height:340px;}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}

/* Gift shop page CTA */
.gift-cta{background:linear-gradient(150deg,#FFF7EE 0%,#FBEDEE 55%,#F6E4F0 100%);}
.gift-cta-card{position:relative;background:#fff;border-radius:26px;padding:clamp(36px,6vw,64px);text-align:center;box-shadow:0 18px 44px rgba(163,26,43,.14);border:1px solid var(--line);overflow:hidden;}
.gift-cta-card::before,.gift-cta-card::after{content:"";position:absolute;border-radius:50%;filter:blur(46px);opacity:.6;pointer-events:none;}
.gift-cta-card::before{width:260px;height:260px;left:-90px;top:-110px;background:radial-gradient(circle,rgba(204,32,54,.16),transparent 70%);}
.gift-cta-card::after{width:230px;height:230px;right:-80px;bottom:-100px;background:radial-gradient(circle,rgba(232,168,60,.22),transparent 70%);}
.gift-cta-card>*{position:relative;}
.gift-cta-card .gift-eyebrow{transform:rotate(2deg);}
.gift-cta-card h2{font-size:clamp(1.9rem,3.8vw,2.7rem);letter-spacing:-.015em;margin:6px 0 .35em;}
.gift-cta-card h2 em{font-style:normal;color:var(--brand);display:inline-block;transform:rotate(-2deg);}
.gift-cta-card p{max-width:46ch;margin:0 auto;}
.gift-cta-btns{justify-content:center;margin-top:24px;}

/* Heritage band (homepage) */
.heritage-band{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:clamp(56px,8vw,96px) 0;}
.heritage-band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 85% 15%,rgba(204,32,54,.28),transparent 55%);}
.heritage-inner{position:relative;display:grid;gap:clamp(32px,5vw,64px);align-items:center;}
@media (min-width:920px){ .heritage-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);} }
.heritage-lead .kicker{color:#F6BCC4;}
.heritage-lead h2{color:#fff;font-size:clamp(1.9rem,3.8vw,2.8rem);letter-spacing:-.015em;margin-bottom:.5em;}
.heritage-lead h2 em{font-style:normal;color:#F6BCC4;}
.heritage-lead p{color:rgba(255,255,255,.82);max-width:56ch;margin:0;}
.heritage-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;}
.heritage-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:22px 18px;text-align:center;display:flex;flex-direction:column-reverse;gap:6px;}
.heritage-stat dd{margin:0;font-weight:800;font-size:clamp(2rem,4.5vw,3rem);line-height:1;color:#fff;letter-spacing:-.02em;}
.heritage-stat dd span{color:var(--brand);}
.heritage-stat dt{font-size:.85rem;color:rgba(255,255,255,.72);letter-spacing:.03em;}
@media (max-width:600px){ .heritage-stats{grid-template-columns:1fr;} .heritage-stat{flex-direction:row-reverse;justify-content:space-between;align-items:center;text-align:left;padding:16px 18px;} }

/* Gift shop band (homepage) */
.gift-band{position:relative;overflow:hidden;background:linear-gradient(150deg,#FFF7EE 0%,#FBEDEE 55%,#F6E4F0 100%);}
.gift-grid{position:relative;display:grid;gap:48px;align-items:center;}
@media (min-width:940px){ .gift-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);} }
.gift-eyebrow{display:inline-flex;align-items:center;gap:9px;background:#fff;border-radius:999px;padding:8px 18px;font-weight:700;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-dark);box-shadow:0 3px 12px rgba(20,15,15,.08);transform:rotate(-2deg);margin-bottom:20px;}
.gift-eyebrow svg{width:17px;height:17px;color:var(--brand);}
.gift-copy h2{font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:-.015em;margin-bottom:.45em;}
.gift-copy h2 em{font-style:normal;color:var(--brand);position:relative;white-space:nowrap;}
.gift-copy p{max-width:48ch;}
.gift-tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:20px 0 26px;}
.gift-tags li{background:#fff;border:1.5px dashed rgba(204,32,54,.45);border-radius:999px;padding:7px 15px;font-weight:600;font-size:.92rem;color:var(--ink);}
.gift-tags li:nth-child(odd){transform:rotate(-1.5deg);}
.gift-tags li:nth-child(even){transform:rotate(1.4deg);}
.gift-collage{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:center;padding:16px 0;}
.gift-polaroid{margin:0;background:#fff;padding:10px 10px 12px;border-radius:10px;box-shadow:0 14px 34px rgba(20,15,15,.16);position:relative;transition:transform .25s ease;}
.gift-polaroid::before{content:"";position:absolute;top:-11px;left:50%;transform:translateX(-50%) rotate(-3deg);width:74px;height:22px;background:rgba(246,188,196,.75);border-radius:2px;box-shadow:0 1px 2px rgba(20,15,15,.08);}
.gift-polaroid img{display:block;width:100%;height:auto;aspect-ratio:3/3.6;object-fit:cover;border-radius:6px;}
.gift-polaroid figcaption{text-align:center;font-weight:600;font-size:.9rem;color:var(--ink-soft);padding-top:9px;}
.gift-polaroid--a{transform:rotate(-4deg) translateY(10px);z-index:1;}
.gift-polaroid--b{transform:rotate(2.5deg) translateY(-14px) scale(1.06);z-index:2;}
.gift-polaroid--c{transform:rotate(5deg) translateY(14px);z-index:1;}
.gift-polaroid:hover{transform:rotate(0) translateY(-6px) scale(1.05);z-index:3;}
@media (max-width:600px){
  .gift-collage{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:22px;}
  .gift-polaroid{padding:6px 6px 8px;}
  .gift-polaroid::before{width:48px;height:15px;top:-8px;}
  .gift-polaroid figcaption{font-size:.72rem;padding-top:6px;}
}
@media (prefers-reduced-motion:reduce){ .gift-polaroid{transition:none;} }

.split{display:grid;gap:44px;align-items:center;}
@media (min-width:900px){ .split{grid-template-columns:1fr 1fr;} }
.split img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;height:auto;object-fit:cover;}

/* Hours table */
.hours-table{width:100%;border-collapse:collapse;max-width:560px;}
.hours-table caption{text-align:left;font-family:var(--font-display);font-size:1.2rem;font-weight:600;margin-bottom:10px;}
.hours-table th,.hours-table td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);font-size:.98rem;}
.hours-table th{font-weight:600;}

/* Trust row */
.trust-row{display:grid;gap:22px;grid-template-columns:repeat(3,1fr);}
@media (max-width:899px){.trust-row{grid-template-columns:1fr;}}
.trust-item{display:flex;gap:14px;align-items:flex-start;}
.trust-item strong{display:block;font-family:var(--font-display);font-size:1.05rem;}
.trust-item p{font-size:.93rem;color:var(--ink-soft);margin:0;}

/* Gift marquee */
.marquee{overflow:hidden;position:relative;background:#fff;border-block:1px solid var(--line);padding:26px 0;}
.marquee-track{display:flex;align-items:center;gap:70px;width:max-content;animation:marquee 28s linear infinite;}
.marquee-track img{height:44px;width:auto;filter:grayscale(1);opacity:.75;}
.marquee-word{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--ink-soft);letter-spacing:.04em;white-space:nowrap;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){ .marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;} }

/* Gift gallery */
.gift-gallery{display:grid;gap:22px;grid-template-columns:repeat(4,1fr);}
@media (max-width:899px){.gift-gallery{grid-template-columns:repeat(2,1fr);}}
.gift-gallery figure{margin:0;}
.gift-gallery img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;aspect-ratio:4/5;object-fit:cover;}
.gift-gallery figcaption{font-size:.88rem;color:var(--ink-soft);padding-top:8px;}

/* Portal promo */
.portal-promo{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(105deg,#5E0F1B 0%, var(--brand) 78%);color:#fff;box-shadow:var(--shadow);display:grid;gap:30px;padding:clamp(30px,5vw,56px);}
@media (min-width:900px){ .portal-promo{grid-template-columns:55% 1fr;align-items:end;padding-bottom:0;} }
.portal-promo::before,.portal-promo::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08);}
.portal-promo::before{width:340px;height:340px;top:-160px;right:-100px;}
.portal-promo::after{width:260px;height:260px;bottom:-130px;left:-90px;}
.portal-promo-text{position:relative;z-index:1;padding-bottom:clamp(30px,5vw,56px);}
.portal-promo .kicker{color:#BBDBF7;}
.portal-promo h2{color:#fff;}
.portal-promo p{color:#F7E2E5;max-width:52ch;}
.portal-promo-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;}
.portal-phones{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-end;min-height:250px;}
.portal-phones img{width:min(380px,90%);height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45));margin-bottom:-8%;}
@media (max-width:899px){ .portal-phones{min-height:0;} .portal-phones img{margin-bottom:-14%;} }

/* Review CTA band */
.review-band{background:var(--cream);overflow:hidden;}
.review-cta{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;margin-bottom:38px;}
.reviews-scroller{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.reviews-track{display:flex;align-items:stretch;gap:20px;width:max-content;animation:marquee 80s linear infinite;padding:6px 0 14px;}
.reviews-scroller:hover .reviews-track,.reviews-track:focus-within{animation-play-state:paused;}
.review-card{margin:0;width:min(360px,78vw);flex:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px;box-shadow:0 6px 18px rgba(20,15,15,.07);display:flex;flex-direction:column;gap:10px;transform:rotate(-.6deg);}
.reviews-track .review-card:nth-child(even){transform:rotate(.7deg);}
.review-stars{color:#E8A83C;font-size:1.05rem;letter-spacing:3px;}
.review-card blockquote{margin:0;font-size:.95rem;color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;}
.review-card figcaption{font-size:.82rem;font-weight:600;color:var(--ink-soft);margin-top:auto;}
@media (prefers-reduced-motion: reduce){
  .reviews-track{animation:none;width:auto;flex-wrap:nowrap;overflow-x:auto;}
  .reviews-track figure[aria-hidden="true"]{display:none;}
}

/* CTA strip dark */
.cta-strip{background:var(--paper);color:#fff;}
.cta-strip>.wrap{position:relative;overflow:hidden;background:linear-gradient(115deg,#5E0F1B 0%,var(--brand) 70%,#E04A5D 100%);border-radius:26px;padding:clamp(34px,5.5vw,60px);box-shadow:0 20px 48px rgba(163,26,43,.28);}
.cta-strip>.wrap::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08);top:-150px;right:-110px;pointer-events:none;}
.cta-strip>.wrap::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.06);bottom:-120px;left:-80px;pointer-events:none;}
.cta-strip>.wrap>*{position:relative;z-index:1;}
.cta-strip h2{color:#fff;}
.cta-strip .kicker{color:#F6BCC4;}
.cta-strip p{color:#FBE3E6;max-width:60ch;}
.cta-strip .btn--primary{background:#fff;color:var(--brand-dark);border-color:#fff;}
.cta-strip .btn--primary:hover{background:#F6BCC4;border-color:#F6BCC4;color:var(--brand-dark);}
.cta-strip .btn--outline{color:#fff;border-color:rgba(255,255,255,.85);}
.cta-strip .btn--outline:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff;}

/* Footer */
.site-footer{position:relative;background:#191414;color:#CFC6C2;font-size:.94rem;}
.site-footer::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--brand-dark),var(--brand),#F6BCC4,var(--brand),var(--brand-dark));background-size:220% 100%;animation:footer-glow 7s linear infinite;}
@keyframes footer-glow{from{background-position:0% 0;}to{background-position:220% 0;}}
@media (prefers-reduced-motion: reduce){ .site-footer::before{animation:none;} }
.footer-cols{display:grid;gap:36px;padding:clamp(44px,6vw,70px) 0 36px;grid-template-columns:2fr 1fr 1fr 1.4fr;}
@media (max-width:899px){.footer-cols{grid-template-columns:1fr 1fr;}}
@media (max-width:639px){.footer-cols{grid-template-columns:1fr;}}
.site-footer h2{color:#fff;font-size:1.02rem;font-family:var(--font-body);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;}
.site-footer ul{list-style:none;margin:0;padding:0;}
.site-footer li{margin-bottom:9px;}
.site-footer a{color:#CFC6C2;text-decoration:none;}
.site-footer a:hover{color:#fff;text-decoration:underline;}
.footer-logo{background:#fff;border-radius:10px;display:inline-flex;padding:8px 14px;margin-bottom:14px;}
.footer-logo img{height:44px;width:auto;}
.footer-social{display:flex;gap:10px;margin-top:14px;}
.footer-social a{display:inline-flex;width:44px;height:44px;border-radius:50%;border:1px solid #4b4342;align-items:center;justify-content:center;color:#fff;}
.footer-social a:hover{background:var(--brand);border-color:var(--brand);}
.footer-legal{border-top:1px solid #38302f;padding:18px 0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;}
.footer-legal a{color:#CFC6C2;}

/* Sticky mobile CTA bar */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;grid-template-columns:1fr 1fr;gap:10px;background:rgba(253,251,249,.97);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));}
.sticky-cta.show{display:grid;}
@media (min-width:1024px){ .sticky-cta{display:none!important;} }

/* Immunization list & misc */
.check-list{list-style:none;margin:0 0 1em;padding:0;}
.check-list li{padding:8px 0 8px 32px;position:relative;border-bottom:1px dashed var(--line);}
.check-list li::before{content:"";position:absolute;left:2px;top:14px;width:16px;height:16px;border-radius:50%;background:var(--brand-tint);border:2px solid var(--brand);}
.pill-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 1em;padding:0;}
.pill-list li{background:var(--brand-tint);color:var(--brand-dark);font-weight:600;border-radius:999px;padding:8px 18px;font-size:.93rem;}

/* Portal page */
.feature-list{list-style:none;margin:0 0 1.4em;padding:0;display:grid;gap:16px;}
.feature-list li{display:flex;gap:14px;}
.feature-list .icon-chip{flex-shrink:0;margin:0;}
.feature-list strong{display:block;}
.feature-list span{color:var(--ink-soft);font-size:.95rem;}
.portal-shot{display:flex;justify-content:center;}
.portal-shot img{width:min(460px,100%);}
.portal-shot img{box-shadow:none;filter:none;border-radius:0;}

/* Map */
.map-embed{border:0;width:100%;height:380px;border-radius:var(--radius);box-shadow:var(--shadow);}
.contact-grid{display:grid;gap:34px;}
@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1.2fr;}}
.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 1px 2px rgba(36,30,30,.04);}
.info-card dt{font-weight:600;margin-top:14px;}
.info-card dd{margin:2px 0 0;color:var(--ink-soft);}

.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.policy-embed{min-height:400px;}
.prose{max-width:760px;}
.prose h2{margin-top:1.6em;}
.eyebrow-note{font-size:.9rem;color:var(--ink-soft);}
body.drawer-open{overflow:hidden;}
