/* ==========================================================================
   THEME TIẾN HÀ — style.css
   Bảng màu Rose · thiết kế bám sát demo 01
   ========================================================================== */
/* Bảng màu Rose — nền sáng, hồng tro, champagne.
   Muốn đổi thương hiệu: chỉ cần sửa các biến trong :root bên dưới. */

:root {
  /* ---- Màu chủ đạo · Rose ---- */
  --c-bg: #fffbfa;
  --c-surface: #ffffff;
  --c-soft: #fbf2f1;
  --c-ink: #2b2228;
  --c-muted: #7b6a70;
  --c-line: #f0e3e0;
  --c-primary: #ad4d66;
  --c-primary-soft: #fceef1;
  --c-on-primary: #ffffff;
  --c-accent: #e8c9a8;
  --c-focus: #ad4d66;

  /* ---- Màu phụ trợ ---- */
  --c-topbar-bg: #fdf0f2;
  --c-topbar-ink: #6b3a47;
  --c-footer-bg: #faf3f0;
  --c-footer-line: #ecded9;
  --c-card-line: #f7eeec;
  --c-blob-1: #fdeef2;
  --c-blob-2: #fff5e9;
  --c-blob-3: #f3f0ff;
  --c-squiggle: #f0c6d1;
  --c-shadow: 45, 30, 36;

  /* ---- Màu minh hoạ bóng bay ---- */
  --ill-lav-1: #f7d6df; --ill-lav-2: #e9a6b7; --ill-lav-knot: #d98fa3; --ill-lav-string: #f0bfcc;
  --ill-mint-1: #fdeede; --ill-mint-2: #f2d3b2; --ill-mint-knot: #dea87f; --ill-mint-string: #f0d8c0;
  --ill-blush-1: #ffe6d9; --ill-blush-2: #ffc3ab; --ill-blush-knot: #f0a68d; --ill-blush-string: #ffd2c0;
  --ill-butter-1: #fbeccd; --ill-butter-2: #efcf94; --ill-butter-knot: #dbb878; --ill-butter-string: #eddaa9;
  --ill-spark: #eec9d3;
  --ill-dot-1: #efcf94; --ill-dot-2: #f2d3b2; --ill-dot-3: #ffc3ab;

  --c-news-1: #fdeff2; --c-news-2: #fff5e9; --c-news-3: #f4f0ff;

  /* ---- Bo góc & bóng ---- */
  --r: 20px;
  --r-lg: 28px;
  --r-xl: 36px;
  --shadow-sm: 0 2px 6px rgba(var(--c-shadow), .035), 0 14px 34px rgba(var(--c-shadow), .05);
  --shadow-md: 0 10px 26px rgba(var(--c-shadow), .07), 0 40px 70px -40px rgba(var(--c-shadow), .2);

  --font-sans: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: var(--font-sans);
}

/* Bảng màu Rose là mặc định của website. */

body.t1 { background: var(--c-bg); }

/* ============================ TOP BAR ============================ */
.t1-topbar {
  background: var(--c-topbar-bg);
  color: var(--c-topbar-ink);
  font-size: .8rem;
}
.t1-topbar__in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 40px;
  padding-block: 6px;
}
.t1-topbar__msg { display: flex; align-items: center; gap: 8px; }
.t1-topbar__msg strong { font-weight: 700; }
.t1-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #6ac79b;
  box-shadow: 0 0 0 4px rgba(106, 199, 155, .2);
  flex: none;
}
.t1-topbar__links { display: flex; align-items: center; gap: 20px; }
.t1-topbar__links a { display: inline-flex; align-items: center; gap: 6px; opacity: .82; transition: opacity .3s; }
.t1-topbar__links a:hover { opacity: 1; }
@media (max-width: 760px) {
  .t1-topbar__links { display: none; }
  .t1-topbar__msg { font-size: .74rem; }
}
@media (max-width: 620px) {
  .t1-hide-sm { display: none; }
}

/* ============================ HEADER ============================ */
.t1-header { border-bottom: 1px solid transparent; }
.t1-header.is-scrolled { border-bottom-color: var(--c-line); }
.t1-header__in {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 76px;
}
.t1-logo { display: inline-flex; align-items: center; gap: 10px; flex: none; }
.t1-logo__mark { width: 38px; height: 38px; }
.t1-logo__mark .mark-balloon { fill: var(--c-primary); }
.t1-logo__text { display: grid; line-height: 1.05; }
.t1-logo__text strong { font-size: 1.08rem; letter-spacing: -.03em; font-weight: 700; }
.t1-logo__text em {
  font-style: normal;
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-muted);
  margin-top: 4px;
}
.t1-header__in > nav { margin-inline: auto; }
.t1-nav { margin-inline: 0; }
.t1-nav a { font-size: .87rem; }
.t1-actions { display: flex; align-items: center; gap: 2px; }
.t1-call {
  --btn-bg: transparent;
  --btn-ink: var(--c-primary);
  --btn-border: var(--c-primary);
  margin-left: 10px;
  border-style: dashed;
}
.t1-call:hover {
  --btn-bg: var(--c-primary);
  --btn-ink: #fff;
  --btn-border: rgba(255, 255, 255, .5);
  box-shadow: 0 10px 24px -14px rgba(173, 77, 102, .55);
}
.t1-call svg { width: 17px; height: 17px; }
.t1-heart { display: none; }
@media (min-width: 1100px) { .t1-heart { display: inline-grid; } }
@media (max-width: 640px) { .t1-call { display: none; } }
.t1-drawer-cta { margin-top: auto; padding-top: 24px; display: grid; gap: 10px; }
.t1-drawer-cta p { margin-bottom: 2px; }

