/* ==========================================================================
   hero.css, split hero (warm color panel + real photo)
   ========================================================================== */
.tt-hero{
  position:relative; overflow:hidden;
  background:linear-gradient(165deg, #FFFBF4 0%, #FEF4E3 58%, #FBEECF 100%);
}
.tt-hero__inner{
  max-width:var(--tt-maxw); margin:0 auto; padding:clamp(40px,6vw,72px) var(--tt-gutter) clamp(48px,7vw,84px);
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,64px); align-items:center;
}

/* Left copy panel */
.tt-hero__logo{width:110px; height:110px; margin-bottom:1rem;}
.tt-hero__eyebrow{
  display:inline-flex; align-items:center; gap:.45rem; font-family:var(--tt-ui);
  font-weight:800; font-size:.9rem; letter-spacing:.02em; color:var(--tt-blue-dk);
  margin-bottom:1rem; max-width:100%;
}
.tt-hero__eyebrow::before{content:'\2605'; color:var(--tt-yellow); font-size:1.05rem; line-height:1; flex:none;}
.tt-hero__title{font-size:clamp(2.8rem,6vw,4.6rem); color:var(--tt-navy); margin-bottom:1rem; line-height:1.02;}
.tt-hero__title b{color:var(--tt-orange); font-weight:800;}
.tt-hero__lede{font-size:1.18rem; max-width:46ch; color:var(--tt-stone); margin-bottom:1.8rem;}
.tt-hero__cta{display:flex; flex-wrap:wrap; gap:.9rem;}

/* Right photo panel */
.tt-hero__media{position:relative;}
.tt-hero__media img{
  width:100%; aspect-ratio:4/4.4; object-fit:cover; object-position:center 35%;
  border-radius:26px; box-shadow:0 30px 60px rgba(31,59,82,.22);
}
/* Playful gem-dot clusters peeking from the photo corners (full logo palette) */
.tt-hero__media::before{
  content:''; position:absolute; z-index:-1; right:-20px; bottom:-16px;
  width:18px; height:18px; border-radius:50%; background:var(--tt-blue);
  box-shadow:28px -16px 0 -3px var(--tt-yellow), 8px 24px 0 -5px var(--tt-green);
}
.tt-hero__media::after{
  content:''; position:absolute; z-index:-1; left:-18px; top:-16px;
  width:22px; height:22px; border-radius:50%; background:var(--tt-pink);
  box-shadow:-14px 28px 0 -5px var(--tt-purple), 26px -12px 0 -7px var(--tt-yellow);
}
.tt-hero__float{
  position:absolute; left:-18px; bottom:26px; background:#fff; border-radius:16px;
  padding:.8rem 1.1rem; box-shadow:0 16px 34px rgba(31,59,82,.2); display:flex; align-items:center; gap:.7rem;
}
.tt-hero__float .tt-hero__float-star{color:var(--tt-yellow); font-size:1rem; letter-spacing:.05em;}
.tt-hero__float b{font-family:var(--tt-display); color:var(--tt-navy); font-size:1.05rem; display:block; line-height:1.1;}
.tt-hero__float span{font-size:.78rem; color:var(--tt-stone); font-weight:700;}

@media (max-width:860px){
  .tt-hero__inner{grid-template-columns:1fr; gap:2.4rem; text-align:center;}
  .tt-hero__logo{margin-inline:auto;}
  .tt-hero__lede{margin-inline:auto;}
  .tt-hero__cta{justify-content:center;}
  .tt-hero__media{max-width:460px; margin-inline:auto;}
  .tt-hero__media img{aspect-ratio:4/3.4;}
  .tt-hero__float{left:10px;}
}
