.tp{--tp-navy: var(--brand-navy, #003580);--tp-navy-deep: #00224f;--tp-action: #0071c2;--tp-sun: var(--sun, #febb02);--tp-ink: #0f1d33;--tp-muted: #55647a;--tp-line: #e0e7f0;--tp-paper: #f4f7fb;--tp-water: #e7f0fa;--tp-ok: #0f7b4f;--tp-warn: #b45309;--tp-stop: #b42318;--tp-ease: cubic-bezier(.22, 1, .36, 1);--tp-radius: 18px;--tp-shadow: 0 12px 30px rgba(0, 53, 128, .1);--tp-shadow-lift: 0 18px 40px rgba(0, 53, 128, .16);min-height:100vh;padding-top:68px;background:var(--tp-paper);color:var(--tp-ink);font-family:var(--font-sans, "Figtree", ui-sans-serif, system-ui, sans-serif);line-height:1.55}.tp--flush{padding-top:0}.tp *,.tp *:before,.tp *:after{box-sizing:border-box}.tp a{color:inherit}.tp :focus-visible{outline:2px solid var(--tp-action);outline-offset:3px;border-radius:6px}.tp-dark :focus-visible{outline-color:var(--tp-sun)}.tp-wrap{width:min(100%,1280px);margin:0 auto;padding:0 26px}.tp-wrap--narrow{width:min(100%,920px)}.tp-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.tp-display{font-family:var(--font-display, "Bricolage Grotesque", "Figtree", sans-serif);letter-spacing:-.02em}.tp-h2{margin:0;font-family:var(--font-display, "Bricolage Grotesque", "Figtree", sans-serif);font-size:clamp(1.55rem,2.9vw,2.2rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;text-wrap:balance}.tp-lead{margin:10px 0 0;max-width:680px;font-size:1.02rem;color:var(--tp-muted)}.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border:2px solid transparent;border-radius:12px;font:inherit;font-size:15px;font-weight:700;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .18s var(--tp-ease),border-color .18s var(--tp-ease),box-shadow .18s var(--tp-ease),transform .18s var(--tp-ease)}.tp-btn svg{width:18px;height:18px;flex-shrink:0}.tp-btn:disabled,.tp-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.tp-btn--sun{background:var(--tp-sun);color:var(--tp-navy)}.tp-btn--sun:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 8px 22px #febb0259}.tp-btn--navy{background:var(--tp-navy);color:#fff}.tp-btn--navy:hover:not(:disabled){background:#002d6e;box-shadow:0 8px 22px #00358040}.tp-btn--line{background:#fff;border-color:var(--tp-line);color:var(--tp-navy)}.tp-btn--line:hover:not(:disabled){border-color:var(--tp-navy)}.tp-btn--ghost{background:#ffffff1a;border-color:#ffffff57;color:#fff}.tp-btn--ghost:hover:not(:disabled){background:#ffffff2e}.tp-btn--sm{min-height:38px;padding:0 14px;font-size:14px}.tp-btn--block{width:100%}.tp-chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid var(--tp-line);border-radius:999px;background:#fff;color:var(--tp-ink);font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.tp-chip:hover{border-color:var(--tp-navy)}.tp-chip.is-on{border-color:var(--tp-navy);background:var(--tp-navy);color:#fff}.tp-tag{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:#e8f0fb;color:var(--tp-navy);font-size:12px;font-weight:600;white-space:nowrap}.tp-tag svg{width:13px;height:13px}.tp-tag--sun{background:#fff4cf;color:#7a5c00}.tp-tag--ok{background:#e3f5ec;color:var(--tp-ok)}.tp-tag--plain{background:var(--tp-paper);color:var(--tp-ink);font-weight:500}@media(max-width:640px){.tp-wrap{padding:0 16px}.tp-chip,.tp-btn--sm{min-height:44px}}@media(prefers-reduced-motion:reduce){.tp-btn{transition:none}}.tp-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tp-sec{padding:clamp(36px,5.2vw,72px) 0}.tp-sec--white{background:#fff;border-top:1px solid var(--tp-line);border-bottom:1px solid var(--tp-line)}.tp-sec__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 28px;margin-bottom:clamp(20px,3vw,32px)}.tp-kicker{display:inline-flex;align-items:center;gap:9px;margin:0 0 8px;font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tp-action)}.tp-kicker:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--tp-sun)}.tp-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:15px;font-weight:700;color:var(--tp-action);text-decoration:none}.tp-link svg{width:17px;height:17px;transition:transform .2s var(--tp-ease)}.tp-link:hover{text-decoration:underline;text-underline-offset:3px}.tp-link:hover svg{transform:translate(3px)}.tp-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin:0;padding:0;list-style:none}@media(min-width:560px){.tp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.tp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tp-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:559px){.tp-rail{display:grid;grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;gap:14px;margin:0 -16px;padding:2px 16px 12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.tp-rail::-webkit-scrollbar{display:none}.tp-rail>*{scroll-snap-align:start}}.tp-card{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--tp-line);border-radius:var(--tp-radius);background:#fff;box-shadow:0 1px 2px #00224f0a;isolation:isolate;transition:transform .25s var(--tp-ease),box-shadow .25s var(--tp-ease),border-color .25s var(--tp-ease)}.tp-card:hover{border-color:#c5d3e6;box-shadow:var(--tp-shadow-lift)}.tp-card__media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--tp-water)}.tp-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,22,54,.3),transparent 32%),linear-gradient(to top,rgba(0,22,54,.5),transparent 40%);pointer-events:none}.tp-card__img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--tp-ease)}.tp-card__ph{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(150deg,var(--tp-navy-deep),var(--tp-navy) 55%,#0a5ab0);color:#ffffff8c}.tp-card__ph svg{width:44px;height:44px;stroke-width:1.4}.tp-card__badges{position:absolute;top:12px;left:12px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tp-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:#fffffff0;color:var(--tp-navy);font-size:12px;font-weight:700;line-height:1.3;box-shadow:0 2px 8px #0014322e}.tp-badge svg{width:13px;height:13px}.tp-badge--premium{background:var(--tp-sun);color:var(--tp-navy-deep)}.tp-badge--featured{background:var(--tp-navy);color:#fff}.tp-badge--featured svg{color:var(--tp-sun)}.tp-card__next{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);margin:0;padding:5px 11px;border-radius:10px;background:#fffffff2;color:var(--tp-navy);font-size:12.5px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-card__next svg{width:14px;height:14px;flex-shrink:0;color:var(--tp-action)}.tp-card__body{display:flex;flex:1;flex-direction:column;gap:8px;padding:14px 16px 16px}.tp-card__kicker{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tp-action)}.tp-card__kicker svg{width:14px;height:14px;flex-shrink:0}.tp-card__title{margin:0;font-family:var(--font-display, "Bricolage Grotesque", "Figtree", sans-serif);font-size:1.12rem;font-weight:800;line-height:1.22;letter-spacing:-.01em;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tp-card__link{color:var(--tp-ink);text-decoration:none}.tp-card__link:after{content:"";position:absolute;inset:0;z-index:3;border-radius:var(--tp-radius)}.tp-card__link:focus-visible{outline:none}.tp-card__link:focus-visible:after{outline:3px solid var(--tp-action);outline-offset:-3px;box-shadow:inset 0 0 0 5px #fff}.tp-card:hover .tp-card__link{color:var(--tp-navy)}.tp-card__summary{margin:0;font-size:14px;line-height:1.5;color:var(--tp-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tp-card__facts{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--tp-muted)}.tp-card__facts li{display:inline-flex;align-items:center;gap:5px}.tp-card__facts svg{width:15px;height:15px;flex-shrink:0;color:var(--tp-action)}.tp-card__orig{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:12px;color:var(--tp-muted)}.tp-card__orig svg{width:13px;height:13px}.tp-card__foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:6px 12px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--tp-line)}.tp-card__rating{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:13px;color:var(--tp-muted)}.tp-card__rating svg{width:15px;height:15px;fill:var(--tp-sun);color:var(--tp-sun)}.tp-card__rating b{color:var(--tp-ink)}.tp-card__price{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:3px 6px;margin:0 0 0 auto;text-align:right}.tp-card__price small{font-size:12.5px;color:var(--tp-muted)}.tp-card__price b{font-family:var(--font-display, "Bricolage Grotesque", "Figtree", sans-serif);font-size:1.4rem;font-weight:800;letter-spacing:-.02em;color:var(--tp-navy)}.tp-card--compact .tp-card__body{gap:6px;padding:12px 14px 14px}.tp-card--compact .tp-card__title{font-size:1.02rem}.tp-card--compact .tp-card__price b{font-size:1.2rem}@media(prefers-reduced-motion:no-preference){.tp-card:hover{transform:translateY(-4px)}.tp-card:hover .tp-card__img{transform:scale(1.045)}}.tp-skel{border:1px solid var(--tp-line);border-radius:var(--tp-radius);background:#fff;overflow:hidden}.tp-skel__img,.tp-skel__line{background:linear-gradient(100deg,#e8eef6 30%,#f4f7fb,#e8eef6 70%) 0 0 / 220% 100%;animation:tp-shimmer 1.4s linear infinite}.tp-skel__img{aspect-ratio:4 / 3}.tp-skel__body{display:grid;gap:10px;padding:16px}.tp-skel__line{height:14px;border-radius:7px}.tp-skel__line--title{height:20px;width:82%}.tp-skel__line--short{width:46%}@keyframes tp-shimmer{to{background-position:-220% 0}}@media(prefers-reduced-motion:reduce){.tp-skel__img,.tp-skel__line{animation:none}}