/* ============================ HERO ============================ */
.t1-hero { padding-top: clamp(28px, 4vw, 56px); overflow: clip; }
.t1-hero__grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}
.t1-hero__copy .d1 { margin-top: 18px; }
.t1-squiggle {
  position: relative;
  display: inline-block;
  color: var(--c-primary);
}
.t1-squiggle::after {
  content: "";
  position: absolute;
  left: 2%; right: 0; bottom: -.14em;
  height: .22em;
  background-color: var(--c-squiggle);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='16' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M2 11c34-8 62-8 96-3s62 6 100-2' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='16' viewBox='0 0 200 16' preserveAspectRatio='none'%3E%3Cpath d='M2 11c34-8 62-8 96-3s62 6 100-2' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
.t1-hero__lead { margin-top: 22px; max-width: 46ch; }
.t1-hero__cta { margin-top: 30px; gap: 14px; }
.t1-proof {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px dashed var(--c-line);
}
.t1-proof .tiny { margin-top: 3px; }
.t1-avatars { display: flex; align-items: center; }
.t1-avatars img {
  width: 40px; height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2.5px solid var(--c-bg);
  margin-left: -10px;
}
.t1-avatars img:first-child { margin-left: 0; }
.t1-avatars__more {
  display: grid;
  place-items: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--c-ink);
  color: #fff;
  font-size: .66rem;
  font-weight: 600;
  margin-left: -10px;
  border: 2.5px solid var(--c-bg);
}

/* --- Hero art --- */
.t1-hero__art {
  position: relative;
  aspect-ratio: 1 / 1.02;
  display: grid;
  place-items: center;
  isolation: isolate;
}
.t1-blob {
  position: absolute;
  inset: 6% 2% 4% 6%;
  background: linear-gradient(158deg, var(--c-blob-1) 0%, var(--c-blob-2) 46%, var(--c-blob-3) 100%);
  border-radius: 46% 54% 52% 48% / 48% 42% 58% 52%;
  z-index: -1;
}
.t1-illus { width: 100%; max-width: 520px; height: auto; }
.float-a { animation: t1-float 7s ease-in-out infinite; }
.float-b { animation: t1-float 8.4s ease-in-out infinite -1.2s; }
.float-c { animation: t1-float 6.6s ease-in-out infinite -.6s; }
.float-d { animation: t1-float 7.8s ease-in-out infinite -2s; }
@keyframes t1-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
.t1-string { stroke-dasharray: 3 6; animation: t1-dash 14s linear infinite; }
@keyframes t1-dash { to { stroke-dashoffset: -180; } }

