
@font-face { font-family:'Heebo'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/heebo-400.woff') format('woff'); }
@font-face { font-family:'Heebo'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/heebo-500.woff') format('woff'); }
@font-face { font-family:'Heebo'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/heebo-600.woff') format('woff'); }
@font-face { font-family:'Heebo'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/heebo-700.woff') format('woff'); }
@font-face { font-family:'Heebo'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/heebo-800.woff') format('woff'); }
@font-face { font-family:'Heebo'; font-style:normal; font-weight:900; font-display:swap; src:url('../fonts/heebo-900.woff') format('woff'); }
  :root {
    --navy:#073a96;
    --navy-dark:#052d79;
    --blue:#1099ea;
    --blue-soft:#edfaff;
    --pink:#ff0f67;
    --yellow:#ffe000;
    --text:#073b91;
    --shadow:0 10px 26px rgba(14,92,165,.13);
  }
  * { box-sizing:border-box; }
  html { scroll-behavior:auto; overflow-anchor:none; scroll-padding-top:var(--topbar-height,0px); }
  body {
    margin:0;
    font-family:"Heebo",Arial,sans-serif;
    background:linear-gradient(180deg,#eefdff 0%,#f5fcff 72%,#dff4ff 100%);
    color:var(--text);
    overflow-x:clip;
  }
  a { text-decoration:none; }
  .brand-home { display:flex; align-items:center; justify-content:center; }
  .compact-brand-home { display:none; }
  .topbar {
    position:sticky;
    top:0;
    z-index:1000;
    height:56px;
    background:linear-gradient(90deg,var(--navy-dark),#064ca7);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    padding:0 34px;
    font-size:16px;
    font-weight:700;
  }
  .logo {
    display:flex;
    align-items:center;
    gap:8px;
    color:#fff;
    font-weight:900;
    font-size:31px;
    line-height:1;
    letter-spacing:-1px;
  }
  .logo .crown { color:#ffe100; font-size:34px; transform:translateY(-2px); }
  .logo .fun { color:#ffe100; }
  .tagline { opacity:.98; }
  .hero {
    width:100%;
    background:#1499e9;
  }
  .hero img {
    display:block;
    width:100%;
    height:auto;
    max-width:none;
    object-fit:initial;
  }
  .content {
    width:min(1180px, calc(100% - 44px));
    margin:0 auto;
    padding:26px 0 34px;
  }
  .content#products,
  .content#riding-costumes,
  .content#sitting-costumes,
  .content#capture-costumes,
  .content#characters-costumes,
  .content#funny-costumes,
  .content#animals-costumes,
  .content#special-costumes {
    width:min(1720px, calc(100% - 48px));
  }
  .product-card .product-image-wrap {
    height:clamp(240px, calc(13.5vw + 45px), 305px);
    min-height:clamp(240px, calc(13.5vw + 45px), 305px);
    padding:6px;
  }
  .site-intro {
    width:100%;
    margin:0 0 20px;
    padding:31px 20px;
    text-align:center;
    background:linear-gradient(120deg,#052d79,#0753ac);
    border-radius:0;
    border:0;
    box-shadow:none;
  }
  .site-intro h2 {
    margin:0;
    color:var(--yellow);
    font-size:clamp(36px,4.2vw,72px);
    font-weight:900;
    line-height:1.35;
    letter-spacing:-.025em;
    text-wrap:balance;
  }
  .intro-line { display:inline; }
  .intro-source, .intro-finish { white-space:nowrap; }
  .intro-market { font:inherit; color:var(--yellow); }
  .intro-finish { color:var(--yellow); }
  .section-title {
    text-align:center;
    font-size:44px;
    font-weight:900;
    color:var(--text);
    margin:0 0 22px;
    letter-spacing:-.8px;
  }
  .section-title::before,
  .section-title::after {
    content:"";
    display:inline-block;
    width:42px;
    height:14px;
    margin:0 18px;
    vertical-align:middle;
    border-top:6px solid #1499e9;
    border-bottom:6px solid #1499e9;
    transform:skewX(-24deg);
  }
  .products {
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:14px;
  }
  #products > .products,
  #riding-costumes > .products,
  #sitting-costumes > .products,
  #capture-costumes > .products,
  #characters-costumes > .products,
  #funny-costumes > .products,
  #animals-costumes > .products,
  #special-costumes > .products { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .product-card {
    background:#fff;
    border:1px solid #e6f1f8;
    border-radius:12px;
    box-shadow:var(--shadow);
    padding:9px 10px 14px;
    text-align:center;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .product-card:hover {
    transform:translateY(-4px);
    box-shadow:0 14px 30px rgba(14,92,165,.19);
  }
  .product-image-wrap {
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    min-height:250px;
    height:250px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px;
  }
  .product-image {
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:center center;
    margin:auto;
  }
  .product-image-link {
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    border-radius:inherit;
    cursor:pointer;
  }
  .product-image-link:focus-visible {
    outline:3px solid #ffcf28;
    outline-offset:-3px;
  }
  .product-card h3 {
    margin:12px 4px 12px;
    font-size:20px;
    line-height:1.22;
    font-weight:900;
    color:var(--text);
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .buy-btn {
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    width:100%;
    min-height:42px;
    border-radius:999px;
    background:linear-gradient(180deg,#ff1770,#fa0c5c);
    color:white;
    font-size:18px;
    font-weight:900;
    box-shadow:0 7px 15px rgba(255,15,103,.18);
  }
  .buy-btn:hover { filter:brightness(1.04); }
  .benefits {
    margin-top:6px;
    background:linear-gradient(180deg,#dff4ff,#c9ebfb);
    border-radius:18px 18px 0 0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    padding:26px 24px 30px;
  }
  .benefit {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    text-align:right;
  }
  .benefit .icon {
    font-size:34px;
    width:48px;
    text-align:center;
  }
  .benefit strong { display:block; font-size:18px; line-height:1.1; }
  .benefit span { display:block; font-size:13px; color:#426790; margin-top:2px; font-weight:600; }
  .footer-disclosure { max-width:1000px; margin:0 auto 8px; color:rgba(255,255,255,.92); font-size:13px; font-weight:500; line-height:1.65; }
  .footer-disclosure a { color:#ffe500; text-decoration:underline; text-underline-offset:3px; font-weight:800; }
  .footer-disclosure a:focus-visible { outline:2px solid #fff; outline-offset:3px; border-radius:2px; }
  footer {
    background:#073b91;
    color:#fff;
    text-align:center;
    padding:14px 20px 18px;
    font-size:13px;
    font-weight:600;
  }
  @media (max-width:900px) {
    .topbar { padding:0 18px; }
    .site-intro { width:100%; }
    .content#products,
    .content#riding-costumes,
    .content#sitting-costumes,
    .content#capture-costumes,
    .content#characters-costumes,
    .content#funny-costumes,
    .content#animals-costumes,
    .content#special-costumes { width:min(1180px, calc(100% - 44px)); }
    .product-card .product-image-wrap { height:250px; min-height:250px; padding:10px; }
    .products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    #products > .products,
    #riding-costumes > .products,
    #sitting-costumes > .products,
    #capture-costumes > .products,
    #characters-costumes > .products,
    #funny-costumes > .products,
    #animals-costumes > .products,
    #special-costumes > .products {
      grid-template-columns:repeat(2,minmax(0,1fr));
      justify-content:stretch;
      gap:12px;
    }
    .benefits { grid-template-columns:repeat(2,1fr); }
    .section-title { font-size:36px; }
  }
  @media (max-width:600px) {
    .site-intro {
      width:100%;
      margin:0 0 12px;
      padding:23px 14px;
      border-radius:0;
    }
    .site-intro h2 {
      font-size:clamp(25px,7.6vw,38px);
      line-height:1.45;
      letter-spacing:-.02em;
    }
    .intro-line { display:block; white-space:nowrap; }
    .topbar {
      height:50px;
      padding:0 12px;
      gap:10px;
    }
    .logo { font-size:23px; }
    .logo .crown { font-size:25px; }
    .tagline { font-size:11px; white-space:nowrap; }
    .hero img {
      width:100%;
      height:auto;
      min-height:0;
      max-height:none;
      object-fit:initial;
    }
    .content {
      width:calc(100% - 20px);
      padding:24px 0 22px;
    }
    .content#products,
    .content#riding-costumes,
    .content#sitting-costumes,
    .content#capture-costumes,
    .content#characters-costumes,
    .content#funny-costumes,
    .content#animals-costumes,
    .content#special-costumes { width:calc(100% - 20px); }
    .section-title {
      display:flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      font-size:clamp(30px,8.6vw,38px);
      line-height:1.3;
      letter-spacing:-.6px;
      margin-bottom:36px;
      white-space:nowrap;
    }
    #products .section-title { margin-bottom:24px; }
    .section-title::before,
    .section-title::after {
      flex:0 0 16px;
      width:16px;
      height:10px;
      margin:0;
      border-width:4px;
      border-color:var(--yellow);
    }
    .products { gap:9px; }
    #products > .products,
    #riding-costumes > .products,
    #sitting-costumes > .products,
    #capture-costumes > .products,
    #characters-costumes > .products,
    #funny-costumes > .products,
    #animals-costumes > .products,
    #special-costumes > .products { gap:9px; }
    .product-card {
      padding:7px 7px 10px;
      border-radius:10px;
    }
    .product-card .product-image-wrap {
      min-height:180px;
      height:180px;
      padding:2px;
    }
    .product-card .product-image { transform:scale(1.05); }
    .product-card h3 {
      font-size:16.5px;
      margin:4px 3px 8px;
      min-height:40px;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
    }
    .buy-btn {
      min-height:38px;
      font-size:13px;
    }
    .benefits {
      grid-template-columns:1fr 1fr;
      gap:14px 8px;
      padding:20px 10px 22px;
    }
    .benefit { gap:5px; }
    .benefit .icon { font-size:27px; width:35px; }
    .benefit strong { font-size:13px; }
    .benefit span { font-size:10px; }
    footer { font-size:11px; }
  }
  @media (max-width:390px) {
    .tagline { display:none; }
  }
  /* Fill the image area while keeping the entire costume visible. */
  .product-image-wrap { padding:0; }
  .product-image { width:100%; height:100%; }
  button.buy-btn { border:0; font-family:inherit; }
  .buy-btn:disabled { opacity:.6; cursor:default; box-shadow:none; }
  .bath-product .product-image { transform:scale(1.1); }
  .product-card.pooh-product .product-image { transform:translateX(-4px) scale(.98); }
  .product-card.alien-white-source { overflow:hidden; }
  .product-card.alien-white-source .product-image-wrap { overflow:visible; }
  .product-card.alien-white-source .product-image {
    transform:translateY(-3px) scale(1.12);
    filter:saturate(1.5) contrast(1.12) brightness(1.02);
  }
  .product-card.alien-white-source h3 { position:relative; z-index:1; }
  .product-card.special-heart .product-image {
    transform:translateX(-2px) scale(1.02);
    filter:saturate(1.08) contrast(1.04);
  }
  #products .featured-costume { overflow:hidden; }
  #products .featured-costume .product-image-wrap { overflow:visible; }
  #products .featured-costume h3 { position:relative; z-index:1; }
  #products .featured-trex .product-image {
    transform:translateY(-5px) scale(1.07);
    filter:saturate(1.12) contrast(1.06);
  }
  #products .featured-alien .product-image {
    transform:scale(1.035);
    filter:saturate(1.1) contrast(1.04);
  }
  #products .featured-astronaut .product-image {
    transform:translateY(-2px) scale(1.08);
    filter:saturate(1.16) contrast(1.06);
  }
  #products .featured-rocket .product-image {
    transform:translateY(-3px) scale(1.1);
    filter:saturate(1.22) contrast(1.07);
  }
  #products .featured-sumo .product-image {
    transform:translate(-8px,-3px) scale(1.13);
    filter:saturate(1.06) contrast(1.08);
  }
  #products .featured-football .product-image {
    transform:translateY(5px) scale(1.1);
    filter:saturate(1.08) contrast(1.13) brightness(1.01);
  }
  #riding-costumes .product-card { overflow:hidden; }
  #riding-costumes .product-image-wrap { overflow:visible; }
  #riding-costumes .product-card h3 { position:relative; z-index:1; }
  #riding-costumes .ride-dinosaur .product-image { filter:saturate(1.12) contrast(1.06); }
  #riding-costumes .ride-unicorn .product-image { filter:saturate(1.12) contrast(1.04); }
  #riding-costumes .ride-flamingo .product-image { filter:saturate(1.13) contrast(1.05); }
  #riding-costumes .ride-peacock .product-image { filter:saturate(1.03) contrast(1.04); }
  #riding-costumes .ride-trex .product-image { filter:saturate(1.09) contrast(1.04); }
  #riding-costumes .ride-horse .product-image { filter:saturate(1.09) contrast(1.04); }
  #riding-costumes .ride-giraffe .product-image { filter:saturate(1.08) contrast(1.04); }
  #riding-costumes .ride-eagle .product-image { filter:saturate(1.11) contrast(1.07); }
  #riding-costumes .ride-bull .product-image { filter:saturate(1.08) contrast(1.07); }
  #riding-costumes .ride-skeleton-unicorn .product-image { filter:saturate(1.13) contrast(1.06); }
  #riding-costumes .ride-snail .product-image { filter:saturate(1.12) contrast(1.06); }
  #riding-costumes .ride-zebra .product-image { filter:saturate(1.04) contrast(1.1); }
  #sitting-costumes .product-card { overflow:hidden; }
  #sitting-costumes .product-image-wrap { overflow:visible; }
  #sitting-costumes .product-card h3 { position:relative; z-index:1; }
  #sitting-costumes .sit-alien .product-image { filter:saturate(1.1) contrast(1.05); }
  #sitting-costumes .sit-skeleton .product-image { filter:saturate(1.07) contrast(1.07); }
  #sitting-costumes .sit-shark .product-image { filter:saturate(1.1) contrast(1.05); }
  #sitting-costumes .sit-gorilla .product-image { filter:saturate(1.07) contrast(1.09); }
  #sitting-costumes .sit-witch .product-image { filter:saturate(1.11) contrast(1.07); }
  #sitting-costumes .sit-extraterrestrial .product-image { filter:saturate(1.1) contrast(1.05); }
  @media (max-width:600px) {
    .product-card.alien-white-source .product-image { transform:translateY(-2px) scale(1.1); }
    .product-card.special-heart .product-image { transform:translateX(-1px) scale(1.015); }
    #products .featured-trex .product-image { transform:translateY(-3px) scale(1.055); }
    #products .featured-alien .product-image { transform:scale(1.02); }
    #products .featured-astronaut .product-image { transform:scale(1.07); }
    #products .featured-rocket .product-image { transform:translateY(-2px) scale(1.09); }
    #products .featured-sumo .product-image { transform:translate(-5px,-2px) scale(1.11); }
    #products .featured-football .product-image { transform:translateY(3px) scale(1.08); }


















  }
  #products > .products .product-card h3,
  #funny-costumes > .products .product-card h3 {
    min-height:50px;
    margin:10px 2px 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    font-size:20px;
    line-height:1.16;
    white-space:nowrap;
  }
  #products > .products .product-card h3 span,
  #funny-costumes > .products .product-card h3 span { display:block; }
  #products > .products .product-card h3 .title-prefix,
  #funny-costumes > .products .product-card h3 .title-prefix { font-weight:800; }
  @media (max-width:600px) {
    #products > .products .product-card h3,
  #funny-costumes > .products .product-card h3 {
      min-height:42px;
      margin:4px 0 8px;
      gap:2px;
      font-size:16.5px;
      line-height:1.15;
    }
  }
  .topbar { height:auto; min-height:0; flex-direction:column; justify-content:center; gap:0; padding:0 16px; }
  .brand-logo { display:block; width:340px; max-width:88vw; height:auto; margin:-6px 0 -14px; }
  .primary-nav { display:none; }
  .mobile-menu-toggle { display:none; }
  @media (min-width:901px) {
    .topbar { padding-top:12px; padding-bottom:12px; transition:padding .22s ease; }
    .brand-logo { margin-bottom:-4px; }
    .brand-home {
      max-height:150px;
      overflow:hidden;
      transform-origin:top center;
      transition:max-height .22s ease,opacity .16s ease,transform .22s ease;
    }
    .topbar.is-scrolled { padding-top:6px; padding-bottom:6px; }
    .topbar.is-scrolled .brand-home {
      max-height:0;
      opacity:0;
      transform:scale(.82);
      pointer-events:none;
    }
    .primary-nav {
      display:flex;
      direction:rtl;
      align-items:center;
      justify-content:center;
      flex-wrap:nowrap;
      gap:clamp(26px,3.4vw,68px);
      width:100%;
    }
    .primary-nav a {
      flex:none;
      padding:7px 4px;
      color:var(--yellow);
      font-size:clamp(18px,1.45vw,23px);
      font-weight:800;
      line-height:1.3;
      white-space:nowrap;
    }
    .primary-nav a:hover { text-decoration:underline; text-underline-offset:7px; }
    .primary-nav a:focus-visible { outline:2px solid #fff; outline-offset:3px; border-radius:4px; }
    .topbar.is-scrolled .compact-brand-home {
      position:absolute;
      left:max(24px,calc((100vw - 1720px) / 2));
      top:50%;
      z-index:2;
      display:flex;
      align-items:center;
      width:116px;
      transform:translateY(-50%);
      opacity:1;
      visibility:visible;
    }
    .compact-brand-home img { display:block; width:100%; height:auto; }
    .topbar.is-scrolled .primary-nav {
      gap:clamp(18px,2.6vw,36px);
      padding-left:140px;
    }
  }
  #products:focus, #about-us:focus, #costume-faq:focus, #find-my-costume:focus { outline:none; }
  @media (max-width:600px) {
    .topbar { min-height:0; padding:0 12px; gap:0; }
    .brand-logo { width:210px; margin:2px 0; }
  }
  @media (max-width:900px) {
    .topbar { flex-direction:row; justify-content:space-between; gap:12px; padding:4px 24px; }
    .brand-logo { width:min(210px,56vw); max-width:100%; margin:0; }
    .mobile-menu-toggle {
      display:flex;
      flex:none;
      width:54px;
      height:54px;
      padding:11px;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:5px;
      border:1px solid rgba(255,224,0,.6);
      border-radius:10px;
      background:rgba(5,45,121,.7);
      color:var(--yellow);
      cursor:pointer;
    }
    .mobile-menu-toggle span { width:26px; height:3px; border-radius:2px; background:currentColor; transition:transform .18s ease,opacity .18s ease; }
    .mobile-menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(8px) rotate(45deg); }
    .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
    .mobile-menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-8px) rotate(-45deg); }
    .mobile-menu-toggle:focus-visible { outline:2px solid #fff; outline-offset:3px; }
    .primary-nav {
      position:absolute;
      top:100%;
      inset-inline:0;
      padding:10px 16px 16px;
      background:#052d79;
      border-top:1px solid rgba(255,255,255,.15);
      box-shadow:0 14px 24px rgba(5,45,121,.25);
      align-items:stretch;
      flex-direction:column;
      text-align:right;
    }
    .topbar.menu-open .primary-nav { display:flex; }
    .primary-nav a { display:flex; align-items:center; min-height:50px; padding:10px 12px; color:var(--yellow); font-size:21px; font-weight:800; line-height:1.3; }
    .primary-nav a + a { border-top:1px solid rgba(255,255,255,.12); }
    .primary-nav a:focus-visible { outline:2px solid var(--yellow); outline-offset:-2px; border-radius:6px; }
  }
  @media (max-width:600px) {
    .mobile-menu-toggle { width:60px; height:60px; padding:12px; }
    .mobile-menu-toggle span { width:28px; }
  }
  .riding-category { padding-top:0; margin-top:-10px; }
  .riding-category .section-title { margin-bottom:22px; }
  @media (max-width:600px) {
    .content.riding-category { margin-top:0; padding-top:14px; }
    .content.riding-category .section-title { margin-bottom:36px; }
  }
  button.buy-btn { border:0; font-family:inherit; }
  .buy-btn:disabled { opacity:.6; cursor:default; box-shadow:none; }

  .about-curation {
    position:relative; isolation:isolate; overflow:hidden;
    width:min(1540px, calc(100% - 40px)); margin:48px auto 60px;
    padding:38px clamp(24px,4vw,64px) 46px;
    color:#fff; text-align:right; border:5px solid #fff; border-radius:44px;
    background:repeating-conic-gradient(from -12deg at 50% 20%,transparent 0deg 12deg,rgba(255,255,255,.065) 12deg 24deg),radial-gradient(ellipse at 50% 5%,#14d5f5 0%,#0099f0 44%,#0653bd 100%);
    box-shadow:0 8px 0 #064795,0 22px 40px rgba(7,59,145,.18);
  }
  .about-party-heading { position:relative; z-index:1; display:grid; grid-template-columns:minmax(170px,340px) minmax(0,650px) minmax(170px,340px); justify-content:center; align-items:center; gap:16px; margin-bottom:38px; }
  .about-party-character { --about-art-size:320px; position:relative; display:grid; place-items:center; width:100%; height:320px; }
  .about-party-scene { position:relative; isolation:isolate; width:min(100%,var(--about-art-size)); aspect-ratio:1; }
  .about-party-scene::before { content:""; position:absolute; inset:0; pointer-events:none; }
  .about-party-character--a .about-party-scene::before {
    background:radial-gradient(ellipse 15% 3% at 25% 96%,rgba(0,35,97,.4) 0%,rgba(0,46,113,.18) 42%,transparent 78%),radial-gradient(ellipse 12% 2.6% at 52% 88%,rgba(0,35,97,.28) 0%,transparent 78%),radial-gradient(ellipse 16% 3% at 82% 96%,rgba(0,35,97,.36) 0%,rgba(0,46,113,.15) 45%,transparent 78%);
  }
  .about-party-character--b .about-party-scene::before {
    background:radial-gradient(ellipse 19% 3% at 28% 96%,rgba(0,35,97,.4) 0%,rgba(0,46,113,.17) 44%,transparent 78%),radial-gradient(ellipse 11% 2.4% at 54% 77%,rgba(0,35,97,.24) 0%,transparent 78%),radial-gradient(ellipse 14% 2.8% at 78% 94%,rgba(0,35,97,.38) 0%,rgba(0,46,113,.16) 43%,transparent 78%);
  }
  .about-party-scene img { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 3px 3px rgba(0,40,105,.14)); }
  .about-party-character:first-child { transform:rotate(2deg); }
  .about-party-character:last-child { transform:rotate(-2deg); }
  .about-curation h2 { margin:0; text-align:center; font-weight:900; line-height:1.2; }
  .about-ribbon {
    display:block; width:fit-content; max-width:100%; margin:auto; padding:13px 30px 17px;
    background:linear-gradient(165deg,#ff3689,#f00068); border:3px solid white; border-radius:18px 38px 20px 38px;
    transform:rotate(-2deg); box-shadow:0 7px 0 #a50654,inset 0 3px 0 rgba(255,255,255,.22);
    color:#fff; font-size:clamp(32px,3.4vw,48px); line-height:1.3; text-wrap:balance;
  }
  .about-payoff { display:block; color:#fff42b; font-size:1.35em; white-space:nowrap; text-shadow:0 3px 0 #ab0750; }
  @media (min-width:901px) {
    .about-ribbon { font-size:clamp(39px,4.15vw,58px); }
    .about-payoff { font-size:1.11em; }
  }
  .about-curation-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:26px; }
  .about-curation article {
    min-width:0; padding:30px 32px; background:rgba(3,48,132,.91); border:2px solid rgba(130,224,255,.85); border-radius:28px;
    box-shadow:0 7px 0 rgba(0,34,106,.45),inset 0 2px 0 rgba(255,255,255,.15);
  }
  .about-curation h3 { display:table; margin:-46px 0 22px; padding:9px 25px; color:#fff; background:#ee0066; border:3px solid #fff; border-radius:14px 25px 14px 25px; transform:rotate(2deg); font-size:27px; font-weight:900; line-height:1.3; box-shadow:0 5px 0 #a30650; }
  .about-curation article:nth-child(2) h3 { background:#ffe500; color:#063680; box-shadow:0 5px 0 #dc9500; transform:rotate(-2deg); }
  .about-curation p { margin:0; color:#fff; font-size:18px; line-height:1.85; }
  .about-curation article:last-child {
    grid-column:1/-1; display:block; margin-top:8px; padding:30px 34px;
    border:3px solid white; border-radius:28px 40px 28px 40px;
    background:linear-gradient(120deg,#fff56b,#ffe300); box-shadow:0 7px 0 #dea10b;
  }
  .about-curation article:last-child h3 { max-width:100%; margin:-46px 0 22px; transform:rotate(2deg); }
  .about-curation article:last-child p { color:#07336d; }
  .about-curation article:last-child p + p { margin-top:16px; }
  .about-sparkles { position:absolute; inset:0; z-index:0; pointer-events:none; }
  .about-sparkles span { position:absolute; color:#fff126; line-height:1; font-size:42px; text-shadow:0 3px 0 rgba(0,65,170,.15); }
  .about-sparkles span:nth-child(1) { top:5%; right:2%; transform:rotate(15deg); }
  .about-sparkles span:nth-child(2) { top:4%; left:4%; color:white; font-size:30px; }
  .about-sparkles span:nth-child(3) { top:32%; left:1%; transform:rotate(-12deg); }
  .about-sparkles span:nth-child(4) { bottom:3%; right:1%; color:white; font-size:29px; }
  .about-sparkles span:nth-child(2), .about-sparkles span:nth-child(4) { display:none; }
  .about-sparkles i { position:absolute; width:14px; height:42px; border-radius:90% 90% 90% 8%; background:#ffec22; transform:rotate(40deg); }
  .about-sparkles i:nth-of-type(1) { top:5%; right:23%; }
  .about-sparkles i:nth-of-type(2) { top:20%; left:21%; background:#fff; transform:rotate(-45deg); width:12px; height:32px; }
  .about-sparkles i:nth-of-type(3) { bottom:32%; right:1%; background:#fff; transform:rotate(25deg); }
  .about-sparkles i:nth-of-type(4) { bottom:3%; left:2%; transform:rotate(-45deg); }
  @media (max-width:900px) {
    .about-party-heading { grid-template-columns:160px minmax(0,1fr) 160px; gap:8px; }
    .about-party-character { --about-art-size:230px; height:230px; }
    .about-curation article:last-child { grid-template-columns:1fr; gap:20px; }
  }
  @media (max-width:700px) {
    .about-curation { width:calc(100% - 16px); margin:34px auto 42px; padding:32px 17px 28px; border-width:3px; border-radius:28px; }
    .about-party-heading { grid-template-columns:1fr 1fr; margin-bottom:38px; gap:0; }
    .about-curation h2 { grid-column:1/-1; grid-row:1; }
    .about-ribbon { padding:10px 18px 13px; font-size:26px; }
    .about-payoff { margin-top:-4px; font-size:clamp(.95em,7.5vw,1.15em); }
    .about-party-character { --about-art-size:220px; grid-column:1/-1; grid-row:2; width:min(280px,85%); height:220px; justify-self:center; margin-top:18px; transform:none; }
    .about-party-character:last-child { display:none; }
    .about-curation-grid { grid-template-columns:1fr; gap:42px; }
    .about-curation article,.about-curation article:last-child { display:block; padding:25px 20px; border-radius:23px; margin-top:0; }
    .about-curation h3 { font-size:24px; padding:8px 19px; margin:-43px 0 20px; }
    .about-curation article:last-child h3 { margin:-44px 0 22px; }
    .about-curation p { font-size:17px; line-height:1.85; }
    .about-sparkles span { font-size:25px; }
    .about-sparkles span:nth-child(2) { top:8px; left:16px; font-size:18px; }
    .about-sparkles span:nth-child(1) { top:8px; right:16px; font-size:18px; }
    .about-sparkles i:nth-of-type(1) { top:13%; right:6%; }
    .about-sparkles i:nth-of-type(2) { top:14%; left:7%; }
  }

  .costume-faq {
    width:min(1100px, calc(100% - 48px));
    margin:24px auto 52px;
    padding:32px;
    background:repeating-conic-gradient(from -12deg at 50% 20%,transparent 0deg 12deg,rgba(255,255,255,.065) 12deg 24deg),radial-gradient(ellipse at 50% 5%,#14d5f5 0%,#0099f0 44%,#0653bd 100%);
    border:5px solid #fff;
    border-radius:34px;
    box-shadow:0 8px 0 #064795,0 22px 40px rgba(7,59,145,.18);
    text-align:right;
  }
  .faq-buying-character, .faq-operation-character, .faq-safety-character, .faq-care-character { display:none; }
  @media (min-width:1024px) {
    .costume-faq { width:min(1540px, calc(100% - 40px)); padding:56px clamp(24px,4vw,64px) 46px; }
    .faq-topic { position:relative; }
    .faq-topic > .faq-item { width:64%; margin-right:0; margin-left:auto; }
    .faq-buying-character { display:block; position:absolute; left:0; top:72px; width:34%; height:var(--faq-closed-height,690px); pointer-events:none; }
    .faq-topic[aria-labelledby="faq-operation"] > .faq-item, .faq-topic[aria-labelledby="faq-care-cleaning"] > .faq-item { margin-left:0; margin-right:auto; }
    .faq-topic[aria-labelledby="faq-operation"] > h3, .faq-topic[aria-labelledby="faq-care-cleaning"] > h3 { margin-right:36%; }
    .faq-operation-character { display:block; position:absolute; right:0; top:72px; width:34%; height:var(--faq-closed-height,690px); pointer-events:none; }
    .faq-operation-character img { display:block; width:100%; height:100%; object-fit:contain; object-position:center top; }
    .faq-safety-character { display:block; position:absolute; left:0; top:72px; width:34%; height:var(--faq-closed-height,690px); pointer-events:none; }
    .faq-safety-character img { display:block; width:100%; height:100%; object-fit:contain; object-position:center top; }
    .faq-care-character { display:block; position:absolute; right:0; top:72px; width:34%; height:var(--faq-closed-height,690px); pointer-events:none; }
    .faq-care-character img { display:block; width:100%; height:100%; object-fit:contain; object-position:center top; }

    .faq-buying-character img { display:block; width:100%; height:100%; object-fit:contain; object-position:center top; transform:scaleX(-1); }
    /* Lighting and contact shadows follow the rendered cutout, without resizing it. */
    .faq-scene { isolation:isolate; }
    .faq-scene img { position:relative; z-index:1; filter:drop-shadow(5px 10px 9px rgba(0,28,84,.17)) drop-shadow(-2px -2px 2px rgba(151,238,255,.24)); }
    .faq-buying-character img { filter:drop-shadow(-5px 10px 9px rgba(0,28,84,.17)) drop-shadow(2px -2px 2px rgba(151,238,255,.24)); }
    .faq-scene::before {
      content:""; position:absolute; z-index:0;
      left:var(--floor-left,50%); top:var(--floor-top,95%);
      width:var(--floor-width,50%); height:24px;
      transform:translate(-50%,-45%); filter:blur(4px);
      background:radial-gradient(ellipse,rgba(0,25,75,.42) 0%,rgba(0,37,104,.22) 36%,transparent 72%);
      pointer-events:none;
    }
    .faq-scene::after {
      content:""; position:absolute; z-index:2; top:0; left:50%;
      width:var(--figure-width,100%); height:var(--figure-height,100%);
      transform:translateX(-50%); pointer-events:none;
      background:linear-gradient(135deg,rgba(207,249,255,.42),rgba(124,217,255,.12) 30%,transparent 52%,rgba(8,64,145,.22));
      -webkit-mask-image:var(--figure-mask); mask-image:var(--figure-mask);
      -webkit-mask-size:100% 100%; mask-size:100% 100%;
      -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
      mix-blend-mode:soft-light; opacity:.65;
    }
    .faq-buying-character::after { transform:translateX(-50%) scaleX(-1); background:linear-gradient(225deg,rgba(207,249,255,.42),rgba(124,217,255,.12) 30%,transparent 52%,rgba(8,64,145,.22)); }
    .faq-care-character::after { opacity:.4; }

  }
  .costume-faq h2 {
    display:table; width:fit-content; max-width:100%;
    margin:0 auto 42px; padding:11px 30px 13px;
    color:#fff;
    background:linear-gradient(165deg,#ff3689,#f00068);
    border:3px solid #fff;
    border-radius:14px 25px 14px 25px;
    box-shadow:0 6px 0 #a30650,inset 0 3px 0 rgba(255,255,255,.22);
    font-size:clamp(30px,3.2vw,40px);
    font-weight:900;
    line-height:1.35;
    text-align:center;
    text-wrap:balance;
  }
  @media (min-width:1024px) {
    .costume-faq h2 { font-size:clamp(36px,3.8vw,50px); padding:17px 40px 19px; border-radius:18px 32px 18px 32px; }
  }
  .faq-topic + .faq-topic { margin-top:36px; padding-top:28px; border-top:1px solid rgba(255,255,255,.4); }
  .faq-topic h3 {
    display:table; width:fit-content; max-width:100%;
    margin:0 0 18px; padding:9px 25px;
    color:#063680; background:#ffe500;
    border:3px solid #fff; border-radius:14px 25px 14px 25px;
    box-shadow:0 5px 0 #dc9500;
    font-size:24px; font-weight:900; line-height:1.4;
  }
  .faq-item summary > h4 { margin:0; font:inherit; color:inherit; min-width:0; overflow-wrap:break-word; }
  .faq-item {
    background:#fff;
    border:1px solid #d4e6f4;
    border-radius:14px;
    overflow:hidden;
  }
  .faq-item + .faq-item { margin-top:14px; }
  .faq-item summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:21px 24px;
    color:var(--text);
    font-size:21px;
    font-weight:800;
    line-height:1.45;
    cursor:pointer;
    list-style:none;
  }
  .faq-item summary::-webkit-details-marker { display:none; }
  .faq-item summary:hover { background:#f5faff; }
  .faq-item summary:focus-visible { outline:3px solid #0753ac; outline-offset:-4px; }
  .faq-toggle {
    position:relative;
    flex:0 0 30px;
    height:30px;
    border-radius:50%;
    background:#e6f3ff;
  }
  .faq-toggle::before, .faq-toggle::after {
    content:"";
    position:absolute;
    inset:14px 8px;
    background:#0753ac;
    border-radius:2px;
  }
  .faq-toggle::after { transform:rotate(90deg); }
  .faq-item[open] .faq-toggle::after { transform:rotate(0); }
  .faq-item[open] summary { border-bottom:1px solid #e6eff7; }
  .faq-answer { padding:0 24px 22px; color:#243d55; font-size:17px; line-height:1.85; }
  .faq-answer p { margin:16px 0 0; }
  @media (max-width:600px) {
    .costume-faq { width:calc(100% - 20px); margin:16px auto 30px; padding:22px 12px; border-radius:16px; }
    .costume-faq h2 { margin-bottom:34px; padding:9px 20px 11px; font-size:clamp(24px,7.2vw,30px); }
    .faq-topic h3 { padding:8px 19px; font-size:21px; }
    .faq-topic + .faq-topic { margin-top:28px; padding-top:22px; }
    .faq-item summary { padding:17px 14px; font-size:18px; gap:12px; }
    .faq-answer { padding:0 14px 18px; font-size:16px; }
  }

  .costume-finder {
    position:relative; isolation:isolate; overflow:hidden;
    width:min(1370px,calc(100% - 40px)); margin:40px auto 50px;
    padding:34px clamp(22px,4vw,52px) 32px;
    border:4px solid #fff; border-radius:34px; text-align:right;
    background:repeating-conic-gradient(from -12deg at 50% 20%,transparent 0deg 12deg,rgba(255,255,255,.065) 12deg 24deg),radial-gradient(ellipse at 50% 5%,#14d5f5 0%,#0099f0 44%,#0653bd 100%);
    box-shadow:0 8px 0 #0879bf,0 22px 40px rgba(7,59,145,.14);
    color:#07336d;
  }
  .finder-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); align-items:center; gap:clamp(22px,4vw,58px); direction:rtl; }
  .finder-copy-column { position:relative; z-index:1; min-width:0; }
  .finder-title-strip { width:fit-content; max-width:100%; margin:0 auto 24px; }
  .finder-title-strip h2 { display:table; width:fit-content; max-width:100%; margin:0 auto; padding:17px 40px 19px; color:#fff; background:linear-gradient(165deg,#ff3689,#f00068); border:3px solid #fff; border-radius:18px 32px 18px 32px; box-shadow:0 6px 0 #a30650,inset 0 3px 0 rgba(255,255,255,.22); font-size:clamp(28px,3vw,43px); font-weight:900; line-height:1.35; text-align:center; white-space:nowrap; }
  .finder-title-main,.finder-title-emphasis { display:inline; margin:0; padding:0; color:#fff; background:transparent; border:0; border-radius:0; font-size:inherit; line-height:inherit; }
  .finder-title-desktop-word { display:inline; }
  .finder-title-emphasis { margin-inline-start:.22em; color:#fff42b; text-shadow:none; }
  .finder-heading { position:relative; z-index:1; text-align:right; margin:0 0 18px; }
  .finder-heading p { margin:0; color:#fff42b; font-size:clamp(19px,1.7vw,25px); line-height:1.6; font-weight:800; }
  .finder-form { position:relative; z-index:1; width:100%; max-width:none; margin:0; }
  .finder-contact { display:grid; grid-template-columns:1fr; gap:12px; }
  .finder-field { min-width:0; }
  .finder-field label { display:block; width:100%; box-sizing:border-box; margin:0 0 9px; padding:0; color:#fff42b; text-align:right; font-size:19px; line-height:1.4; font-weight:800; }
  .finder-contact .finder-field { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:center; gap:4px; }
  .finder-contact .finder-field label { margin:0; }
  .finder-form input,.finder-form textarea { box-sizing:border-box; width:100%; min-width:0; font:inherit; font-size:18px; color:#07336d; border:2px solid #1785bd; border-radius:13px; outline-offset:4px; transition:border-color .15s,box-shadow .15s; }
  .finder-form input { height:52px; padding:10px 15px; background:#fff; box-shadow:inset 0 2px 0 rgba(255,255,255,.22),0 3px 0 rgba(7,86,145,.08); }
  .finder-form textarea::placeholder { color:#666; opacity:1; }
  .finder-form input:focus,.finder-form textarea:focus { outline:3px solid #fff; border-color:#e80066; box-shadow:0 0 0 5px rgba(238,0,102,.15); }
  .finder-form #finder-email,.finder-form input[type="tel"] { direction:ltr; text-align:right; }
  .finder-description { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:start; gap:4px; margin-top:12px; }
  .finder-description label { margin:11px 0 0; }
  .finder-form textarea { display:block; padding:15px 17px; min-height:132px; resize:vertical; background:#fff; line-height:1.7; border-radius:13px; }
  .finder-actions { display:flex; direction:ltr; align-items:center; justify-content:flex-start; gap:20px; margin-top:14px; }
  .finder-actions p { margin:0; max-width:530px; font-size:15px; line-height:1.7; }
  .finder-submit { flex:none; min-width:190px; min-height:56px; padding:10px 32px; border:3px solid #fff; border-radius:16px; background:linear-gradient(165deg,#ff3689,#ed0067); color:#fff; font:inherit; font-size:24px; font-weight:900; cursor:pointer; direction:rtl; box-shadow:0 5px 0 #a50654; transition:filter .15s,transform .15s; }
  .finder-submit:hover { filter:brightness(1.07); transform:translateY(-1px); }
  .finder-submit:active { transform:translateY(2px); }
  .finder-submit:focus-visible { outline:3px solid #07336d; outline-offset:5px; }
  .finder-status { margin:22px 0 0; font-size:17px; font-weight:700; line-height:1.6; color:#07336d; }
  .finder-status:empty { display:none; }
  .finder-visual-column { position:relative; align-self:end; min-width:0; width:110%; margin:0 0 -32px -5%; aspect-ratio:1402/1122; display:grid; place-items:center; }
  .finder-visual-column img { display:block; width:100%; height:auto; filter:drop-shadow(0 16px 15px rgba(2,45,111,.23)); }
  @media(min-width:901px) { .finder-visual-column { transform:translateX(14px); } }
  @media(max-width:900px) {
    .finder-layout { grid-template-columns:1fr; }
    .finder-visual-column { display:none; }
    .finder-title-strip { width:100%; margin-bottom:20px; }
  }
  @media(max-width:700px) {
    .costume-finder { width:calc(100% - 16px); margin:34px auto 42px; padding:30px 18px 30px; border-width:3px; border-radius:28px; background:repeating-conic-gradient(from -12deg at 50% 20%,transparent 0deg 12deg,rgba(255,255,255,.04) 12deg 24deg),radial-gradient(ellipse at 50% 5%,#0754ad 0%,#064795 44%,#063b87 100%); box-shadow:0 8px 0 #052d79,0 18px 32px rgba(7,59,145,.24); }
    .finder-title-strip { width:100%; margin:0 0 24px; }
    .finder-title-strip h2 { display:block; padding:13px 16px 16px; border-radius:16px 24px; background:linear-gradient(165deg,#ff3689,#f00068); box-shadow:0 7px 0 #a50654; font-size:clamp(23px,6.2vw,30px); line-height:1.3; white-space:normal; }
    .finder-title-main,.finder-title-emphasis { display:block; padding:0; border-radius:0; background:transparent; color:#fff; font-size:inherit; }
    .finder-title-desktop-word { display:none; }
    .finder-title-emphasis { margin-inline-start:0; margin-top:4px; color:#fff42b; text-shadow:none; }
    .finder-heading { margin-bottom:24px; }
    .finder-heading p { font-size:18px; }
    .finder-contact { gap:13px; }
    .finder-contact .finder-field { display:block; }
    .finder-contact .finder-field label { margin-bottom:8px; }
    .finder-field label { font-size:18px; }
    .finder-description { display:block; margin-top:18px; }
    .finder-description label { margin:0 0 8px; }
    .finder-form textarea { min-height:155px; }
    .finder-actions { flex-direction:column; align-items:stretch; gap:18px; }
    .finder-submit { width:100%; }
    .finder-actions p { font-size:14px; }
  }


  /* Fit the visible subject, including its feet, rather than the source canvas. */
  #riding-costumes .product-card,
  #sitting-costumes .product-card,
  #characters-costumes .product-card,
  #capture-costumes .product-card,
  #funny-costumes .product-card,
  #animals-costumes .product-card,
  #special-costumes .product-card { display:flex; flex-direction:column; }
  #riding-costumes .product-card .product-image-wrap,
  #sitting-costumes .product-card .product-image-wrap,
  #characters-costumes .product-card .product-image-wrap,
  #capture-costumes .product-card .product-image-wrap,
  #funny-costumes .product-card .product-image-wrap,
  #animals-costumes .product-card .product-image-wrap,
  #special-costumes .product-card .product-image-wrap {
    position:relative; container-type:size;
    height:clamp(254px, calc(13.5vw + 59px), 319px);
    min-height:0; flex-shrink:0; padding:0; overflow:hidden;
  }
  #riding-costumes .product-card .product-image,
  #sitting-costumes .product-card .product-image,
  #characters-costumes .product-card .product-image,
  #capture-costumes .product-card .product-image,
  #funny-costumes .product-card .product-image,
  #animals-costumes .product-card .product-image,
  #special-costumes .product-card .product-image {
    position:absolute; left:50%; bottom:0;
    width:min(calc(var(--subject-width) * .99), var(--subject-height));
    height:auto; max-width:none; max-height:none; margin:0;
    transform:translate(var(--subject-center),var(--subject-bottom));
  }
  #riding-costumes .product-card h3,
  #sitting-costumes .product-card h3,
  #characters-costumes .product-card h3,
  #capture-costumes .product-card h3,
  #funny-costumes .product-card h3,
  #animals-costumes .product-card h3,
  #special-costumes .product-card h3 { min-height:0; margin:12px 0 12px; }
  #riding-costumes .product-card .buy-btn,
  #sitting-costumes .product-card .buy-btn,
  #characters-costumes .product-card .buy-btn,
  #capture-costumes .product-card .buy-btn,
  #funny-costumes .product-card .buy-btn,
  #animals-costumes .product-card .buy-btn,
  #special-costumes .product-card .buy-btn { margin-top:auto; }
  @media (max-width:900px) {
    #riding-costumes .product-card .product-image-wrap,
    #sitting-costumes .product-card .product-image-wrap,
    #characters-costumes .product-card .product-image-wrap,
    #capture-costumes .product-card .product-image-wrap,
    #funny-costumes .product-card .product-image-wrap,
    #animals-costumes .product-card .product-image-wrap,
    #special-costumes .product-card .product-image-wrap { height:264px; }
  }
  @media (max-width:600px) {
    #riding-costumes .product-card .product-image-wrap,
    #sitting-costumes .product-card .product-image-wrap,
    #characters-costumes .product-card .product-image-wrap,
    #capture-costumes .product-card .product-image-wrap,
    #funny-costumes .product-card .product-image-wrap,
    #animals-costumes .product-card .product-image-wrap,
    #special-costumes .product-card .product-image-wrap { height:191px; }
    #riding-costumes .product-card h3,
    #sitting-costumes .product-card h3,
    #characters-costumes .product-card h3,
    #capture-costumes .product-card h3,
    #funny-costumes .product-card h3,
    #animals-costumes .product-card h3,
    #special-costumes .product-card h3 { margin:9px 0 8px; }
  }

  #special-costumes .special-chef .product-image { filter:saturate(1.08) contrast(1.07) brightness(1.01); }
  #special-costumes .special-scarecrow .product-image { filter:saturate(1.12) contrast(1.08); }
  #special-costumes .special-coffee .product-image,
  #special-costumes .special-burger .product-image { filter:saturate(1.08) contrast(1.06); }

  #characters-costumes .product-card { overflow:hidden; }
  #characters-costumes .product-card h3 { display:block; }
  #characters-costumes .character-hulk .product-image { filter:saturate(1.09) contrast(1.05); }
  #characters-costumes .character-among .product-image { filter:saturate(1.02) contrast(1.04); }
  #characters-costumes .character-minion .product-image { filter:saturate(1.08) contrast(1.05); }
  #characters-costumes .character-patrick .product-image { filter:saturate(1.14) contrast(1.06); }
  #characters-costumes .character-captain .product-image { filter:saturate(1.15) contrast(1.07); }
  #characters-costumes .character-pooh .product-image {
    width:min(calc(var(--subject-width) * .95), var(--subject-height));
    transform:translate(calc(var(--subject-center) - 2%),var(--subject-bottom));
    filter:saturate(1.18) contrast(1.09);
  }
  #characters-costumes .character-stitch .product-image { filter:saturate(1.05) contrast(1.04); }
  #characters-costumes .character-clown .product-image { filter:saturate(1.07) contrast(1.05); }
  #characters-costumes .character-mickey .product-image { filter:saturate(1.08) contrast(1.06); }
  #characters-costumes .character-spotted-alien .product-image { filter:saturate(1.01) contrast(1.03); }
  #characters-costumes .character-olaf .product-image { filter:saturate(1.03) contrast(1.04); }
  #characters-costumes .character-minnie .product-image { filter:saturate(1.07) contrast(1.05); }

  #capture-costumes .product-card,
  #funny-costumes .product-card,
  #animals-costumes .product-card { overflow:hidden; }
  #capture-costumes .product-card h3,
  #animals-costumes .product-card h3 { display:block; }
  #funny-costumes > .products .product-card h3 { min-height:0; margin:12px 0 12px; }
  @media (max-width:600px) {
    #funny-costumes > .products .product-card h3 { margin:9px 0 8px; }
  }
  #capture-costumes .fitted-pink-alien .product-image { filter:saturate(1.08) contrast(1.05); }
  #capture-costumes .fitted-silver-alien .product-image { filter:saturate(1.03) contrast(1.09); }
  #capture-costumes .fitted-wrestler .product-image { filter:saturate(1.08) contrast(1.06); }
  #capture-costumes .fitted-surgeon .product-image { filter:saturate(1.12) contrast(1.06); }
  #capture-costumes .fitted-space-alien .product-image { filter:saturate(1.02) contrast(1.04); }
  #capture-costumes .fitted-reaper .product-image { filter:saturate(1.05) contrast(1.05); }
  #funny-costumes .fitted-rooster .product-image { filter:saturate(1.09) contrast(1.06); }
  #funny-costumes .fitted-upside-clown .product-image { filter:saturate(1.05) contrast(1.04); }
  #funny-costumes .fitted-bath .product-image { filter:saturate(1.12) contrast(1.05); }
  #funny-costumes .fitted-biting-dog .product-image { filter:saturate(1.1) contrast(1.05); }
  #funny-costumes .fitted-baby .product-image { filter:saturate(1.05) contrast(1.07); }
  #funny-costumes .fitted-poop .product-image { filter:saturate(1.07) contrast(1.06); }
  #animals-costumes .fitted-fox .product-image { filter:saturate(1.08) contrast(1.05); }
  #animals-costumes .fitted-spider .product-image { filter:saturate(1.08) contrast(1.07); }
  #animals-costumes .fitted-bee .product-image { filter:saturate(1.02) contrast(1.04); }
  #animals-costumes .fitted-cat .product-image { filter:saturate(1.04) contrast(1.07); }
  #animals-costumes .fitted-dog .product-image { filter:saturate(1.08) contrast(1.06); }
  #animals-costumes .fitted-shark .product-image { filter:saturate(1.12) contrast(1.06); }
  .header-social { display:none; }
  .mobile-social { display:none; }
  @media (min-width:901px) {
    .header-social {
      display:flex; position:absolute; left:24px; bottom:20px;
      flex-direction:column; align-items:center; gap:9px;
      transition:opacity .16s ease,transform .22s ease;
    }
    .header-social p { margin:0; color:var(--yellow); font-size:18px; font-weight:800; line-height:1.3; }
    .header-social-links { display:flex; direction:rtl; gap:12px; }
    .header-social-links a {
      display:flex; align-items:center; justify-content:center;
      width:48px; height:48px; border-radius:12px; background:#fff;
      box-shadow:0 4px 12px rgba(0,15,60,.22);
      transition:transform .15s ease,box-shadow .15s ease;
    }
    .header-social-links svg { width:30px; height:30px; display:block; }
    .header-social-links a:hover { transform:translateY(-3px); box-shadow:0 7px 16px rgba(0,15,60,.3); }
    .header-social-links a:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
    .topbar.is-scrolled .header-social { opacity:0; visibility:hidden; transform:translateY(-8px); pointer-events:none; }
  }
  @media (min-width:901px) and (max-width:1279px) {
    .header-social { bottom:72px; }
  }

  /* Why Pumpit: editorial cards in the existing party palette. */
  .why-pumpit { position:relative; isolation:isolate; overflow:hidden; width:min(1540px,calc(100% - 40px)); margin:0 auto 60px; padding:52px clamp(24px,4vw,64px); border:5px solid #fff; border-radius:44px; color:#fff; background:repeating-conic-gradient(from 10deg at 10% 0%,transparent 0deg 15deg,rgba(255,255,255,.045) 15deg 30deg),radial-gradient(ellipse at 80% 0%,#14d5f5,#0099f0 45%,#0653bd); box-shadow:0 8px 0 #064795,0 22px 40px rgba(7,59,145,.18); }
  .why-pumpit:focus { outline:none; }
  .why-intro { max-width:1080px; margin:0 auto 38px; text-align:center; }
  .why-pumpit h2 { display:table; margin:0 auto 28px; padding:14px 36px 18px; border:3px solid #fff; border-radius:18px 32px 18px 32px; background:#ee0066; color:#ffe500; font-size:clamp(34px,3.8vw,52px); font-weight:900; line-height:1.2; box-shadow:0 6px 0 #a30650; }
  .why-lead { display:block; margin-bottom:15px; font-size:clamp(23px,2.3vw,32px); line-height:1.4; font-weight:900; color:#ffe500; }
  .why-pumpit p { margin:0; font-size:18px; line-height:1.85; }
  .why-intro p { font-size:22px; line-height:1.8; text-align:right; }
  .why-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .why-card { position:relative; padding:28px 30px 30px; background:#063b88; border:2px solid #67dcff; border-radius:28px; box-shadow:0 7px 0 rgba(4,47,113,.3); }
  .why-card-top { margin-bottom:12px; text-align:right; }
  .why-pumpit h3 { margin:0; color:#ffe500; font-size:clamp(25px,2.2vw,31px); line-height:1.3; font-weight:900; }
  .why-card p + p,.why-finale p + p { margin-top:14px; }
  .why-finale { margin-top:34px; padding:30px 36px; border:3px solid #fff; border-radius:26px; background:#ffe500; color:#07336d; box-shadow:0 6px 0 #dc9500; }
  .why-finale h3 { margin-bottom:14px; color:#07336d; font-size:clamp(27px,2.6vw,36px); white-space:normal; overflow-wrap:anywhere; }
  @media (min-width:901px) { .primary-nav { gap:clamp(18px,2.5vw,48px); } }
  @media (min-width:901px) and (max-width:1599px) { .header-social { bottom:72px; } }
  @media (max-width:900px) {
    .mobile-social { display:flex; flex-direction:column; align-items:center; gap:12px; padding:18px 16px 20px; margin:0; color:#fff; background:linear-gradient(135deg,#07336d 0%,#0754ad 100%); border-top:3px solid #ffe500; }
    .mobile-social-label { margin:0; color:#ffe500; font-size:18px; line-height:1.35; font-weight:900; }
    .mobile-social-links { display:flex; align-items:center; justify-content:center; gap:16px; direction:rtl; }
    .mobile-social-links a { display:grid; place-items:center; width:50px; height:50px; border-radius:14px; background:#fff; box-shadow:0 4px 12px rgba(0,15,60,.22); transition:transform .15s ease,box-shadow .15s ease; }
    .mobile-social-links svg { display:block; width:30px; height:30px; }
    .mobile-social-links a:active { transform:translateY(1px); }
    .mobile-social-links a:focus-visible { outline:3px solid #ffe500; outline-offset:4px; }
    .why-pumpit { width:calc(100% - 16px); margin-bottom:42px; padding:30px 17px; border-width:3px; border-radius:28px; }
    .why-intro { margin-bottom:26px; }
    .why-pumpit h2 { padding:12px 18px 15px; font-size:clamp(28px,7.5vw,38px); margin-bottom:25px; }
    .why-lead { font-size:23px; }
    .why-pumpit p { font-size:17px; line-height:1.85; }
    .why-intro p { font-size:17px; line-height:1.85; text-align:right; }
    .why-grid { grid-template-columns:1fr; gap:20px; }
    .why-card { display:block; padding:23px 20px; border-radius:23px; }
    .why-card-top { margin-bottom:10px; }
    .why-pumpit h3 { font-size:clamp(20px,5.6vw,23px); }
    .why-finale { margin-top:26px; padding:24px 20px; border-radius:23px; }
    .why-finale h3 { font-size:27px; }
  }

/* Position compact social icons independently of the centered navigation. */
@media (min-width:901px) {
  .topbar.is-scrolled .header-social {
    left:var(--compact-social-center,240px); top:50%; bottom:auto;
    opacity:1; visibility:visible; pointer-events:auto;
    transform:translate(-50%,-50%) scale(var(--compact-social-scale,1));
    transform-origin:center;
  }
  .topbar.is-scrolled .header-social p { display:none; }
  .topbar.is-scrolled .header-social-links { gap:10px; }
  .topbar.is-scrolled .header-social-links a { width:36px; height:36px; border-radius:9px; }
  .topbar.is-scrolled .header-social-links svg { width:25px; height:25px; }
}
