/* LinkPort Solution — interior pages stylesheet.
   Mirrors the homepage design tokens (dark, premium, oklch palette,
   Rajdhani headings + Source Sans 3 body) so every new page matches exactly. */

:root{
  --background: oklch(12% 0 0);
  --foreground: oklch(95% 0 0);
  --card: oklch(16% 0 0);
  --card-foreground: oklch(95% 0 0);
  --primary: oklch(62% .25 30);
  --primary-foreground: oklch(12% 0 0);
  --secondary: oklch(22% 0 0);
  --secondary-foreground: oklch(95% 0 0);
  --muted: oklch(22% 0 0);
  --muted-foreground: oklch(65% 0 0);
  --accent: oklch(62% .25 30);
  --accent-foreground: oklch(12% 0 0);
  --border: oklch(25% 0 0);
  --input: oklch(18% 0 0);
  --ring: oklch(62% .25 30 / .5);
  --radius: .625rem;
  --font-heading: 'Rajdhani', sans-serif;
  --font-body: 'Source Sans 3', sans-serif;
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body.linkport-interior{
  margin:0; background:var(--background); color:var(--foreground);
  font-family:var(--font-sans); line-height:1.6; -webkit-font-smoothing:antialiased;
}
.linkport-interior img{ max-width:100%; display:block; }
.linkport-interior a{ color:inherit; text-decoration:none; }
.linkport-interior p{ margin:0; }
.linkport-interior ul{ margin:0; padding:0; list-style:none; }
.linkport-interior button{ font-family:inherit; cursor:pointer; border:none; background:none; }
.linkport-interior input,.linkport-interior select,.linkport-interior textarea{ font-family:inherit; font-size:1rem; }
.linkport-interior :focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }

.font-heading{ font-family:var(--font-heading); }
.font-body{ font-family:var(--font-body); }
.text-accent{ color:var(--accent); }
.text-muted{ color:var(--muted-foreground); }

.skip-link{ position:absolute; left:-999px; top:auto; background:var(--accent); color:var(--accent-foreground); padding:0.6rem 1rem; font-weight:600; z-index:200; border-radius:4px; }
.skip-link:focus{ left:1rem; top:1rem; }

.container-6xl{ max-width:72rem; margin-inline:auto; padding-inline:1rem; }
.container-7xl{ max-width:80rem; margin-inline:auto; padding-inline:1rem; }
@media (min-width:640px){ .container-6xl,.container-7xl{ padding-inline:1.5rem; } }
@media (min-width:1024px){ .container-6xl,.container-7xl{ padding-inline:2rem; } }

/* Buttons */
.btn{ display:inline-block; padding:0.75rem 1.5rem; font-weight:600; border-radius:4px; transition:background-color .2s ease, transform .2s ease; }
.btn-accent{ background:var(--accent); color:var(--accent-foreground); }
.btn-accent:hover{ background:color-mix(in oklab, var(--accent) 90%, transparent); }
.btn-outline{ border:1px solid var(--border); color:var(--foreground); background:color-mix(in oklab, var(--card) 40%, transparent); }
.btn-outline:hover{ border-color:var(--accent); color:var(--accent); }

