/* Stage 4: homepage-only refinements. Existing videos and Commerce untouched. */
.ks-home-page .ksh-hero-main{isolation:isolate;border-color:transparent}
.ks-home-page .ksh-hero-main>video{inset:auto;left:-5%;right:auto;top:-5%;bottom:auto;width:110%;height:110%;max-width:none;object-fit:cover;object-position:center;backface-visibility:hidden;transform:translate3d(0,var(--ks-parallax-y,0px),0) scale(1.035)}
.ks-home-page .ksh-hero-main::after{inset:0;pointer-events:none}
.ks-home-page .ksh-hero-side{min-width:0}
.ks-home-page .ksh-mini-card{isolation:isolate;min-width:0;gap:10px}
.ks-home-page .ksh-mini-card>div{position:relative;z-index:2;min-width:0}
.ks-home-page .ksh-mini-card h2,.ks-home-page .ksh-mini-card p,.ks-home-page .ksh-mini-link{overflow-wrap:anywhere}
.ks-home-page .ksh-mini-card__art{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;opacity:.55;filter:saturate(.8);pointer-events:none;transition:transform .55s ease,opacity .35s ease}
.ks-home-page .ksh-mini-card__art--mobile{display:none}
.ks-home-page .ksh-mini-card--new::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(91deg,rgba(247,227,234,.94),rgba(247,227,234,.65) 63%,rgba(247,227,234,.2))}
.ks-home-page .ksh-mini-card--new:hover .ksh-mini-card__art{transform:scale(1.045);opacity:.68}
.ks-home-page .ksh-mini-card--sale{background:linear-gradient(135deg,#e8efcf,#edf4d0 58%,#e6edc2);border-color:#cbd7a9;animation:kshStage4SaleGlow 7s ease-in-out infinite}
.ks-home-page .ksh-mini-card--sale::before{content:"";position:absolute;inset:-25%;z-index:0;pointer-events:none;background:linear-gradient(110deg,transparent 37%,rgba(255,255,255,.42) 49%,transparent 61%);transform:translateX(-95%);animation:kshStage4SaleShine 7s ease-in-out infinite}
.ks-home-page .ksh-mini-card--sale:hover{background:linear-gradient(145deg,#f0f4d7,#dfe9b5);border-color:#aebf80;box-shadow:0 12px 32px rgba(87,111,49,.14)}
.ks-home-page .ksh-mini-card--sale .ksh-mini-label{background:#fff;color:#354220}
@keyframes kshStage4SaleGlow{0%,28%,75%,100%{box-shadow:0 0 0 0 rgba(135,159,81,0)}51%{box-shadow:0 0 0 4px rgba(135,159,81,.09),0 9px 23px rgba(87,111,49,.055)}}
@keyframes kshStage4SaleShine{0%,31%{transform:translateX(-95%)}66%,100%{transform:translateX(95%)}}
.ks-home-page .ks2-promo--small-price,.ks-home-page .ks2-promo--sun{min-width:0;gap:14px}
.ks-home-page .ks2-promo--small-price .inner,.ks-home-page .ks2-promo--sun .inner{min-width:0;overflow-wrap:anywhere}
.ks-home-page .ks2-promo--small-price h3,.ks-home-page .ks2-promo--sun h3{line-height:1.1;overflow-wrap:anywhere}
.ks-home-page .ks2-promo--small-price .ks2-mini-link,.ks-home-page .ks2-promo--sun .ks2-mini-link{margin-top:auto;padding-top:12px;white-space:normal}
.ks-home-page .ks2-ticker-track a{display:inline-flex;align-items:center;color:#302823;text-decoration:none;font-family:Georgia,serif;font-size:15px;letter-spacing:-.02em;white-space:nowrap;transition:color .2s,opacity .2s}
.ks-home-page .ks2-ticker-track a:hover{color:#a04466;text-decoration:underline;text-underline-offset:5px}
.ks-home-page .ks2-ticker:focus-within .ks2-ticker-track,.ks-home-page .ks2-ticker:hover .ks2-ticker-track{animation-play-state:paused}
.ks-home-page .ks2-story{min-height:510px;margin-bottom:20px}
.ks-home-page .ks2-story-media{min-height:510px}
.ks-home-page .ks2-story-content{gap:18px;padding:clamp(22px,3vw,36px)}
.ks-home-page .ks2-story-head p{font-size:13px;line-height:1.6;max-width:530px}
.ks-home-page .ks2-story-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ks-home-page .ks2-story-card{min-width:0;min-height:240px;aspect-ratio:.76;isolation:isolate;padding:17px 14px;justify-content:flex-start;border-radius:17px}
.ks-home-page .ks2-story-card__art{position:absolute;right:-18%;top:11%;width:130%;height:88%;max-width:none;object-fit:contain;opacity:.47;filter:saturate(.85);z-index:0;pointer-events:none;transition:transform .35s,opacity .3s}
.ks-home-page .ks2-story-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.37) 0%,transparent 48%,rgba(255,255,255,.68) 100%)}
.ks-home-page .ks2-story-card>:not(.ks2-story-card__art){position:relative;z-index:2}
.ks-home-page .ks2-story-card:hover .ks2-story-card__art{transform:scale(1.045);opacity:.62}
.ks-home-page .ks2-story-card strong{font-size:25px;margin:18px 0 5px}
.ks-home-page .ks2-story-card p{font-size:12px;line-height:1.45}
.ks-home-page .ks2-story-card b{margin-top:auto;padding-top:18px;font-weight:850}
.ks-home-page #new{padding-top:25px}
@media(min-width:768px){
 .ks-home-page .ksh-quiz-panel{background:#fffefa;border-color:#d5c8c0}
 .ks-home-page .ksh-option{background:#f6f2ed;border:1.5px solid #c7b9ae;color:#29221e;box-shadow:0 2px 5px rgba(29,24,21,.035)}
 .ks-home-page .ksh-option:not(.is-selected):hover{background:#eee5dd;border-color:#8c766b}
 .ks-home-page .ksh-option.is-selected{background:#28231f;border-color:#28231f;color:#fff;box-shadow:0 4px 12px rgba(30,25,21,.16)}
}
@media(max-width:1050px){.ks-home-page .ks2-story-card{min-height:195px;aspect-ratio:auto;padding:13px}.ks-home-page .ks2-story-card strong{font-size:22px}.ks-home-page .ks2-story-card__art{opacity:.29}}
@media(max-width:900px){.ks-home-page .ks2-story{min-height:0}.ks-home-page .ks2-story-media{min-height:380px}.ks-home-page .ks2-story-card{min-height:218px;aspect-ratio:auto}}
@media(max-width:767px){
 .ks-home-page .ksh-hero-main>video{left:-5%;top:-4%;width:110%;height:108%}
 .ks-home-page .ksh-hero-side{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ks-home-page .ksh-mini-card{min-width:0;padding:16px;min-height:180px}
 .ks-home-page .ksh-mini-card h2{font-size:clamp(20px,5.2vw,26px);line-height:1.09}
 .ks-home-page .ksh-mini-card__art--desktop{display:none}
 .ks-home-page .ksh-mini-card__art--mobile{display:block;object-position:center}
 .ks-home-page .ksh-mini-card--new::before{background:linear-gradient(90deg,rgba(247,227,234,.95) 0%,rgba(247,227,234,.7) 68%,rgba(247,227,234,.22))}
 .ks-home-page .ks2-promo--small-price,.ks-home-page .ks2-promo--sun{min-height:205px;padding:15px;display:flex;flex-direction:column;justify-content:space-between}
 .ks-home-page .ks2-promo--small-price h3,.ks-home-page .ks2-promo--sun h3{font-size:clamp(21px,5.8vw,29px);line-height:1.08;margin-top:4px}
 .ks-home-page .ks2-promo--small-price p,.ks-home-page .ks2-promo--sun p{max-width:100%;font-size:12px}
 .ks-home-page .ks2-promo--small-price .ks2-mini-link,.ks-home-page .ks2-promo--sun .ks2-mini-link{padding-top:10px}
 .ks-home-page [data-home-scroll-hint].has-scroll-more{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 26px),transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 26px),transparent 100%)}
 .ks-home-page .ks2-story-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:8px;scrollbar-width:none;padding:0 18px 5px 0;}
 .ks-home-page .ks2-story-grid::-webkit-scrollbar{display:none}
 .ks-home-page .ks2-story-card{flex:0 0 68%;min-width:68%;min-height:200px;aspect-ratio:auto;padding:16px;scroll-snap-align:start}
 .ks-home-page .ks2-story-card__art{right:-10%;width:100%;opacity:.36}
 .ks-home-page .ks2-story-content{padding:23px 17px;gap:16px}
 .ks-home-page .ks2-story-head h2{font-size:clamp(34px,8vw,48px)}
 .ks-home-page .ks2-story-head p{font-size:13px}
}
@media(max-width:430px){
 .ks-home-page .ksh-hero-side{grid-template-columns:1fr}
 .ks-home-page .ksh-mini-card{min-height:155px}
 .ks-home-page .ksh-mini-card--new{min-height:175px}
 .ks-home-page .ks2-promo--small-price,.ks-home-page .ks2-promo--sun{min-height:195px}
 .ks-home-page .ks2-story-card{min-width:76%}
}
@media(prefers-reduced-motion:reduce){
 .ks-home-page .ksh-mini-card--sale,.ks-home-page .ksh-mini-card--sale::before{animation:none!important}
 .ks-home-page .ksh-mini-card__art,.ks-home-page .ks2-story-card__art{transition:none!important}
}

/* Stage 4 adjustment: enlarged desktop story cards, 2026-10-12 */
/* Wide desktop: give the three cards about 70% of the editorial section,
   instead of squeezing them into half of its width. */
@media (min-width:1200px) {
  .ks-home-page .ks2-story {
    grid-template-columns:minmax(0,.68fr) minmax(0,1.56fr);
    min-height:700px;
    align-items:stretch;
    margin-bottom:22px;
  }
  .ks-home-page .ks2-story-media {min-height:700px}
  .ks-home-page .ks2-story-content {
    padding:clamp(24px,2.65vw,42px);
    gap:32px;
    justify-content:space-between;
    min-width:0;
  }
  .ks-home-page .ks2-story-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    width:100%;
    min-width:0;
    overflow:visible;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:none;
    min-height:390px;
    aspect-ratio:auto;
    padding:22px 18px;
    border-radius:20px;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card__art {
    right:-20%;
    top:15%;
    width:145%;
    height:74%;
    opacity:.49;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card strong {
    font-size:clamp(29px,2.4vw,36px);
    margin:20px 0 10px;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card p {
    max-width:210px;
    font-size:14px;
    line-height:1.48;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card b {
    font-size:13px;
    padding-top:20px;
  }
}

/* Smaller desktops / laptops: keep readable wide cards by stacking the
   media above the three-card row; no change to the mobile carousel. */
@media (min-width:901px) and (max-width:1199px) {
  .ks-home-page .ks2-story {
    grid-template-columns:minmax(0,1fr);
    min-height:0;
    margin-bottom:20px;
  }
  .ks-home-page .ks2-story-media {min-height:290px}
  .ks-home-page .ks2-story-content {
    padding:30px;
    gap:25px;
    min-width:0;
  }
  .ks-home-page .ks2-story-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    width:100%;
    min-width:0;
    overflow:visible;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:none;
    min-height:350px;
    aspect-ratio:auto;
    padding:23px;
    border-radius:20px;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card__art {
    right:-12%;
    top:10%;
    width:125%;
    height:82%;
    opacity:.45;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card strong {
    font-size:clamp(29px,3vw,35px);
    margin:20px 0 8px;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card p {
    max-width:220px;
    font-size:14px;
    line-height:1.5;
  }
  .ks-home-page .ks2-story-grid .ks2-story-card b {
    font-size:13px;
    padding-top:18px;
  }
}