.t1-float {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: #fff;
  border-radius: var(--r);
  box-shadow: var(--shadow-sm);
  font-size: .78rem;
  line-height: 1.3;
  animation: t1-float 6s ease-in-out infinite;
}
.t1-float strong { display: block; font-size: .8rem; font-weight: 700; }
.t1-float em { font-style: normal; color: var(--c-muted); font-size: .7rem; }
.t1-float__icon {
  display: grid;
  place-items: center;
  width: 34px; height: 34px;
  border-radius: 12px;
  flex: none;
}
.t1-float__icon svg { width: 18px; height: 18px; }
.t1-float__icon--mint { background: #e6f6ee; color: #3f9e79; }
.t1-float__icon--lav { background: #efebff; color: #6d5bd0; }
.t1-float--ship { top: 8%; right: -2%; animation-delay: -.8s; }
.t1-float--design { bottom: 16%; right: -4%; animation-delay: -2.4s; }
.t1-float--rate {
  display: block;
  left: -4%;
  top: 34%;
  padding: 14px 16px;
  max-width: 212px;
  animation-delay: -1.6s;
}
.t1-float--rate .tiny { margin-top: 2px; }
.t1-float--rate strong { font-size: .78rem; }
.t1-float__stars { color: #f3b544; font-size: .74rem; letter-spacing: 2px; }

/* --- Marquee danh mục --- */
.t1-marquee {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 22px 0 8px;
  margin-top: clamp(20px, 4vw, 44px);
  scrollbar-width: none;
  mask-image: linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%);
}
.t1-marquee::-webkit-scrollbar { display: none; }
.t1-marquee li {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: var(--r-pill);
  background: #fff;
  border: 1px solid var(--c-line);
  font-size: .82rem;
  font-weight: 500;
  white-space: nowrap;
}

/* ============================ OCCASIONS / BENTO ============================ */
.t1-occasions { padding-bottom: clamp(36px, 5vw, 64px); }
.t1-bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 216px;
  gap: 16px;
}
.t1-tile {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--c-soft);
  display: flex;
  align-items: flex-end;
  isolation: isolate;
}
.t1-tile--lg { grid-column: span 2; grid-row: span 2; }
.t1-tile--wide { grid-column: span 2; }
.t1-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(1.03) saturate(1.02); transition: transform .9s var(--ease); z-index: -2; }
.t1-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(30, 22, 45, 0) 34%, rgba(30, 22, 45, .62) 100%);
}
.t1-tile:hover img { transform: scale(1.05); }
.t1-tile__body { padding: 22px; color: #fff; display: grid; gap: 6px; }
.t1-tile__body .h3 { color: #fff; }
.t1-tile__body .small { color: rgba(255, 255, 255, .82); }
.t1-tile__body .badge { background: rgba(255, 255, 255, .94); color: var(--c-ink); justify-self: start; margin-bottom: 2px; }
.t1-tile--lg .t1-tile__body { padding: 30px; }
.t1-tile--lg .h3 { font-size: 1.6rem; }

@media (max-width: 900px) {
  .t1-bento { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 190px; }
  .t1-tile--lg { grid-column: span 2; grid-row: span 1; }
  .t1-tile--wide { grid-column: span 2; }
}

/* ============================ PRODUCTS ============================ */
.t1-grid-products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.pcard { display: flex; flex-direction: column; }
.pcard__media {
  position: relative;
  display: block;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--c-soft);
  aspect-ratio: 1 / 1.12;
}
.pcard__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(1.03) saturate(1.02);
  transition: transform .8s var(--ease);
}
.pcard:hover .pcard__media img { transform: scale(1.045); }
.pcard__tag {
  position: absolute;
  top: 12px; left: 12px;
  backdrop-filter: blur(8px);
}
.pcard__body { padding: 16px 4px 0; display: flex; flex-direction: column; gap: 7px; flex: 1; }
.pcard__cat { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.pcard__body .h4 a:hover { color: var(--c-primary); }
.pcard__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 10px;
}
.pcard__add {
  display: grid;
  place-items: center;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--c-primary-soft);
  color: var(--c-primary);
  transition: background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);
  flex: none;
}
.pcard__add:hover { background: var(--c-primary); color: #fff; transform: rotate(90deg); }
.pcard__add.is-added { background: #4cbf8a; color: #fff; transform: scale(.92); }
.pcard__add svg { width: 18px; height: 18px; }

.t1-products { padding-top: clamp(44px, 5.5vw, 72px); }
@media (max-width: 1000px) { .t1-grid-products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .t1-grid-products { grid-template-columns: 1fr; gap: 30px; } }

/* ============================ VALUE ============================ */
.t1-value__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.t1-value__item {
  background: #fff;
  border-radius: var(--r-lg);
  padding: 28px 24px 30px;
  border: 1px solid var(--c-card-line);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.t1-value__item:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.t1-value__icon {
  display: grid;
  place-items: center;
  width: 48px; height: 48px;
  border-radius: 16px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
  margin-bottom: 18px;
}
.t1-value__icon svg { width: 23px; height: 23px; }
.t1-value__item h3 { margin-bottom: 6px; }
@media (max-width: 980px) { .t1-value__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .t1-value__grid { grid-template-columns: 1fr; } }

/* ============================ PROCESS ============================ */
.t1-process__grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(32px, 6vw, 80px);
  align-items: center;
}
.t1-process__copy .lead { margin-top: 18px; max-width: 42ch; }
.t1-steps { display: grid; gap: 8px; counter-reset: step; }
.t1-steps li {
  display: flex;
  gap: 18px;
  padding: 22px 4px;
  border-bottom: 1px solid var(--c-line);
}
.t1-steps li:last-child { border-bottom: 0; }
.t1-steps__num {
  font-size: .78rem;
  font-weight: 700;
  color: var(--c-primary);
  background: var(--c-primary-soft);
  border-radius: 50%;
  width: 40px; height: 40px;
  display: grid;
  place-items: center;
  flex: none;
}
.t1-steps h3 { margin-bottom: 4px; }
@media (max-width: 860px) {
  .t1-process__grid { grid-template-columns: 1fr; }
}

/* ============================ REVIEWS ============================ */
.t1-score { display: flex; align-items: center; gap: 12px; }
.t1-score > strong { font-size: 2.4rem; line-height: 1; letter-spacing: -.04em; }
.t1-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.t1-review {
  margin: 0;
  padding: 28px 26px;
  background: #fff;
  border-radius: var(--r-lg);
  border: 1px solid var(--c-card-line);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.t1-review blockquote {
  font-size: .95rem;
  line-height: 1.7;
  color: var(--c-ink);
  flex: 1;
}
.t1-review figcaption { display: flex; align-items: center; gap: 12px; }
.t1-review figcaption img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.t1-review figcaption span { display: grid; line-height: 1.3; }
.t1-review figcaption strong { font-size: .86rem; }
.t1-review figcaption em { font-style: normal; font-size: .74rem; color: var(--c-muted); }
@media (max-width: 900px) { .t1-reviews__grid { grid-template-columns: 1fr; } }

/* ============================ JOURNAL ============================ */
.t1-journal__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.t1-post__media {
  display: block;
  border-radius: var(--r-lg);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin-bottom: 16px;
  background: var(--c-soft);
}
.t1-post__media img { width: 100%; height: 100%; object-fit: cover; filter: brightness(1.03) saturate(1.02); transition: transform .8s var(--ease); }
.t1-post:hover .t1-post__media img { transform: scale(1.05); }
.t1-post .tiny { margin-bottom: 8px; }
.t1-post .h3 { font-size: 1.08rem; font-weight: 600; line-height: 1.4; margin-bottom: 8px; }
.t1-post .h3 a:hover { color: var(--c-primary); }
@media (max-width: 900px) { .t1-journal__grid { grid-template-columns: 1fr; gap: 32px; } }

/* ============================ NEWSLETTER ============================ */
.t1-news {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 40px;
  align-items: center;
  padding: clamp(30px, 5vw, 56px);
  border-radius: var(--r-xl);
  background: linear-gradient(120deg, var(--c-news-1) 0%, var(--c-news-2) 55%, var(--c-news-3) 100%);
}
.t1-news h2 { margin: 12px 0 10px; }
.t1-news__form { display: flex; gap: 10px; }
.t1-news__form .input { background: rgba(255, 255, 255, .85); border-color: transparent; }
.t1-news__form .btn { flex: none; }
@media (max-width: 780px) {
  .t1-news { grid-template-columns: 1fr; gap: 24px; }
}

/* ============================ FAQ ============================ */
.t1-acc { border-top: 1px solid var(--c-line); }
.t1-acc__item { border-bottom: 1px solid var(--c-line); }
.t1-acc__item button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 2px;
  text-align: left;
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-ink);
}
.t1-acc__item button svg { width: 20px; height: 20px; flex: none; transition: transform .35s var(--ease); color: var(--c-muted); }
.t1-acc__item.is-open button svg { transform: rotate(180deg); color: var(--c-primary); }
.t1-acc__panel { height: 0; overflow: hidden; transition: height .38s var(--ease); }
.t1-acc__panel p { padding: 0 40px 22px 2px; color: var(--c-muted); font-size: .94rem; line-height: 1.75; }

.t1-faq-help {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 34px;
  padding: 22px 26px;
  border-radius: var(--r-lg);
  background: var(--c-primary-soft);
}
.t1-faq-help h3 { margin-bottom: 2px; }

/* ============================ FOOTER ============================ */
.t1-footer {
  background: var(--c-footer-bg);
  margin-top: clamp(40px, 6vw, 80px);
  padding-top: clamp(48px, 6vw, 72px);
}
.t1-footer__top {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: clamp(24px, 4vw, 56px);
  padding-bottom: 48px;
}
.t1-footer__brand { display: grid; gap: 14px; align-content: start; }
.t1-footer__brand .small { max-width: 34ch; }
.t1-footer__brand address { font-style: normal; line-height: 1.7; }
.t1-footer__brand address a { color: var(--c-ink); font-weight: 600; }
.t1-footer__social { display: flex; gap: 8px; margin-top: 4px; }
.t1-footer__social a {
  display: grid;
  place-items: center;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .7);
  color: var(--c-ink);
  transition: background .3s, color .3s, transform .3s;
}
.t1-footer__social a:hover { background: var(--c-ink); color: #fff; transform: translateY(-2px); }
.t1-footer__social svg { width: 18px; height: 18px; }
.t1-footer__col h3 {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-muted);
  font-weight: 600;
  margin-bottom: 16px;
}
.t1-footer__col ul { display: grid; gap: 10px; }
.t1-footer__col a { font-size: .88rem; color: var(--c-ink); opacity: .82; }
.t1-footer__col a:hover { color: var(--c-primary); }
.t1-footer__form { display: grid; gap: 8px; margin: 12px 0 8px; }
.t1-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 20px 0 26px;
  border-top: 1px solid var(--c-footer-line);
  color: var(--c-muted);
}
.t1-footer__credit { display: grid; gap: 2px; text-align: right; }
.t1-footer__credit p { margin: 0; }
@media (max-width: 980px) {
  .t1-footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .t1-footer__top { grid-template-columns: 1fr; }
}

