/*!
  Template:  Tinkeroo | Kids Daycare & Preschool HTML Template
  Version:   1.0.0
  Author:    MOONSHOTS
  Website:   https://m00nshots.dev
  Contact:   build@m00nshots.dev
  Copyright: (c) 2026 m00nshots. All rights reserved.
*/
/* ==========================================================================
   TINKEROO THEME — Kids Daycare & Preschool
   Design language: playful crayon-box. Cream paper, sky blue, sunshine,
   berry and grass; deep night blue in dark mode. Blob photo masks, wavy
   SVG section edges, chunky rounded buttons with a solid offset shadow,
   rotated sticker badges, crayon underlines and little doodles.
   Fredoka (headings) / Andika (body) / Sniglet (logo).
   --------------------------------------------------------------------------
   01. Tokens (light / dark / calm variant)   10. Tour-booking calendar (sig. 5)
   02. Base, type, crayon underline            11. Cards: features, reviews, team
   03. Buttons, stickers, seals, doodles       12. Home 1 – Daycare
   04. Header (floating toy-box bar) & drawer  13. Home 2 – Montessori (calm)
   05. Wavy bands, blobs, splits               14. Home 3 – After-school & camp
   06. Program picker (signature 1)            15. Home 4 – Nanny agency
   07. Daily timeline (signature 2)            16. Page header & inner pages
   08. Tuition calculator (signature 3)        17. Generic components restyled
   09. Parent-app phone (signature 4)          18. Footer & 404
   ========================================================================== */

