  :root{
    /* Tay Florals luxury palette: white background, red & pink accents. */
    --paper:#ffffff;
    --paper-soft:#fbe4ea;
    --deep:#150707;
    --card:#ffffff;
    --ink:#1c1010;
    --ink-soft:#6b4a4a;
    --moss:#b3123a;
    --moss-soft:#f6dbe2;
    --berry:#b3123a;
    --berry-soft:#f6dbe2;
    --periwinkle:#e0447a;
    --periwinkle-soft:#fbe4ea;
    --yolk:#e0447a;
    --yolk-soft:#fbe4ea;
    --line:#f0d3db;
    --shadow:rgba(20,5,10,.15);
    --focus:#e0447a;
    --mark:#ffffff;
    --lux-red:#b3123a;
    --lux-black:#e0447a;
    --lux-black-soft:#fbe4ea;
    --brand-a:#b3123a;
    --brand-b:#150707;
    --brand-c:#e0447a;
    --brand-d:#7a0a26;
    --brand-e:#f0a3bf;
    --brand-f:#1c1c1c;
    --kraft-bg:#d9b185;
    --kraft-bg-soft:rgba(217,177,133,.32);
    --kraft-ink:#2b1c10;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:Karla, "Trebuchet MS", sans-serif;
    font-size:16px;
    line-height:1.6;
  }
  img,svg{max-width:100%;display:block;}
  h1,h2,h3,h4{
    font-family:Fraunces, Georgia, serif;
    font-weight:700;
    margin:0 0 .4em;
    text-wrap:balance;
    color:var(--ink);
  }
  p{margin:0 0 1em;}
  a{color:var(--yolk);}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:2px;
  }
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  .measure{max-width:65ch;}
  .eyebrow{
    font-family:"Space Mono", monospace;
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--moss);
    display:inline-flex;
    align-items:center;
    gap:.5em;
  }
  .eyebrow::before{content:"";width:20px;height:1px;background:var(--moss);display:inline-block;}
  section{padding:88px 0;}
  @media (max-width:720px){section{padding:56px 0;}}
  .btn{
    font-family:"Space Mono", monospace;
    font-size:.82rem;
    letter-spacing:.04em;
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:.6em;
    padding:.95em 1.6em;
    border-radius:3px;
    border:1.5px solid var(--ink);
    background:var(--ink);
    color:var(--paper);
    text-decoration:none;
    cursor:pointer;
    transition:transform .15s ease, background .2s ease, color .2s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-berry{background:var(--lux-red);border-color:var(--lux-red);color:var(--mark);}
  .btn-outline{background:transparent;color:var(--ink);border-color:var(--ink);}
  .btn-outline:hover{background:var(--ink);color:var(--paper);}
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
  }

  /* ---------- NAV ---------- */
  .topbar{
    position:sticky;top:0;z-index:60;overflow:hidden;
    background:var(--paper);
    border-bottom:2px solid var(--line);
  }
  .brand-swirl{
    position:absolute;top:50%;left:50%;z-index:0;pointer-events:none;
    width:180vw;height:180vw;max-width:1400px;max-height:1400px;
    transform:translate(-50%,-50%) rotate(0deg);
    background:
      radial-gradient(circle at 22% 26%, var(--brand-a) 0%, transparent 26%),
      radial-gradient(circle at 78% 16%, var(--brand-e) 0%, transparent 22%),
      radial-gradient(circle at 70% 78%, var(--brand-d) 0%, transparent 30%),
      radial-gradient(circle at 20% 80%, var(--brand-f) 0%, transparent 26%),
      conic-gradient(from 0deg, var(--brand-b), var(--brand-c) 30%, var(--brand-f) 50%, var(--brand-c) 70%, var(--brand-b) 100%);
    animation:brandspin 70s linear infinite;
    opacity:.07;
  }
  footer .brand-swirl{animation-duration:90s;animation-direction:reverse;}
  @keyframes brandspin{
    from{transform:translate(-50%,-50%) rotate(0deg);}
    to{transform:translate(-50%,-50%) rotate(360deg);}
  }
  @media (prefers-reduced-motion:reduce){.brand-swirl{animation:none;}}
  .topbar-inner{position:relative;z-index:1;}
  .topbar-inner{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 24px;max-width:1180px;margin:0 auto;gap:16px;
  }
  .brand{
    display:flex;align-items:center;gap:10px;
    text-decoration:none;color:var(--ink);
    font-family:Fraunces, serif;font-weight:700;font-size:1.3rem;
  }
  .brand svg{width:34px;height:34px;flex:none;}
  .brand-script{
    font-family:"Great Vibes", cursive;
    font-weight:400;
    font-size:2.1rem;
    line-height:1;
    color:var(--moss);
  }
  footer .brand-script{color:var(--moss);}
  nav.mainnav{display:flex;align-items:center;gap:18px;}
  nav.mainnav a{font-size:.86rem;white-space:nowrap;}
  nav.mainnav a{
    color:var(--ink);text-decoration:none;font-size:.92rem;
    font-weight:600;position:relative;
  }
  nav.mainnav a::after{
    content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
    background:var(--yolk);transform:scaleX(0);transition:transform .2s ease;
  }
  nav.mainnav a:hover::after{transform:scaleX(1);}
  .topbar-right{display:flex;align-items:center;gap:14px;}
  .langswitch{
    display:flex;border:1.5px solid var(--line);border-radius:20px;overflow:hidden;
    font-family:"Space Mono",monospace;font-size:.75rem;
  }
  .langswitch button{
    border:0;background:transparent;color:var(--ink);padding:6px 12px;cursor:pointer;
    font-family:inherit;font-size:inherit;
  }
  .langswitch button[aria-pressed="true"]{background:var(--ink);color:var(--paper);}
  footer .langswitch button[aria-pressed="true"]{background:var(--yolk);color:var(--deep);}
  .hamburger{display:none;background:none;border:1.5px solid var(--line);border-radius:6px;padding:8px 10px;cursor:pointer;}
  .hamburger span{display:block;width:20px;height:2px;background:var(--ink);margin:4px 0;}
  .mobilemenu{
    display:none;flex-direction:column;gap:2px;
    background:var(--paper);
    border-bottom:1px solid var(--line);padding:8px 24px 18px;
  }
  .mobilemenu a{color:var(--ink);text-decoration:none;padding:12px 4px;border-bottom:1px solid var(--line);font-weight:600;}
  .mobilemenu.open{display:flex;}
  @media (max-width:880px){
    nav.mainnav{display:none;}
    .hamburger{display:inline-flex;flex-direction:column;justify-content:center;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;overflow:hidden;
    background:var(--deep);
    min-height:85vh;
  }
  .video-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:var(--deep);}
  .vtile{position:relative;overflow:hidden;isolation:isolate;height:100%;}
  .vtile img,.vtile video{
    width:100%;height:100%;object-fit:cover;display:block;background:var(--deep);
  }
  /* per-tile color-grade, ties the reel to the site palette without hiding the real colors */
  .vtile::after{
    content:"";position:absolute;inset:0;mix-blend-mode:soft-light;opacity:.4;pointer-events:none;
  }
  /* per-tile tint-berry/periwinkle/moss color removed — uniform .pink-filter now sets the grade */
  /* vignette for depth */
  .vtile::before{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:radial-gradient(ellipse at 50% 50%, transparent 45%, rgba(15,10,6,.55) 100%);
  }
  @media (max-width:760px){
    .hero{min-height:70vh;}
    .video-mosaic{display:flex;position:absolute;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
    .vtile{flex:0 0 88%;height:100%;scroll-snap-align:center;}
  }
  .hero-grain{
    position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }
  .vtile .pink-filter{
    position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(155deg, rgba(255,150,195,.58) 0%, rgba(255,110,165,.38) 45%, rgba(130,95,205,.34) 100%);
    mix-blend-mode:soft-light;
  }
  .vtile .pink-filter::after{
    content:"";position:absolute;inset:0;
    background:rgba(255,175,205,.26);
    mix-blend-mode:overlay;
  }
  .vtile .pink-filter.pink-strong{
    background:linear-gradient(155deg, rgba(255,110,175,.78) 0%, rgba(255,70,140,.56) 45%, rgba(115,75,195,.5) 100%);
  }
  .vtile .pink-filter.pink-strong::after{
    background:rgba(255,140,185,.4);
  }
  .welcome-veil{
    position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;
    background:rgba(20,14,8,0);opacity:0;pointer-events:none;
    transition:opacity 2.4s ease, background 2.4s ease;
  }
  .welcome-veil.show{opacity:1;background:rgba(20,14,8,.42);pointer-events:auto;}
  .welcome-card{
    background:rgba(240,163,191,.28);
    backdrop-filter:blur(22px) saturate(180%);
    -webkit-backdrop-filter:blur(22px) saturate(180%);
    border:1px solid rgba(255,214,231,.55);
    border-radius:20px;padding:40px 48px;text-align:center;
    max-width:360px;
    box-shadow:0 24px 60px rgba(179,18,58,.28), inset 0 1px 0 rgba(255,255,255,.5);
    transform:translateY(14px) scale(.97);transition:transform 2.4s cubic-bezier(.2,.7,.3,1);
  }
  .welcome-veil.show .welcome-card{transform:translateY(0) scale(1);}
  .welcome-card .wc-name{font-family:Fraunces,serif;font-style:italic;font-weight:600;font-size:1.8rem;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.3);margin-bottom:.5em;}
  .welcome-card .wc-line{font-family:"Space Mono",monospace;font-size:.88rem;color:var(--yolk-soft);margin:.35em 0;}
  @media (prefers-reduced-motion:reduce){.welcome-veil,.welcome-card{transition:none;}}

  /* ---------- SERVICES ---------- */
  .services-head{max-width:640px;margin-bottom:48px;}
  .service-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;}
  .filter-chip{
    font-family:"Space Mono",monospace;font-size:.8rem;letter-spacing:.02em;
    background:var(--card);border:1px solid var(--line);border-radius:20px;
    padding:8px 16px;color:var(--ink);cursor:pointer;transition:background .15s ease, color .15s ease, border-color .15s ease;
  }
  .filter-chip:hover{border-color:var(--periwinkle);}
  .filter-chip.is-active{background:var(--lux-red);border-color:var(--lux-red);color:var(--mark);}
  .service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  @media (max-width:920px){.service-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:620px){.service-grid{grid-template-columns:1fr;}}
  .service-card{
    background:var(--card);border:1px solid var(--line);border-radius:6px;
    padding:28px 24px;position:relative;transition:transform .2s ease, box-shadow .2s ease;
    box-shadow:0 1px 2px rgba(61,42,26,.03), 0 12px 26px -22px var(--shadow);
  }
  .service-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px var(--shadow);}
  .service-num{
    font-family:"Space Mono",monospace;font-size:.72rem;color:var(--ink-soft);
    letter-spacing:.08em;
  }
  .service-gallery{
    position:relative;width:100%;aspect-ratio:9/16;margin:0 0 14px;
    overflow:hidden;border-radius:8px;border:1px solid var(--line);background:var(--yolk-soft);
  }
  .service-gallery .service-slide{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    opacity:0;transition:opacity .9s ease;
  }
  .service-gallery .service-slide.is-active{opacity:1;}
  @media (prefers-reduced-motion:reduce){.service-gallery .service-slide{transition:none;}}
  .service-slide-placeholder{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    font-family:"Space Mono",monospace;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
    color:var(--ink-soft);text-align:center;padding:1em;
  }
  .service-card-wide{grid-column:1 / -1;}
  .service-gallery-trio{
    display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 14px;
  }
  .service-gallery-trio .service-gallery{margin:0;}
  @media (max-width:620px){.service-gallery-trio{grid-template-columns:1fr;}}
  .service-icon{width:44px;height:44px;margin:14px 0 12px;}
  .service-card h3{font-size:1.24rem;margin-bottom:.35em;}
  .service-card p{color:var(--ink-soft);font-size:.95rem;margin-bottom:0;}
  .service-tag{
    display:inline-block;margin-top:14px;font-family:"Space Mono",monospace;
    font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
    background:var(--moss-soft);color:var(--moss);padding:4px 10px;border-radius:12px;
  }
  .service-caption{
    text-align:center;max-width:640px;margin:28px auto 0;padding:24px 28px;
    background:var(--card);border:1px solid var(--line);border-radius:8px;
  }
  .service-caption h3{font-size:1.24rem;margin-bottom:.35em;}
  .service-caption p{color:var(--ink-soft);font-size:.95rem;margin-bottom:0;}

  /* ---------- BAND (alternating full bleed) ---------- */
  .band{background:var(--paper);color:var(--ink);}

  .band-periwinkle{background:var(--paper);color:var(--ink);}
  .band-periwinkle .eyebrow{color:var(--periwinkle);}
  .band-periwinkle .eyebrow::before{background:var(--periwinkle);}

  /* ---------- FALL BAND (kraft-paper / plaid palette from the seasonal art) ---------- */
  .band-fall{
    --fall-accent:#b8542c;
    background:
      repeating-linear-gradient(0deg, transparent 0 46px, rgba(196,163,114,.55) 46px 60px),
      repeating-linear-gradient(90deg, transparent 0 46px, rgba(196,163,114,.55) 46px 60px),
      #f7e7c9;
    color:#33220f;
  }
  .band-fall .mascot-chip{background:#fbf2dc;border-color:#e0c48e;color:#33220f;}
  .band-fall .btn{background:var(--fall-accent) !important;border-color:var(--fall-accent) !important;color:#fff8ea !important;}
  .band-fall .fall-card{
    background:var(--kraft-bg);
    color:var(--kraft-ink);
    padding:28px 32px;
    border-radius:14px;
    box-shadow:0 14px 30px -18px rgba(43,28,16,.5);
    max-width:56ch;
  }
  .band-fall .fall-card .eyebrow{color:var(--fall-accent);}
  .band-fall .fall-card .eyebrow::before{background:var(--fall-accent);}
  .band-fall .fall-card h2{margin-bottom:.35em;}
  .band-fall .fall-card p{margin:0;color:#43301b;line-height:1.6;}
  @media (max-width:480px){.band-fall .fall-card{padding:22px 20px;}}
  .fall-center{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:640px;}
  .fall-center .mascot-row{justify-content:center;}
  /* ---------- ANIME/CHARACTER SECTION ---------- */
  .character-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
  @media (max-width:900px){.character-grid{grid-template-columns:1fr;}}
  .mascot-row{display:flex;gap:18px;flex-wrap:wrap;margin:26px 0;}
  .mascot-chip{
    display:flex;align-items:center;gap:10px;background:var(--card);
    border:1px solid var(--line);border-radius:30px;padding:8px 16px 8px 8px;
    font-family:"Space Mono",monospace;font-size:.78rem;
  }
  .mascot-chip svg{width:34px;height:34px;}

  /* ---------- SOFT PINK PHOTO-BACKDROP BLOBS ---------- */
  .pink-blob{position:relative;overflow:hidden;}
  .pink-blob::before{
    content:"";position:absolute;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle, rgba(240,163,191,.4), rgba(240,163,191,0) 70%);
    z-index:0;pointer-events:none;
  }
  .pink-blob > .wrap{position:relative;z-index:1;}
  #about.pink-blob::before{top:-160px;right:-160px;}
  #services.pink-blob::before{bottom:-200px;left:-200px;}
  #gallery.pink-blob::before{top:-180px;left:50%;transform:translateX(-50%);}
  #reviews.pink-blob::before{bottom:-200px;right:-180px;}

  /* ---------- ABOUT ---------- */
  .about-welcome{margin-bottom:48px;padding-bottom:40px;border-bottom:1px solid var(--line);}
  .welcome-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;}
  .welcome-text{max-width:640px;}
  .about-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
  .welcome-image{display:flex;justify-content:center;align-items:center;height:100%;}
  .welcome-image .photo-frame{
    padding:14px;
    background:var(--paper-soft);
    border:1px solid rgba(240,163,191,.5);
    border-radius:16px;
  }
  .welcome-image img{max-width:100%;max-height:420px;width:auto;height:auto;border-radius:8px;display:block;filter:drop-shadow(0 18px 30px rgba(179,18,58,.18));}
  @media (max-width:820px){
    .welcome-grid{grid-template-columns:1fr;}
    .welcome-image{order:-1;max-width:260px;margin:0 auto 8px;}
    .welcome-image img{max-height:280px;}
  }
  .quote{
    font-family:Fraunces,serif;font-style:italic;font-weight:500;
    font-size:1.5rem;color:var(--yolk);border-left:3px solid var(--yolk);
    padding-left:20px;margin:30px 0;
  }

  /* ---------- GALLERY ---------- */
  .gallery-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:32px;}
  .count-select{
    font-family:"Space Mono",monospace;font-size:.78rem;display:flex;gap:6px;align-items:center;
  }
  .count-select select{
    font-family:inherit;font-size:inherit;padding:6px 10px;border-radius:16px;
    border:1.5px solid var(--ink);background:var(--card);color:var(--ink);
  }
  .polaroid-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:28px 22px;
  }
  .polaroid{
    background:var(--card);border:1px solid var(--line);border-radius:4px;
    padding:10px 10px 16px;box-shadow:0 8px 18px var(--shadow);
    cursor:pointer;transition:transform .25s ease;
  }
  .polaroid:nth-child(3n+1){transform:rotate(-1.6deg);}
  .polaroid:nth-child(3n+2){transform:rotate(1.1deg);}
  .polaroid:nth-child(3n){transform:rotate(-0.6deg);}
  .polaroid:hover{transform:rotate(0deg) translateY(-6px) scale(1.02);z-index:2;}
  .polaroid-art{aspect-ratio:1/1;border-radius:2px;overflow:hidden;margin-bottom:10px;}
  .polaroid figcaption{font-size:.82rem;text-align:center;color:var(--ink-soft);}
  .polaroid .ptitle{display:block;font-weight:700;color:var(--ink);font-size:.88rem;margin-bottom:2px;}
  .gallery-cta{text-align:center;margin-top:44px;}

  /* ---------- INSTAGRAM CARD (feed header) ---------- */
  .instagram-card{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:24px 26px;max-width:340px;margin:28px auto 40px;
    box-shadow:0 1px 2px rgba(61,42,26,.04), 0 14px 30px -20px var(--shadow);
  }
  .instagram-header{display:flex;align-items:center;gap:14px;margin-bottom:14px;text-align:left;}
  .instagram-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--periwinkle);}
  .instagram-header h3{margin:0;font-family:Fraunces,serif;font-weight:700;font-size:1.05rem;color:var(--ink);}
  .instagram-header p{margin:.2em 0 0;font-size:.85rem;color:var(--ink-soft);}
  .instagram-bio{font-size:.9rem;color:var(--ink-soft);margin-bottom:18px;line-height:1.5;text-align:left;}
  .instagram-btn{
    display:block;width:100%;padding:.85em 0;text-align:center;
    background:var(--lux-red);color:var(--mark);text-decoration:none;
    border-radius:6px;font-family:"Space Mono",monospace;font-weight:700;
    font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;
    transition:opacity .2s ease, transform .15s ease;
  }
  .instagram-btn:hover{opacity:.9;transform:translateY(-2px);}

  /* ---------- SOCIAL CARDS ROW (Instagram + TikTok, side by side) ---------- */
  .social-card-row{display:flex;gap:20px;flex-wrap:wrap;align-items:stretch;justify-content:center;margin-bottom:28px;}
  .social-card-row .instagram-card,
  .social-card-row .tiktok-card{
    flex:1 1 300px;max-width:420px;margin:0;
    display:flex;flex-direction:column;
  }
  .social-card-row .instagram-bio{flex:1;}
  .social-card-row .instagram-btn,
  .social-card-row .tiktok-btn{margin-top:auto;}
  .tiktok-card{
    background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:24px 26px;box-shadow:0 1px 2px rgba(61,42,26,.04), 0 14px 30px -20px var(--shadow);
  }
  .tiktok-card .instagram-header{margin-bottom:14px;}
  .tiktok-card .instagram-avatar{border-color:var(--ink);}
  .tiktok-stats{
    display:flex;gap:14px;flex-wrap:wrap;font-family:"Space Mono",monospace;
    font-size:.78rem;color:var(--ink-soft);margin-bottom:16px;
  }
  .tiktok-stats strong{color:var(--ink);}
  .tiktok-btn{
    display:block;width:100%;padding:.85em 0;text-align:center;
    background:var(--lux-red);color:var(--mark);text-decoration:none;
    border-radius:6px;font-family:"Space Mono",monospace;font-weight:700;
    font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;
    transition:opacity .2s ease, transform .15s ease;
  }
  .tiktok-btn:hover{opacity:.85;transform:translateY(-2px);}

  /* ---------- INSTAGRAM SLIDER (real photos, periodically re-pulled — see
     REAL_IG_POSTS in the script below) ---------- */
  .ig-slider{position:relative;}
  .ig-live-grid{
    display:flex;align-items:flex-start;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;
  }
  .ig-live-grid::-webkit-scrollbar{display:none;}
  .ig-live-tile{
    position:relative;display:block;flex:0 0 82%;aspect-ratio:9/16;border-radius:8px;
    overflow:hidden;background:var(--card);border:1px solid var(--line);
    scroll-snap-align:start;cursor:pointer;
    box-shadow:0 1px 2px rgba(61,42,26,.04), 0 14px 30px -20px var(--shadow);
    transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease;
  }
  @media (min-width:640px){.ig-live-tile{flex:0 0 calc(33.333% - 10px);}}
  @media (min-width:1024px){.ig-live-tile{flex:0 0 calc(20% - 12px);}}
  .ig-live-tile:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(61,42,26,.06), 0 20px 36px -16px var(--shadow);}
  .ig-live-tile::before{
    content:"";position:absolute;inset:-4px;background-image:var(--bg);background-size:cover;
    background-position:center;filter:blur(18px) brightness(.55);transform:scale(1.15);z-index:0;
  }
  .ig-live-placeholder{
    display:flex;align-items:center;justify-content:center;cursor:default;
    background:var(--paper-soft);color:var(--ink-soft);
    font-family:"Space Mono",monospace;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:1em;
  }
  .ig-live-placeholder:hover{transform:none;box-shadow:0 1px 2px rgba(61,42,26,.04), 0 14px 30px -20px var(--shadow);}
  .ig-live-tile img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s cubic-bezier(.22,1,.36,1);}
  .ig-live-tile:hover img{transform:scale(1.08);}
  .ig-live-tile .ig-play{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;}
  .ig-live-tile .ig-play svg{width:14px;height:14px;fill:#fff;}
  .ig-live-caption{
    position:absolute;inset:auto 0 0 0;padding:20px 18px 16px;text-align:left;
    background:linear-gradient(180deg, transparent 0%, rgba(20,14,8,.82) 78%);
    color:#fff;font-size:.92rem;line-height:1.4;
    opacity:0;transform:translateY(6px);transition:opacity .25s ease, transform .25s ease;
  }
  .ig-live-tile:hover .ig-live-caption{opacity:1;transform:translateY(0);}
  @media (max-width:640px){.ig-live-tile{width:170px;}}
  .ig-slider-nav{
    position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;
    border-radius:9999px;background:var(--card);border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;color:var(--ink);
    cursor:pointer;transition:background-color .2s ease, color .2s ease;z-index:2;
    box-shadow:0 6px 16px var(--shadow);
  }
  .ig-slider-nav:hover{background:var(--ink);color:var(--paper);}
  .ig-slider-nav.prev{left:-14px;}
  .ig-slider-nav.next{right:-14px;}
  .ig-slider-nav[disabled]{opacity:.35;pointer-events:none;}
  @media (max-width:760px){.ig-slider-nav{display:none;}}
  .ig-live-empty{
    padding:26px 20px;color:var(--ink-soft);width:100%;
    font-size:.86rem;border:1.5px dashed var(--line);border-radius:10px;text-align:center;
  }

  /* ---------- FEED GRID (Instagram-style tiles, real gallery data) ---------- */
  .feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;}
  .feed-grid .feed-tile{
    position:relative;cursor:pointer;border-radius:8px;overflow:hidden;
    box-shadow:0 1px 2px rgba(30,20,10,.08), 0 16px 32px -22px rgba(20,12,4,.55);
    transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
  }
  .feed-grid .feed-tile:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(30,20,10,.1), 0 22px 40px -18px rgba(20,12,4,.6);}
  .feed-grid .feed-tile .polaroid-art{aspect-ratio:1/1;margin:0;border-radius:0;}
  .feed-grid .feed-tile figcaption{
    position:absolute;inset:auto 0 0 0;padding:14px 14px 12px;text-align:left;
    background:linear-gradient(180deg, transparent 0%, rgba(30,18,8,.85) 78%);
    opacity:0;transition:opacity .3s ease;
  }
  .feed-grid .feed-tile:hover figcaption{opacity:1;}
  .feed-grid .feed-tile .ptitle{color:#fff;}
  .feed-grid .feed-tile figcaption{color:rgba(255,255,255,.85);font-size:.78rem;}


  /* lightbox */
  .lightbox{
    position:fixed;inset:0;background:rgba(20,16,10,.82);display:none;
    align-items:center;justify-content:center;z-index:200;padding:24px;
  }
  .lightbox.open{display:flex;}
  .lightbox-panel{
    background:var(--card);border-radius:10px;max-width:720px;width:100%;
    display:grid;grid-template-columns:1fr 1fr;overflow:hidden;max-height:88vh;
  }
  @media (max-width:640px){.lightbox-panel{grid-template-columns:1fr;overflow-y:auto;}}
  .lightbox-art{aspect-ratio:1/1;}
  .lightbox-body{padding:26px;position:relative;}
  .lightbox-close{
    position:absolute;top:12px;right:14px;background:none;border:0;font-size:1.4rem;
    cursor:pointer;color:var(--ink-soft);line-height:1;
  }

  /* ---------- DELIVERY ---------- */
  .delivery-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
  @media (max-width:900px){.delivery-grid{grid-template-columns:1fr;}}
  .zip-form{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap;}
  .zip-form input{
    flex:1;min-width:180px;padding:12px 14px;border-radius:4px;border:1.5px solid var(--ink);
    font-family:Karla,sans-serif;font-size:.95rem;background:var(--card);color:var(--ink);
  }
  .zip-result{
    margin-top:14px;padding:14px 16px;border-radius:6px;font-family:"Space Mono",monospace;
    font-size:.85rem;display:none;
  }
  .zip-result.show{display:block;}
  .zip-result.local{background:var(--moss-soft);color:var(--moss);}
  .zip-result.extended{background:var(--yolk-soft);color:var(--yolk);}
  .zip-result.contact{background:var(--yolk-soft);color:var(--yolk);}
  .legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:.85rem;}
  .legend span{display:inline-flex;align-items:center;gap:8px;}
  .swatch{width:12px;height:12px;border-radius:50%;display:inline-block;}
  .rules-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
  .rules-list li{
    display:flex;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--line);
    border-radius:6px;font-size:.92rem;
  }
  .rule-icon{flex:none;width:22px;height:22px;margin-top:2px;}
  details.faq{border-bottom:1px solid var(--line);padding:14px 0;}
  details.faq summary{cursor:pointer;font-weight:700;font-family:Fraunces,serif;font-size:1.02rem;}
  details.faq p{margin-top:10px;color:var(--ink-soft);}

  /* ---------- CUSTOM ORDER FORM ---------- */
  .order-wrap{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:44px;box-shadow:0 20px 50px var(--shadow);}
  @media (max-width:600px){.order-wrap{padding:26px 20px;}}
  .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  @media (max-width:640px){.field-grid{grid-template-columns:1fr;}}
  .field{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
  .field label{font-family:"Space Mono",monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);}
  .field input,.field select,.field textarea{
    padding:12px 14px;border-radius:4px;border:1.5px solid var(--line);
    font-family:Karla,sans-serif;font-size:.98rem;background:var(--paper);color:var(--ink);
  }
  .field textarea{min-height:120px;resize:vertical;font-family:Karla,sans-serif;}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--periwinkle);}
  .chip-group{display:flex;flex-wrap:wrap;gap:8px;}
  .chip-group label{
    display:flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:20px;
    padding:7px 13px;font-size:.82rem;cursor:pointer;font-family:Karla,sans-serif;
    text-transform:none;letter-spacing:0;color:var(--ink);
  }
  .chip-group input{width:14px;height:14px;accent-color:var(--yolk);}
  .shipping-note{
    display:none;background:var(--yolk-soft);border-radius:6px;padding:12px 14px;font-size:.85rem;margin-top:6px;
  }
  .shipping-note.show{display:block;}
  .field.is-required label::after{content:" *";color:var(--berry);}
  .field.is-required input{border-color:var(--berry);}
  .form-footer{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px;}
  .form-msg{font-family:"Space Mono",monospace;font-size:.82rem;color:var(--moss);}

  /* ---------- SOCIAL ---------- */
  .social-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
  @media (max-width:600px){.social-cards{grid-template-columns:1fr;}}

  /* ---------- FEED PREVIEW CARDS (real IG/TikTok data, link out) ---------- */
  .feed-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media (max-width:900px){.feed-cards{grid-template-columns:1fr 1fr;}}
  @media (max-width:600px){.feed-cards{grid-template-columns:1fr;}}
  .feed-card{
    display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;
    padding:26px;text-decoration:none;color:var(--ink);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .feed-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px var(--shadow);}
  .feed-card-top{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
  .feed-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--line);}
  .feed-id{flex:1;min-width:0;}
  .feed-handle{font-family:Fraunces,serif;font-weight:700;font-size:1.05rem;}
  .feed-platform{font-family:"Space Mono",monospace;font-size:.74rem;color:var(--periwinkle);text-transform:uppercase;letter-spacing:.05em;}
  .feed-arrow{flex:none;color:var(--ink-soft);transition:transform .2s ease, color .2s ease;}
  .feed-card:hover .feed-arrow{transform:translate(2px,-2px);color:var(--yolk);}
  .feed-bio{font-size:.9rem;color:var(--ink-soft);margin-bottom:14px;}
  .feed-stats{display:flex;gap:16px;font-size:.84rem;color:var(--ink-soft);margin-bottom:16px;flex-wrap:wrap;}
  .feed-stats strong{color:var(--ink);font-family:"Space Mono",monospace;}
  .feed-cta{display:inline-flex;}
  .social-card{
    background:var(--card);border:1px solid var(--line);border-radius:8px;padding:30px;
    display:flex;flex-direction:column;gap:12px;align-items:flex-start;
  }
  .social-stat{font-family:"Space Mono",monospace;color:var(--ink-soft);font-size:.85rem;}

  /* ---------- FOOTER ---------- */
  footer{
    position:relative;overflow:hidden;
    background:var(--paper);
    color:var(--ink-soft);padding:56px 0 30px;
    border-top:2px solid var(--line);
  }
  .footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
  @media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.footer-grid{grid-template-columns:1fr;}}
  footer h4{font-family:"Space Mono",monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--yolk);margin-bottom:1em;}
  footer a{color:var(--ink-soft);text-decoration:none;display:block;margin-bottom:.6em;font-size:.92rem;}
  footer a:hover{color:var(--yolk);}
  .footer-bottom{
    position:relative;z-index:1;
    border-top:1px solid var(--line);margin-top:40px;padding-top:22px;
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    font-size:.8rem;color:var(--ink-soft);align-items:center;
  }

  .sticky-cta{
    position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--ink);
    padding:12px 20px;display:none;justify-content:center;
  }
  .sticky-cta a{color:var(--paper);text-decoration:none;font-family:"Space Mono",monospace;
    font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;display:flex;gap:8px;align-items:center;}
  @media (max-width:720px){.sticky-cta{display:flex;} body{padding-bottom:56px;}}

  [data-reveal]{opacity:1;transform:none;}
  .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

  /* ---------- ADD-ONS ---------- */
  .addon-block{margin-top:44px;padding-top:36px;border-top:1px solid var(--line);}
  .ready-block{background:var(--card);border:1.5px solid var(--lux-red);border-radius:12px;padding:28px 30px;margin-top:44px;}
  .ready-block .ready-h{font-family:Fraunces,serif;font-style:italic;font-weight:600;font-size:1.4rem;color:var(--yolk);margin-bottom:.3em;}
  .addon-chips{display:flex;flex-wrap:wrap;gap:10px;}
  .addon-chip{
    display:inline-flex;align-items:center;gap:7px;border-radius:20px;padding:8px 14px;
    font-size:.86rem;color:var(--mark);
    background:var(--lux-red);border:1.5px solid var(--lux-red);
  }

  /* ---------- OCCASIONS ---------- */
  .occasion-chips{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 36px;}
  .occ-chip{
    background:var(--lux-black-soft);border:1px solid var(--lux-black);border-radius:20px;
    padding:9px 16px;font-size:.88rem;color:var(--lux-black);
  }
  #occasions .eyebrow{color:var(--lux-black);}
  #occasions .eyebrow::before{background:var(--lux-black);}
  .occ-mascot{width:100%;max-width:340px;justify-self:center;}
  .callout-card{
    background:var(--card);border:1.5px solid var(--lux-black);border-radius:12px;
    padding:26px 30px;max-width:640px;
  }
  .callout-card .eyebrow{font-family:Fraunces,serif;font-style:italic;font-size:1.15rem;
    text-transform:none;letter-spacing:0;color:var(--lux-black);font-weight:600;}
  .callout-card .eyebrow::before{display:none;}

  /* ---------- REVIEWS ---------- */
  .reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;margin:30px 0;}
  .review-card{
    background:var(--card);border:1px solid var(--line);border-radius:10px;
    padding:22px;display:flex;flex-direction:column;gap:8px;
    box-shadow:0 1px 2px rgba(61,42,26,.03), 0 12px 26px -22px var(--shadow);
  }
  .review-card .stars{color:var(--yolk);font-size:1.05rem;letter-spacing:2px;}
  .review-card .r-name{font-family:Fraunces,serif;font-weight:700;font-size:1.05rem;}
  .review-card .r-text{font-size:.92rem;color:var(--ink-soft);}
  .review-card img.r-photo{border-radius:8px;width:100%;max-height:220px;object-fit:cover;margin-top:4px;}
  .review-card a.r-video{font-family:"Space Mono",monospace;font-size:.78rem;color:var(--periwinkle);}
  .review-empty{
    display:none;padding:30px;text-align:center;color:var(--ink-soft);
    border:1.5px dashed var(--line);border-radius:10px;margin-bottom:30px;font-size:.94rem;
  }
  .review-empty.show{display:block;}
  .review-form-wrap{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:32px;max-width:680px;margin:0 auto;}
  .star-input{display:flex;gap:6px;font-size:1.7rem;line-height:1;}
  .star-input .star{color:var(--line);cursor:pointer;transition:color .15s;}
  .star-input .star.active{color:var(--yolk);}
  .photo-input-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
  .photo-input-row input[type="file"]{font-size:.82rem;max-width:220px;}
  .photo-preview{width:60px;height:60px;border-radius:8px;object-fit:cover;display:none;border:1px solid var(--line);}
  .photo-preview.show{display:block;}

  /* ---------- REAL MAP ---------- */
  .real-map{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 30px var(--shadow);}
  .real-map img{width:100%;display:block;}
  .map-attribution{font-size:.72rem;color:var(--ink-soft);margin-top:8px;}

  /* ---------- MAP EMBED (Barton Creek Square vending machine) ---------- */
  .lvna-map-section{position:relative;width:100%;min-height:420px;overflow:hidden;}
  .lvna-map-bg{position:absolute;inset:0;width:100%;height:100%;border:0;min-height:420px;}
  .lvna-info-box{
    position:absolute;top:50%;right:5%;transform:translateY(-50%);width:280px;max-width:86%;
    background:rgba(255,253,248,.94);backdrop-filter:blur(4px);border-radius:16px;
    padding:22px 24px;box-shadow:0 10px 30px var(--shadow);border:1px solid var(--line);
    z-index:2;color:var(--ink);
  }
  .lvna-title{margin:0 0 8px;font-family:Fraunces,serif;font-size:1.2rem;font-weight:600;}
  .lvna-address{margin:0;font-size:.88rem;line-height:1.5;color:var(--ink-soft);}
  .lvna-divider{border:none;border-top:1px solid var(--line);margin:14px 0;}
  .lvna-note{margin:0;font-size:.78rem;color:var(--ink-soft);font-style:italic;}
  .lvna-directions-link{
    display:inline-block;margin-top:14px;font-size:.85rem;font-weight:600;
    color:var(--yolk);text-decoration:none;border-bottom:1px solid currentColor;
  }
  .lvna-directions-link:hover{opacity:.7;}
  @media (max-width:640px){
    .lvna-info-box{right:50%;top:auto;bottom:14px;transform:translateX(50%);width:90%;}
  }

  /* ---------- FAQ PAGE ---------- */
  .faq-group{margin-bottom:32px;}
  .faq-group-h{font-size:1rem;font-family:"Space Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--moss);margin-bottom:8px;}