/* ============================ FLOATING CONTACT ============================ */
.t1-floating {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 70;
  display: grid;
  gap: 10px;
}
.t1-floating__btn {
  display: grid;
  place-items: center;
  width: 48px; height: 48px;
  border-radius: 50%;
  color: #fff;
  box-shadow: 0 8px 22px -8px rgba(40, 30, 60, .6);
  transition: transform .3s var(--ease);
}
.t1-floating__btn:hover { transform: translateY(-3px) scale(1.04); }
.t1-floating__btn svg { width: 22px; height: 22px; }
.t1-floating__btn--zalo { background: #2f80ed; }
.t1-floating__btn--call { background: var(--c-primary); }
@media (max-width: 600px) {
  .t1-floating__btn { width: 44px; height: 44px; }
}

/* ============================ RESPONSIVE HERO ============================ */
@media (max-width: 980px) {
  .t1-hero__grid { grid-template-columns: 1fr; gap: 34px; }
  .t1-hero__art { max-width: 520px; margin-inline: auto; width: 100%; }
  .t1-float--rate { left: 0; }
  .t1-float--ship { right: 0; }
  .t1-float--design { right: 0; }
}
@media (max-width: 560px) {
  .t1-hero__cta { width: 100%; }
  .t1-hero__cta .btn { flex: 1 1 auto; }
  .t1-float { font-size: .72rem; padding: 10px 12px; }
  .t1-float--rate { display: none; }
  .t1-header__in { min-height: 66px; }
}

/* ============================ ICON DANH MỤC ============================ */
.t1-marquee svg {
  width: 17px;
  height: 17px;
  flex: none;
  color: var(--c-primary);
}

/* ==========================================================================
   BỔ SUNG CHO WORDPRESS / WOOCOMMERCE
   ========================================================================== */

/* ---- Menu WordPress ---- */
.t1-header .nav-list { list-style: none; margin: 0; padding: 0; }
.t1-header .nav-list a { white-space: nowrap; font-size: .84rem; }
.drawer-menu { display: grid; }
.drawer-menu li a {
  display: flex;
  justify-content: space-between;
  padding: 14px 4px;
  border-bottom: 1px solid var(--c-line);
  font-size: 1rem;
  font-weight: 500;
}
.drawer-menu li a:hover { color: var(--c-primary); }

/* ---- Tìm kiếm ---- */
.t1-search-panel {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: grid;
  justify-items: center;
  align-content: start;
  padding: 16vh 16px 0;
  background: rgba(30, 22, 28, .42);
  backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s var(--ease);
}
.t1-search-panel.is-open { opacity: 1; pointer-events: auto; }
.t1-search-panel form {
  display: flex;
  align-items: center;
  gap: 8px;
  width: min(720px, 100%);
  padding: 10px;
  background: #fff;
  border-radius: 20px;
  box-shadow: var(--shadow-md);
}
.t1-search-panel input[type="search"] {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: none;
  padding: 12px 14px;
  font-size: 1rem;
  background: transparent;
}
.t1-search-panel .btn { flex: none; }
.t1-search-panel .icon-btn { flex: none; }

/* ---- Card sản phẩm ---- */
.pcard__note { display: inline-flex; align-items: center; gap: 6px; font-size: .72rem; color: var(--c-muted); }
.pcard__note svg { color: var(--c-primary); flex: none; }
.t1-contact-price { color: var(--c-primary); font-weight: 600; }
.pcard__add svg { width: 17px; height: 17px; }

/* ---- Hero: thẻ nổi ---- */
.t1-float__link { display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; font-size: .74rem; font-weight: 600; color: var(--c-primary); }
.t1-float__link:hover { gap: 8px; }

/* ---- Cam kết ---- */
.t1-review__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
  margin-bottom: 4px;
}
.t1-review__icon svg { width: 22px; height: 22px; }