/* Header / nav (matches homepage) */
.site-header{ position:sticky; top:0; z-index:50; width:100%; background:color-mix(in oklab, var(--background) 95%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
.nav-row{ display:flex; align-items:center; justify-content:space-between; height:4.5rem; gap:1rem; }
.nav-brand{ font-size:1.25rem; font-weight:700; color:var(--foreground); margin:0; letter-spacing:.02em; }
.nav-brand a{ color:inherit; }
.nav-links{ display:none; align-items:center; gap:1.75rem; }
@media (min-width:900px){ .nav-links{ display:flex; } }
.nav-link{ font-size:0.875rem; color:var(--muted-foreground); transition:color .2s ease; font-weight:500; }
.nav-link:hover, .nav-link.is-active{ color:var(--foreground); }
.nav-cta{ display:none; }
@media (min-width:900px){ .nav-cta{ display:inline-block; } }
.nav-actions{ display:flex; align-items:center; gap:0.75rem; }
.nav-toggle{ display:inline-flex; flex-direction:column; gap:5px; padding:0.5rem; }
@media (min-width:900px){ .nav-toggle{ display:none; } }
.nav-toggle-bar{ width:22px; height:2px; background:var(--foreground); display:block; }
.mobile-nav{ display:none; flex-direction:column; gap:0.25rem; padding:0.5rem 0 1rem; border-top:1px solid var(--border); }
.mobile-nav.is-open{ display:flex; }
.mobile-nav .nav-link{ padding:0.6rem 0.25rem; }
@media (min-width:900px){ .mobile-nav{ display:none !important; } }

/* Breadcrumbs */
.breadcrumbs{ padding:1.25rem 0 0; }
.breadcrumbs ol{ display:flex; flex-wrap:wrap; gap:0.4rem; align-items:center; font-size:0.8rem; color:var(--muted-foreground); margin:0; padding:0; list-style:none; }
.breadcrumbs li{ display:flex; gap:0.4rem; align-items:center; }
.breadcrumbs a{ color:var(--muted-foreground); }
.breadcrumbs a:hover{ color:var(--accent); }
.breadcrumbs .sep{ color:var(--border); }
.breadcrumbs [aria-current="page"]{ color:var(--foreground); }

/* Page hero */
.page-hero{ padding:2.5rem 0 1.5rem; position:relative; border-bottom:1px solid var(--border); }
.page-hero__eyebrow{ font-family:var(--font-heading); text-transform:uppercase; letter-spacing:0.15em; font-size:0.8rem; font-weight:600; color:var(--accent); margin:0 0 0.75rem; }
.page-hero h1{ font-family:var(--font-heading); font-size:2.5rem; line-height:1.12; font-weight:700; margin:0 0 1rem; color:var(--foreground); }
@media (min-width:1024px){ .page-hero h1{ font-size:3rem; } }
.page-hero__lede{ font-size:1.15rem; color:var(--muted-foreground); max-width:46rem; }

/* Content sections */
.section{ padding:3rem 0; }
.section--tight{ padding:2rem 0; }
.section-head{ text-align:center; max-width:44rem; margin:0 auto 2.5rem; }
.section-head h2{ font-family:var(--font-heading); font-size:2rem; font-weight:700; color:var(--foreground); margin:0 0 1rem; }
.section-head p{ color:var(--muted-foreground); }
.underline-bar{ width:4rem; height:0.25rem; background:var(--accent); margin-inline:auto; margin-top:1rem; border-radius:2px; }

/* Prose (article & page body) */
.prose{ max-width:46rem; color:var(--foreground); font-size:1.05rem; line-height:1.75; }
.prose.prose--wide{ max-width:60rem; }
.prose h2{ font-family:var(--font-heading); font-size:1.75rem; font-weight:700; margin:2.5rem 0 1rem; color:var(--foreground); }
.prose h3{ font-family:var(--font-heading); font-size:1.35rem; font-weight:600; margin:2rem 0 0.75rem; color:var(--foreground); }
.prose p{ margin:0 0 1.15rem; color:var(--muted-foreground); }
.prose strong{ color:var(--foreground); font-weight:600; }
.prose a{ color:var(--accent); text-decoration:underline; text-underline-offset:3px; text-decoration-color:color-mix(in oklab, var(--accent) 45%, transparent); }
.prose a:hover{ text-decoration-color:var(--accent); }
.prose ul.bullets{ list-style:disc; padding-left:1.4rem; margin:0 0 1.15rem; color:var(--muted-foreground); }
.prose ul.bullets li{ margin:0.4rem 0; }
.prose ol.steps{ list-style:decimal; padding-left:1.4rem; margin:0 0 1.15rem; color:var(--muted-foreground); }
.prose ol.steps li{ margin:0.5rem 0; }
.prose blockquote{ border-left:3px solid var(--accent); margin:1.5rem 0; padding:0.5rem 0 0.5rem 1.25rem; color:var(--foreground); font-style:italic; background:color-mix(in oklab, var(--card) 30%, transparent); border-radius:0 4px 4px 0; }

/* Spec tables */
.spec-table-wrap{ overflow-x:auto; margin:1.5rem 0; border:1px solid var(--border); border-radius:var(--radius); }
table.spec-table{ width:100%; border-collapse:collapse; font-size:0.95rem; }
table.spec-table caption{ text-align:left; padding:0.9rem 1rem; font-family:var(--font-heading); font-weight:600; color:var(--foreground); background:color-mix(in oklab, var(--card) 50%, transparent); border-bottom:1px solid var(--border); }
table.spec-table th, table.spec-table td{ text-align:left; padding:0.7rem 1rem; border-bottom:1px solid var(--border); color:var(--muted-foreground); }
table.spec-table thead th{ color:var(--foreground); font-weight:600; background:color-mix(in oklab, var(--card) 35%, transparent); }
table.spec-table tbody tr:last-child td{ border-bottom:none; }
table.spec-table tbody tr:hover td{ background:color-mix(in oklab, var(--card) 25%, transparent); }

/* Card grids */
.grid{ display:grid; gap:1.5rem; }
@media (min-width:640px){ .grid-2{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:900px){ .grid-3{ grid-template-columns:repeat(3,1fr); } }
.card{ background:color-mix(in oklab, var(--card) 40%, transparent); border:1px solid var(--border); border-radius:var(--radius); padding:1.5rem; backdrop-filter:blur(8px); transition:border-color .25s ease, transform .25s ease; }
.card:hover{ border-color:color-mix(in oklab, var(--accent) 45%, transparent); transform:translateY(-3px); }
.card__icon{ width:3rem; height:3rem; border-radius:8px; background:color-mix(in oklab, var(--accent) 20%, transparent); color:var(--accent); display:flex; align-items:center; justify-content:center; font-size:1.25rem; font-weight:700; margin-bottom:1rem; font-family:var(--font-heading); }
.card h3{ font-family:var(--font-heading); font-size:1.25rem; font-weight:600; margin:0 0 0.5rem; color:var(--foreground); }
.card p{ color:var(--muted-foreground); margin:0 0 0.75rem; font-size:0.97rem; }
.card__link{ color:var(--accent); font-weight:600; font-size:0.9rem; }
.card__link:hover{ text-decoration:underline; }

/* Product hub cards */
.product-card{ position:relative; overflow:hidden; border:1px solid var(--border); border-radius:var(--radius); background:color-mix(in oklab, var(--card) 45%, transparent); padding:1.75rem; display:flex; flex-direction:column; gap:0.75rem; transition:border-color .25s ease, transform .25s ease; }
.product-card:hover{ border-color:color-mix(in oklab, var(--accent) 55%, transparent); transform:translateY(-3px); }
.product-card__tag{ font-family:var(--font-heading); text-transform:uppercase; letter-spacing:0.12em; font-size:0.72rem; color:var(--accent); font-weight:600; }
.product-card h3{ font-family:var(--font-heading); font-size:1.4rem; font-weight:700; margin:0; color:var(--foreground); }
.product-card p{ color:var(--muted-foreground); font-size:0.97rem; }
.product-card__cta{ margin-top:auto; color:var(--accent); font-weight:600; font-size:0.92rem; }

/* Feature / trust list */
.feature-list{ display:grid; gap:1rem; }
.feature-item{ display:flex; gap:1rem; align-items:flex-start; }
.feature-item__mark{ flex:none; width:1.6rem; height:1.6rem; border-radius:50%; background:color-mix(in oklab, var(--accent) 22%, transparent); color:var(--accent); display:flex; align-items:center; justify-content:center; font-size:0.85rem; font-weight:700; margin-top:0.15rem; }
.feature-item h4{ margin:0 0 0.25rem; font-size:1.05rem; color:var(--foreground); font-weight:600; }
.feature-item p{ margin:0; color:var(--muted-foreground); font-size:0.96rem; }

/* Process steps */
.steps-flow{ display:grid; gap:1.25rem; counter-reset:step; }
@media (min-width:900px){ .steps-flow.steps-flow--row{ grid-template-columns:repeat(3,1fr); } }
.step{ position:relative; border:1px solid var(--border); border-radius:var(--radius); padding:1.5rem 1.5rem 1.5rem 3.75rem; background:color-mix(in oklab, var(--card) 35%, transparent); }
.step::before{ counter-increment:step; content:counter(step); position:absolute; left:1.25rem; top:1.35rem; width:1.9rem; height:1.9rem; border-radius:50%; background:var(--accent); color:var(--accent-foreground); font-family:var(--font-heading); font-weight:700; display:flex; align-items:center; justify-content:center; font-size:0.95rem; }
.step h4{ margin:0 0 0.35rem; color:var(--foreground); font-size:1.1rem; font-weight:600; }
.step p{ margin:0; color:var(--muted-foreground); font-size:0.95rem; }

/* FAQ */
.faq{ max-width:46rem; margin:0 auto; }
.faq details{ border:1px solid var(--border); border-radius:var(--radius); margin-bottom:0.75rem; background:color-mix(in oklab, var(--card) 35%, transparent); overflow:hidden; }
.faq summary{ cursor:pointer; list-style:none; padding:1.1rem 1.25rem; font-weight:600; color:var(--foreground); display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:1.02rem; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; color:var(--accent); font-size:1.4rem; line-height:1; flex:none; }
.faq details[open] summary::after{ content:"\2212"; }
.faq details[open] summary{ border-bottom:1px solid var(--border); }
.faq__body{ padding:1rem 1.25rem 1.25rem; color:var(--muted-foreground); line-height:1.7; }
.faq__body p{ margin:0 0 0.75rem; }
.faq__body p:last-child{ margin:0; }

/* CTA band */
.cta-band{ margin:3rem 0 0; border-top:1px solid var(--border); background:linear-gradient(180deg, color-mix(in oklab, var(--card) 30%, transparent), transparent); }
.cta-band__inner{ padding:3rem 0; text-align:center; max-width:44rem; margin:0 auto; }
.cta-band h2{ font-family:var(--font-heading); font-size:1.9rem; font-weight:700; margin:0 0 0.75rem; color:var(--foreground); }
.cta-band p{ color:var(--muted-foreground); margin:0 0 1.5rem; }
.cta-actions{ display:flex; gap:0.75rem; justify-content:center; flex-wrap:wrap; }

/* Pill / badges */
.pill-row{ display:flex; flex-wrap:wrap; gap:0.5rem; margin:1.25rem 0; }
.pill{ border:1px solid var(--border); border-radius:999px; padding:0.4rem 0.9rem; font-size:0.82rem; color:var(--muted-foreground); background:color-mix(in oklab, var(--card) 35%, transparent); }
.pill strong{ color:var(--accent); }

/* Two-column layout with sidebar */
.layout-2col{ display:grid; gap:2.5rem; }
@media (min-width:1000px){ .layout-2col{ grid-template-columns:minmax(0,1fr) 18rem; align-items:start; } }
.sidebar{ position:sticky; top:6rem; display:grid; gap:1.25rem; }
.sidebar .card{ padding:1.25rem; }
.sidebar h4{ font-family:var(--font-heading); font-size:1rem; margin:0 0 0.75rem; color:var(--foreground); }
.sidebar ul{ display:grid; gap:0.5rem; }
.sidebar ul a{ color:var(--muted-foreground); font-size:0.92rem; }
.sidebar ul a:hover{ color:var(--accent); }

/* Article meta */
.article-meta{ display:flex; flex-wrap:wrap; gap:0.75rem; align-items:center; color:var(--muted-foreground); font-size:0.85rem; margin-top:1rem; }
.article-meta .cat{ color:var(--accent); font-weight:600; text-transform:uppercase; letter-spacing:0.08em; font-size:0.75rem; }

/* Insights listing */
.post-grid{ display:grid; gap:1.5rem; }
@media (min-width:640px){ .post-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:980px){ .post-grid{ grid-template-columns:repeat(3,1fr); } }
.post-card{ display:flex; flex-direction:column; gap:0.6rem; border:1px solid var(--border); border-radius:var(--radius); padding:1.5rem; background:color-mix(in oklab, var(--card) 40%, transparent); transition:border-color .25s ease, transform .25s ease; }
.post-card:hover{ border-color:color-mix(in oklab, var(--accent) 50%, transparent); transform:translateY(-3px); }
.post-card .cat{ color:var(--accent); font-weight:600; text-transform:uppercase; letter-spacing:0.08em; font-size:0.72rem; }
.post-card h3{ font-family:var(--font-heading); font-size:1.2rem; font-weight:600; margin:0; color:var(--foreground); line-height:1.3; }
.post-card p{ color:var(--muted-foreground); font-size:0.95rem; }
.post-card .read{ margin-top:auto; color:var(--accent); font-weight:600; font-size:0.88rem; }

/* Contact form */
.contact-grid{ display:grid; gap:2.5rem; }
@media (min-width:900px){ .contact-grid{ grid-template-columns:1.2fr 0.8fr; } }
.form-field{ display:grid; gap:0.4rem; margin-bottom:1rem; }
.form-field label{ font-size:0.88rem; color:var(--foreground); font-weight:600; }
.form-field input, .form-field select, .form-field textarea{ background:var(--input); border:1px solid var(--border); border-radius:6px; padding:0.75rem 0.9rem; color:var(--foreground); width:100%; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{ border-color:var(--accent); outline:none; }
.form-row{ display:grid; gap:1rem; }
@media (min-width:600px){ .form-row.two{ grid-template-columns:1fr 1fr; } }
.form-banner{ display:none; padding:0.9rem 1.1rem; border-radius:6px; margin-bottom:1rem; font-weight:500; }
.form-banner.is-visible{ display:block; }
.form-banner--success{ background:color-mix(in oklab, oklch(62% .17 150) 25%, transparent); border:1px solid oklch(62% .17 150); color:oklch(90% .05 150); }
.form-banner--error{ background:color-mix(in oklab, var(--accent) 20%, transparent); border:1px solid var(--accent); color:var(--foreground); }
.hp-field{ position:absolute; left:-5000px; width:1px; height:1px; overflow:hidden; }

/* Footer (extended with nav) */
.site-footer{ border-top:1px solid var(--border); background:color-mix(in oklab, var(--card) 25%, transparent); margin-top:3rem; }
.footer-inner{ padding:3rem 0 2rem; }
.footer-grid{ display:grid; gap:2rem; }
@media (min-width:768px){ .footer-grid{ grid-template-columns:1.4fr 1fr 1fr 1fr; } }
.footer-brand{ font-size:1.25rem; font-weight:700; color:var(--foreground); margin:0 0 0.5rem; }
.footer-tag{ color:var(--muted-foreground); font-size:0.9rem; margin:0 0 0.25rem; max-width:20rem; }
.footer-col h5{ font-family:var(--font-heading); font-size:0.95rem; color:var(--foreground); margin:0 0 0.9rem; text-transform:uppercase; letter-spacing:0.08em; }
.footer-col ul{ display:grid; gap:0.5rem; }
.footer-col ul a{ color:var(--muted-foreground); font-size:0.9rem; }
.footer-col ul a:hover{ color:var(--accent); }
.footer-email{ color:var(--accent); font-size:0.95rem; }
.footer-bottom{ border-top:1px solid var(--border); padding:1.25rem 0; }
.footer-copy{ color:var(--muted-foreground); font-size:0.82rem; margin:0; }

/* Utility */
.mt-0{ margin-top:0; } .mb-0{ margin-bottom:0; }
.center{ text-align:center; }
.lead{ font-size:1.15rem; color:var(--muted-foreground); }
.divider{ height:1px; background:var(--border); border:none; margin:2.5rem 0; }