/* 01. Tokens ------------------------------------------------------------- */
:root {
  --tk-sky: #4aa3ff; --tk-sun: #ffd43b; --tk-berry: #ff5d8f; --tk-grass: #52c77a; --tk-ink: #1f2a4d; --tk-cream: #fffaf0;
  --tk-sky-soft: #dff0ff; --tk-sun-soft: #fff1c2; --tk-berry-soft: #ffe2eb; --tk-grass-soft: #dcf5e4;
  --tk-sky-ink: #1463bf; --tk-berry-ink: #cf1f5a; --tk-grass-ink: #1b7f43; --tk-sun-ink: #8a5f00;
  --tk-edge: #1f2a4d;          /* chunky outlines on buttons & stickers */
  --tk-card-edge: #1f2a4d;     /* outlines on cards and photos */
  --tk-drop: #1f2a4d;          /* solid offset shadow */
  --tk-foot: #1f2a4d;
  --bg: #fffaf0; --bg-2: #fff3d9; --surface: #ffffff; --surface-2: #fff6e4;
  --text: #1f2a4d; --muted: #56618a; --line: rgba(31, 42, 77, .14);
  --primary: #1463bf; --primary-2: #ff5d8f; --accent: #ffd43b; --on-primary: #1f2a4d;
  --font-head: "Fredoka", "Trebuchet MS", system-ui, sans-serif;
  --font-body: "Andika", "Segoe UI", system-ui, sans-serif;
  --font-logo: "Sniglet", "Fredoka", system-ui, sans-serif;
  --logo-weight: 800; --logo-size: 1.75rem; --logo-tracking: 0; --logo-case: none;
  --head-weight: 600; --head-tracking: -0.01em;
  --radius-sm: 14px; --radius: 24px; --radius-lg: 36px; --radius-btn: 18px;
  --gradient: linear-gradient(135deg, #4aa3ff, #ff5d8f);
  --shadow-sm: 0 3px 0 rgba(31, 42, 77, .12);
  --shadow: 0 6px 0 var(--tk-drop);
  --shadow-lg: 0 24px 50px -24px rgba(31, 42, 77, .35);
  --header-h: 96px;
  --tk-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 48V26C80 8 160 4 240 16s160 30 240 26 160-30 240-32 160 22 240 26 160-18 240-26 160 4 240 16V48z'/%3E%3C/svg%3E");
  --tk-crayon-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 22' preserveAspectRatio='none' fill='none' stroke='%23ffd43b' stroke-linecap='round'%3E%3Cpath d='M4 13C40 5 80 16 120 8s60 4 76-2' stroke-width='7'/%3E%3Cpath d='M10 17c50-7 100 1 184-7' stroke-width='3.5' opacity='.75'/%3E%3C/svg%3E");
  --tk-crayon-berry: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 22' preserveAspectRatio='none' fill='none' stroke='%23ff5d8f' stroke-linecap='round'%3E%3Cpath d='M4 13C40 5 80 16 120 8s60 4 76-2' stroke-width='7'/%3E%3Cpath d='M10 17c50-7 100 1 184-7' stroke-width='3.5' opacity='.75'/%3E%3C/svg%3E");
  --tk-crayon-sky: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 22' preserveAspectRatio='none' fill='none' stroke='%234aa3ff' stroke-linecap='round'%3E%3Cpath d='M4 13C40 5 80 16 120 8s60 4 76-2' stroke-width='7'/%3E%3Cpath d='M10 17c50-7 100 1 184-7' stroke-width='3.5' opacity='.75'/%3E%3C/svg%3E");
  --tk-crayon: var(--tk-crayon-sun);
  --tk-em: #1f2a4d;
  --tk-c: var(--tk-sky); --tk-c-soft: var(--tk-sky-soft); --tk-c-ink: var(--tk-sky-ink);
}
[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0e1838; --bg-2: #13214b; --surface: #182b5c; --surface-2: #1f3569;
  --text: #fdf6e6; --muted: #b6c1e2; --line: rgba(253, 246, 230, .14);
  --tk-sky-soft: #16315f; --tk-sun-soft: #2b2c52; --tk-berry-soft: #33214f; --tk-grass-soft: #113b48;
  --tk-sky-ink: #8cc8ff; --tk-berry-ink: #ff94b6; --tk-grass-ink: #82e3a6; --tk-sun-ink: #ffd43b;
  --tk-edge: #070e28; --tk-card-edge: #2f4887; --tk-drop: #050a1e; --tk-foot: #070f2a;
  --primary: #8cc8ff; --tk-em: #fdf6e6;
  --shadow-lg: 0 24px 50px -24px rgba(0, 0, 0, .7);
}
/* colour modifiers used by stickers, cards, tabs and bands */
[class*="--sky"] { --tk-c: var(--tk-sky); --tk-c-soft: var(--tk-sky-soft); --tk-c-ink: var(--tk-sky-ink); }
[class*="--sun"] { --tk-c: var(--tk-sun); --tk-c-soft: var(--tk-sun-soft); --tk-c-ink: var(--tk-sun-ink); }
[class*="--berry"] { --tk-c: var(--tk-berry); --tk-c-soft: var(--tk-berry-soft); --tk-c-ink: var(--tk-berry-ink); }
[class*="--grass"] { --tk-c: var(--tk-grass); --tk-c-soft: var(--tk-grass-soft); --tk-c-ink: var(--tk-grass-ink); }

/* Home 2: calmer, natural tones within the palette */
html:not([data-theme="dark"]) .tk-p-calm {
  --bg: #fbf6ec; --bg-2: #f4ecdb; --surface-2: #f7f0e2;
  --tk-sky-soft: #e4efee; --tk-sun-soft: #f6edd3; --tk-berry-soft: #f5e4e2; --tk-grass-soft: #e1eedb;
  --tk-drop: #cdbd9c; --tk-card-edge: #6b6552; --tk-edge: #4a4636;
  --text: #2f3342; --muted: #6a6c78;
}
[data-theme="dark"] .tk-p-calm { --tk-sky-soft: #1a3350; --tk-grass-soft: #143a3a; --tk-sun-soft: #2c2f48; }
.tk-p-calm .tk-sticker, .tk-p-calm .tk-seal { transform: rotate(-1.5deg); }

/* 02. Base, type, crayon underline -------------------------------------- */
body { font-size: 16.5px; line-height: 1.7; }
h1, h2, h3, h4 { text-wrap: balance; }
h3, h4 { font-weight: 600; }
.h2 { font-size: clamp(2rem, 4.2vw, 3.3rem); line-height: 1.1; }
.h3 { font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
.hero__title { font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1.05; font-weight: 700; letter-spacing: -0.015em; }
.hero__title em, .h2 em, .page-header h1 em, .tk-cta h2 em {
  font-style: normal; color: var(--tk-em); white-space: nowrap;
  background: var(--tk-crayon) no-repeat 0 94% / 100% .36em; padding: 0 .06em .06em;
}
.tk-band--sun { --tk-crayon: var(--tk-crayon-berry); }
.tk-band--berry, .tk-cta--sun { --tk-crayon: var(--tk-crayon-sky); }
.lead { color: var(--muted); }
.muted { color: var(--muted); }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; margin-bottom: 18px;
  font-family: var(--font-head); font-size: .82rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--tk-sky-ink); background: var(--surface); border: 2px dashed currentColor; border-radius: 999px; transform: rotate(-2deg);
}
.eyebrow::before { width: 10px; height: 10px; border-radius: 50%; background: var(--tk-berry); }
.section-head { margin-bottom: clamp(36px, 5vw, 60px); }
.section-head--row > div:last-child { flex: none; }
ol.tk-tl, ol.tk-steps { list-style: none; margin: 0; padding: 0; }
.hide-sm { display: none; }
@media (min-width: 640px) { .hide-sm { display: inline; } }
.stars { color: #ffb400; }
.avatars img { border: 3px solid var(--bg); }
.tk-rating { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .95rem; }
.tk-mini-h { display: flex; align-items: center; gap: 8px; font-size: 1.15rem; margin: 26px 0 6px; }
.tk-mini-h .ti { color: var(--tk-berry-ink); }

/* 03. Buttons, stickers, seals, doodles --------------------------------- */
.btn {
  --btn-bg: var(--tk-sun); --btn-fg: #1f2a4d;
  min-height: 54px; padding: 13px 24px; border: 2.5px solid var(--tk-edge); border-radius: var(--radius-btn);
  font-family: var(--font-head); font-weight: 600; font-size: 1.04rem; letter-spacing: .01em;
  box-shadow: 0 5px 0 var(--tk-drop); transition: transform .2s var(--ease), box-shadow .2s var(--ease), background .3s;
}
.btn::after { background: rgba(255, 255, 255, .28); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 7px 0 var(--tk-drop); }
.btn:active { transform: translateY(4px); box-shadow: 0 1px 0 var(--tk-drop); }
.btn--sky { --btn-bg: var(--tk-sky); }
.btn--berry, .btn--gradient { --btn-bg: var(--tk-berry); background: var(--btn-bg); }
.btn--grass { --btn-bg: var(--tk-grass); }
.btn--sun { --btn-bg: var(--tk-sun); }
.btn--light { --btn-bg: #ffffff; --btn-fg: #1f2a4d; }
.btn--dark { --btn-bg: var(--tk-ink); --btn-fg: #fffaf0; }
.btn--ghost { --btn-bg: var(--surface); --btn-fg: var(--text); border-color: var(--tk-edge); }
[data-theme="dark"] .btn--ghost { border-color: #3a5296; }
.btn--ghost::after { background: var(--tk-sun-soft); }
.btn--sm { min-height: 42px; padding: 8px 16px; font-size: .92rem; box-shadow: 0 4px 0 var(--tk-drop); }
.btn--lg { min-height: 60px; }
.tk-hbtn { --btn-bg: var(--tk-berry); min-height: 46px; padding: 9px 18px; box-shadow: 0 4px 0 var(--tk-drop); }

.tk-sticker {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px 7px 12px; border-radius: 999px;
  background: var(--tk-c); color: #1f2a4d; border: 2.5px solid var(--tk-edge); box-shadow: 0 4px 0 var(--tk-drop);
  font-family: var(--font-head); font-size: .92rem; line-height: 1.2; white-space: nowrap; transform: rotate(-3deg);
}
.tk-sticker b { font-weight: 600; }
.tk-sticker .ti { font-size: 1.15rem; }
.tk-hero1__text > .tk-sticker, .tk-hero2__text > .tk-sticker, .tk-hero3__text > .tk-sticker, .tk-hero4__text > .tk-sticker { margin-bottom: 22px; }

.tk-seal {
  position: relative; display: grid; place-content: center; text-align: center; width: 116px; height: 116px; border-radius: 50%;
  background: var(--tk-c); color: #1f2a4d; border: 3px solid var(--tk-edge); box-shadow: 0 5px 0 var(--tk-drop);
  font-family: var(--font-head); line-height: 1; transform: rotate(12deg);
}
.tk-seal::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; border: 2px dashed rgba(31, 42, 77, .55); }
.tk-seal small { font-size: .75rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 600; }
.tk-seal b { font-size: 1.5rem; font-weight: 700; margin-top: 4px; white-space: nowrap; }

.tk-doodle { position: absolute; pointer-events: none; z-index: 1; width: 52px; line-height: 0; }
.tk-doodle svg { width: 100%; height: auto; overflow: visible; }
.tk-doodle--star svg { fill: var(--tk-sun); stroke: var(--tk-edge); stroke-width: 2.5; stroke-linejoin: round; }
.tk-doodle--sun svg { fill: var(--tk-sun); stroke: var(--tk-sun); }
.tk-doodle--cloud { width: 110px; }
.tk-doodle--cloud svg { fill: var(--surface); stroke: var(--tk-edge); stroke-width: 3; }
.tk-doodle--heart svg { fill: var(--tk-berry); stroke: var(--tk-edge); stroke-width: 2.5; }
.tk-doodle--squiggle { width: 110px; }
.tk-doodle--squiggle svg { stroke: var(--tk-sky); stroke-width: 6; stroke-linecap: round; }
.tk-doodle--spiral svg { stroke: var(--tk-berry); stroke-width: 5; stroke-linecap: round; }

.tk-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tk-chips li { padding: 6px 14px; border-radius: 999px; border: 2px dashed var(--tk-c, var(--line)); background: var(--tk-c-soft); font-weight: 700; font-size: .88rem; }

/* 04. Header (floating toy-box bar) & drawer ---------------------------- */
.site-header, .site-header.is-scrolled { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; height: var(--header-h); }
.site-header.is-hidden { transform: translateY(-130%); }
.nav {
  background: var(--surface); border: 2.5px solid var(--tk-edge); border-radius: 26px; padding: 8px 8px 8px 16px;
  box-shadow: 0 5px 0 var(--tk-drop); transition: box-shadow .3s;
}
[data-theme="dark"] .nav { border-color: #2f4887; }
.logo { gap: 10px; color: var(--text); }
.logo__mark {
  width: 40px; height: 40px; border-radius: 14px 18px 12px 20px; background: var(--tk-berry); color: #1f2a4d;
  border: 2.5px solid var(--tk-edge); transform: rotate(-8deg); font-size: 1.3rem; box-shadow: 0 3px 0 var(--tk-drop);
  transition: transform .4s var(--ease);
}
.logo:hover .logo__mark { transform: rotate(8deg) scale(1.06); }
.nav__link { font-family: var(--font-head); font-weight: 500; font-size: 1.02rem; padding: 9px 14px; border-radius: 14px; }
.nav__link:hover, .nav__link.is-active { color: var(--text); background: var(--tk-sun-soft); }
.dropdown { border: 2.5px solid var(--tk-edge); border-radius: 20px; box-shadow: 0 6px 0 var(--tk-drop); padding: 8px; }
[data-theme="dark"] .dropdown { border-color: #2f4887; }
.dropdown a { font-family: var(--font-head); font-weight: 500; border-radius: 12px; }
.dropdown a:hover { background: var(--tk-sky-soft); color: var(--text); }
.icon-btn { border: 2px solid var(--tk-edge); border-radius: 14px; width: 44px; height: 44px; background: var(--surface); }
[data-theme="dark"] .icon-btn { border-color: #2f4887; }
.icon-btn:hover { background: var(--tk-sun-soft); }
.drawer__panel { background: var(--bg); border-left: 3px solid var(--tk-edge); }
.drawer__nav a { font-family: var(--font-head); font-weight: 500; font-size: 1.15rem; border-bottom: 2px dashed var(--line); }
.drawer__nav .sub { font-family: var(--font-body); }
@media (max-width: 479px) {
  .nav { padding: 6px 6px 6px 12px; border-radius: 20px; }
  .logo__mark { width: 36px; height: 36px; }
}

/* 05. Wavy bands, blobs, splits ----------------------------------------- */
.tk-band { background: var(--tk-c-soft); }
.tk-band::before, .tk-band::after {
  content: ""; position: absolute; left: 0; right: 0; height: 46px; background: inherit; pointer-events: none;
  -webkit-mask: var(--tk-wave) center / 100% 100% no-repeat; mask: var(--tk-wave) center / 100% 100% no-repeat;
}
.tk-band::before { bottom: calc(100% - 1px); }
.tk-band::after { top: calc(100% - 1px); transform: scaleY(-1); }
.tk-band + .tk-band { z-index: 1; }
.tk-band + .tk-cta-sec, .tk-band + .section { padding-top: calc(clamp(72px, 10vw, 140px) + 20px); }

.tk-blob {
  position: relative; overflow: hidden; border: 3px solid var(--tk-card-edge); box-shadow: 8px 8px 0 var(--tk-blob-drop, var(--tk-sun));
  border-radius: 58% 42% 55% 45% / 49% 55% 45% 51%; background: var(--surface-2); isolation: isolate;
}
.tk-blob img { width: 100%; height: 100%; aspect-ratio: 1; transition: transform 1.2s var(--ease); }
.tk-blob:hover img { transform: scale(1.05); }
.tk-blob--2 { border-radius: 42% 58% 38% 62% / 55% 42% 58% 45%; --tk-blob-drop: var(--tk-sky); }
.tk-blob--3 { border-radius: 63% 37% 45% 55% / 41% 57% 43% 59%; --tk-blob-drop: var(--tk-berry); }
.tk-blob--4 { border-radius: 48% 52% 50% 50% / 52% 48% 52% 48%; --tk-blob-drop: var(--tk-grass); }
@keyframes tk-morph {
  0% { border-radius: 58% 42% 55% 45% / 49% 55% 45% 51%; }
  50% { border-radius: 45% 55% 42% 58% / 58% 44% 56% 42%; }
  100% { border-radius: 52% 48% 62% 38% / 44% 60% 40% 56%; }
}

.tk-split { display: grid; gap: 48px; align-items: center; }
.tk-split > * { min-width: 0; }
.tk-split__media { max-width: 560px; width: 100%; margin-inline: auto; }
@media (min-width: 1024px) {
  .tk-split { grid-template-columns: 1fr 1fr; gap: 72px; }
  .tk-split--rev .tk-split__media { order: 2; }
}
.tk-ticks li { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 2px dashed var(--line); font-weight: 700; }
.tk-ticks .ti { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 40% 60% 55% 45%; background: var(--tk-grass); color: #1f2a4d; border: 2px solid var(--tk-edge); font-size: 1.15rem; }
.tk-ticks li:nth-child(4n+2) .ti { background: var(--tk-sky); }
.tk-ticks li:nth-child(4n+3) .ti { background: var(--tk-sun); }
.tk-ticks li:nth-child(4n+4) .ti { background: var(--tk-berry); }

/* 06. Program picker (signature 1) -------------------------------------- */
.tk-pp__tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 30px; }
.tabs__btn.tk-pp__tab {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; text-align: left; border-radius: 22px;
  border: 2.5px solid var(--tk-edge); background: var(--surface); box-shadow: 0 4px 0 var(--tk-drop); color: var(--text);
  transition: transform .3s var(--ease), background .3s, box-shadow .3s;
}
[data-theme="dark"] .tk-pp__tab { border-color: #2f4887; }
.tabs__btn.tk-pp__tab:hover { transform: translateY(-2px); background: var(--tk-c-soft); color: var(--text); border-color: var(--tk-edge); }
.tabs__btn.tk-pp__tab.is-active { background: var(--tk-c); color: #1f2a4d; border-color: var(--tk-edge); transform: translateY(-3px) rotate(-1.2deg); box-shadow: 0 6px 0 var(--tk-drop); }
.tk-pp__tab b { display: block; font-family: var(--font-head); font-weight: 600; font-size: 1.12rem; line-height: 1.15; }
.tk-pp__tab small { display: block; font-size: .8rem; opacity: .85; line-height: 1.3; }
.tk-pp__ic { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 45% 55% 50% 50% / 55% 45% 55% 45%; background: var(--tk-c-soft); border: 2px solid var(--tk-edge); color: #1f2a4d; font-size: 1.35rem; }
.tk-pp__tab .tk-pp__ic { background: var(--tk-c); }
.tk-pp__tab.is-active .tk-pp__ic { background: #fff; }
.tk-pp__panel {
  display: grid; gap: 32px; align-items: center; padding: clamp(18px, 3.5vw, 44px); border-radius: 40px;
  background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 8px 0 var(--tk-drop);
}
@media (min-width: 1024px) { .tk-pp__panel { grid-template-columns: .85fr 1.15fr; gap: 56px; } }
.tk-pp__panel > * { min-width: 0; }
.tk-pp__media { position: relative; max-width: 460px; width: 100%; margin-inline: auto; padding: 8px 10px 16px 0; }
.tk-pp__sticker { position: absolute; left: -2px; bottom: 6px; font-size: 1.1rem; }
.tk-pp__body h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; }
.tk-pp__body h3 span { font-size: .9rem; font-family: var(--font-body); font-weight: 700; padding: 4px 12px; border-radius: 999px; background: var(--tk-c-soft); color: var(--tk-c-ink); }
.tk-pp__body > p { color: var(--muted); }
.tk-pp__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 22px 0; }
.tk-pp__facts li { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 18px; background: var(--tk-c-soft); }
.tk-pp__facts small { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; }
.tk-pp__facts b { font-family: var(--font-head); font-size: 1.3rem; font-weight: 600; line-height: 1.1; }
.tk-pp__facts em { font-style: normal; font-size: .82rem; color: var(--muted); }
.tk-ratio { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.tk-ratio b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--tk-c); color: #1f2a4d; font-size: .85rem; border: 2px solid var(--tk-edge); margin-right: 4px; }
.tk-ratio i { width: 11px; height: 11px; border-radius: 50%; background: var(--tk-c); border: 1.5px solid var(--tk-edge); }
.tk-pp__day { margin: 22px 0 26px; padding: 16px 18px; border-radius: 22px; border: 2px dashed var(--line); }
.tk-pp__day h4 { display: flex; align-items: center; gap: 8px; font-size: 1rem; margin-bottom: 10px; }
.tk-pp__day ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px 22px; }
@media (min-width: 640px) { .tk-pp__day ol { grid-template-columns: 1fr 1fr; } }
.tk-pp__day li { display: flex; gap: 10px; font-size: .95rem; }
.tk-pp__day time { flex: none; min-width: 44px; font-family: var(--font-head); font-weight: 600; color: var(--tk-c-ink); }

/* 07. Daily timeline (signature 2) -------------------------------------- */
.tk-tl__clock {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; width: fit-content; max-width: 100%;
  margin: 0 auto 36px; padding: 10px 20px; border-radius: 999px; background: var(--surface); border: 2.5px solid var(--tk-card-edge);
  box-shadow: 0 4px 0 var(--tk-drop); font-weight: 700; text-align: center;
}
.tk-tl__clock .ti { color: var(--tk-berry-ink); font-size: 1.2rem; }
.tk-tl__cur { font-family: var(--font-head); font-weight: 600; padding: 2px 12px; border-radius: 999px; background: var(--tk-sun); color: #1f2a4d; }
.tk-tl { position: relative; display: grid; gap: 22px; max-width: 1000px; margin-inline: auto; }
.tk-tl::before { content: ""; position: absolute; left: 30px; top: 12px; bottom: 12px; border-left: 4px dashed color-mix(in srgb, var(--text) 25%, transparent); }
.tk-tl__item { position: relative; display: grid; grid-template-columns: 64px 1fr; grid-template-areas: "ic card" "time card"; column-gap: 16px; align-items: start; }
.tk-tl__ic {
  grid-area: ic; z-index: 1; display: grid; place-items: center; width: 64px; height: 64px; font-size: 1.7rem; color: #1f2a4d;
  border-radius: 45% 55% 52% 48% / 55% 45% 55% 45%; background: var(--tk-c); border: 3px solid var(--tk-edge); box-shadow: 0 4px 0 var(--tk-drop);
}
.tk-tl__time { grid-area: time; justify-self: center; margin-top: 6px; padding: 1px 8px; border-radius: 10px; background: var(--bg); font-family: var(--font-head); font-weight: 600; font-size: 1.05rem; position: relative; z-index: 1; }
.tk-band .tk-tl__time { background: var(--tk-c-soft); }
.tk-tl__card { grid-area: card; padding: 16px 20px; border-radius: 24px; background: var(--surface); border: 2.5px solid var(--tk-card-edge); box-shadow: 0 5px 0 var(--tk-c); transition: transform .4s var(--ease), background .4s; }
.tk-tl__card h3 { font-size: 1.2rem; margin-bottom: 4px; }
.tk-tl__card p { margin: 0; color: var(--muted); font-size: .96rem; }
.tk-tl__now { display: none; align-items: center; gap: 4px; margin-bottom: 6px; padding: 2px 10px; border-radius: 999px; background: var(--tk-berry); color: #1f2a4d; font-family: var(--font-head); font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.tk-tl__item.is-now .tk-tl__now { display: inline-flex; }
.tk-tl__item.is-now .tk-tl__card { background: var(--tk-c-soft); transform: rotate(-1deg) scale(1.02); border-color: var(--tk-edge); }
.tk-tl__item.is-now .tk-tl__ic { animation: tk-wiggle 1.6s ease-in-out infinite; }
.tk-tl__item.is-done .tk-tl__card { opacity: .72; }
@keyframes tk-wiggle { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg) scale(1.06); } }
@media (min-width: 1024px) {
  .tk-tl:not(.tk-tl--row)::before { left: 50%; margin-left: -2px; }
  .tk-tl:not(.tk-tl--row) .tk-tl__item { grid-template-columns: 1fr 92px 1fr; grid-template-areas: "time ic card"; align-items: center; }
  .tk-tl:not(.tk-tl--row) .tk-tl__item:nth-child(even) { grid-template-areas: "card ic time"; }
  .tk-tl:not(.tk-tl--row) .tk-tl__ic { justify-self: center; width: 76px; height: 76px; font-size: 2rem; }
  .tk-tl:not(.tk-tl--row) .tk-tl__time { justify-self: end; margin: 0; font-size: 1.7rem; background: none; }
  .tk-tl:not(.tk-tl--row) .tk-tl__item:nth-child(even) .tk-tl__time { justify-self: start; }
}
/* horizontal "strip" layout */
.tk-tlwrap--row .tk-tl__clock { margin-left: 0; }
.tk-tl--row { display: flex; gap: 0; max-width: none; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 4px 22px; scrollbar-width: thin; scrollbar-color: var(--tk-c) transparent; }
.tk-tl--row::before { display: none; }
.tk-tl--row .tk-tl__item { flex: 0 0 240px; grid-template-columns: 1fr; grid-template-areas: "time" "ic" "card"; row-gap: 10px; padding-right: 18px; scroll-snap-align: start; }
.tk-tl--row .tk-tl__item::before { content: ""; position: absolute; top: 72px; left: 32px; right: -32px; border-top: 4px dashed color-mix(in srgb, var(--text) 25%, transparent); }
.tk-tl--row .tk-tl__item:last-child::before { display: none; }
.tk-tl--row .tk-tl__time { justify-self: start; margin: 0; font-size: 1.35rem; background: none; }
.tk-tl--row .tk-tl__card { min-height: 150px; }

/* 08. Tuition calculator (signature 3) ---------------------------------- */
.tk-calc { display: grid; gap: 28px; align-items: start; }
@media (min-width: 1024px) { .tk-calc { grid-template-columns: 1.55fr 1fr; } }
.tk-calc > * { min-width: 0; }
.tk-calc__opts { display: grid; gap: 28px; padding: clamp(20px, 3.5vw, 40px); border-radius: 36px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 8px 0 var(--tk-drop); }
.tk-calc fieldset, .tk-tour fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.tk-calc legend { display: flex; align-items: center; gap: 10px; font-family: var(--font-head); font-weight: 600; font-size: 1.2rem; margin-bottom: 14px; }
.tk-calc legend span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--tk-sun); color: #1f2a4d; border: 2px solid var(--tk-edge); font-size: 1rem; }
.tk-opt input, .tk-day input, .tk-check input, .tk-type input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.tk-opt input:focus-visible + span, .tk-day input:focus-visible + span, .tk-check input:focus-visible + span, .tk-type input:focus-visible + span { outline: 3px solid var(--primary); outline-offset: 3px; }
.tk-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.tk-opt { position: relative; cursor: pointer; }
.tk-opt span { display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 14px 16px; border-radius: 22px; border: 2.5px solid var(--line); background: var(--surface-2); transition: all .25s var(--ease); }
.tk-opt .ti { font-size: 1.6rem; color: var(--tk-c-ink); margin-bottom: 4px; }
.tk-opt b { font-family: var(--font-head); font-weight: 600; font-size: 1.12rem; }
.tk-opt small { font-size: .8rem; color: var(--muted); line-height: 1.3; }
.tk-opt:hover span { border-color: var(--tk-c); }
.tk-opt input:checked + span { background: var(--tk-c); color: #1f2a4d; border-color: var(--tk-edge); box-shadow: 0 4px 0 var(--tk-drop); transform: translateY(-2px) rotate(-1deg); }
.tk-opt input:checked + span .ti, .tk-opt input:checked + span small { color: #1f2a4d; }
.tk-days { display: flex; flex-wrap: wrap; gap: 12px; }
.tk-day { cursor: pointer; }
.tk-day span { display: grid; place-content: center; text-align: center; width: 72px; height: 72px; border-radius: 45% 55% 52% 48% / 55% 45% 55% 45%; border: 2.5px solid var(--line); background: var(--surface-2); font-family: var(--font-head); font-weight: 700; font-size: 1.6rem; line-height: 1; transition: all .25s var(--ease); }
.tk-day small { font-size: .72rem; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; }
.tk-day:hover span { border-color: var(--tk-sky); }
.tk-day input:checked + span { background: var(--tk-sky); color: #1f2a4d; border-color: var(--tk-edge); box-shadow: 0 4px 0 var(--tk-drop); transform: rotate(-4deg); }
.tk-calc__hint { display: flex; align-items: center; gap: 6px; margin: 12px 0 0; color: var(--muted); font-size: .9rem; }
.tk-checks { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
.tk-check { position: relative; cursor: pointer; }
.tk-check span { display: grid; grid-template-columns: 30px 1fr 24px; align-items: center; column-gap: 10px; height: 100%; padding: 12px 14px; border-radius: 18px; border: 2.5px solid var(--line); background: var(--surface-2); transition: all .25s var(--ease); }
.tk-check span::after { content: ""; grid-column: 3; grid-row: 1 / span 2; width: 22px; height: 22px; border-radius: 8px; border: 2.5px solid var(--line); background: var(--surface) center / 14px no-repeat; }
.tk-check .ti { grid-row: 1 / span 2; font-size: 1.4rem; color: var(--tk-grass-ink); }
.tk-check b { font-weight: 700; font-size: .95rem; line-height: 1.25; }
.tk-check small { grid-column: 2; color: var(--muted); font-size: .82rem; }
.tk-check input:checked + span { border-color: var(--tk-grass); background: var(--tk-grass-soft); }
.tk-check input:checked + span::after { background-color: var(--tk-grass); border-color: var(--tk-edge); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2a4d' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); }
.tk-calc__sum { position: relative; padding: clamp(24px, 3.5vw, 36px); border-radius: 36px; background: var(--tk-sun); color: #1f2a4d; border: 3px solid var(--tk-edge); box-shadow: 0 8px 0 var(--tk-drop); }
@media (min-width: 1024px) { .tk-calc__sum { position: sticky; top: 110px; } }
.tk-calc__tag { position: absolute; top: -18px; right: 22px; --tk-c: #fff; transform: rotate(5deg); }
.tk-calc__line { font-weight: 700; margin-bottom: 14px; }
.tk-calc__big small { display: block; font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.tk-calc__big b { display: block; font-family: var(--font-head); font-size: clamp(3rem, 6vw, 4.2rem); font-weight: 700; line-height: 1; margin: 4px 0 18px; }
.tk-calc__rows { margin-bottom: 22px; }
.tk-calc__rows li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 2px dashed rgba(31, 42, 77, .25); }
.tk-calc__rows b { font-family: var(--font-head); font-weight: 600; }
.tk-calc__note { display: flex; gap: 8px; margin: 16px 0 0; font-size: .86rem; line-height: 1.5; }
.tk-calc__note .ti { flex: none; margin-top: 3px; }
.tk-calc__sum .btn { --tk-edge: #1f2a4d; --tk-drop: #1f2a4d; }

/* 09. Parent-app phone (signature 4) ------------------------------------ */
.tk-phonewrap { position: relative; max-width: 420px; margin-inline: auto; padding: 24px 0; }
.tk-phone { position: relative; width: min(320px, 86%); margin-inline: auto; aspect-ratio: 9 / 17.6; padding: 11px; border-radius: 48px; background: #1f2a4d; border: 3px solid #0b1230; box-shadow: 10px 12px 0 var(--tk-c, var(--tk-sky)), 0 40px 70px -30px rgba(0, 0, 0, .45); }
.tk-band--berry .tk-phone { --tk-c: var(--tk-sun); }
.tk-phone__notch { position: absolute; top: 20px; left: 50%; width: 88px; height: 22px; margin-left: -44px; border-radius: 14px; background: #1f2a4d; z-index: 3; }
.tk-app { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 38px; background: #fffaf0; color: #1f2a4d; padding: 12px 14px 8px; font-size: .84rem; line-height: 1.4; }
.tk-app__status { display: flex; justify-content: space-between; align-items: center; padding: 2px 10px 8px; font-size: .78rem; }
.tk-app__status span { display: flex; gap: 4px; }
.tk-app__head { display: flex; align-items: center; gap: 10px; padding: 6px 2px 10px; }
.tk-app__av { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 45% 55% 50% 50%; background: #ffd43b; border: 2px solid #1f2a4d; font-size: 1.4rem; }
.tk-app__head small { display: block; color: #56618a; font-size: .72rem; }
.tk-app__head b { font-family: var(--font-head); font-size: 1.08rem; font-weight: 600; }
.tk-app__bell { position: relative; margin-left: auto; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; background: #dff0ff; font-size: 1.1rem; }
.tk-app__bell i { position: absolute; top: 6px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: #ff5d8f; border: 1.5px solid #fffaf0; }
.tk-app__sum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 10px; }
.tk-app__sum li { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 7px 4px; border-radius: 14px; background: #fff; border: 1.5px solid rgba(31, 42, 77, .12); font-size: .7rem; font-weight: 700; text-align: center; line-height: 1.2; }
.tk-app__sum .ti { font-size: 1.1rem; color: #1463bf; }
.tk-app__tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; padding: 4px; border-radius: 16px; background: #fff1c2; margin-bottom: 10px; }
.tk-app__tab { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 6px 2px; border-radius: 12px; font-size: .68rem; font-weight: 700; color: #1f2a4d; transition: background .25s; }
.tk-app__tab .ti { font-size: 1.1rem; }
.tk-app__tab.is-active { background: #4aa3ff; box-shadow: 0 2px 0 #1f2a4d; }
.tk-app__panes { flex: 1; min-height: 0; position: relative; }
.tk-app__pane { display: none; }
.tk-app__pane.is-active { display: block; animation: tk-pane .4s var(--ease); }
@keyframes tk-pane { from { opacity: 0; transform: translateY(8px); } }
.tk-app__meals li { display: flex; align-items: center; gap: 10px; padding: 9px 10px; margin-bottom: 6px; border-radius: 14px; background: #fff; border: 1.5px solid rgba(31, 42, 77, .1); }
.tk-app__meals li > .ti { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 10px; background: #dcf5e4; font-size: 1.05rem; }
.tk-app__meals small { display: block; font-size: .66rem; color: #56618a; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.tk-app__meals b { font-size: .8rem; line-height: 1.2; display: block; }
.tk-meter { display: flex; gap: 3px; margin-left: auto; }
.tk-meter i { width: 8px; height: 8px; border-radius: 50%; background: #e3e7f2; }
.tk-meter[data-l="1"] i:nth-child(-n+1), .tk-meter[data-l="2"] i:nth-child(-n+2), .tk-meter[data-l="3"] i:nth-child(-n+3), .tk-meter[data-l="4"] i { background: #52c77a; }
.tk-app__nap { text-align: center; }
.tk-ring { position: relative; display: grid; place-content: center; width: 128px; height: 128px; margin: 6px auto 12px; border-radius: 50%; background: conic-gradient(#4aa3ff calc(var(--p) * 1%), #e3e7f2 0); }
.tk-ring::before { content: ""; position: absolute; inset: 13px; border-radius: 50%; background: #fffaf0; }
.tk-ring b, .tk-ring small { position: relative; }
.tk-ring b { font-family: var(--font-head); font-size: 1.15rem; font-weight: 600; }
.tk-ring small { font-size: .7rem; color: #56618a; }
.tk-app__nap ul { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.tk-app__nap li { padding: 8px; border-radius: 12px; background: #fff; border: 1.5px solid rgba(31, 42, 77, .1); }
.tk-app__nap li small { display: block; font-size: .66rem; color: #56618a; }
.tk-app__nap p { margin: 10px 0 0; font-weight: 700; color: #cf1f5a; }
.tk-app__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.tk-app__photos img { width: 100%; aspect-ratio: 1; border-radius: 14px; }
.tk-app__cap { margin: 8px 0 0; font-size: .74rem; color: #56618a; display: flex; align-items: center; gap: 4px; }
.tk-app__msg { padding: 12px; border-radius: 16px 16px 16px 4px; background: #dff0ff; }
.tk-app__msg small { font-weight: 700; color: #1463bf; font-size: .7rem; }
.tk-app__msg p { margin: 4px 0 0; font-size: .8rem; }
.tk-app__learn { display: flex; flex-wrap: wrap; gap: 5px; margin: 10px 0; }
.tk-app__learn li { padding: 3px 10px; border-radius: 999px; background: #ffe2eb; font-size: .7rem; font-weight: 700; }
.tk-app__reply { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; background: #fff; border: 1.5px solid rgba(31, 42, 77, .15); color: #56618a; font-size: .76rem; }
.tk-app__reply .ti:last-child { margin-left: auto; color: #1463bf; }
.tk-app__nav { display: flex; justify-content: space-around; padding: 8px 0 2px; border-top: 1.5px solid rgba(31, 42, 77, .1); font-size: 1.2rem; color: #56618a; }
.tk-app__nav .ti:first-child { color: #1463bf; }
.tk-toast { position: absolute; z-index: 4; display: flex; align-items: center; gap: 10px; max-width: 210px; padding: 10px 14px 10px 10px; border-radius: 18px; background: var(--surface); color: var(--text); border: 2.5px solid var(--tk-edge); box-shadow: 0 5px 0 var(--tk-drop); font-size: .84rem; line-height: 1.25; }
[data-theme="dark"] .tk-toast { border-color: #2f4887; }
.tk-toast > .ti { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 12px; background: var(--tk-sun); color: #1f2a4d; font-size: 1.1rem; }
.tk-toast b { display: block; }
.tk-toast small { color: var(--muted); }
.tk-toast--a { bottom: 5%; left: 0; transform: rotate(-4deg); }
.tk-toast--b { top: 5%; right: 0; transform: rotate(3deg); }
.tk-toast--b > .ti { background: var(--tk-berry); }
@media (min-width: 1280px) { .tk-toast--a { left: -40px; } .tk-toast--b { right: -40px; } }

/* 10. Tour-booking calendar (signature 5) ------------------------------- */
.tk-tour { display: grid; gap: 22px; align-items: start; }
@media (min-width: 768px) { .tk-tour { grid-template-columns: 1fr 1fr; } .tk-tour__form { grid-column: 1 / -1; } }
@media (min-width: 1280px) { .tk-tour { grid-template-columns: 1.1fr .9fr 1fr; } .tk-tour__form { grid-column: auto; } }
.tk-tour > * { min-width: 0; }
.tk-cal, .tk-tour__mid, .tk-tour__form { padding: clamp(18px, 2.6vw, 28px); border-radius: 30px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 7px 0 var(--tk-drop); }
.tk-cal__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.tk-cal__head b { font-family: var(--font-head); font-weight: 600; font-size: 1.3rem; }
.tk-cal__nav { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 14px; border: 2px solid var(--tk-card-edge); font-size: 1.1rem; transition: background .25s; }
.tk-cal__nav:hover { background: var(--tk-sun-soft); }
.tk-cal__nav:disabled { opacity: .3; cursor: default; }
.tk-cal__wd, .tk-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.tk-cal__wd span { text-align: center; font-family: var(--font-head); font-weight: 600; font-size: .8rem; color: var(--muted); padding-bottom: 4px; }
.tk-cal__grid button, .tk-cal__grid span { aspect-ratio: 1; display: grid; place-items: center; border-radius: 40%; font-family: var(--font-head); font-weight: 600; font-size: .95rem; }
.tk-cal__grid button { background: var(--tk-sky-soft); border: 2px solid transparent; transition: transform .2s var(--ease), background .2s; }
.tk-cal__grid button:hover:not(:disabled) { transform: scale(1.1) rotate(-4deg); border-color: var(--tk-sky); }
.tk-cal__grid button:disabled { background: transparent; color: color-mix(in srgb, var(--text) 35%, transparent); cursor: default; }
.tk-cal__grid button.is-full { background: var(--tk-berry-soft); text-decoration: line-through; color: color-mix(in srgb, var(--text) 55%, transparent); }
.tk-cal__grid button.is-today { box-shadow: inset 0 0 0 2px var(--tk-berry); }
.tk-cal__grid button.is-pick { background: var(--tk-berry); color: #1f2a4d; border-color: var(--tk-edge); box-shadow: 0 3px 0 var(--tk-drop); transform: rotate(-4deg); }
.tk-cal__legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 14px 0 0; font-size: .82rem; color: var(--muted); }
.tk-cal__legend span { display: inline-flex; align-items: center; gap: 6px; }
.tk-cal__legend i { width: 12px; height: 12px; border-radius: 40%; }
.tk-cal__legend .is-free { background: var(--tk-sky-soft); border: 1.5px solid var(--tk-sky); }
.tk-cal__legend .is-full { background: var(--tk-berry-soft); }
.tk-cal__legend .is-pick { background: var(--tk-berry); }
.tk-tour__mid h3 { display: flex; align-items: center; gap: 8px; font-size: 1.1rem; margin: 0 0 12px; }
.tk-tour__mid h3 + * { margin-bottom: 22px; }
.tk-tour__mid h3 .ti { color: var(--tk-berry-ink); }
.tk-slots { display: flex; flex-wrap: wrap; gap: 8px; }
.tk-slot { min-width: 76px; padding: 9px 12px; border-radius: 16px; border: 2.5px solid var(--line); background: var(--surface-2); font-family: var(--font-head); font-weight: 600; line-height: 1.1; transition: all .2s var(--ease); }
.tk-slot small { display: block; font-size: .68rem; font-weight: 500; }
.tk-slot:hover:not(:disabled) { border-color: var(--tk-sun); }
.tk-slot.is-active { background: var(--tk-sun); color: #1f2a4d; border-color: var(--tk-edge); box-shadow: 0 3px 0 var(--tk-drop); }
.tk-slot:disabled { opacity: .45; text-decoration: line-through; cursor: default; }
.tk-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 18px; background: var(--surface-2); border: 2px solid var(--line); }
.tk-mode button { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 8px; border-radius: 14px; font-weight: 700; font-size: .92rem; transition: background .25s; }
.tk-mode button.is-active { background: var(--tk-grass); color: #1f2a4d; box-shadow: 0 3px 0 var(--tk-drop); }
.tk-tour__hint { display: flex; gap: 8px; margin: 0; color: var(--muted); font-size: .9rem; }
.tk-tour__hint .ti { flex: none; margin-top: 4px; }
.tk-tour__form { display: grid; gap: 14px; }
.tk-tour__sum { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 14px; border-radius: 18px; background: var(--tk-sun-soft); border: 2px dashed var(--tk-sun-ink); }
.tk-tour__sum > .ti { font-size: 1.6rem; color: var(--tk-berry-ink); }
.tk-tour__sum small { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 700; }
.tk-tour__sum b { font-family: var(--font-head); font-weight: 600; font-size: 1.1rem; }
.tk-tour__ok, .tk-finder__ok { display: none; margin: 0; padding: 12px 14px; border-radius: 16px; background: var(--tk-grass-soft); color: var(--tk-grass-ink); font-weight: 700; font-size: .92rem; }
.tk-tour.is-sent .tk-tour__ok, .tk-finder.is-sent .tk-finder__ok { display: block; }
.field label { font-family: var(--font-head); font-weight: 500; font-size: .98rem; }
.input, .select, .textarea { border: 2.5px solid var(--line); border-radius: 16px; background: var(--surface-2); min-height: 52px; }
.input:focus, .select:focus, .textarea:focus { border-color: var(--tk-sky); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tk-sky) 25%, transparent); }

/* 11. Cards: features, reviews, team, steps, bubbles -------------------- */
.tk-feats { display: grid; gap: 22px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tk-feats { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tk-feats { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1280px) { .tk-feats--4 { grid-template-columns: repeat(4, 1fr); } }
.tk-feats > * { min-width: 0; }
.tk-feat { position: relative; padding: 28px 26px; background: var(--surface); border: 3px solid var(--tk-card-edge); border-radius: 34px 26px 38px 24px; box-shadow: 0 7px 0 var(--tk-c); transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.tk-feat:nth-child(even) { border-radius: 26px 38px 24px 34px; }
.tk-feat:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 0 11px 0 var(--tk-c); }
.tk-feat__ic { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 45% 55% 52% 48% / 55% 45% 55% 45%; background: var(--tk-c); color: #1f2a4d; border: 2.5px solid var(--tk-edge); font-size: 1.9rem; }
.tk-feat h3 { font-size: 1.3rem; margin: 20px 0 8px; }
.tk-feat p { margin: 0; color: var(--muted); }
.tk-band .tk-feat { box-shadow: 0 7px 0 var(--tk-drop); }

.tk-revs { display: grid; gap: 28px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .tk-revs { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tk-revs { grid-template-columns: repeat(3, 1fr); } }
.tk-revs > * { min-width: 0; }
.tk-rev { display: flex; flex-direction: column; gap: 22px; }
.tk-rev__bubble { position: relative; flex: 1; padding: 26px 26px 24px; border-radius: 30px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 7px 0 var(--tk-c); }
.tk-rev__bubble::after { content: ""; position: absolute; left: 34px; bottom: -17px; width: 26px; height: 26px; background: var(--surface); border-right: 3px solid var(--tk-card-edge); border-bottom: 3px solid var(--tk-card-edge); transform: rotate(45deg) skew(8deg, 8deg); border-radius: 0 0 6px 0; }
.tk-rev blockquote { margin: 10px 0 0; font-size: 1.05rem; }
.tk-rev figcaption { display: flex; align-items: center; gap: 12px; padding-left: 16px; }
.tk-rev figcaption img { width: 56px; height: 56px; border-radius: 45% 55% 50% 50%; border: 3px solid var(--tk-c); }
.tk-rev strong { display: block; font-family: var(--font-head); font-weight: 600; font-size: 1.05rem; }
.tk-rev figcaption span { font-size: .9rem; color: var(--muted); }
.tk-rev:nth-child(2) { transform: translateY(18px); }
@media (max-width: 1023px) { .tk-rev:nth-child(2) { transform: none; } }

.tk-teachers { display: grid; gap: 26px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tk-teachers { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tk-teachers { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1280px) { .tk-teachers { grid-template-columns: repeat(4, 1fr); } }
.tk-teachers > * { min-width: 0; }
.tk-teach { text-align: center; padding: 22px 20px 24px; border-radius: 34px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 7px 0 var(--tk-c); transition: transform .4s var(--ease); }
.tk-teach:hover { transform: translateY(-6px) rotate(.8deg); }
.tk-teach__img { position: relative; max-width: 220px; margin: 0 auto 18px; }
.tk-teach__img .tk-blob { box-shadow: 6px 6px 0 var(--tk-c); }
.tk-teach__yrs { position: absolute; right: -8px; top: -4px; display: grid; place-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--tk-sun); color: #1f2a4d; border: 2.5px solid var(--tk-edge); font-family: var(--font-head); font-size: .72rem; line-height: 1; transform: rotate(10deg); }
.tk-teach__yrs b { font-size: 1.4rem; }
.tk-teach h3 { font-size: 1.3rem; margin-bottom: 2px; }
.tk-teach__role { color: var(--tk-c-ink); font-weight: 700; margin: 0 0 10px; }
.tk-teach__q { display: flex; justify-content: center; gap: 6px; font-size: .92rem; color: var(--muted); margin: 0 0 12px; }
.tk-teach__q .ti { flex: none; margin-top: 3px; }
.tk-teach ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.tk-teach li { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; background: var(--tk-c-soft); font-size: .8rem; font-weight: 700; }

.tk-bubs { display: grid; gap: 18px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 1024px) { .tk-bubs { grid-template-columns: repeat(4, 1fr); gap: 26px; } }
.tk-bubs > * { min-width: 0; }
.tk-bub { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 170px; padding: 22px 14px; background: var(--tk-c); color: #1f2a4d; border: 3px solid var(--tk-edge); box-shadow: 0 6px 0 var(--tk-drop); border-radius: 58% 42% 55% 45% / 49% 55% 45% 51%; transform: rotate(-2deg); }
.tk-bub:nth-child(even) { border-radius: 42% 58% 38% 62% / 55% 42% 58% 45%; transform: rotate(2deg); }
.tk-bub b { font-family: var(--font-head); font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight: 700; line-height: 1; }
.tk-bub__l { font-weight: 700; font-size: .92rem; max-width: 16ch; margin-top: 6px; line-height: 1.3; }

.tk-steps { display: grid; gap: 30px 22px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tk-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tk-steps { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } }
.tk-steps > * { min-width: 0; }
.tk-step { position: relative; padding: 36px 24px 26px; border-radius: 32px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 7px 0 var(--tk-c); }
.tk-step__n { position: absolute; top: -20px; left: 22px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--tk-c); color: #1f2a4d; border: 2.5px solid var(--tk-edge); font-family: var(--font-head); font-weight: 700; font-size: 1.3rem; box-shadow: 0 3px 0 var(--tk-drop); }
.tk-step__ic { display: block; font-size: 2.2rem; color: var(--tk-c-ink); }
.tk-step h3 { font-size: 1.25rem; margin: 10px 0 6px; }
.tk-step p { margin: 0; color: var(--muted); }

.tk-gal { display: grid; gap: 16px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .tk-gal { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.tk-gal__item { overflow: hidden; border: 3px solid var(--tk-card-edge); border-radius: 36px 24px 40px 22px; box-shadow: 0 6px 0 var(--tk-drop); transform: rotate(-1.5deg); transition: transform .4s var(--ease); }
.tk-gal__item:nth-child(even) { transform: rotate(1.5deg); border-radius: 24px 40px 22px 36px; }
.tk-gal__item:hover { transform: rotate(0) scale(1.03); }
.tk-gal__item img { width: 100%; aspect-ratio: 1; }

/* CTA box */
.tk-cta-sec { padding-bottom: clamp(40px, 5vw, 60px); }
.tk-cta { position: relative; display: grid; gap: 36px; align-items: center; padding: clamp(28px, 5vw, 64px); border-radius: 44px; background: var(--tk-c); color: #1f2a4d; border: 3px solid var(--tk-edge); box-shadow: 0 10px 0 var(--tk-drop); --text: #1f2a4d; --muted: #2a3663; --tk-em: #1f2a4d; }
.tk-cta--sky { --tk-crayon: var(--tk-crayon-sun); }
.tk-cta--berry, .tk-cta--grass { --tk-crayon: var(--tk-crayon-sun); }
.tk-cta .lead { color: #2a3663; }
.tk-cta .btn { --tk-edge: #1f2a4d; --tk-drop: #1f2a4d; }
@media (min-width: 1024px) { .tk-cta { grid-template-columns: 1.25fr .75fr; } }
.tk-cta > * { min-width: 0; position: relative; }
.tk-cta__img { position: relative; max-width: 340px; width: 100%; margin-inline: auto; }
.tk-cta__img .tk-blob { --tk-card-edge: #1f2a4d; box-shadow: 8px 8px 0 #fff; }
.tk-cta__seal { position: absolute; top: -12px; right: -8px; width: 104px; height: 104px; }
.tk-cta__seal b { font-size: 1.15rem; }
.tk-cta .tk-doodle { position: absolute; }
.tk-cta__d1 { top: 18px; right: 44%; width: 38px; }
.tk-cta__d2 { bottom: 22px; left: 36%; }
.tk-cta__d2 svg { stroke: #fff; }
.tk-cta__d3 { top: -26px; left: 30px; width: 90px; }
.tk-cta__d3 svg { fill: #fff; stroke: #1f2a4d; }

/* 12. Home 1 – Daycare -------------------------------------------------- */
.tk-hero1 { padding-top: calc(var(--header-h) + clamp(28px, 5vw, 70px)); }
.tk-hero1::before { content: ""; position: absolute; z-index: -1; right: -12%; top: -8%; width: 62vw; height: 62vw; max-width: 900px; max-height: 900px; border-radius: 58% 42% 55% 45% / 49% 55% 45% 51%; background: var(--tk-sky-soft); }
.tk-hero1__grid { display: grid; gap: 56px; align-items: center; }
.tk-hero1__grid > * { min-width: 0; }
@media (min-width: 1024px) { .tk-hero1__grid { grid-template-columns: 1.05fr .95fr; gap: 48px; } }
.tk-hero1__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 34px; }
.tk-hero1__art { position: relative; width: 100%; max-width: 580px; margin-inline: auto; aspect-ratio: 1 / .98; }
.tk-hero1__main { position: absolute; right: 0; top: 4%; width: 84%; animation: tk-morph 14s ease-in-out infinite alternate; }
.tk-hero1__small { position: absolute; left: 0; bottom: 0; width: 38%; --tk-blob-drop: var(--tk-berry); }
.tk-hero1__seal { position: absolute; left: 2%; top: 6%; z-index: 2; }
.tk-hero1__open { position: absolute; right: 2%; top: -2%; z-index: 2; transform: rotate(4deg); }
.tk-hero1__card { position: absolute; right: -2%; bottom: 8%; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 10px 16px 10px 10px; border-radius: 20px; background: var(--surface); border: 2.5px solid var(--tk-edge); box-shadow: 0 5px 0 var(--tk-drop); transform: rotate(-3deg); line-height: 1.25; }
[data-theme="dark"] .tk-hero1__card { border-color: #2f4887; }
.tk-hero1__card > .ti { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 14px; background: var(--tk-grass); color: #1f2a4d; font-size: 1.25rem; }
.tk-hero1__card small { display: block; color: var(--muted); font-size: .8rem; }
.tk-hero1__card b { font-family: var(--font-head); font-weight: 600; }
.tk-hero1__sun { top: -6%; left: 34%; width: 70px; }
.tk-hero1__cloud { bottom: -6%; left: 40%; }
.tk-hero1__star { top: 46%; left: -2%; width: 40px; }
.tk-hero1__sq { display: none; }
@media (min-width: 1024px) { .tk-hero1__sq { display: block; top: -30px; left: -140px; } }
@media (max-width: 639px) { .tk-hero1__seal { width: 92px; height: 92px; } .tk-hero1__seal b { font-size: 1.2rem; } .tk-hero1__card { right: 0; } }

/* 13. Home 2 – Montessori (calm) ---------------------------------------- */
.tk-hero2 { text-align: center; padding-top: calc(var(--header-h) + clamp(36px, 6vw, 80px)); padding-bottom: 0; }
.tk-hero2::before { content: ""; position: absolute; inset: auto 0 0; height: 40%; z-index: -1; background: var(--tk-grass-soft); }
.tk-hero2__text { max-width: 820px; margin-inline: auto; }
.tk-hero2 .lead { margin-inline: auto; }
.tk-hero2 .btn-group { justify-content: center; }
.tk-hero2__arches { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: clamp(10px, 2vw, 28px); align-items: end; max-width: 980px; margin: clamp(40px, 6vw, 72px) auto 0; }
.tk-arch { position: relative; z-index: 1; overflow: hidden; border-radius: 999px 999px 26px 26px; border: 3px solid var(--tk-card-edge); box-shadow: 0 8px 0 var(--tk-drop); background: var(--surface-2); }
.tk-arch img { width: 100%; aspect-ratio: 3 / 4; }
.tk-arch--a { transform: translateY(-4%); }
.tk-arch--b img { aspect-ratio: 3 / 3.9; }
.tk-hero2__sp { top: 22%; left: 6%; width: 70px; }
.tk-hero2__ht { top: 30%; right: 8%; width: 44px; }
@media (max-width: 767px) { .tk-hero2__sp, .tk-hero2__ht { display: none; } }
.tk-collage { position: relative; aspect-ratio: 1 / 1.02; max-width: 540px; margin-inline: auto; }
.tk-collage .tk-blob { position: absolute; }
.tk-collage__a { left: 0; top: 0; width: 70%; }
.tk-collage__b { right: 0; top: 30%; width: 44%; }
.tk-collage__c { left: 12%; bottom: 0; width: 36%; }
.tk-areas li { display: flex; gap: 16px; padding: 16px 0; border-bottom: 2px dashed var(--line); }
.tk-areas h3 { font-size: 1.2rem; margin: 2px 0 4px; }
.tk-areas p { margin: 0; color: var(--muted); }
.tk-area__ic { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 45% 55% 52% 48%; background: var(--tk-grass-soft); color: var(--tk-grass-ink); border: 2px solid var(--tk-grass); font-size: 1.5rem; }
.tk-areas li:nth-child(2) .tk-area__ic { background: var(--tk-sun-soft); color: var(--tk-sun-ink); border-color: var(--tk-sun); }
.tk-areas li:nth-child(3) .tk-area__ic { background: var(--tk-sky-soft); color: var(--tk-sky-ink); border-color: var(--tk-sky); }
.tk-areas li:nth-child(4) .tk-area__ic { background: var(--tk-berry-soft); color: var(--tk-berry-ink); border-color: var(--tk-berry); }

/* 14. Home 3 – After-school & camp -------------------------------------- */
.tk-hero3 { padding-top: calc(var(--header-h) + clamp(30px, 5vw, 70px)); background: var(--tk-berry-soft); overflow: visible; margin-bottom: 46px; }
.tk-hero3::after { content: ""; position: absolute; left: 0; right: 0; top: calc(100% - 1px); height: 46px; background: inherit; transform: scaleY(-1); -webkit-mask: var(--tk-wave) center / 100% 100% no-repeat; mask: var(--tk-wave) center / 100% 100% no-repeat; }
.tk-hero3 { --tk-crayon: var(--tk-crayon-sky); }
.tk-hero3__grid { display: grid; gap: 56px; align-items: center; }
.tk-hero3__grid > * { min-width: 0; }
@media (min-width: 1024px) { .tk-hero3__grid { grid-template-columns: 1fr 1fr; } }
.tk-hero3__schools { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.tk-hero3__schools li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--surface); border: 2px solid var(--tk-card-edge); font-weight: 700; font-size: .88rem; }
.tk-hero3__schools .ti { color: var(--tk-berry-ink); }
.tk-hero3__art { position: relative; width: 100%; max-width: 560px; margin-inline: auto; aspect-ratio: 1 / 1.02; }
.tk-pola { position: absolute; padding: 10px 10px 0; background: #fff; border: 2.5px solid var(--tk-edge); box-shadow: 0 7px 0 var(--tk-drop); border-radius: 8px; color: #1f2a4d; }
.tk-pola img { width: 100%; aspect-ratio: 1; border-radius: 4px; }
.tk-pola figcaption { font-family: var(--font-logo); font-size: 1.1rem; text-align: center; padding: 8px 0 10px; }
.tk-pola--a { width: 60%; left: 4%; top: 2%; transform: rotate(-6deg); z-index: 1; }
.tk-pola--b { width: 46%; right: 0; top: 18%; transform: rotate(7deg); z-index: 2; }
.tk-pola--c { width: 44%; left: 22%; bottom: 0; transform: rotate(-2deg); z-index: 3; }
.tk-ticket { position: absolute; z-index: 4; right: 0; bottom: 6%; display: flex; flex-direction: column; padding: 14px 22px; background: var(--tk-sun); color: #1f2a4d; border: 2.5px dashed #1f2a4d; border-radius: 16px; transform: rotate(5deg); box-shadow: 0 5px 0 var(--tk-drop); line-height: 1.25; -webkit-mask: radial-gradient(circle at 0 50%, transparent 10px, #000 10.5px) left / 51% 100% no-repeat, radial-gradient(circle at 100% 50%, transparent 10px, #000 10.5px) right / 51% 100% no-repeat; mask: radial-gradient(circle at 0 50%, transparent 10px, #000 10.5px) left / 51% 100% no-repeat, radial-gradient(circle at 100% 50%, transparent 10px, #000 10.5px) right / 51% 100% no-repeat; }
.tk-ticket small { font-size: .74rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.tk-ticket b { font-family: var(--font-head); font-size: 1.4rem; font-weight: 700; }
.tk-ticket span { font-size: .82rem; }
.tk-hero3__star { top: -2%; right: 40%; width: 44px; z-index: 5; }
.tk-hero3__sq { bottom: 2%; left: -4%; }
.tk-clubs { display: grid; gap: 24px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tk-clubs { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tk-clubs { grid-template-columns: repeat(3, 1fr); } }
.tk-clubs > * { min-width: 0; }
.tk-club { padding-bottom: 24px; border-radius: 32px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 7px 0 var(--tk-c); overflow: hidden; transition: transform .4s var(--ease); }
.tk-club:hover { transform: translateY(-6px) rotate(-.8deg); }
.tk-club__img { position: relative; margin-bottom: 30px; }
.tk-club__img img { width: 100%; aspect-ratio: 16 / 11; border-bottom: 3px solid var(--tk-card-edge); border-radius: 0 0 50% 50% / 0 0 14% 14%; }
.tk-club__ic { position: absolute; left: 22px; bottom: -26px; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 45% 55% 52% 48%; background: var(--tk-c); color: #1f2a4d; border: 2.5px solid var(--tk-edge); font-size: 1.6rem; box-shadow: 0 4px 0 var(--tk-drop); }
.tk-club h3 { font-size: 1.3rem; margin: 0 24px 6px; }
.tk-club p { margin: 0 24px; color: var(--muted); }
.tk-weekwrap { display: grid; gap: 40px; align-items: center; }
.tk-weekwrap > * { min-width: 0; }
@media (min-width: 1024px) { .tk-weekwrap { grid-template-columns: .9fr 1.1fr; gap: 64px; } }
.tk-weekwrap__img { max-width: 420px; margin-top: 10px; }
@media (max-width: 1023px) { .tk-weekwrap__img { display: none; } }
.tk-week { padding: clamp(18px, 3vw, 32px); border-radius: 34px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 8px 0 var(--tk-drop); }
.tk-week .tabs__list { margin-bottom: 22px; gap: 6px; }
.tk-wk li { display: grid; grid-template-columns: 54px 44px 1fr; grid-template-areas: "t i n" "t i r"; align-items: center; column-gap: 10px; padding: 12px 0; border-bottom: 2px dashed var(--line); }
@media (min-width: 640px) { .tk-wk li { grid-template-columns: 64px 48px 1fr auto; grid-template-areas: "t i n r"; } }
.tk-wk time { grid-area: t; font-family: var(--font-head); font-weight: 600; font-size: 1.1rem; }
.tk-wk__ic { grid-area: i; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--tk-sky-soft); color: var(--tk-sky-ink); font-size: 1.3rem; }
.tk-wk li:nth-child(2) .tk-wk__ic { background: var(--tk-sun-soft); color: var(--tk-sun-ink); }
.tk-wk li:nth-child(3) .tk-wk__ic { background: var(--tk-berry-soft); color: var(--tk-berry-ink); }
.tk-wk__end .tk-wk__ic { background: var(--tk-grass-soft); color: var(--tk-grass-ink); }
.tk-wk b { grid-area: n; font-family: var(--font-head); font-weight: 600; font-size: 1.1rem; line-height: 1.2; }
.tk-wk em { grid-area: r; font-style: normal; display: inline-flex; align-items: center; gap: 4px; color: var(--muted); font-size: .9rem; }
.tk-camps { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tk-camps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tk-camps { grid-template-columns: repeat(4, 1fr); } }
.tk-camps > * { min-width: 0; }
.tk-camp { position: relative; padding: 22px; border-radius: 28px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 6px 0 var(--tk-c); transition: transform .35s var(--ease); }
.tk-camp:hover { transform: translateY(-5px) rotate(1deg); }
.tk-camp__ic { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 45% 55% 52% 48%; background: var(--tk-c); color: #1f2a4d; border: 2.5px solid var(--tk-edge); font-size: 1.6rem; margin-bottom: 14px; }
.tk-camp small { font-weight: 700; color: var(--muted); }
.tk-camp h3 { font-size: 1.25rem; margin: 2px 0 14px; }
.tk-camp__bar { height: 12px; border-radius: 999px; background: var(--surface-2); border: 2px solid var(--line); overflow: hidden; }
.tk-camp__bar i { display: block; height: 100%; border-radius: inherit; background: var(--tk-c); }
.tk-camp p { display: flex; justify-content: space-between; gap: 8px; margin: 10px 0 0; font-size: .9rem; }
.tk-camp p span { font-weight: 700; color: var(--tk-c-ink); }
.tk-camp.is-full { box-shadow: 0 6px 0 var(--line); }
.tk-camp.is-full .tk-camp__ic { filter: grayscale(1); opacity: .6; }
.tk-camp.is-full p span { color: var(--tk-berry-ink); }
.tk-plans { display: grid; gap: 26px; grid-template-columns: 1fr; align-items: stretch; }
@media (min-width: 1024px) { .tk-plans { grid-template-columns: repeat(3, 1fr); align-items: center; } }
.tk-plans > * { min-width: 0; }
.tk-plan { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 32px 28px; border-radius: 36px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 7px 0 var(--tk-c); }
.tk-plan.is-hot { box-shadow: 0 10px 0 var(--tk-drop); border-color: var(--tk-edge); padding-block: 44px; }
@media (min-width: 1024px) { .tk-plan.is-hot { transform: scale(1.04); } }
.tk-plan__tag { position: absolute; top: -18px; right: 22px; transform: rotate(4deg); }
.tk-plan h3 { font-size: 1.4rem; margin: 0; }
.tk-plan__price { margin: 0; }
.tk-plan__price b { display: block; font-family: var(--font-head); font-size: 3rem; font-weight: 700; line-height: 1; color: var(--tk-c-ink); }
.tk-plan__price small { color: var(--muted); font-weight: 700; }
.tk-plan ul { flex: 1; }
.tk-plan li { display: flex; gap: 10px; padding: 6px 0; }
.tk-plan li .ti { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--tk-c); color: #1f2a4d; font-size: .85rem; margin-top: 2px; }
.tk-plan .btn { width: 100%; margin-top: 8px; }
.tk-faqimg { max-width: 360px; margin-top: 28px; }
@media (max-width: 1023px) { .tk-faqimg { display: none; } }

/* 15. Home 4 – Nanny agency --------------------------------------------- */
.tk-hero4 { padding-top: calc(var(--header-h) + clamp(28px, 5vw, 64px)); }
.tk-hero4__art::before { content: ""; position: absolute; z-index: -1; inset: -12% -14% -10% -16%; border-radius: 42% 58% 38% 62% / 55% 42% 58% 45%; background: var(--tk-sun-soft); }
.tk-hero4__grid { display: grid; gap: 48px; align-items: start; }
.tk-hero4__grid > * { min-width: 0; }
@media (min-width: 1024px) { .tk-hero4__grid { grid-template-columns: 1.1fr .9fr; gap: 56px; } }
.tk-hero4__trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.tk-hero4__trust li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 999px; background: var(--surface); border: 2px solid var(--tk-card-edge); font-size: .92rem; }
.tk-hero4__trust .ti { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--tk-grass-soft); color: var(--tk-grass-ink); }
.tk-hero4__art { position: relative; max-width: 520px; margin-top: 40px; }
.tk-hero4__img img { aspect-ratio: 6 / 5; }
.tk-hero4__seal { position: absolute; right: -10px; top: -26px; }
.tk-hero4__ht { bottom: -14px; left: -10px; width: 46px; }
.tk-finder { display: grid; gap: 16px; padding: clamp(22px, 3.2vw, 34px); border-radius: 36px; background: var(--surface); border: 3px solid var(--tk-edge); box-shadow: 10px 12px 0 var(--tk-berry); }
[data-theme="dark"] .tk-finder { border-color: #2f4887; }
@media (min-width: 1024px) { .tk-finder { position: sticky; top: 110px; } }
.tk-finder__h { display: flex; align-items: center; gap: 10px; font-size: 1.5rem; margin: 0; }
.tk-finder__h .ti { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--tk-sky); color: #1f2a4d; font-size: 1.3rem; }
.tk-types { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tk-type { position: relative; cursor: pointer; }
.tk-type span { display: flex; align-items: center; gap: 8px; height: 100%; padding: 11px 12px; border-radius: 16px; border: 2.5px solid var(--line); background: var(--surface-2); font-weight: 700; font-size: .92rem; line-height: 1.2; transition: all .25s var(--ease); }
.tk-type .ti { font-size: 1.3rem; color: var(--tk-sky-ink); }
.tk-type input:checked + span { background: var(--tk-sky); color: #1f2a4d; border-color: var(--tk-edge); box-shadow: 0 3px 0 var(--tk-drop); }
.tk-type input:checked + span .ti { color: #1f2a4d; }
.tk-finder__kids { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 10px 14px; border-radius: 16px; background: var(--surface-2); }
.tk-finder__kids > span { font-family: var(--font-head); font-weight: 500; }
.tk-finder__kids small { color: var(--muted); font-size: .82rem; }
.tk-step-q { display: inline-flex; align-items: center; gap: 4px; padding: 3px; border-radius: 14px; background: var(--surface); border: 2px solid var(--line); }
.tk-step-q button { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--tk-sun-soft); }
.tk-step-q button:hover { background: var(--tk-sun); color: #1f2a4d; }
.tk-step-q output { min-width: 26px; text-align: center; font-family: var(--font-head); font-weight: 700; font-size: 1.15rem; }
.tk-finder__est { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 6px 14px; padding: 14px 18px; border-radius: 20px; background: var(--tk-sun); color: #1f2a4d; border: 2.5px dashed #1f2a4d; }
.tk-finder__est small { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.tk-finder__est b { font-family: var(--font-head); font-size: 2.4rem; font-weight: 700; line-height: 1; }
.tk-finder__est p { margin: 0; font-weight: 700; font-size: .9rem; }
.tk-carers { display: grid; gap: 22px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .tk-carers { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tk-carers { grid-template-columns: repeat(3, 1fr); } }
.tk-carers > * { min-width: 0; }
.tk-carer { padding: 22px; border-radius: 30px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 7px 0 var(--tk-c); transition: transform .35s var(--ease); }
.tk-carer:hover { transform: translateY(-5px) rotate(-.6deg); }
.tk-carer__top { display: flex; gap: 14px; align-items: flex-start; }
.tk-carer__top img { flex: none; width: 68px; height: 68px; border-radius: 45% 55% 50% 50% / 55% 45% 55% 45%; border: 3px solid var(--tk-c); }
.tk-carer__top > div { flex: 1; min-width: 0; }
.tk-carer h3 { font-size: 1.15rem; margin: 0; }
.tk-carer__top p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.3; }
.tk-carer__stars { font-weight: 700; font-size: .88rem; }
.tk-carer__rate { flex: none; padding: 6px 10px; border-radius: 14px; background: var(--tk-c); color: #1f2a4d; border: 2px solid var(--tk-edge); font-size: .8rem; line-height: 1.1; text-align: center; transform: rotate(4deg); }
.tk-carer__rate b { display: block; font-family: var(--font-head); font-size: 1.3rem; }
.tk-carer__badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0 12px; }
.tk-carer__badges li { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; background: var(--tk-grass-soft); color: var(--tk-grass-ink); font-size: .78rem; font-weight: 700; }
.tk-carer__lang { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; font-size: .9rem; color: var(--muted); }
.tk-carer__av { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 700; font-size: .9rem; color: var(--muted); }
.tk-carer__av i { width: 10px; height: 10px; border-radius: 50%; background: var(--muted); }
.tk-carer__av.is-on { color: var(--tk-grass-ink); }
.tk-carer__av.is-on i { background: var(--tk-grass); box-shadow: 0 0 0 4px color-mix(in srgb, var(--tk-grass) 30%, transparent); animation: tk-pulse 1.8s ease-in-out infinite; }
@keyframes tk-pulse { 50% { box-shadow: 0 0 0 8px transparent; } }
.tk-ratewrap { display: grid; gap: 40px; align-items: start; }
.tk-ratewrap > * { min-width: 0; }
@media (min-width: 1024px) { .tk-ratewrap { grid-template-columns: .9fr 1.1fr; gap: 64px; } }

/* 16. Page header & inner pages ----------------------------------------- */
.tk-ph { background: var(--tk-c-soft); overflow: visible; margin-bottom: 46px; padding-bottom: clamp(40px, 5vw, 64px); }
.tk-ph::after { content: ""; position: absolute; left: 0; right: 0; top: calc(100% - 1px); height: 46px; background: inherit; transform: scaleY(-1); -webkit-mask: var(--tk-wave) center / 100% 100% no-repeat; mask: var(--tk-wave) center / 100% 100% no-repeat; }
.tk-ph--sun { --tk-crayon: var(--tk-crayon-berry); }
.tk-ph__in { display: grid; gap: 40px; align-items: center; }
.tk-ph__in > * { min-width: 0; }
@media (min-width: 1024px) { .tk-ph__in { grid-template-columns: 1.3fr .7fr; } }
.page-header h1 { font-size: clamp(2.5rem, 6vw, 4.8rem); letter-spacing: -0.02em; line-height: 1.05; font-weight: 700; }
.tk-ph__art { position: relative; max-width: 380px; width: 100%; margin-inline: auto; }
@media (max-width: 1023px) { .tk-ph__art { max-width: 280px; } }
.tk-ph__sticker { position: absolute; left: -6px; bottom: 8%; }
.tk-ph__star { top: -10px; right: 8%; width: 44px; }
.tk-ph__spiral { bottom: -6px; right: -6px; width: 56px; }
.breadcrumb { font-weight: 700; }
.tk-table { overflow-x: auto; border-radius: 28px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 7px 0 var(--tk-drop); }
.tk-table table { width: 100%; min-width: 520px; border-collapse: collapse; }
.tk-table th, .tk-table td { padding: 14px 18px; text-align: left; border-bottom: 2px dashed var(--line); vertical-align: middle; }
.tk-table thead th { background: var(--tk-sun-soft); font-family: var(--font-head); font-weight: 600; font-size: .95rem; border-bottom: 0; }
.tk-table tbody th { font-weight: 700; }
.tk-table tbody th small { display: block; font-weight: 400; color: var(--muted); font-size: .85rem; }
.tk-table tbody th .ti { font-size: 1.4rem; color: var(--tk-berry-ink); }
.tk-table tbody th:has(.ti) { display: flex; align-items: center; gap: 12px; }
.tk-table td b { font-family: var(--font-head); font-size: 1.2rem; font-weight: 600; }
.tk-table tbody tr:last-child th, .tk-table tbody tr:last-child td { border-bottom: 0; }
.tk-table tbody tr:hover { background: var(--tk-sky-soft); }
.tk-table__note { display: flex; gap: 8px; margin: 0; padding: 12px 18px 14px; color: var(--muted); font-size: .88rem; border-top: 2px dashed var(--line); }
.tk-table__note .ti { flex: none; margin-top: 3px; }
.tk-week .tk-table__note { border: 0; padding: 14px 0 0; }
.tk-dot { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background: var(--tk-c); border: 2px solid var(--tk-edge); margin-right: 8px; vertical-align: -1px; }
.tk-extras { display: grid; gap: 22px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .tk-extras { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tk-extras { grid-template-columns: repeat(4, 1fr); } }
.tk-extra { text-align: center; padding: 28px 22px; border-radius: 32px; background: var(--surface); border: 3px solid var(--tk-card-edge); box-shadow: 0 7px 0 var(--tk-drop); }
.tk-extra > .ti { font-size: 2.6rem; color: var(--tk-berry-ink); }
.tk-extra h3 { font-size: 1.25rem; margin: 10px 0 6px; }
.tk-extra p { color: var(--muted); margin: 0 0 14px; }
.tk-menu { display: grid; gap: 12px; }
@media (min-width: 640px) { .tk-menu { grid-template-columns: repeat(3, 1fr); } }
.tk-menu li { display: flex; flex-direction: column; gap: 4px; padding: 18px; border-radius: 22px; background: var(--tk-c-soft); }
.tk-menu .ti { font-size: 1.8rem; color: var(--tk-c-ink); }
.tk-menu small { font-weight: 700; color: var(--muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.tk-menu b { font-family: var(--font-head); font-weight: 600; font-size: 1.15rem; line-height: 1.2; }
.tk-roles { display: grid; gap: 10px; margin-top: 10px; }
.tk-roles li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border-radius: 20px; background: var(--surface); border: 2.5px solid var(--tk-card-edge); }
.tk-roles b { display: block; font-family: var(--font-head); font-weight: 600; font-size: 1.1rem; }
.tk-roles small { color: var(--muted); }
.tk-roles .btn { flex: none; }
.tk-docs { display: grid; gap: 10px; margin-top: 10px; }
.tk-doc { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 20px; background: var(--surface); border: 2.5px solid var(--tk-card-edge); box-shadow: 0 4px 0 var(--tk-drop); transition: transform .25s var(--ease); }
.tk-doc:hover { transform: translateY(-3px) rotate(-.5deg); }
.tk-doc > .ti:first-child { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--tk-sun); color: #1f2a4d; font-size: 1.3rem; flex: none; }
.tk-doc span { flex: 1; min-width: 0; }
.tk-doc b { display: block; }
.tk-doc small { color: var(--muted); }
.tk-doc > .ti:last-child { font-size: 1.3rem; color: var(--tk-sky-ink); }
.tk-appfeats { display: grid; gap: 12px; }
@media (min-width: 640px) { .tk-appfeats { grid-template-columns: 1fr 1fr; } }
.tk-appfeat { display: flex; gap: 12px; padding: 14px; border-radius: 20px; background: var(--tk-c-soft); }
.tk-appfeat > .ti { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 14px; background: var(--tk-c); color: #1f2a4d; font-size: 1.25rem; border: 2px solid var(--tk-edge); }
.tk-appfeat b { display: block; font-family: var(--font-head); font-weight: 600; }
.tk-appfeat small { color: var(--muted); font-size: .88rem; line-height: 1.4; display: block; }

/* 17. Generic components restyled --------------------------------------- */
.tabs__list { gap: 8px; }
.tabs__btn { padding: 10px 18px; border-radius: 16px; border: 2.5px solid var(--line); background: var(--surface-2); font-family: var(--font-head); font-weight: 600; transition: all .25s var(--ease); }
.tabs__btn:hover { background: var(--tk-sun-soft); color: var(--text); border-color: var(--tk-sun); }
.tabs__btn.is-active { background: var(--tk-sun); color: #1f2a4d; border-color: var(--tk-edge); box-shadow: 0 4px 0 var(--tk-drop); }
.tk-faqwrap { display: grid; gap: 40px; align-items: start; }
.tk-faqwrap > * { min-width: 0; }
@media (min-width: 1024px) { .tk-faqwrap { grid-template-columns: .8fr 1.2fr; gap: 64px; } }
.accordion { border-top: 0; display: grid; gap: 12px; }
.accordion__item { border: 2.5px solid var(--tk-card-edge); border-radius: 22px; background: var(--surface); padding-inline: 20px; box-shadow: 0 4px 0 var(--tk-drop); }
.accordion__btn { font-weight: 600; padding: 18px 0; }
.accordion__icon { border: 2px solid var(--tk-edge); background: var(--tk-sun-soft); color: var(--text); }
.accordion__item.is-open .accordion__icon { background: var(--tk-berry); color: #1f2a4d; border-color: var(--tk-edge); }
.accordion__panel p { padding-bottom: 18px; }
.socials a { border: 2px solid var(--line); border-radius: 14px; }
.socials a:hover { background: var(--tk-sun); color: #1f2a4d; }
.newsletter { border: 2.5px solid var(--tk-card-edge); border-radius: 22px; }
.newsletter .btn { min-height: 46px; box-shadow: 0 3px 0 var(--tk-drop); }
.form-success { border-radius: 16px; }
.to-top { background: var(--tk-sun); color: #1f2a4d; border: 2.5px solid var(--tk-edge); box-shadow: 0 4px 0 var(--tk-drop); border-radius: 18px; }
.preloader__bar { height: 8px; border-radius: 8px; }
.preloader__bar::after { background: var(--tk-berry); }
.cursor { background: var(--tk-berry); }

/* 18. Footer & 404 ------------------------------------------------------ */
.tk-foot { position: relative; margin-top: 70px; background: var(--tk-foot); color: #fffaf0; --text: #fffaf0; --muted: #c3cbe8; --line: rgba(255, 250, 240, .16); --surface: #283661; --surface-2: #2c3b69; --tk-card-edge: #3b4c80; padding-top: clamp(56px, 7vw, 90px); }
[data-theme="dark"] .tk-foot { --surface: #101a3f; --surface-2: #14204a; --tk-card-edge: #26376c; }
.tk-foot::before { content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% - 1px); height: 46px; background: inherit; -webkit-mask: var(--tk-wave) center / 100% 100% no-repeat; mask: var(--tk-wave) center / 100% 100% no-repeat; }
.tk-foot .logo { color: #fffaf0; }
.tk-foot__top { display: grid; gap: 28px; padding-bottom: 44px; border-bottom: 2px dashed var(--line); }
.tk-foot__top > * { min-width: 0; }
@media (min-width: 1024px) { .tk-foot__top { grid-template-columns: 1.25fr 1fr 1.2fr; gap: 40px; } }
.tk-foot__brand p { color: var(--muted); margin: 18px 0 0; max-width: 42ch; }
.tk-foot h4 { font-size: 1.1rem; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.tk-foot__hours, .tk-foot__news { padding: 22px; border-radius: 26px; background: var(--surface); border: 2.5px solid var(--tk-card-edge); }
.tk-foot__hours li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 2px dashed var(--line); }
.tk-foot__hours p { display: flex; align-items: center; gap: 6px; margin: 12px 0 0; color: var(--muted); font-size: .92rem; }
.tk-foot__hours h4 .ti { color: var(--tk-sun); }
.tk-foot__news p { color: var(--muted); }
.tk-foot__news .newsletter { max-width: none; background: #fffaf0; --text: #1f2a4d; --surface: #fffaf0; color: #1f2a4d; }
.tk-foot__cols { display: grid; gap: 28px 24px; grid-template-columns: repeat(2, 1fr); padding-block: 44px; }
@media (min-width: 1024px) { .tk-foot__cols { grid-template-columns: repeat(4, 1fr); } }
.tk-foot__col li { padding: 5px 0; }
.tk-foot__col a { color: var(--muted); transition: color .25s; }
.tk-foot__col a:hover { color: var(--tk-sun); }
.tk-foot__col address { font-style: normal; color: var(--muted); line-height: 1.9; }
.tk-foot__word { font-family: var(--font-logo); font-weight: 800; font-size: clamp(3.4rem, 16vw, 13rem); line-height: .95; text-align: center; overflow: hidden; padding: 10px 0 18px; user-select: none; white-space: nowrap; }
.tk-foot__word span { display: inline-block; transition: transform .35s var(--ease); }
.tk-foot__word span:hover { transform: translateY(-10px) rotate(-8deg); }
.tk-l0 { color: var(--tk-sky); } .tk-l1 { color: var(--tk-sun); } .tk-l2 { color: var(--tk-berry); } .tk-l3 { color: var(--tk-grass); }
.tk-foot .footer-bottom { border-top: 2px dashed var(--line); }
.error-page { position: relative; overflow: hidden; }
.error-page::before, .error-page::after { content: ""; position: absolute; z-index: -1; border-radius: 58% 42% 55% 45% / 49% 55% 45% 51%; }
.error-page::before { width: 46vw; height: 46vw; max-width: 560px; max-height: 560px; left: -10%; top: 12%; background: var(--tk-sky-soft); }
.error-page::after { width: 36vw; height: 36vw; max-width: 440px; max-height: 440px; right: -8%; bottom: 6%; background: var(--tk-berry-soft); border-radius: 42% 58% 38% 62% / 55% 42% 58% 45%; }
.error-page .code { font-weight: 700; letter-spacing: -0.02em; background: none; -webkit-text-fill-color: var(--tk-sun); color: var(--tk-sun); -webkit-text-stroke: 4px var(--tk-edge); text-shadow: 10px 10px 0 var(--tk-berry); }
[data-theme="dark"] .error-page .code { -webkit-text-stroke-color: #fffaf0; }
@media (max-width: 479px) {
  .tk-days { gap: 8px; }
  .tk-day span { width: 60px; height: 60px; font-size: 1.35rem; }
  .tk-finder { box-shadow: 6px 8px 0 var(--tk-berry); }
}
@media (max-width: 1023px) { .tk-cta__d1 { display: none; } }