/* ---- Footer ---- */
.t1-footer__cta { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.t1-footer__social a svg { width: 18px; height: 18px; }

/* ---- Archive / shop ---- */
.t1-archive-hero {
  padding: clamp(32px, 5vw, 64px) 0 clamp(24px, 3vw, 36px);
  background: linear-gradient(180deg, var(--c-soft) 0%, var(--c-bg) 100%);
  border-bottom: 1px solid var(--c-line);
}
.t1-archive-hero .d2 { margin: 10px 0 14px; }
.t1-archive-hero .lead { max-width: 62ch; }
.t1-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .78rem; color: var(--c-muted); margin-bottom: 18px; }
.t1-crumb a:hover { color: var(--c-primary); }
.t1-cat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.t1-grid-products--shop { grid-template-columns: repeat(4, 1fr); row-gap: 34px; }
.t1-empty { padding: 40px 0; display: grid; gap: 18px; justify-items: start; }
.t1-pagination { margin-top: 44px; }
.t1-pagination nav.woocommerce-pagination { border: 0; }
.t1-pagination nav.woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.t1-pagination nav.woocommerce-pagination ul li {
  float: none;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: visible;
}
.t1-pagination nav.woocommerce-pagination ul li .page-numbers {
  display: grid;
  place-items: center;
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid var(--c-line);
  border-radius: 999px;
  background: #fff;
  color: var(--c-ink);
  font-size: .84rem;
  font-weight: 600;
  line-height: 1;
  transition: border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);
}
.t1-pagination nav.woocommerce-pagination ul li .page-numbers:hover {
  border-color: var(--c-primary);
  color: var(--c-primary);
}
.t1-pagination nav.woocommerce-pagination ul li .page-numbers.current {
  border-color: var(--c-primary);
  background: var(--c-primary);
  color: #fff;
}
.t1-pagination nav.woocommerce-pagination ul li .page-numbers:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 2px;
}
.t1-pagination nav.woocommerce-pagination ul li .page-numbers.next { font-size: 1rem; }
/* ---- Single product ---- */
.t1-single { padding-top: clamp(24px, 4vw, 40px); }
.t1-single__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.t1-single__main img { width: 100%; height: auto; border-radius: var(--r-lg); }
.t1-single__thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.t1-single__thumbs img { width: 78px; height: 78px; object-fit: cover; border-radius: 12px; }
.t1-single__info .d2 { margin: 10px 0 6px; }
.t1-single__price { font-size: 1.35rem; font-weight: 700; color: var(--c-primary); margin-bottom: 14px; }
.t1-single__info .lead { font-size: .98rem; }
.t1-single__meta { display: grid; gap: 10px; margin: 20px 0 26px; }
.t1-single__meta li { display: flex; align-items: center; gap: 9px; font-size: .88rem; color: var(--c-muted); }
.t1-single__meta svg { color: var(--c-primary); flex: none; }
.t1-single__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.t1-single__content { max-width: 760px; margin: clamp(36px, 6vw, 64px) 0; }

