/* Hello Kitty & Friends — Sony México. Styles scoped for store integration. */
html { scroll-behavior: smooth; }
body { margin: 0; }
.hk-landing { --hk-pink:#ff0090; --hk-vivid:var(--hk-pink); --hk-aqua:#42cddd; --hk-pale:#fdf6fb; background:#fff; }
.hk-landing *, .hk-landing *::before, .hk-landing *::after { box-sizing:border-box; }
.hk-landing h1,.hk-landing h2,.hk-landing h3,.hk-landing p,.hk-landing figure { margin:0; }
.hk-landing img { display:block; max-width:100%; height:auto; }
.hk-landing a { text-underline-offset:4px; }
.hk-landing a:focus-visible,.hk-landing summary:focus-visible { outline:3px solid #252a32; outline-offset:5px; }
.hk-landing .pink { color:var(--hk-pink); }
.hk-landing .aqua { color:var(--hk-aqua); }
.hk-container { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.hk-landing .hk-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:.65rem 2rem .5rem; background:var(--hk-pink); color:#fff; font-size: .9375em;text-decoration:none; text-align:center; transition:background .2s; }
.hk-landing .hk-button:hover { background:#c82c7e; }
.hk-landing .hk-button-vivid { background:var(--hk-vivid); }
.hk-hero { background:var(--hk-aqua) url('../pics/bg-hero.png') center/cover no-repeat; position:relative; isolation:isolate; color:#fff; }
.hk-hero-layout { display:grid; grid-template-columns:1.06fr 1fr; align-items:center; min-height:510px; gap:20px; }
.hk-hero-copy { padding:44px 0 70px; z-index:1; }
.hk-eyebrow { font-size:1.5em; line-height:1.35; margin-bottom:10px!important; }
.hk-landing h1 { color:var(--hk-vivid); }
.hk-landing #hero-title strong,
.hk-landing .hk-purchase h3 strong,
.hk-landing #product-title strong,
.hk-landing .hk-product-subtitle strong,
.hk-landing .hk-steps figcaption.p1-bold strong { font-family:"SST W01 Bold","Helvetica Neue",Helvetica,Arial,sans-serif; font-weight:400; }
.hk-landing #hero-title { display:inline-block;line-height:1;padding:.5rem 1rem 0;background-color: var(--hk-vivid);color:#fff;margin-bottom:15px!important }
.hk-landing .block-pink { display: inline-block;line-height:1;padding: .1rem .25rem 0;background-color: var(--hk-vivid);color:#fff;}
.hk-landing sup { font-size: .9rem; }
.hk-landing .hk-hero-disclaimer { max-width: 1000px; margin:auto;padding-bottom:5px;line-height:1.1; }
.hk-hero .pink { color:var(--hk-vivid); }
.hk-hero-description { font-size:1.5em; line-height:1.3; }
.hk-hero-prompt { margin:12px 0!important; }
.hk-hero-product { width:100%; max-width:560px; justify-self:end; align-self:center; position:relative; z-index:1; }
.hk-hero-note { position:relative; z-index:1; padding:12px 32px 18px; text-align:center; background:var(--hk-vivid); }
.hk-how { padding-block:64px 56px; text-align:center; }
.hk-title-sticker { width:min(400px,100%); margin:0 auto; }
.hk-title-sticker img { width:205px; max-height:85px; object-fit:contain; margin:auto auto -3px; }
.hk-title-sticker h2 { border:2px solid var(--hk-pink); border-radius:22px; padding:12px; }
.hk-purchases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:880px; gap:70px; margin:64px auto 30px; }
.hk-purchase>img { width:150px; height:150px; object-fit:contain; margin:0 auto 26px; }
.hk-divider { display:block; height:2px; width:38px; background:var(--hk-pink); margin:0 auto 16px; }
.hk-purchase p { margin-bottom:10px; }
.hk-help { display:inline-block; color:#4572ed!important; text-decoration:underline; }
.hk-product { background:var(--hk-pale); }
.hk-product-layout { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center; padding-top:24px; }
.hk-lifestyle { width:100%; align-self:end; }
.hk-product-copy { padding:35px 0; }
.hk-product-copy h2 { margin-bottom:16px; }
.hk-product-subtitle { font-family:"SST W01 Roman","Helvetica Neue",Helvetica,Arial,sans-serif; font-size:1.35em; line-height:1.3; }
.hk-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:32px 0; gap:20px; }
.hk-features img { height:48px; width:48px; object-fit:contain; margin-bottom:12px; }
.hk-product-note { line-height:1.2; margin-top:15px!important; }
.hk-countdown-section { color:#fff; background:var(--hk-pink); padding:80px 0; }
.hk-countdown-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:42px; }
.hk-countdown-layout h2 { margin-bottom:14px; }
.hk-countdown-layout p { font-size:18px; }
.hk-countdown { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; text-align:center; background:#fff; border-radius:22px; padding:18px 22px 22px; color:var(--hk-pink); }
.hk-countdown span { font-family:"SST W01 Light",Arial,sans-serif; font-size:clamp(44px,5.8vw,82px); line-height:1; display:block; font-variant-numeric:tabular-nums; }
.hk-countdown small { display:block; font-size:14px; margin-top:5px; }
.hk-countdown[hidden] { display:none; }
.hk-account { background:#fff; padding:96px 0 105px; text-align:center; scroll-margin-top:24px; }
.hk-account .hk-button { margin-top: 2rem; }
.hk-account-intro { margin-top:16px!important; }
.hk-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:60px 0 0; gap:66px 50px; }
.hk-steps img { width:100%; aspect-ratio:10/7; object-fit:contain; }
.hk-steps figcaption { color:#83838f; line-height:1.3; margin-top:18px; }
.hk-legal { background:var(--hk-pale);padding-block:38px 60px; scroll-margin-top:24px; }
.hk-legal-copy { width:100%; overflow-wrap:anywhere; }
.hk-legal-copy .hk-legal-title { margin-bottom:14px; }
.hk-legal-copy p { margin-bottom:14px; }
@media(min-width:1440px) { .hk-hero-layout { min-height:540px; } }
@media(max-width:1000px) {
  .hk-container { width:calc(100% - 48px); }
  .hk-hero-layout { min-height:440px; }
  .hk-hero-copy { padding-bottom:36px; }
  .hk-hero-prompt { font-size:17px; }
  .hk-product-layout { gap:26px; }
  .hk-product-subtitle { font-size:21px; }
  .hk-features { gap:14px; }
  .hk-features p { font-size:16px; }
  .hk-steps { gap:46px 26px; }
  .hk-countdown-section { padding:60px 0; }
}
@media(max-width:700px) {
  .hk-container { width:calc(100% - 40px); }
  .hk-hero { background-size:auto 100%; }
  .hk-hero-layout { grid-template-columns:1fr; gap:0; text-align:center; }
  .hk-hero-copy { padding:42px 0 12px; }
  .hk-hero-product { width:min(100%,430px); justify-self:center; }
  .hk-hero-note { padding:16px 20px; }
  .hk-how { padding-block:48px; }
  .hk-title-sticker { max-width:340px; }
  .hk-purchases { gap:38px; grid-template-columns:1fr; margin-top:38px; }
  .hk-purchase>img { margin-bottom:12px; }
  .hk-product-layout { grid-template-columns:1fr; gap:0; padding-top:24px; }
  .hk-lifestyle { max-width:480px; margin:auto; }
  .hk-product-copy { padding:32px 0 40px; }
  .hk-features { gap:12px; }
  .hk-countdown-layout { grid-template-columns:1fr; gap:26px; text-align:center; }
  .hk-countdown-section { padding:42px 0; }
  .hk-countdown { width:min(100%,450px); margin:auto; padding:20px 12px; }
  .hk-countdown span { font-size:clamp(42px,12vw,66px); }
  .hk-countdown small { font-size:12px; }
  .hk-account { padding:52px 0; }
  .hk-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 20px; margin-top:36px; }
  .hk-legal { padding-block:22px 36px; }
}
@media(max-width:440px) {
  .hk-steps { grid-template-columns:1fr; }
  .hk-features { grid-template-columns:1fr; gap:22px; }
  .hk-features li { display:flex; gap:18px; align-items:center; }
  .hk-features img { margin:0; flex-shrink:0; }
  .hk-features br { display:none; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .hk-landing * { transition:none!important; } }
