
.story-section{max-width:1200px;margin:0 auto;padding:88px 40px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.story-section h2{font-size:clamp(30px,3.4vw,48px);line-height:1.1;letter-spacing:-.035em;margin:14px 0 22px;font-weight:600}
.story-section p{font-size:17px;line-height:1.65;margin:14px 0;color:#555}
.idea-example{background:#f0f3ff;border-radius:28px;padding:36px}.idea-example h3{font-size:28px;line-height:1.25;margin:18px 0}.idea-example .example-note{font-size:12px;color:#667}
.media-pending{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;background:#f7efdc;border-radius:28px}.media-pending>span{font-size:32px;font-weight:600}.media-pending small{max-width:300px;line-height:1.6;color:#666}
.adventures-section{border-top:0}.adventures-section button:disabled{opacity:.55;cursor:default;border:0;margin-top:16px;font-family:inherit;font-size:16px}
.review-notice{padding:12px 24px;background:#fff4d8;color:#564722;font:13px/1.5 system-ui;text-align:center}
@media(max-width:760px){.story-section{grid-template-columns:1fr;gap:28px;padding:56px 24px}.idea-example{padding:26px}.story-section h2{font-size:34px}}

/* Knowledge cards — homepage */
.knowledge-section{background:#4b6cf8;color:#fff;padding:96px 5.3%;scroll-margin-top:83px}
.knowledge-inner{max-width:1840px;margin:0 auto}
.knowledge-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;line-height:1.5;font-weight:700;color:#c8d2ff;margin:0 0 16px}
.knowledge-section h2{text-transform:uppercase;font-size:clamp(34px,3.2vw,56px);line-height:1.08;letter-spacing:-.04em;font-weight:700;margin:0 0 24px}
.knowledge-intro{max-width:760px;color:#dbe2ff;font-size:18px;line-height:1.75;margin:0 0 56px}
.knowledge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.knowledge-card{background:#fff;border-radius:18px;min-height:204px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:28px 16px;color:#1a1a1a;text-align:center}
.knowledge-card img{display:block;width:96px;height:96px;object-fit:contain}
.knowledge-card h3{font-size:16px;line-height:1.4;font-weight:700;margin:0}
@media(max-width:760px){.knowledge-section{padding:60px 24px}.knowledge-section h2{font-size:36px}.knowledge-intro{font-size:16px;margin-bottom:32px}.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.knowledge-card{min-height:178px;padding:24px 12px;border-radius:16px;gap:14px}.knowledge-card img{width:80px;height:80px}}
@media(max-width:360px){.knowledge-section{padding-inline:18px}.knowledge-section h2{font-size:32px}}

/* Full-width photographic hero. */
.hero.hero-full-width{position:relative;isolation:isolate;width:100%;max-width:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-height:520px;height:auto;aspect-ratio:2 / 1;padding:54px 5.3%;gap:0;overflow:hidden;background:#ebded0;text-align:left}
.hero-full-width .hero-picture{position:absolute;inset:0;z-index:-2;display:block}
.hero-full-width .hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-full-width::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(245,237,226,.5),rgba(245,237,226,.16) 38%,transparent 56%)}
.hero-full-width .hero-text{width:42%;max-width:590px;padding:0;align-self:center;flex-shrink:0}
.hero-full-width .hero-text h1{font-size:clamp(42px,4.8vw,82px);line-height:1.04}
.hero-full-width .hero-text p{max-width:440px;margin:24px 0 0;font-size:clamp(16px,1.2vw,19px);line-height:1.55;color:#333}
.hero-full-width .hero-buttons{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:28px}
.hero-full-width .btn-primary{min-width:160px;height:54px}
.hero-full-width .watch-link{min-height:44px}
.hero-full-width .hero-text .launch-note{font-size:13px;color:#59544f;margin-top:20px}
@media(max-width:760px){
 .hero.hero-full-width{display:flex;flex-direction:column;justify-content:flex-start;min-height:700px;aspect-ratio:941 / 1672;padding:0;gap:0;background:#eee3d6}
 .hero-full-width::before{display:none}
 .hero-full-width .hero-picture{position:absolute;inset:0;z-index:-2;width:100%;height:100%;aspect-ratio:auto}
 .hero-full-width .hero-photo{object-position:center center}
 .hero-full-width .hero-text{width:100%;max-width:none;padding:30px 24px 24px;text-align:left;align-self:flex-start}
 .hero-full-width .hero-text h1{font-size:clamp(32px,8.5vw,48px)}
 .hero-full-width .hero-text p{max-width:480px;margin-top:16px;font-size:15px;line-height:1.5}
 .hero-full-width .hero-buttons{margin-top:20px;gap:12px 16px;flex-direction:row;align-items:center}
 .hero-full-width .btn-primary{width:auto;min-width:144px;height:48px;font-size:15px}
 .hero-full-width .watch-link{font-size:14px;gap:8px}
 .hero-full-width .hero-text .launch-note{margin-top:14px;font-size:12px}
}

/* Product carousel controls and slide states. */
.product-carousel{touch-action:pan-y;user-select:none}
.product-carousel .product-slide{position:absolute;inset:0}
.product-carousel .product-slide[hidden],.product-carousel button[hidden],.product-carousel .carousel-dots[hidden]{display:none}
.product-carousel .product-lifestyle{object-fit:cover;object-position:65% center}
.product-photo-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f1f4fa;padding:68px;text-align:center}
.product-photo-placeholder p{font-size:20px;font-weight:500;color:#4c5979}
.product-photo-placeholder span{font-size:14px;color:#73809b}
.product-carousel .carousel-arrow{z-index:2}
.product-carousel .carousel-dots{z-index:2;bottom:16px;gap:0;padding:0 6px;background:rgba(255,255,255,.94);border-radius:30px}
.product-carousel .dot{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;cursor:pointer;border-radius:50%;padding:0}
.product-carousel .dot::after{content:"";width:9px;height:9px;border-radius:50%;background:#c7ccda}
.product-carousel .dot.active::after{background:#4b6cf8}
.product-carousel:focus-visible,.product-carousel button:focus-visible{outline:3px solid #2449db;outline-offset:-4px}
.carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Preserve the supplied character silhouette and transparency. */
.conversation-scene .child-character{object-fit:contain;object-position:center bottom;border-radius:0;}

/* Space between the subject cards and setup introduction. */
.how-it-works{padding-top:96px;}
@media(max-width:760px){.how-it-works{padding-top:64px;}}

/* Square white product frames retain every edge of the supplied photograph. */
.product-media.product-carousel{aspect-ratio:1 / 1;min-height:0;max-height:none;background:#fff;border:1px solid #f0f0f0;}
.product-carousel .product-packshot{width:100%;height:100%;object-fit:contain;object-position:center;padding:5%;background:#fff;}
.shop-gallery-main{aspect-ratio:1 / 1;background:#fff;border:1px solid #f0f0f0;}
.shop-gallery-main #shopMainImage{object-fit:contain;padding:5%;background:#fff;}
.shop-thumb.active{background:#fff;}

/* Landing product purchase details. */
.product-info .product-price{font-size:28px;font-weight:600;line-height:1.25;margin:0 0 22px;color:#1a1a1a;}
.product-price span{font-size:13px;font-weight:400;color:#666;margin-left:5px;}
button.product-cta{display:block;border:0;font-family:inherit;cursor:pointer;}
button.product-cta:focus-visible{outline:3px solid #2449db;outline-offset:3px;}

/* Conversation video area */
.conversation-video-frame{position:relative;width:100%;max-width:1000px;aspect-ratio:16/9;margin:40px auto 0;overflow:hidden;border-radius:24px;background:#edf1ff;}
.conversation-video{display:block;width:100%;height:100%;object-fit:contain;background:#000;}
.conversation-video[hidden]{display:none;}
.conversation-video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#4b6cf8;}
.conversation-video-placeholder p{margin:0;font-size:16px;font-weight:600;}
@media(max-width:760px){.conversation-video-frame{margin-top:24px;border-radius:16px;}}

/* Shared carousel layout for shop and landing page. */
  .carousel-arrow{
    position:absolute;
    top:46%;
    transform:translateY(-50%);
    width:45px;
    height:45px;
    border-radius:50%;
    background:#fff;
    border:none;
    box-shadow:0 3px 11px rgba(0,0,0,0.07);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    color:var(--red);
    cursor:pointer;
  }
  .carousel-arrow.prev{left:20px;}
  .carousel-arrow.next{right:20px;}
  .carousel-dots{
    position:absolute;
    bottom:25px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:14px;
  }

.shop-gallery-main.product-carousel{position:relative;overflow:hidden;}
.shop-gallery-main .product-photo-placeholder img{width:112px;height:112px;}