/* ---- Prose ---- */
.t1-prose { color: #4a4046; }
.t1-prose h2 { margin: 1.6em 0 .6em; font-size: clamp(1.4rem, 2.6vw, 1.9rem); line-height: 1.2; letter-spacing: -.02em; }
.t1-prose h3 { margin: 1.4em 0 .5em; font-size: 1.15rem; }
.t1-prose p, .t1-prose li { font-size: .98rem; line-height: 1.8; }
.t1-prose p + p { margin-top: 1em; }
.t1-prose ul, .t1-prose ol { margin: 1em 0 1em 1.2em; }
.t1-prose ul { list-style: disc; }
.t1-prose ol { list-style: decimal; }
.t1-prose a { color: var(--c-primary); text-decoration: underline; text-underline-offset: 3px; }
.t1-prose img { border-radius: var(--r); height: auto; }
.t1-prose blockquote { border-left: 2px solid var(--c-accent); padding-left: 18px; color: var(--c-muted); font-style: italic; margin: 1.4em 0; }

/* ---- Bài viết ---- */
.t1-article-head { padding: clamp(32px, 5vw, 56px) 0 24px; }
.t1-article-thumb { margin: 0 0 8px; }
.t1-article-thumb img { width: 100%; height: auto; border-radius: var(--r-lg); }
.t1-journal__grid--blog { grid-template-columns: repeat(3, 1fr); }

/* ---- WooCommerce cơ bản ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top: 0;
  background: var(--c-primary-soft);
  color: var(--c-ink);
  border-radius: 14px;
  padding: 14px 18px;
  margin-bottom: 24px;
  list-style: none;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--c-primary); }
.woocommerce .button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .wc-block-components-button {
  background: var(--c-primary);
  color: #fff;
  border-radius: 999px;
  padding: 12px 22px;
  font-weight: 600;
  border: 0;
}
.woocommerce .button:hover, .woocommerce button.button:hover { background: #94405a; color: #fff; }
.woocommerce table.shop_table { border: 1px solid var(--c-line); border-radius: 16px; overflow: hidden; }
.woocommerce table.shop_table th { background: var(--c-soft); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--c-line);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { outline: 2px solid var(--c-primary); outline-offset: 1px; }
.woocommerce .quantity input.qty { border-radius: 12px; border: 1px solid var(--c-line); padding: 8px; }
.woocommerce ul.products { margin: 0; }
.search-form { display: flex; gap: 8px; max-width: 460px; }
.search-form input[type="search"] { flex: 1; border: 1px solid var(--c-line); border-radius: 999px; padding: 10px 16px; background: #fff; }

/* ---- Responsive bổ sung ---- */
@media (max-width: 1100px) {
  .t1-grid-products--shop { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px) {
  .t1-single__grid { grid-template-columns: 1fr; }
  .t1-single__content { margin-top: 28px; }
}
@media (max-width: 900px) {
  .t1-journal__grid--blog { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .t1-grid-products--shop { grid-template-columns: repeat(2, 1fr); gap: 22px 14px; }
  .t1-journal__grid--blog { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .t1-search-panel { padding-top: 10vh; }
  .t1-search-panel form { flex-wrap: wrap; }
  .t1-search-panel input[type="search"] { flex-basis: 100%; }
  .t1-search-panel .btn { flex: 1; }
}

/* ---- Cân chỉnh card sản phẩm ---- */
.t1-grid-products { align-items: stretch; }
.pcard { height: 100%; }
.pcard__body h3 a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pcard__media img { height: 100%; }
.t1-float--rate { max-width: 236px; }

/* ---- Trang sản phẩm: ảnh cao không vượt quá khung ---- */
.t1-single__main img { max-height: 680px; object-fit: cover; }

/* ---- Chống tràn ngang do drawer off-canvas ---- */
body.tienha { overflow-x: clip; }
.mobile-drawer { visibility: hidden; }
.mobile-drawer.is-open { visibility: visible; }

/* ---- CTA band: tránh tràn do nút dài ---- */
.t1-news { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.t1-news > * { min-width: 0; }
.t1-news__form { flex-wrap: wrap; }
.t1-news__form .btn { flex: 1 1 200px; }
@media (max-width: 780px) {
  .t1-news { grid-template-columns: 1fr; }
}

/* ---- Header gọn ở màn hình rất nhỏ ---- */
@media (max-width: 400px) {
  .t1-logo__mark { width: 32px; height: 32px; }
  .t1-logo__text strong { font-size: .98rem; }
  .t1-logo__text em { font-size: .54rem; letter-spacing: .1em; }
  .t1-header__in { gap: 8px; }
  .t1-actions { gap: 0; }
  .t1-actions .icon-btn { width: 38px; height: 38px; }
}

/* ---- Chip danh mục cuộn ngang trên mobile ---- */
@media (max-width: 760px) {
  .t1-cat-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 8px;
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .t1-cat-chips::-webkit-scrollbar { display: none; }
  .t1-cat-chips .chip { flex: none; }
  .t1-topbar__msg { font-size: .7rem; line-height: 1.45; }
}

/* ---- Trang giỏ hàng / thanh toán ---- */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before { display: none; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { padding-left: 18px; }
.return-to-shop .button,
.woocommerce .button.wc-backward,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--c-primary) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 12px 24px !important;
  font-weight: 600 !important;
  border: 0 !important;
}
.return-to-shop .button:hover,
.woocommerce .button.wc-backward:hover { background: #94405a !important; }
.woocommerce-cart table.cart img { width: 84px; border-radius: 12px; }
.woocommerce-cart .cart-collaterals .cart_totals { border: 1px solid var(--c-line); border-radius: 16px; padding: 20px; }

/* ---- Ảnh bài viết không quá cao ---- */
.t1-article-thumb img { max-height: 560px; object-fit: cover; }

/* ---- Nội dung SEO dưới lưới danh mục ---- */
.t1-cat-seo {
  padding-block: clamp(36px, 5vw, 64px);
  background: #fff;
  border-top: 1px solid var(--c-line);
}
.t1-cat-seo .t1-prose h2 { margin-top: 1.4em; }
.t1-cat-seo .t1-prose h2:first-child { margin-top: 0; }
.t1-cat-seo .t1-prose ul { margin-left: 1.2em; }
.t1-cat-seo .t1-prose li { margin-bottom: .35em; }
.t1-cat-seo .t1-prose p:last-child { margin-bottom: 0; }

/* ---- Link nội bộ: danh mục liên quan (bài viết) ---- */
.t1-related-cats {
  padding: clamp(32px, 4vw, 48px) 0 clamp(40px, 5vw, 64px);
  background: #fff;
  border-top: 1px solid var(--c-line);
}
.t1-related-cats h2 { margin-bottom: 18px; }
.t1-related-cats__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.t1-related-cats a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--c-line);
  border-radius: 16px;
  background: var(--c-bg);
  transition: border-color .3s, transform .3s;
}
.t1-related-cats a:hover { border-color: var(--c-primary); transform: translateY(-2px); }
.t1-related-cats a span { display: grid; gap: 3px; }
.t1-related-cats strong { font-size: .92rem; font-weight: 600; }
.t1-related-cats em { font-style: normal; font-size: .72rem; color: var(--c-muted); }
.t1-related-cats svg { color: var(--c-primary); flex: none; }

/* ---- Bài viết liên quan dưới danh mục ---- */
.t1-cat-posts { padding-block: clamp(36px, 5vw, 60px); background: var(--c-bg); border-top: 1px solid var(--c-line); }
.t1-journal__grid--2 { grid-template-columns: repeat(2, 1fr); }

/* ---- Link "Xem tất cả mẫu" ở trang sản phẩm ---- */
.t1-single__catlink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 4px 0 14px;
  font-size: .84rem;
  font-weight: 600;
  color: var(--c-primary);
}
.t1-single__catlink:hover { gap: 9px; }
.t1-single__info .eyebrow a { color: inherit; }
.t1-single__info .eyebrow a:hover { color: var(--c-primary); }

@media (max-width: 760px) {
  .t1-related-cats__grid { grid-template-columns: 1fr; }
  .t1-journal__grid--2 { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .t1-footer__credit { text-align: left; }
}

/* ============================ WISHLIST ============================ */
.pcard { position: relative; }
.pcard__wish {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 3;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 50%;
  background: rgba(255, 255, 255, .9);
  color: var(--c-ink);
  backdrop-filter: blur(6px);
  transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.pcard__wish:hover { color: var(--c-primary); border-color: var(--c-primary); transform: scale(1.06); }
.pcard__wish svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.pcard__wish.is-active { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.pcard__wish.is-active svg { fill: currentColor; }

.t1-heart { position: relative; }
.t1-heart__count {
  position: absolute;
  top: -3px;
  right: -3px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  display: grid;
  place-items: center;
  border: 2px solid var(--c-bg);
  border-radius: 999px;
  background: var(--c-primary);
  color: #fff;
  font-size: .6rem;
  font-weight: 700;
  line-height: 1;
}
.t1-heart__count[hidden] { display: none; }

.t1-single__wish {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 18px;
  padding: 9px 14px;
  border: 1px dashed rgba(173, 77, 102, .5);
  border-radius: 999px;
  background: transparent;
  color: var(--c-primary);
  font: 600 .8rem/1.2 var(--font-sans);
  cursor: pointer;
  transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.t1-single__wish:hover { background: var(--c-primary-soft); }
.t1-single__wish.is-active { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.t1-single__wish.is-active svg { fill: currentColor; }
.t1-single__wish svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.t1-wishlist {
  position: fixed;
  inset: 0;
  z-index: 99990;
  visibility: hidden;
  pointer-events: none;
}
.t1-wishlist.is-open { visibility: visible; pointer-events: auto; }
.t1-wishlist__scrim {
  position: absolute;
  inset: 0;
  background: rgba(24, 20, 32, .42);
  opacity: 0;
  transition: opacity .3s var(--ease);
}
.t1-wishlist.is-open .t1-wishlist__scrim { opacity: 1; }
.t1-wishlist__panel {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(430px, 100%);
  display: flex;
  flex-direction: column;
  background: #fff;
  transform: translateX(100%);
  transition: transform .35s var(--ease);
  box-shadow: -24px 0 60px -30px rgba(24, 20, 32, .35);
}
.t1-wishlist.is-open .t1-wishlist__panel { transform: none; }
.t1-wishlist__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 24px 18px;
  border-bottom: 1px solid var(--c-line);
}
.t1-wishlist__head .eyebrow { margin: 0 0 6px; }
.t1-wishlist__head .h3 { margin: 0; }
.t1-wishlist__body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 24px;
  display: grid;
  align-content: start;
  gap: 14px;
}
.t1-wishlist__empty,
.t1-wishlist__loading {
  margin: 40px 0;
  text-align: center;
  color: var(--c-muted);
  font-size: .88rem;
  line-height: 1.6;
}
.t1-wishlist__item {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--c-line);
}
.t1-wishlist__item:last-child { border-bottom: 0; padding-bottom: 0; }
.t1-wishlist__item img { width: 72px; height: 82px; object-fit: cover; border-radius: 10px; background: var(--c-soft); }
.t1-wishlist__info { display: grid; gap: 5px; min-width: 0; }
.t1-wishlist__info a { font-size: .86rem; font-weight: 600; line-height: 1.35; color: var(--c-ink); }
.t1-wishlist__info a:hover { color: var(--c-primary); }
.t1-wishlist__price { margin: 0; font-size: .8rem; font-weight: 600; color: var(--c-primary); }
.t1-wishlist__remove {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--c-line);
  border-radius: 50%;
  background: transparent;
  color: var(--c-muted);
  cursor: pointer;
  transition: color .25s var(--ease), border-color .25s var(--ease);
}
.t1-wishlist__remove:hover { color: var(--c-primary); border-color: var(--c-primary); }
.t1-wishlist__remove svg { width: 14px; height: 14px; }
.t1-wishlist__foot {
  display: grid;
  gap: 8px;
  padding: 16px 24px 24px;
  border-top: 1px solid var(--c-line);
}
.t1-wishlist__foot .tiny { margin: 0; text-align: center; }

@media (max-width: 560px) {
  .t1-wishlist__head { padding: 20px 18px 14px; }
  .t1-wishlist__body { padding: 14px 18px; }
  .t1-wishlist__foot { padding: 14px 18px 20px; }
}
.t1-wishlist__thumb { display: block; width: 72px; height: 82px; border-radius: 10px; background: var(--c-soft); }

/* ============================ DỊCH VỤ KHINH KHÍ CẦU ============================ */
.t1-balloon {
  position: relative;
  overflow: clip;
  padding-block: clamp(56px, 7vw, 108px);
  background:
    radial-gradient(46% 42% at 88% 4%, rgba(255, 206, 145, .65), transparent 64%),
    radial-gradient(50% 48% at 5% 6%, rgba(146, 190, 236, .55), transparent 68%),
    radial-gradient(55% 55% at 50% 100%, rgba(230, 177, 132, .18), transparent 70%),
    linear-gradient(180deg, #e9f4ff 0%, #fdf1f4 48%, #fff8ee 100%);
  border-block: 1px solid rgba(146, 190, 236, .35);
}
.t1-balloon > .container { position: relative; z-index: 2; }
.t1-balloon__clouds {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.t1-cloud {
  position: absolute;
  height: auto;
  animation: t1CloudDrift 24s ease-in-out infinite;
}
.t1-cloud--1 { width: clamp(160px, 18vw, 260px); left: -3%; top: 7%; opacity: .65; }
.t1-cloud--2 { width: clamp(120px, 13vw, 190px); right: 1%; top: 3%; opacity: .52; animation-duration: 30s; animation-delay: -8s; }
.t1-cloud--3 { width: clamp(100px, 10vw, 150px); left: 20%; bottom: 3%; opacity: .38; animation-duration: 27s; animation-delay: -14s; }
@keyframes t1CloudDrift {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(26px); }
}
.t1-balloon__head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: clamp(18px, 3vw, 42px);
  margin-bottom: clamp(26px, 3vw, 38px);
}
.t1-balloon__head .eyebrow { margin-bottom: 10px; color: var(--c-primary); }
.t1-balloon__head .d2 { margin: 0; }
.t1-balloon__head .lead { margin: 18px 0 0; max-width: 560px; }
.t1-balloon__copy { position: relative; z-index: 1; }
.t1-balloon__art {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.t1-balloon__art::before {
  content: "";
  position: absolute;
  inset: 6% 8%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 138, 158, .2), rgba(217, 138, 158, 0) 68%);
}
.t1-art-scene {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 560px);
  height: auto;
  margin-inline: auto;
  overflow: visible;
}
.t1-art-float {
  transform-box: fill-box;
  transform-origin: 50% 60%;
  animation: t1SceneFloat 9s ease-in-out infinite;
}
@keyframes t1SceneFloat {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-10px) rotate(1deg); }
}
.t1-balloon__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.t1-service {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-height: 236px;
  padding: 24px 22px 20px;
  border: 1px solid rgba(173, 77, 102, .14);
  border-radius: 22px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 18px 40px -34px rgba(43, 34, 40, .35);
  transition: transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.t1-service:hover {
  transform: translateY(-4px);
  border-color: var(--c-primary);
  box-shadow: 0 24px 50px -32px rgba(173, 77, 102, .42);
}
.t1-service__num {
  position: absolute;
  top: 20px;
  right: 22px;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  color: var(--c-muted);
}
.t1-service__icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: var(--c-primary-soft);
  color: var(--c-primary);
}
.t1-service h3 { margin: 8px 0 0; font-size: 1.06rem; }
.t1-service p { margin: 0; }
.t1-service__note {
  display: inline-flex;
  width: fit-content;
  margin-top: 2px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(173, 77, 102, .08);
  color: var(--c-primary);
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .04em;
}
.t1-service__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 10px;
  color: var(--c-primary);
  font-size: .8rem;
  font-weight: 600;
}
.t1-service__link svg { transition: transform .25s var(--ease); }
.t1-service:hover .t1-service__link svg { transform: translateX(3px); }
.t1-balloon__foot {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: clamp(22px, 3vw, 30px);
}
@media (max-width: 900px) {
  .t1-balloon__head { grid-template-columns: 1fr; align-items: start; }
  .t1-balloon__art { margin-top: 4px; }
  .t1-balloon__grid { grid-template-columns: 1fr; }
  .t1-service { min-height: 0; }
}
@media (max-width: 560px) {
  .t1-cloud--3 { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .t1-art-float,
  .t1-cloud { animation: none; }
}
