/* Public editorial, customer and support pages. Kept separate from the admin theme. */
body.tk-public.tk-secondary-page {
    --tk-page-paper: #f4f4f0;
    --tk-page-ink: #191d1b;
    --tk-page-muted: #717670;
    --tk-page-line: #dddfd8;
    --tk-page-accent: #1749e8;
    background: var(--tk-page-paper);
    color: var(--tk-page-ink);
}
body.tk-public.tk-secondary-page .main-content { background: transparent; }
body.tk-public.tk-secondary-page .page-title {
    margin: 10px 24px 0;
    overflow: hidden;
    border-radius: 24px;
    background: #e8ebe2;
    isolation: isolate;
}
body.tk-public.tk-secondary-page .page-title .paralaximg { min-height: 270px; opacity: 0; }
body.tk-public.tk-secondary-page .page-title .content .title {
    color: var(--tk-page-ink);
    font-size: clamp(44px, 6.4vw, 88px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.055em;
    margin-bottom: 24px;
}
body.tk-public.tk-secondary-page .page-title .content .breadcrumb,
body.tk-public.tk-secondary-page .page-title .content .breadcrumb :is(a,li) { color: #626960; font-size: 11px; }
body.tk-public.tk-secondary-page :is(.heading-section, .teknolite-blog-heading) h3 {
    color: var(--tk-page-ink);
    font-size: clamp(32px, 4.1vw, 62px);
    font-weight: 400 !important;
    line-height: 1.08;
    letter-spacing: -.055em;
    text-wrap: balance;
}
body.tk-public.tk-secondary-page :is(.heading-section, .teknolite-blog-heading) > p {
    max-width: 660px;
    color: var(--tk-page-muted);
    font-size: 16px;
    line-height: 1.75;
}
body.tk-public.tk-secondary-page .heading-section.text-center > p { margin-inline: auto; }
body.tk-public.tk-secondary-page :is(.text-primary, .text_primary) { color: var(--tk-page-accent) !important; }
body.tk-public.tk-secondary-page :is(.teknolite-blog-search-wrap, .teknolite-blog-filter, .teknolite-case-filter) {
    margin-bottom: 30px;
}
body.tk-public.tk-secondary-page :is(.teknolite-blog-filter, .teknolite-case-filter) button {
    min-height: 42px;
    padding: 10px 20px;
    border: 1px solid var(--tk-page-line);
    border-radius: 100px;
    background: transparent;
    color: var(--tk-page-ink);
    font-size: 12px;
    transition: color .25s, background .25s, border-color .25s;
}
body.tk-public.tk-secondary-page :is(.teknolite-blog-filter, .teknolite-case-filter) button:is(.active, :hover) {
    border-color: var(--tk-page-ink);
    background: var(--tk-page-ink);
    color: white;
}
body.tk-public.tk-secondary-page :is(.teknolite-blog-grid, .teknolite-case-grid, .related-case-grid) {
    gap: 28px;
}
body.tk-public.tk-secondary-page :is(.teknolite-blog-card, .teknolite-case-card, .related-case-card) {
    overflow: hidden;
    border: 1px solid rgba(25,29,27,.05);
    border-radius: 22px;
    background: #fff;
    box-shadow: none;
    transition: box-shadow .45s, border-color .45s;
}
body.tk-public.tk-secondary-page :is(.teknolite-blog-card, .teknolite-case-card, .related-case-card):hover {
    border-color: rgba(25,29,27,.14);
    box-shadow: 0 18px 40px -30px rgba(25,29,27,.35);
}
body.tk-public.tk-secondary-page :is(.article-thumb, .case-image, .related-case-image) {
    overflow: hidden;
    border-radius: 20px;
    aspect-ratio: 1.36;
    margin: 8px;
}
body.tk-public.tk-secondary-page :is(.article-thumb, .case-image, .related-case-image) > a {
    display: block;
    height: 100%;
}
body.tk-public.tk-secondary-page :is(.article-thumb, .case-image, .related-case-image) img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .85s cubic-bezier(.2,.65,.2,1);
}
body.tk-public.tk-secondary-page :is(.teknolite-blog-card, .teknolite-case-card, .related-case-card):hover img {
    transform: scale(1.045);
}
body.tk-public.tk-secondary-page :is(.article-content, .case-content, .related-case-content) {
    padding: 22px 25px 28px;
}
body.tk-public.tk-secondary-page :is(.article-title, .case-title, .related-case-content h5) {
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.04em;
}
body.tk-public.tk-secondary-page :is(.article-label, .case-category) {
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 100px;
    padding: 6px 12px;
    background: rgba(255,255,255,.9);
    color: var(--tk-page-ink);
    font-size: 10px;
    backdrop-filter: blur(10px);
}
body.tk-public.tk-secondary-page :is(.article-description, .case-content > p) {
    color: var(--tk-page-muted);
    font-size: 14px;
    line-height: 1.7;
}
body.tk-public.tk-secondary-page :is(.teknolite-case-result, .teknolite-blog-result-info) {
    margin-bottom: 24px;
    color: var(--tk-page-muted);
    font-size: 12px;
}

/* Long-form reading and project stories */
body.tk-public.tk-page-blogdetail .teknolite-blog-detail { padding-top: 48px; padding-bottom: 90px; }
body.tk-public.tk-page-blogdetail .teknolite-blog-detail > .inner { max-width: 1000px; margin-inline: auto; }
body.tk-public.tk-page-blogdetail .teknolite-blog-title,
body.tk-public.tk-page-casestudydetail .case-project-name {
    font-size: clamp(38px, 5.2vw, 76px);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -.055em;
    color: var(--tk-page-ink);
    text-wrap: balance;
}
body.tk-public.tk-page-blogdetail .teknolite-featured-image {
    margin-block: 44px;
    border-radius: 24px !important;
    max-height: 620px !important;
}
body.tk-public.tk-page-blogdetail .teknolite-featured-image img { width: 100%; object-fit: cover; }
body.tk-public.tk-page-blogdetail .teknolite-article-content {
    max-width: 760px;
    margin-inline: auto;
    font-size: 17px;
    line-height: 1.85;
    color: #555d56;
}
body.tk-public.tk-page-blogdetail .teknolite-article-content :is(h2,h3,h4) {
    margin-block: 1.5em .65em;
    color: var(--tk-page-ink);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1.2;
}
body.tk-public.tk-page-blogdetail .teknolite-article-content blockquote {
    margin-block: 36px;
    padding: 24px 30px;
    border-left: 2px solid var(--tk-page-accent);
    background: #eaece5;
    font-size: 1.15em;
    color: var(--tk-page-ink);
}
body.tk-public.tk-page-blogdetail .teknolite-related-section .card {
    border-radius: 20px !important;
    box-shadow: none !important;
    background: white;
}
body.tk-public.tk-page-casestudydetail :is(.teknolite-case-header, .teknolite-case-content-section, .teknolite-related-cases) {
    padding-block: clamp(40px, 6vw, 84px);
    background: transparent;
}
body.tk-public.tk-page-casestudydetail .case-short-description { max-width: 650px; font-size: 18px; line-height: 1.75; color: var(--tk-page-muted); }
body.tk-public.tk-page-casestudydetail .case-detail-meta-box {
    border: 1px solid var(--tk-page-line);
    border-radius: 22px;
    background: #eceee7;
    box-shadow: none;
    padding: 30px;
}
body.tk-public.tk-page-casestudydetail .case-hero-image { border-radius: 26px; overflow: hidden; }
body.tk-public.tk-page-casestudydetail .case-overview-content { color: #555d56; font-size: 17px; line-height: 1.85; }

/* The company story uses quieter surfaces so the product imagery leads. */
body.tk-public.tk-page-about :is(.about-section, .core-values-section, .experience-section, .trusted-brands-section, .certification-section) {
    padding-block: clamp(48px, 7vw, 100px);
    background: transparent;
}
body.tk-public.tk-page-about .about-new-desc { color: #626960; font-size: 17px; line-height: 1.85; text-align: left !important; }
body.tk-public.tk-page-about .about-new-img-wrap { overflow: hidden; border-radius: 24px; }
body.tk-public.tk-page-about .about-stats {
    margin-top: 60px;
    border-top: 1px solid var(--tk-page-line);
    border-bottom: 1px solid var(--tk-page-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding-block: 34px;
}
body.tk-public.tk-page-about .about-stat .stat-number { color: var(--tk-page-ink); font-size: clamp(36px,4.2vw,62px); font-weight: 400; letter-spacing: -.06em; }
body.tk-public.tk-page-about .about-stat p { color: var(--tk-page-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
body.tk-public.tk-page-about :is(.vision-mission-box, .why-item, .certification-card) {
    border: 1px solid var(--tk-page-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: none;
    padding: clamp(24px, 3vw, 42px);
}
body.tk-public.tk-page-about .vision-mission-box { min-height: 300px; }
body.tk-public.tk-page-about .vision-mission-box h3 { font-size: clamp(28px,3vw,42px); font-weight: 400; letter-spacing: -.045em; line-height: 1.12; }
body.tk-public.tk-page-about .vision-mission-box .small-title { color: var(--tk-page-accent); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
body.tk-public.tk-page-about .core-values-section .tf-box-icon { border: 1px solid var(--tk-page-line); border-radius: 22px; background: #e9ece4; padding: 30px 25px; }
body.tk-public.tk-page-about .core-values-section .tf-box-icon .title { font-size: 24px; font-weight: 500; letter-spacing: -.035em; }
body.tk-public.tk-page-about .experience-row { overflow: hidden; border-radius: 26px; background: #e7eae1; }
body.tk-public.tk-page-about .experience-image { overflow: hidden; border-radius: 22px; }
body.tk-public.tk-page-about .experience-content h2 { font-size: clamp(36px,5vw,64px); line-height: 1.05; letter-spacing: -.055em; }
body.tk-public.tk-page-about .experience-content { padding: 32px; }
body.tk-public.tk-page-about .experience-content h3 { font-weight: 400; letter-spacing: -.035em; }

/* Contact and customer forms */
body.tk-public.tk-page-contact :is(.teknolite-contact-section, .teknolite-map-section, .teknolite-contact-cta) { padding-block: 50px; background: transparent; }
body.tk-public.tk-page-contact :is(.teknolite-contact-info, .teknolite-contact-form-wrap) {
    height: 100%;
    border: 1px solid var(--tk-page-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: none;
    padding: clamp(24px, 3.5vw, 44px);
}
body.tk-public.tk-page-contact .teknolite-contact-info { background: #e9ece4; }
body.tk-public.tk-page-contact :is(.teknolite-contact-info, .teknolite-contact-form-wrap) > h4 {
    font-size: 34px; font-weight: 400; letter-spacing: -.045em;
}
body.tk-public.tk-page-contact .contact-item-icon { border-radius: 50%; background: #fff; color: var(--tk-page-ink); }
body.tk-public.tk-page-contact .teknolite-contact-item { border-bottom: 1px solid var(--tk-page-line); padding-block: 18px; }
body.tk-public.tk-page-contact .teknolite-google-map { border-radius: 26px; overflow: hidden; }
body.tk-public.tk-page-contact .teknolite-contact-cta-box { background: #e8ece1; border-radius: 24px; box-shadow: none; }
body.tk-public.tk-secondary-page :is(.form-login, .form-account-details, #contactForm) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]), textarea, select) {
    border: 1px solid #dfe2da;
    border-radius: 12px;
    background: #fafbf7;
    color: var(--tk-page-ink);
    min-height: 52px;
    padding: 14px 16px;
    box-shadow: none;
    transition: border-color .25s, background .25s, box-shadow .25s;
}
body.tk-public.tk-secondary-page :is(.form-login, .form-account-details, #contactForm) :is(input,textarea,select):focus {
    border-color: var(--tk-page-accent);
    background: white;
    outline: none;
    box-shadow: 0 0 0 3px rgba(23,73,232,.08);
}
body.tk-public.tk-secondary-page :is(.form-login, .form-account-details, #contactForm) label { font-size: 12px; color: #555d56; }
body.tk-public.tk-secondary-page .login-wrap {
    gap: clamp(28px, 6vw, 90px);
    padding: clamp(26px, 4vw, 56px);
    border: 1px solid var(--tk-page-line);
    border-radius: 26px;
    background: white;
}
body.tk-public.tk-secondary-page .login-wrap > .right { border-radius: 20px; padding: 32px; background: #e9ece4; }
body.tk-public.tk-secondary-page .login-wrap h4 { font-size: clamp(27px,3vw,42px); font-weight: 400; line-height: 1.12; letter-spacing: -.045em; }
body.tk-public.tk-secondary-page .login-wrap .heading { margin-bottom: 28px; }
body.tk-public.tk-secondary-page .login-wrap :is(.tf-btn,button[type="submit"]) { min-height: 50px; border-radius: 100px; }
body.tk-public.tk-secondary-page :is(.sidebar-account,.account-details,.account-orders,.enquiry-detail-wrap) {
    border: 1px solid var(--tk-page-line);
    border-radius: 22px;
    background: white;
    box-shadow: none;
}
body.tk-public.tk-secondary-page :is(.account-details,.account-orders) { padding: clamp(22px,3vw,38px); }
body.tk-public.tk-secondary-page .sidebar-account { overflow: hidden; }
body.tk-public.tk-secondary-page .my-account-nav-item { border-radius: 12px; font-size: 13px; transition: background .25s, color .25s; }
body.tk-public.tk-secondary-page .my-account-nav-item.active { background: var(--tk-page-ink); color: white; }
body.tk-public.tk-secondary-page .wrap-account-order { border-radius: 14px; overflow-x: auto; }
body.tk-public.tk-secondary-page .teknolite-enquiry-table th { background: #e9ece4; color: #626960; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
body.tk-public.tk-secondary-page .teknolite-enquiry-table td { padding-block: 22px; font-size: 13px; }
body.tk-public.tk-page-enquirydetail .enquiry-summary-item { border: 1px solid var(--tk-page-line); border-radius: 16px; background: #f7f8f3; }
body.tk-public.tk-page-enquirydetail .teknolite-enquiry-detail { border: 1px solid var(--tk-page-line); border-radius: 22px; background: white; padding: clamp(22px,3vw,38px); }
body.tk-public.tk-page-enquirydetail .enquiry-info-box { border-radius: 16px; background: #f7f8f3; }

/* Legal documents and confirmation screens */
body.tk-public.tk-secondary-page .tk-legal-section { padding-block: clamp(40px,6vw,80px); background: transparent; }
body.tk-public.tk-secondary-page .tk-legal-header-card { background: #e9ece4; border: 1px solid var(--tk-page-line); border-radius: 24px; box-shadow: none; }
body.tk-public.tk-secondary-page .tk-legal-header-title { color: var(--tk-page-ink); font-size: clamp(30px,3.7vw,52px); line-height: 1.12; letter-spacing: -.045em; font-weight: 400; }
body.tk-public.tk-secondary-page :is(.tk-legal-nav-card, .tk-legal-content-card) { background: white; border: 1px solid var(--tk-page-line); border-radius: 20px; box-shadow: none; }
body.tk-public.tk-secondary-page .tk-legal-block { scroll-margin-top: 110px; }
body.tk-public.tk-secondary-page .tk-legal-block h4 { color: var(--tk-page-ink); font-size: 23px; font-weight: 500; letter-spacing: -.025em; }
body.tk-public.tk-secondary-page .tk-legal-block p { color: #626960; font-size: 15px; line-height: 1.85; }
body.tk-public.tk-secondary-page .tk-legal-toc-num { background: #e9ece4; color: var(--tk-page-ink); }
body.tk-public.tk-secondary-page .tk-legal-switch a.active { background: var(--tk-page-ink); color: #fff; }
body.tk-public.tk-page-thank_you .thank-you-section { background: var(--tk-page-paper); padding-block: clamp(60px,8vw,120px); }
body.tk-public.tk-page-thank_you :is(.bg-glow-1,.bg-glow-2) { display: none; }
body.tk-public.tk-page-thank_you .thank-you-card { background: white; border: 1px solid var(--tk-page-line); border-radius: 28px; box-shadow: 0 30px 70px -60px rgba(25,29,27,.4); }
body.tk-public.tk-page-thank_you .thank-you-title { color: var(--tk-page-ink); font-size: clamp(36px,4.6vw,60px); font-weight: 400; line-height: 1.1; letter-spacing: -.055em; }
body.tk-public.tk-page-thank_you .thank-you-text { color: #626960; font-size: 17px; line-height: 1.8; }
body.tk-public.tk-page-thank_you .ty-btn { border-radius: 100px; }
body.tk-public.tk-page-thank_you .ty-btn-primary { background: var(--tk-page-ink); border-color: var(--tk-page-ink); }

@media (max-width: 767px) {
    body.tk-public.tk-secondary-page .page-title { margin: 8px 10px 0; border-radius: 20px; }
    body.tk-public.tk-secondary-page .page-title .paralaximg { min-height: 220px; }
    body.tk-public.tk-secondary-page .page-title .content .title { font-size: clamp(38px, 8vw, 58px); margin-bottom: 20px; }
    body.tk-public.tk-secondary-page :is(.teknolite-blog-grid,.teknolite-case-grid,.related-case-grid) { gap: 20px; }
    body.tk-public.tk-secondary-page :is(.article-content,.case-content,.related-case-content) { padding: 20px; }
    body.tk-public.tk-secondary-page .login-wrap { padding: 24px 20px; gap: 30px; }
    body.tk-public.tk-secondary-page .login-wrap > .right { padding: 25px; }
    body.tk-public.tk-page-about .about-stats { gap: 20px; margin-top: 36px; }
    body.tk-public.tk-page-about .vision-mission-box { min-height: 0; }
    body.tk-public.tk-page-blogdetail .teknolite-blog-detail { padding-inline: 20px; }
    body.tk-public.tk-page-blogdetail .teknolite-featured-image { margin-block: 28px; }
    body.tk-public.tk-page-casestudydetail .case-detail-meta-box { padding: 24px; }
    body.tk-public.tk-page-contact .teknolite-contact-section { padding-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    body.tk-public.tk-secondary-page :is(.article-thumb,.case-image,.related-case-image) img { transition: none; }
    body.tk-public.tk-secondary-page :is(.teknolite-blog-card,.teknolite-case-card,.related-case-card):hover img { transform: none; }
}
