/* Teckvora light presentation layer. Existing application routes, state and
   API handlers remain owned by the original application bundle. */
:root.tk-light {
  color-scheme: light;
  --tk-ink: #14243d;
  --tk-muted: #607089;
  --tk-accent: #014e3a;
  --tk-border: #dfe8e3;
  --tk-soft: #f6f8f7;
  --tk-pale: #eef7f2;
  --tk-shadow: 0 8px 30px rgba(29, 57, 103, .055);
  background: #fff;
  scroll-padding-top: 100px;
  scroll-behavior: smooth;
}
.tk-light body { margin: 0; color: var(--tk-ink); background: #fff !important; font-family: Inter, 'Segoe UI', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.tk-light body::before, .tk-light body::after { display: none !important; }
.tk-light #root, .tk-light #root > div { background: #fff !important; min-width: 0; }
.tk-light *, .tk-light *::before, .tk-light *::after { box-sizing: border-box; }
.tk-light ::selection { background: #dcefe7; color: #14243d; }
.tk-light :focus-visible { outline: 3px solid #75b8a1 !important; outline-offset: 4px; }
.tk-light img { max-width: 100%; }
.tk-light :is(h1,h2,h3,h4,h5,h6) { color: var(--tk-ink) !important; letter-spacing: -.035em; }
.tk-light :is(p,li) { line-height: 1.85; }
.tk-light p { color: var(--tk-muted); }
.tk-light :is([class~='text-white'],[class~='text-black'],[class~='text-slate-200'],[class~='text-slate-300']) { color: var(--tk-ink) !important; }
.tk-light :is([class~='text-slate-400'],[class~='text-slate-500'],[class~='text-slate-700']) { color: var(--tk-muted) !important; }
.tk-light :is([class*='text-[#014e3a]'],[class*='text-emerald-']) { color: var(--tk-accent) !important; }
.tk-light :is([class*='border-white/'],[class*='border-[#014e3a]']) { border-color: var(--tk-border) !important; }
.tk-light [class*='border-[#020617]'] { border-color: #fff !important; }
.tk-light :is([class*='bg-[#020617]'],[class*='bg-slate-900'],[class*='bg-slate-950']) { background-color: #fff !important; }
.tk-light :is([class*='bg-white/'],[class*='bg-[#014e3a]/'],[class*='bg-emerald-900']) { background-color: var(--tk-pale) !important; }
.tk-light [class~='bg-[#014e3a]'] { background-color: #014e3a !important; color: #fff !important; }
.tk-light [class~='bg-[#014e3a]'] > :is(svg,span) { color: #fff !important; }
.tk-light [class*='bg-white/[0.0'] { background-color: #fff !important; }
.tk-light [class*='text-white/[0.0'] { color: #eaf0f8 !important; }
.tk-light :is(.orb,[class*='blur-[120px]'],[class*='blur-[100px]']) { display: none !important; }
.tk-light .bg-clip-text { color: var(--tk-accent) !important; background-image: none !important; -webkit-text-fill-color: var(--tk-accent) !important; }
.tk-light [class*='from-[#020617]'] { background-image: linear-gradient(0deg,#f3f8f500,#f3f8f500) !important; }
.tk-light .sci-fi-glass { background: #fff !important; border: 1px solid var(--tk-border) !important; box-shadow: var(--tk-shadow) !important; backdrop-filter: none !important; }
.tk-light :is(a,button) { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.tk-light :is(a,button).tk-primary,
.tk-light :is(a,button)[class~='bg-[#014e3a]'],
.tk-light :is(a,button)[class~='bg-white'][class~='text-black'] { background: var(--tk-accent) !important; color: #fff !important; border: 1px solid var(--tk-accent) !important; box-shadow: 0 6px 16px #014e3a18 !important; border-radius: 10px !important; }
.tk-light :is(a,button).tk-primary:hover,
.tk-light :is(a,button)[class~='bg-[#014e3a]']:hover,
.tk-light :is(a,button)[class~='bg-white'][class~='text-black']:hover { background: #01634a !important; color: #fff !important; }
.tk-light :is(a,button).tk-primary *, .tk-light :is(a,button)[class~='bg-[#014e3a]'] *, .tk-light :is(a,button)[class~='bg-white'][class~='text-black'] * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.tk-light :is(input,select,textarea) { color: var(--tk-ink) !important; background: #fff !important; border: 1px solid #d5dfed !important; border-radius: 10px !important; font-family: inherit; }
.tk-light :is(input,select,textarea)::placeholder { color: #8a97aa !important; opacity: 1; }
.tk-light :is(input,select,textarea):focus { border-color: #418e73 !important; box-shadow: 0 0 0 3px #014e3a12; }
.tk-light select option { color: #14243d; background: #fff; }
.tk-light input[type='checkbox'] { accent-color: var(--tk-accent); }
.tk-light label { color: #52627b !important; font-size: 11px !important; letter-spacing: .07em !important; }
.tk-light a:hover { text-decoration-color: #014e3a; }

/* One full-width sticky white header across every existing route. */
.tk-light body header::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: #d7e1db; pointer-events: none; z-index: 1; }
.tk-light body header:not(.tk-gallery-header) { position: sticky !important; top: 0 !important; left: auto !important; width: 100% !important; max-width: none !important; transform: none !important; translate: none !important; z-index: 1000 !important; margin: 0 !important; background: #fff !important; border-bottom: 0 !important; box-shadow: inset 0 -1px 0 #e6ece8, 0 3px 18px #22395904; }
.tk-light body header:not(.tk-gallery-header) > nav { min-height: 64px; width: 100%; max-width: none; margin: 0; padding: 10px 32px !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
.tk-light header img[alt*='Teckvora'], .tk-light footer img[alt*='Teckvora'] { filter: brightness(0) saturate(100%) invert(12%) sepia(15%) saturate(1900%) hue-rotate(177deg) brightness(92%); }
.tk-light header img[alt*='Teckvora'] { height: 25px !important; }
.tk-light header a { color: #526078 !important; }
.tk-light header a:hover, .tk-light header a[aria-current='page'] { color: var(--tk-accent) !important; }
.tk-light header nav > .hidden { gap: 24px !important; font-size: 12px !important; font-weight: 550 !important; }
.tk-light header nav > .hidden > a { min-height: 44px; display: inline-flex; align-items: center; position: relative; white-space: nowrap; }
.tk-light header nav > .hidden > a[aria-current='page']::after { content: ''; position: absolute; bottom: 2px; width: 19px; left: 0; height: 2px; border-radius: 5px; background: var(--tk-accent); }
.tk-light header button { color: #526078 !important; }
.tk-light header :is(a,button)[class~='bg-[#014e3a]'] { color: #fff !important; min-height: 42px; padding: 12px 19px !important; }
.tk-light header [class*='absolute'][class*='top-full'] { background: #fff !important; border: 1px solid #dfe8e3 !important; box-shadow: 0 12px 30px #233e6714 !important; border-radius: 12px !important; width: 272px !important; padding: 8px !important; display: grid; gap: 3px; top: calc(100% + 10px) !important; max-height: min(320px,calc(100dvh - 80px)) !important; }
.tk-light header [class*='absolute'][class*='top-full'] a { background: transparent !important; border-radius: 7px !important; padding: 11px 14px !important; min-height: 44px; line-height: 1.5; text-transform: none !important; font-size: 12px !important; letter-spacing: 0 !important; font-weight: 500 !important; }
.tk-light header [class*='absolute'][class*='top-full'] a:is(:hover,:focus-visible) { background: #eff7f3 !important; color: #014e3a !important; outline-offset: -2px !important; }
@media(min-width:1024px) {
  .tk-light header nav > .hidden > div:has(> button) { height: 44px; padding-block: 0 !important; display: flex; align-items: center; }
  .tk-light header nav > .hidden > div:has(> button)::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); width: 272px; height: 12px; }
}
.tk-light header [class*='fixed'][class*='h-screen'] { top: 64px !important; left: 0 !important; width: 100vw !important; height: calc(100dvh - 64px) !important; background: #fff !important; border-top: 1px solid #e7eee9; }
.tk-light header [class*='fixed'][class*='h-screen'][class~='translate-x-full'] { display: none !important; }
.tk-light header [class*='fixed'][class*='h-screen'] > div { padding-top: 35px !important; padding-bottom: 40px !important; gap: 20px !important; }
.tk-light header [class*='fixed'][class*='h-screen'] a { font-size: 19px !important; font-weight: 550 !important; }
.tk-light header [class*='fixed'][class*='h-screen'] [class~='bg-white/5'] { background: #f4f7fc !important; }
.tk-light header button[aria-label='Toggle Menu'] { width: 44px !important; height: 44px !important; border: 1px solid #e3eaf3; border-radius: 10px; display: grid; place-items: center; }
@media(min-width:1024px) { .tk-light header button[aria-label='Toggle Menu'] { display: none !important; } }

/* Compact home hero: original copy and calls to action. Demos stay below. */
.tk-light #home > div { min-height: auto !important; background: linear-gradient(145deg,#fff 45%,#edf7f2) !important; }
.tk-light #home > div > main { display: grid !important; grid-template-columns: minmax(0,1fr); align-items: start !important; justify-items: center; width: min(1280px,100%) !important; max-width: none !important; text-align: center !important; padding: 55px 32px 42px !important; margin: auto !important; }
.tk-light #home main > .sci-fi-glass { grid-column: 1; grid-row: 1; justify-self: center; padding: 8px 12px !important; border-radius: 25px !important; margin-bottom: 20px !important; background: #edf7f2 !important; border-color: #d6e9e0 !important; box-shadow: none !important; }
.tk-light #home main > .sci-fi-glass span { font-size: 9px !important; font-weight: 650 !important; color: #2e6c58 !important; letter-spacing: .12em !important; }
.tk-light #home main > .sci-fi-glass > div { background: #29866a !important; animation: none !important; }
.tk-light #home h1 { grid-column: 1; grid-row: 2; font-size: clamp(40px,4.4vw,60px) !important; font-weight: 700 !important; line-height: 1.08 !important; letter-spacing: -.055em !important; max-width: 960px; margin: 0 0 22px !important; }
.tk-light #home h1 span { color: #014e3a !important; -webkit-text-fill-color: #014e3a !important; }
.tk-light #home main > p { grid-column: 1; grid-row: 3; font-size: 15px !important; max-width: 720px !important; line-height: 1.9 !important; margin-bottom: 25px !important; }
.tk-light #home main > p + div { grid-column: 1; grid-row: 4; width: auto !important; padding: 0 !important; margin-bottom: 0 !important; justify-content: center !important; }
.tk-light #home main > p + div > a { padding: 15px 23px !important; min-height: 51px; font-size: 13px !important; border-radius: 10px !important; }
.tk-light #home main > .grid { grid-column: 1/-1; grid-row: 5; max-width: none !important; width: 100%; margin-top: 40px !important; gap: 22px !important; padding: 0 !important; }
.tk-light #home main > .grid > div { border-radius: 16px !important; padding: 27px !important; box-shadow: 0 8px 24px #29467406 !important; border-color: #dfe8e3 !important; }
.tk-light #home main > .grid h4 { font-size: 14px !important; font-weight: 650 !important; text-transform: none !important; letter-spacing: -.01em !important; margin-bottom: 9px !important; }
.tk-light #home main > .grid p { font-size: 12px !important; line-height: 1.9 !important; }
.tk-light #home main > .grid svg { width: 25px !important; height: 25px !important; color: var(--tk-accent) !important; }
.tk-light .tk-hero-preview { grid-column: 2; grid-row: 1/5; align-self: center; position: relative; padding-bottom: 35px; padding-left: 5px; }
.tk-light .tk-browser { border: 1px solid #dbe7e0; border-radius: 13px; overflow: hidden; background: #fff; box-shadow: 0 20px 50px #2d528f16; transform: rotate(1.5deg); }
.tk-light .tk-browser-bar { display: flex; align-items: center; gap: 5px; height: 31px; padding: 0 12px; background: #fafcfb; border-bottom: 1px solid #e5ece7; }
.tk-light .tk-browser-dot { width: 5px; height: 5px; border-radius: 50%; background: #cbd5e1; }
.tk-light .tk-browser-address { font-size: 8px; color: #8a97aa; margin: auto; padding-right: 17px; }
.tk-light .tk-browser img { width: 100%; height: auto; display: block; aspect-ratio: 1.45; object-fit: cover; object-position: top; }
.tk-light .tk-preview-caption { position: absolute; bottom: 0; right: -14px; display: flex; align-items: center; gap: 11px; max-width: 300px; background: #fff; border: 1px solid #e1eae4; border-radius: 12px; padding: 13px 18px; box-shadow: 0 10px 25px #29467410; }
.tk-light .tk-preview-caption > span { display: grid; place-items: center; background: #edf7f2; color: #014e3a; width: 32px; height: 32px; border-radius: 9px; font-size: 17px; }
.tk-light .tk-preview-caption strong { display: block; font-size: 11px; color: #243551; font-weight: 600; }
.tk-light .tk-preview-caption small { display: block; font-size: 9px; color: #7a879a; margin-top: 3px; }
.tk-light .tk-preview-caption::before { content: ''; position: absolute; left: -26px; top: -26px; width: 32px; height: 32px; border: 5px solid #cde6da; border-radius: 50%; z-index: -1; }
.tk-light #root main section { scroll-margin-top: 95px; }
.tk-light #root main section > section { padding-top: 85px !important; padding-bottom: 85px !important; }
.tk-light #services > section { background: #fff !important; }
.tk-light #projects > section { background: #f6f8f7 !important; }
.tk-light #testimonials > section { background: #fff !important; }
.tk-light #faq > section { background: #f3f8f5 !important; }
.tk-light #root main :is(section > div,[class*='max-w-7xl']) { min-width: 0; }
.tk-light #root main .sci-fi-glass { border-radius: 16px !important; }
.tk-light #services .sci-fi-glass { padding: 30px !important; background: #fff !important; }
.tk-light #services .sci-fi-glass h4 { font-size: 19px !important; font-weight: 650 !important; }
.tk-light #services .sci-fi-glass p { font-size: 13px !important; }
.tk-light #services .sci-fi-glass .border-l-4 { border-left-width: 0 !important; }
.tk-light #services [class*='bg-white/[0.02]']:not(.sci-fi-glass) { background: #eff7f3 !important; color: #527765 !important; border-color: #dfece5 !important; }
.tk-light #projects .sci-fi-glass { background: #fff !important; border-color: #dfe8e3 !important; }
.tk-light #projects [class*='bg-gradient-to-t'] { background: linear-gradient(0deg,#10213c44,transparent) !important; }
.tk-light #projects [class*='absolute'][class*='bottom'] { background: #fffffff5 !important; color: #275f49 !important; border: 1px solid #dde6f4 !important; box-shadow: 0 4px 15px #1d355b12; }
.tk-light #projects img { opacity: 1 !important; }
.tk-light #projects h4 { font-size: 23px !important; font-weight: 650 !important; }
.tk-light #projects [class*='border-white/5'] { border-color: #e1e7f0 !important; }
.tk-light #testimonials .sci-fi-glass { box-shadow: 0 5px 25px #243e6810 !important; padding: 29px !important; }
.tk-light #faq .sci-fi-glass { box-shadow: none !important; }
.tk-light #faq button { color: #273b5b !important; font-size: 14px !important; }
.tk-light #root main [class*='pt-32'] { padding-top: 68px !important; }
.tk-light #root main [class*='pt-40'] { padding-top: 75px !important; }
.tk-light #root main [class*='min-h-screen']:not(#home > div) { min-height: 60vh !important; }
.tk-light #root main h1:not(#home h1) { font-size: clamp(36px,4.7vw,61px) !important; font-weight: 700 !important; line-height: 1.13 !important; }
.tk-light #root main :is(h2,h3)[class*='md:text-4xl'] { font-size: clamp(28px,3.2vw,42px) !important; font-weight: 650 !important; line-height: 1.2 !important; }
.tk-light #root main [class*='tracking-[0.3em]'] { letter-spacing: .16em !important; font-weight: 650 !important; }
.tk-light #root main section[class*='bg-[#020617]'][class*='border'] { background: #f0f7f3 !important; }
.tk-light #root main [class*='shadow-[0_0_'] { box-shadow: 0 9px 26px #2d528f10 !important; }
.tk-light #root main .group:hover { border-color: #bddbcd !important; }
.tk-light #root main [class*='text-[10rem]'] { color: #dfede6 !important; }
.tk-light [class*='fixed'][class*='inset-0'][class*='bg-black'] { background: #1a305160 !important; }
.tk-light [role='dialog'], .tk-light [class*='fixed'][class*='inset-0'] [class*='bg-[#020617]'] { color: var(--tk-ink) !important; background: #fff !important; }
.tk-light [class~='bg-[#0a0f1e]'] { background: #fff !important; border: 1px solid #dfe8e3 !important; box-shadow: 0 24px 80px #213a6324 !important; }
.tk-light [class*='fixed'][class*='inset-0'][class*='bg-[#020617]/'] { background: #1e355d33 !important; }
.tk-light header [class*='absolute'][class*='top-full'] { margin-top: 0 !important; }

/* Website screenshot showcase, shared by the homepage and demo gallery. */
.tk-light .tk-showcase { width: min(1232px,calc(100% - 48px)); margin: 0 auto; padding: 75px 0; }
.tk-light .tk-showcase-heading { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 30px; }
.tk-light .tk-eyebrow { display: block; color: #014e3a !important; font-size: 10px; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 13px; }
.tk-light .tk-showcase h2 { font-size: clamp(28px,3vw,41px); font-weight: 650; line-height: 1.2; letter-spacing: -.04em; margin: 0; }
.tk-light .tk-showcase-heading p { color: #6c7b91 !important; font-size: 13px; line-height: 1.8; margin: 14px 0 0; max-width: 580px; }
.tk-light .tk-text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 550; color: #014e3a !important; padding: 10px 0; white-space: nowrap; }
.tk-light .tk-demo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.tk-light .tk-demo-card { background: #fff; border: 1px solid #dfe8e3; border-radius: 16px; overflow: hidden; box-shadow: 0 6px 22px #263f6507; transition: transform .25s,box-shadow .25s; min-width: 0; }
.tk-light .tk-demo-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px #263f6510; }
.tk-light .tk-demo-shot { display: block; position: relative; background: #eaf1ed; padding: 18px 18px 0; border-bottom: 1px solid #e7eee9; overflow: hidden; }
.tk-light .tk-demo-shot > img { width: 100%; aspect-ratio: 1.75; object-fit: cover; object-position: top; border-radius: 8px 8px 0 0; box-shadow: 0 8px 20px #22395815; display: block; }
.tk-light .tk-demo-status { position: absolute; top: 29px; left: 29px; background: #fffffff5; color: #014e3a; border: 1px solid #d9eae1; border-radius: 5px; font-size: 8px; padding: 5px 8px; letter-spacing: .04em; }
.tk-light .tk-demo-body { padding: 25px; }
.tk-light .tk-demo-category { display: block; color: #7b8ba3; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 9px; }
.tk-light .tk-demo-card h3 { font-size: 21px; font-weight: 650; line-height: 1.3; letter-spacing: -.03em; margin: 0 0 11px; }
.tk-light .tk-demo-card p { font-size: 12px; line-height: 1.9; margin: 0; color: #6b7b93 !important; }
.tk-light .tk-demo-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 20px; }
.tk-light .tk-demo-actions > span { font-size: 10px; color: #8794a7; }
.tk-light .tk-preview-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: #edf7f2; color: #014e3a !important; font-size: 11px; font-weight: 600; min-height: 42px; padding: 11px 15px; border: 1px solid #dbece3; border-radius: 8px; }
.tk-light .tk-preview-button:hover { background: #014e3a; color: #fff !important; }
.tk-light .tk-demo-note { display: flex; gap: 8px; align-items: center; justify-content: center; margin-top: 24px; font-size: 10px; color: #8794a7; line-height: 1.8; }
.tk-light .tk-demo-note::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: #7ab19a; flex-shrink: 0; }
.tk-light .tk-filter-row { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 25px; }
.tk-light .tk-filter-row button { font-family: inherit; font-size: 11px; color: #64748b; background: #fff; border: 1px solid #dfe8e3; min-height: 40px; padding: 9px 16px; border-radius: 8px; cursor: pointer; }
.tk-light .tk-filter-row button[aria-pressed='true'] { color: #fff; background: #014e3a; border-color: #014e3a; }
.tk-light [hidden] { display: none !important; }
.tk-light .tk-filter-result { font-size: 11px; color: #7b8ba3; margin-bottom: 20px; }

/* Footer retains every original link, contact detail and newsletter control. */
.tk-light body footer:not(.tk-gallery-footer) { margin-top: 0 !important; background: #f3f6f4 !important; border-top: 1px solid #e0e7f0 !important; color: #64748b !important; }
.tk-light body footer:not(.tk-gallery-footer) > div:not(.orb) { padding: 65px 32px 28px !important; max-width: 1280px !important; }
.tk-light footer :is(h3,h4) { color: #243551 !important; font-size: 13px !important; letter-spacing: 0 !important; font-weight: 650 !important; }
.tk-light footer p { color: #748299 !important; font-size: 12px !important; line-height: 1.9 !important; }
.tk-light footer a { color: #64748b !important; }
.tk-light footer a:hover { color: #014e3a !important; }
.tk-light footer li { color: #64748b !important; font-size: 12px !important; }
.tk-light footer ul > li { margin-top: 11px !important; }
.tk-light footer ul a { min-height: 30px; }
.tk-light footer svg { color: #577f6c !important; }
.tk-light footer .grid { gap: 35px !important; }
.tk-light footer [class*='border-t'] { border-color: #dfe7f0 !important; padding-top: 25px !important; }
.tk-light footer .sci-fi-glass { box-shadow: none !important; border-color: #dce7e0 !important; }
.tk-light footer input { min-height: 47px; font-size: 12px !important; }
.tk-light footer form > button { border-radius: 7px !important; font-size: 11px; }
.tk-light footer img[alt*='Teckvora'] { height: 25px !important; }
.tk-light footer [class*='tracking-widest'] { letter-spacing: 0 !important; }
.tk-light .tk-skip { position: fixed; left: 15px; top: -80px; z-index: 2000; background: #014e3a; color: white; padding: 13px 18px; border-radius: 8px; font-size: 13px; }
.tk-light .tk-skip:focus { top: 10px; }

/* Dedicated gallery: restyle its existing copy and image while retaining URL. */
.tk-light body.tk-gallery { background: #fff !important; color: #14243d !important; }
.tk-light .tk-gallery .container { width: min(1232px,calc(100% - 48px)); }
.tk-light .tk-gallery .hero { background: linear-gradient(125deg,#f5faf7,#fff); text-align: center; padding: 75px 25px 65px; border-bottom: 1px solid #e5eee8; }
.tk-light .tk-gallery .hero .eyebrow { border-color: #d9eae1; background: #edf7f2; color: #014e3a; font-size: 9px; }
.tk-light .tk-gallery .hero .status-dot { background: #29866a; box-shadow: none; }
.tk-light .tk-gallery .hero h1 { font-size: clamp(39px,4.5vw,63px); font-weight: 700; letter-spacing: -.05em; line-height: 1.12; }
.tk-light .tk-gallery .hero h1 span { color: #014e3a; }
.tk-light .tk-gallery .hero p { font-size: 14px; color: #6b7b93; }
.tk-light .tk-gallery .collection-title { margin-top: 50px; }
.tk-light .tk-gallery .collection-title .eyebrow { color: #014e3a; }
.tk-light .tk-gallery .collection-title h2 { color: #14243d; }
.tk-light .tk-gallery .collection-title > span { color: #8794a7; }
.tk-light .tk-gallery .showcase { background: #fff; border-color: #dfe8e3; box-shadow: 0 7px 30px #29467406; border-radius: 16px; }
.tk-light .tk-gallery .showcase-info :is(p,small) { color: #6e7e94; }
.tk-light .tk-gallery .showcase-info .eyebrow { color: #014e3a; }
.tk-light .tk-gallery .showcase-info h3 { font-weight: 650; }
.tk-light .tk-gallery .tags span { background: #f3f8f5; color: #587466; border-color: #e1ece5; }
.tk-light .tk-gallery .preview { background: #f3f8f5; }
.tk-light .tk-gallery .preview::after { background: linear-gradient(0deg,#0c182b80,transparent 75%); }
.tk-light .tk-gallery .preview-caption { color: #fff; }
.tk-light .tk-gallery .preview-caption > strong { color: #fff; }
.tk-light .tk-gallery .preview-label { background: #fff; color: #014e3a; border-color: #dae7fb; }
.tk-light .tk-gallery .detail { background: #fff; border-color: #dfe8e3; box-shadow: 0 4px 18px #29467404; }
.tk-light .tk-gallery .detail > span { color: #014e3a; }
.tk-light .tk-gallery .detail p { color: #6e7e94; }
.tk-light .tk-gallery .cta { background: #eff7f3; border-color: #deebe4; }
.tk-light .tk-gallery .cta p { color: #6b7b93; }
.tk-light .tk-gallery .button-primary { background: #014e3a; color: #fff; border-color: #014e3a; border-radius: 9px; }
.tk-light .tk-gallery .button-primary:hover { background: #01634a; }
.tk-light .tk-gallery .tk-showcase { width: 100%; padding-top: 45px; padding-bottom: 0; }
.tk-light .tk-gallery .tk-showcase h2 { font-size: 31px; }
.tk-light .tk-gallery-collection { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.tk-light .tk-gallery-collection > .collection-title,
.tk-light .tk-gallery-collection > .tk-gallery-intro,
.tk-light .tk-gallery-collection > .details { grid-column: 1/-1; }
.tk-light .tk-gallery-collection .collection-title { margin-bottom: 0; }
.tk-light .tk-gallery-intro > p { font-size: 13px; margin: 0 0 20px; color: #607089; }
.tk-light .tk-gallery-intro .tk-filter-result { margin-bottom: 0; }
.tk-light .tk-gallery-collection .showcase { display: flex; flex-direction: column; margin-top: 0 !important; }
.tk-light .tk-gallery-collection .preview { min-height: 280px; }
.tk-light .tk-gallery-collection .showcase-info { padding: 27px; width: 100%; }
.tk-light .tk-gallery-collection .showcase-info h3 { font-size: 25px; }
.tk-light .tk-gallery-collection .showcase-info > p { font-size: 12px; line-height: 1.9; }
.tk-light .tk-gallery-collection .showcase-info .button { font-size: 12px; min-height: 45px; }
.tk-light .tk-gallery-collection .preview::after { display: none; }
.tk-light .tk-gallery-collection .preview > .tk-gallery-screenshot { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.tk-light .tk-gallery-collection .preview > .tk-gallery-original { position: absolute; width: 65px; height: 45px; border: 2px solid white; border-radius: 5px; bottom: 12px; right: 12px; top: auto; left: auto; z-index: 3; box-shadow: 0 3px 10px #14243d18; }
.tk-light .tk-gallery-collection .preview-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 13px 88px 14px 18px; background: #fffffff2; border-top: 1px solid #dfe8e3; }
.tk-light .tk-gallery-collection .preview-caption > span { color: #446c5c; font-size: 8px; letter-spacing: .1em; }
.tk-light .tk-gallery-collection .preview-caption > strong { color: #14243d; font-size: 17px; margin-top: 5px; line-height: 1.3; font-family: inherit; font-weight: 600; letter-spacing: -.02em; }
.tk-light .tk-gallery-collection .preview-caption > strong br { display: none; }
.tk-light .tk-gallery-collection .preview-caption em { color: #014e3a; font-style: normal; }
.tk-light .tk-gallery-collection .preview-label { top: 13px; left: 13px; font-size: 8px; padding: 5px 8px; border-radius: 5px; }
@media(max-width:767px) { .tk-light .tk-gallery-collection { grid-template-columns: 1fr; } .tk-light .tk-gallery-collection .preview { min-height: 290px; } }
.tk-light .tk-gallery-header { position: sticky; top: 0; z-index: 1000; background: #fff; border-bottom: 0; box-shadow: inset 0 -1px 0 #e6ece8; }
.tk-light .tk-gallery-nav { min-height: 64px; display: flex; align-items: center; gap: 28px; width: 100%; max-width: none; margin: 0; padding: 10px 32px; }
.tk-light .tk-gallery-brand { margin-right: auto; flex-shrink: 0; }
.tk-light .tk-gallery-brand img { height: 25px; width: auto; }
.tk-light .tk-gallery-links { display: flex; gap: 23px; align-items: center; }
.tk-light .tk-gallery-links a { font-size: 12px; color: #526078; padding: 12px 0; font-weight: 550; white-space: nowrap; }
.tk-light .tk-gallery-links a[aria-current] { color: #014e3a !important; }
.tk-light .tk-gallery-cta { background: #014e3a; color: #fff !important; border-radius: 9px; padding: 12px 18px; font-size: 12px; white-space: nowrap; }
.tk-light .tk-gallery-menu-toggle { display: none; width: 44px; height: 44px; background: #fff; color: #14243d !important; border: 1px solid #dfe8e3; border-radius: 9px; font-size: 21px; }
.tk-light .tk-gallery-footer { background: #f3f6f4; border-top: 1px solid #dfe7f0; margin-top: 40px; }
.tk-light .tk-gallery-footer-main { display: grid; grid-template-columns: 1.3fr .8fr .9fr 1fr; gap: 45px; width: min(1232px,calc(100% - 48px)); margin: auto; padding: 55px 0 40px; }
.tk-light .tk-gallery-footer-main h3 { margin: 0 0 20px; }
.tk-light .tk-gallery-footer-main a:not(.tk-gallery-brand) { display: block; font-size: 12px; padding-block: 6px; }
.tk-light .tk-gallery-footer-main p { margin: 16px 0 0; }
.tk-light .tk-gallery-footer-bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; width: min(1232px,calc(100% - 48px)); margin: auto; padding: 24px 0; border-top: 1px solid #dfe7f0; font-size: 10px; color: #748299; }
.tk-light .tk-gallery-footer-bottom a { color: #014e3a !important; }

@media (max-width:1150px) {
  .tk-light header nav > .hidden { gap: 17px !important; font-size: 11px !important; }
  .tk-light #home > div > main { padding-top: 50px !important; }
  .tk-light #home h1 { font-size: 52px !important; }
  .tk-light .tk-preview-caption { right: 0; }
  .tk-light .tk-gallery-links { gap: 15px; }
}
@media (max-width:1023px) {
  .tk-light body header:not(.tk-gallery-header) > nav { padding: 8px 25px !important; min-height: 60px; }
  .tk-light header [class*='fixed'][class*='h-screen'] { top: 60px !important; height: calc(100dvh - 60px) !important; }
  .tk-light .tk-gallery-nav { padding: 8px 25px; min-height: 60px; }
  .tk-light .tk-gallery-links { display: none; }
  .tk-light .tk-gallery-menu-toggle { display: grid; place-items: center; }
  .tk-light .tk-gallery-header[data-menu-open='true'] .tk-gallery-links { display: flex; flex-direction: column; align-items: stretch; position: fixed; top: 60px; left: 0; width: 100%; height: calc(100dvh - 60px); background: #fff; border-top: 1px solid #e6eee9; padding: 25px; gap: 9px; overflow-y: auto; }
  .tk-light .tk-gallery-header[data-menu-open='true'] .tk-gallery-links a { text-align: center; font-size: 17px; padding-block: 10px; }
  .tk-light #home > div > main { padding-inline: 25px !important; column-gap: 35px; }
  .tk-light #home h1 { font-size: 46px !important; }
  .tk-light #home main > p { font-size: 13px !important; }
  .tk-light .tk-browser img { aspect-ratio: 1.1; }
  .tk-light #home main > .grid { margin-top: 45px !important; gap: 16px !important; }
  .tk-light #home main > .grid > div { padding: 22px !important; }
  .tk-light #home main > .grid h4 { font-size: 13px !important; }
  .tk-light .tk-demo-body { padding: 22px; }
  .tk-light .tk-gallery-footer-main { gap: 30px; }
}
@media (max-width:767px) {
  .tk-light #home > div > main { grid-template-columns: 1fr; padding-top: 49px !important; padding-bottom: 40px !important; }
  .tk-light #home h1 { font-size: clamp(40px,7.8vw,57px) !important; max-width: 580px; }
  .tk-light #home main > p { font-size: 14px !important; }
  .tk-light .tk-hero-preview { grid-column: 1; grid-row: 5; margin-top: 43px; padding: 0 10px 31px 0; max-width: 600px; }
  .tk-light .tk-browser img { aspect-ratio: 1.55; }
  .tk-light #home main > .grid { grid-row: 6; grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .tk-light #home main > .grid > div { padding: 20px !important; }
  .tk-light #home main > .grid h4 { font-size: 12px !important; }
  .tk-light #home main > .grid p { font-size: 11px !important; }
  .tk-light #root main section > section { padding-block: 60px !important; }
  .tk-light #root main [class*='pt-32'], .tk-light #root main [class*='pt-40'] { padding-top: 45px !important; }
  .tk-light .tk-demo-grid { gap: 18px; }
  .tk-light .tk-demo-body { padding: 20px; }
  .tk-light .tk-demo-card h3 { font-size: 19px; }
  .tk-light .tk-demo-shot { padding: 12px 12px 0; }
  .tk-light .tk-demo-status { top: 20px; left: 20px; font-size: 7px; }
  .tk-light .tk-demo-actions { flex-wrap: wrap; }
  .tk-light .tk-showcase { padding-block: 55px; }
  .tk-light footer .grid { grid-template-columns: 1fr 1fr !important; gap: 35px !important; }
  .tk-light .tk-gallery-footer-main { grid-template-columns: 1fr 1fr; }
  .tk-light .tk-gallery .hero { padding-block: 55px 45px; }
}
@media (max-width:520px) {
  .tk-light body header:not(.tk-gallery-header) > nav { padding: 8px 18px !important; min-height: 60px; }
  .tk-light header img[alt*='Teckvora'] { height: 23px !important; }
  .tk-light header [class*='fixed'][class*='h-screen'] { top: 60px !important; height: calc(100dvh - 60px) !important; }
  .tk-light #home > div > main { padding: 42px 20px 35px !important; }
  .tk-light #home main > .sci-fi-glass span { font-size: 7px !important; }
  .tk-light #home main > .sci-fi-glass { margin-bottom: 21px !important; }
  .tk-light #home h1 { font-size: 43px !important; line-height: 1.1 !important; margin-bottom: 21px !important; }
  .tk-light #home main > p { font-size: 13px !important; line-height: 1.85 !important; margin-bottom: 23px !important; }
  .tk-light .tk-hero-preview { margin-top: 37px; }
  .tk-light .tk-preview-caption { right: 0; padding: 11px 13px; }
  .tk-light .tk-preview-caption strong { font-size: 10px; }
  .tk-light .tk-preview-caption small { font-size: 8px; }
  .tk-light #home main > .grid { grid-template-columns: 1fr !important; margin-top: 35px !important; }
  .tk-light #home main > .grid > div { padding: 23px !important; }
  .tk-light #home main > .grid h4 { font-size: 15px !important; }
  .tk-light #home main > .grid p { font-size: 12px !important; }
  .tk-light #home main > .grid svg { margin-bottom: 12px !important; }
  .tk-light #services .sci-fi-glass { padding: 25px !important; }
  .tk-light #root main :is(h2,h3)[class*='md:text-4xl'] { font-size: 30px !important; }
  .tk-light #root main h1:not(#home h1) { font-size: 39px !important; }
  .tk-light #root main :is(input,select,textarea) { font-size: 16px !important; }
  .tk-light #root main [class*='p-12'] { padding: 26px !important; }
  .tk-light #root main [class*='px-10'] { padding-inline: 22px !important; }
  .tk-light .tk-showcase { width: calc(100% - 40px); padding-block: 48px; }
  .tk-light .tk-showcase-heading { display: block; margin-bottom: 23px; }
  .tk-light .tk-showcase-heading > a { margin-top: 12px; }
  .tk-light .tk-showcase h2 { font-size: 30px; }
  .tk-light .tk-showcase-heading p { font-size: 12px; }
  .tk-light .tk-demo-grid { grid-template-columns: 1fr; gap: 23px; }
  .tk-light .tk-demo-body { padding: 23px; }
  .tk-light .tk-demo-card h3 { font-size: 23px; }
  .tk-light .tk-demo-shot { padding: 15px 15px 0; }
  .tk-light .tk-demo-shot > img { aspect-ratio: 1.55; }
  .tk-light .tk-demo-status { top: 25px; left: 25px; font-size: 8px; }
  .tk-light .tk-demo-note { align-items: start; font-size: 9px; text-align: center; }
  .tk-light .tk-demo-note::before { margin-top: 6px; }
  .tk-light body footer:not(.tk-gallery-footer) > div:not(.orb) { padding: 45px 22px 25px !important; }
  .tk-light footer .grid { gap: 33px 24px !important; }
  .tk-light footer .grid > div:first-child, .tk-light footer .grid > div:last-child { grid-column: span 2; }
  .tk-light footer ul > li { margin-top: 7px !important; }
  .tk-light footer ul a { min-height: 34px; display: inline-flex; align-items: center; }
  .tk-light footer p { font-size: 11px !important; }
  .tk-light .tk-gallery .container { width: calc(100% - 36px); }
  .tk-light .tk-gallery .hero { padding: 45px 10px; }
  .tk-light .tk-gallery .hero h1 { font-size: 42px; }
  .tk-light .tk-gallery .hero p { font-size: 13px; }
  .tk-light .tk-gallery .collection-title { margin-top: 35px; }
  .tk-light .tk-gallery .collection-title h2 { font-size: 25px; }
  .tk-light .tk-gallery .preview { min-height: 300px; }
  .tk-light .tk-gallery .showcase-info { padding: 24px; }
  .tk-light .tk-gallery .showcase-info h3 { font-size: 28px; }
  .tk-light .tk-gallery .cta { padding: 27px; margin-block: 40px; }
  .tk-light .tk-gallery .cta h2 { font-size: 29px; }
  .tk-light .tk-gallery-nav { min-height: 60px; padding: 8px 18px; gap: 12px; }
  .tk-light .tk-gallery-cta { font-size: 11px; padding: 11px 13px; }
  .tk-light .tk-gallery-header[data-menu-open='true'] .tk-gallery-links { top: 60px; height: calc(100dvh - 60px); }
  .tk-light .tk-gallery-footer-main { width: calc(100% - 40px); padding-block: 40px 30px; gap: 30px; }
  .tk-light .tk-gallery-footer-main > div:first-child { grid-column: span 2; }
  .tk-light .tk-gallery-footer-bottom { width: calc(100% - 40px); font-size: 9px; }
}
/* Compact page typography and shared edge spacing, including wide displays.
   Keep reading widths inside sections while removing the outer canvas cap. */
:root.tk-light { --tk-gutter: clamp(48px,6vw,112px); }
.tk-light #root main :is(.max-w-7xl,.max-w-6xl) { max-width: none !important; }
.tk-light #root main :is(section,div)[class~='px-6'] { padding-inline: var(--tk-gutter) !important; }
.tk-light #home > div > main { width: 100% !important; padding: 36px var(--tk-gutter) 32px !important; }
.tk-light #root main h1:not(#home h1),
.tk-light .tk-gallery .hero h1 { font-size: 36px !important; line-height: 1.2 !important; letter-spacing: -.035em !important; margin-bottom: 18px !important; }
.tk-light #root main :is(h2,h3)[class*='text-4xl'],
.tk-light #root main :is(h2,h3)[class*='text-5xl'],
.tk-light #root main :is(h2,h3)[class*='text-6xl'],
.tk-light .tk-showcase h2,
.tk-light .tk-gallery .collection-title h2,
.tk-light .tk-gallery .cta h2 { font-size: 28px !important; line-height: 1.25 !important; }
.tk-light #root main :is(h3,h4)[class*='text-3xl'],
.tk-light .tk-gallery .showcase-info h3 { font-size: 23px !important; line-height: 1.3 !important; }
.tk-light body header:not(.tk-gallery-header) > nav,
.tk-light .tk-gallery-nav { padding-inline: 24px !important; }
.tk-light .tk-showcase,
.tk-light .tk-gallery .container,
.tk-light .tk-gallery-footer-main,
.tk-light .tk-gallery-footer-bottom { width: calc(100% - var(--tk-gutter) * 2); max-width: none; }
.tk-light .tk-gallery .tk-showcase { width: 100%; }
.tk-light body footer:not(.tk-gallery-footer) > div:not(.orb) { max-width: none !important; padding-inline: var(--tk-gutter) !important; }
.tk-light .tk-gallery .hero { padding: 34px 16px 30px; }
.tk-light .tk-gallery .hero .eyebrow { margin-bottom: 18px; }
.tk-light .tk-gallery .hero h1 { margin-top: 0; }
.tk-light .tk-gallery .hero p { margin-block: 0; }
.tk-light .tk-gallery .collection-title { margin-top: 32px; }
.tk-light .tk-gallery-links > a[href='/#projects'] ~ a[data-tk-portfolio] { display: none; }
@media (max-width:1023px) {
  :root.tk-light { --tk-gutter: 40px; }
}
@media (max-width:767px) {
  :root.tk-light { --tk-gutter: 24px; }
  .tk-light body header:not(.tk-gallery-header) > nav,
  .tk-light .tk-gallery-nav { padding-inline: 18px !important; }
  .tk-light #root main h1:not(#home h1),
  .tk-light .tk-gallery .hero h1 { font-size: 30px !important; }
  .tk-light #root main :is(h2,h3)[class*='text-4xl'],
  .tk-light #root main :is(h2,h3)[class*='text-5xl'],
  .tk-light #root main :is(h2,h3)[class*='text-6xl'],
  .tk-light .tk-showcase h2,
  .tk-light .tk-gallery .collection-title h2,
  .tk-light .tk-gallery .cta h2 { font-size: 25px !important; }
  .tk-light .tk-gallery .hero { padding: 28px 10px; }
}
/* Subpages start with their content instead of a large title/banner. */
.tk-light #root > div > main:not(:has(#home)) h1,
.tk-light #root > div > main:not(:has(#home)) :is(h2,p):has(+ h1),
.tk-light #root > div > main:not(:has(#home)) div.text-center.mb-20:has(> h1),
.tk-light #root > div > main:not(:has(#home)) div.border-l-4:has(> h1:only-child),
.tk-light #root > div > main:not(:has(#home)) div.mb-24:has(> h3[class*='text-5xl']),
.tk-light .tk-gallery .hero { display: none !important; }
.tk-light #root > div > main:not(:has(#home)) > div:is([class*='pt-32'],[class*='pt-40']) { padding-top: 32px !important; }
.tk-light #root > div > main:not(:has(#home)) div.mb-16:has(> h1) { margin-bottom: 32px !important; }
@media (prefers-reduced-motion:reduce) {
  .tk-light, .tk-light *, .tk-light *::before, .tk-light *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .tk-light .reveal, .tk-light [class*='reveal-'] { opacity: 1 !important; transform: none !important; }
}
