@import url("/assets/templates/shared/nioret-theme.css");

/* NIORET SYSTEMS — PUBLIC SITE PAGES
   Uses the same dark/light Nioret language as the accepted homepage and product pages.
*/

main { min-height: 70vh; }

.shell { width:min(calc(100% - (var(--gutter) * 2)), var(--content-width)); margin-inline:auto; }
.narrow { max-width:900px; }
.split { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.section-intro { max-width:760px; }
.section-intro h2 { color:inherit; font-size:clamp(2.2rem,4vw,4rem); letter-spacing:-.05em; }
.section-intro p { color:inherit; opacity:.75; }
.actions { display:flex; flex-wrap:wrap; gap:14px; }
.status > span { width:7px; height:7px; border-radius:50%; background:#4bd7ff; box-shadow:0 0 10px rgba(75,215,255,.6); }

.directory-hero {
  position: relative;
  isolation: isolate;
  min-height: 560px;
  padding: calc(var(--header-height) + 105px) 0 100px;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 24%, rgba(33,124,243,.2), transparent 31rem),
    radial-gradient(circle at 91% 62%, rgba(121,104,255,.13), transparent 27rem),
    linear-gradient(135deg,#030810 0%,#061426 62%,#08111f 100%);
}
.directory-hero::before {
  position:absolute; z-index:-1; inset:0; content:""; opacity:.18;
  background-image:linear-gradient(rgba(75,215,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(75,215,255,.12) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,transparent,black 45%,black);
}
.directory-hero .container { position:relative; z-index:1; }
.directory-hero h1 { max-width: 980px; margin:0 0 28px; color:#f5f9ff; font-size:clamp(3.4rem,6.4vw,6.6rem); font-weight:600; letter-spacing:-.065em; }
.directory-hero .page-lede { max-width:820px; margin:0; color:#9eb5c9; font-size:clamp(1.08rem,1.55vw,1.35rem); line-height:1.7; }
.directory-hero .hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.compact-hero { min-height: 470px; }
.company-directory-hero { min-height: 600px; }

.light-directory { color:var(--nioret-muted); background:var(--nioret-light); }
.light-directory h2,.light-directory h3 { color:var(--nioret-ink); }
.directory-grid { display:grid; gap:18px; }
.directory-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.directory-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.directory-card {
  position:relative; display:flex; min-height:280px; padding:34px; flex-direction:column;
  border:1px solid #ccd9e3; border-radius:8px; color:inherit; background:rgba(255,255,255,.72);
  text-decoration:none; box-shadow:0 14px 35px rgba(8,29,50,.045);
  transition:transform var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast);
}
.directory-card::before { position:absolute; inset:0 auto 0 0; width:3px; content:""; background:linear-gradient(180deg,#217cf3,#4bd7ff,#7968ff); opacity:.75; }
.directory-card:hover { transform:translateY(-4px); border-color:#9fb6c9; box-shadow:0 20px 45px rgba(8,29,50,.1); }
.directory-card > span { color:#176dcb; font-size:.64rem; font-weight:820; letter-spacing:.14em; text-transform:uppercase; }
.directory-card h2 { max-width:520px; margin:30px 0 16px; font-size:clamp(1.65rem,2.25vw,2.25rem); letter-spacing:-.04em; }
.directory-card p { max-width:540px; margin:0 0 30px; color:#60788d; }
.directory-card strong { margin-top:auto; color:#0f68c4; font-size:.78rem; }
.directory-card-accent { color:#d9e9f8; border-color:rgba(75,215,255,.24); background:linear-gradient(145deg,#061426,#081b31); }
.directory-card-accent h2 { color:white; }
.directory-card-accent p { color:#8ca7bd; }
.directory-card-accent > span,.directory-card-accent strong { color:#5ed9ff; }

.category-catalog { color:var(--nioret-muted); background:var(--nioret-light); }
.category-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.category-product-card { border:1px solid #ccd9e3; border-radius:8px; background:white; box-shadow:0 14px 35px rgba(8,29,50,.05); }
.category-product-card > a { display:flex; min-height:315px; padding:30px; flex-direction:column; color:inherit; text-decoration:none; }
.category-card-top { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.category-product-icon { width:72px; height:72px; object-fit:contain; }
.category-family-mark { width:54px; height:auto; opacity:.82; }
.category-card-status { padding:6px 10px; border:1px solid #a9bed0; border-radius:999px; color:#315f80; background:#f3f8fc; font-size:.62rem; font-weight:820; letter-spacing:.07em; text-transform:uppercase; }
.category-card-copy { padding:32px 0 28px; }
.category-card-copy h2 { margin:0 0 13px; color:#0a2135; font-size:1.45rem; letter-spacing:-.03em; }
.category-card-copy p { margin:0; color:#60788d; font-size:.86rem; }
.category-card-footer { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-top:auto; padding-top:20px; border-top:1px solid #d6e0e7; }
.category-card-footer strong { color:#0e61b3; font-size:1.35rem; }
.category-card-footer span { color:#176dcb; font-size:.74rem; font-weight:760; }
.category-product-card:hover { border-color:#9fb6c9; box-shadow:0 20px 45px rgba(8,29,50,.1); }
.category-back { margin-top:36px; }
.empty-category { color:#60788d; }

.service-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid #cad7e0; background:#cad7e0; }
.service-flow article { min-height:310px; padding:38px; background:white; }
.service-flow span { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:#0f67c4; background:#e8f3ff; font-size:.72rem; font-weight:800; }
.service-flow h2 { margin:40px 0 17px; color:#0a2135; font-size:1.7rem; }
.service-flow p { margin:0; color:#62798d; }
.services-types { color:#dce9f7; background:#071426; }
.services-types h2 { color:white; }
.service-tags { display:flex; flex-wrap:wrap; gap:10px; max-width:1000px; }
.service-tags span { padding:12px 15px; border:1px solid rgba(151,188,224,.2); border-radius:6px; color:#b9d0e4; background:rgba(255,255,255,.025); font-size:.78rem; }
.service-note { max-width:760px; margin-top:28px; color:#7890a6; }

.about-brief { display:grid; gap:1px; border:1px solid #cbd8e1; background:#cbd8e1; }
.about-brief article { display:grid; grid-template-columns:.35fr 1fr 1fr; gap:36px; padding:38px; align-items:start; background:white; }
.about-brief span { color:#176dcb; font-size:.68rem; font-weight:820; letter-spacing:.13em; text-transform:uppercase; }
.about-brief h2 { margin:0; color:#0b2237; font-size:1.8rem; }
.about-brief p { margin:0; color:#60788d; }

.contact-directory { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.contact-directory > a { min-height:245px; padding:32px; border:1px solid #ccd9e3; border-radius:8px; color:#0a2135; background:white; text-decoration:none; }
.contact-directory > a:hover { border-color:#9fb6c9; box-shadow:0 18px 40px rgba(8,29,50,.09); }
.contact-directory span { color:#176dcb; font-size:.64rem; font-weight:820; letter-spacing:.12em; text-transform:uppercase; }
.contact-directory h2 { margin:42px 0 15px; color:#0a2135; font-size:1.45rem; overflow-wrap:anywhere; }
.contact-directory p { margin:0; color:#60788d; }
.contact-directory .contact-walkthrough { color:#dce9f7; border-color:rgba(75,215,255,.25); background:linear-gradient(145deg,#061426,#081b31); }
.contact-directory .contact-walkthrough h2 { color:white; }
.contact-directory .contact-walkthrough p { color:#8ca7bd; }
.contact-directory .contact-walkthrough span { color:#5ed9ff; }

.walkthrough-hero { min-height:760px; padding-bottom:110px; }
.walkthrough-hero-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr); gap:70px; align-items:start; }
.walkthrough-hero-grid > div:first-child { padding-top:45px; }
.walkthrough-form {
  display:grid; gap:14px; padding:34px; border:1px solid rgba(151,188,224,.22); border-radius:12px;
  color:#dce9f7; background:rgba(6,20,38,.88); box-shadow:0 32px 80px rgba(0,0,0,.32);
}
.walkthrough-form .form-heading { padding-bottom:18px; border-bottom:1px solid rgba(151,188,224,.18); }
.walkthrough-form .form-heading h2 { margin:0 0 6px; color:white; font-size:1.6rem; }
.walkthrough-form .form-heading p,.walkthrough-form .form-note { margin:0; color:#7890a6; font-size:.72rem; }
.walkthrough-form label { display:grid; gap:7px; color:#bed0df; font-size:.73rem; font-weight:720; }
.walkthrough-form input,.walkthrough-form select,.walkthrough-form textarea {
  width:100%; min-height:49px; padding:11px 13px; border:1px solid rgba(151,188,224,.25); border-radius:6px;
  color:#eaf4ff; background:#071628; font:inherit;
}
.walkthrough-form textarea { resize:vertical; }
.form-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sensitive-warning { display:grid; gap:4px; padding:14px 16px; border-left:3px solid #d6a331; color:#e7d8a5; background:rgba(214,163,49,.09); font-size:.7rem; }
.sensitive-warning span { color:#9a8c62; }
.walkthrough-form .button { margin-top:6px; }

.research-brief { background:#061322; }
.brief-stack { display:grid; }
.brief-stack article { display:grid; grid-template-columns:.6fr 1fr 1fr; gap:46px; padding:46px 0; border-top:1px solid rgba(151,188,224,.17); }
.brief-stack article:last-child { border-bottom:1px solid rgba(151,188,224,.17); }
.brief-stack h2 { margin:0; color:white; font-size:1.75rem; }
.brief-stack p:last-child { margin:0; color:#8198ad; }

.support-layout { display:grid; grid-template-columns:1fr .8fr; gap:70px; align-items:start; }
.support-aside { padding-top:22px; }
.support-aside h2 { color:#0a2135; font-size:2rem; }
.support-aside p { color:#60788d; }

/* Existing download / technology / security / legal routes retain support styling. */
.page-hero { padding:calc(var(--header-height) + 90px) 0 82px; background:linear-gradient(135deg,#030810,#071426); }
.page-hero h1 { max-width:950px; margin-bottom:22px; color:white; font-size:clamp(3rem,5.4vw,5.6rem); letter-spacing:-.055em; }
.page-hero .lede { max-width:820px; color:#92a9bd; font-size:1.12rem; }
.download-guidance { padding:26px 0; border-block:1px solid rgba(151,188,224,.18); background:#081a2f; }
.download-guidance .container,.download-guidance .shell { display:grid; grid-template-columns:170px 1fr auto; gap:24px; align-items:center; }
.download-guidance p { margin:0; color:#8da3b7; }
.download-guidance a { color:#59d6ff; }
.download-guidance-actions { display:flex; align-items:center; justify-content:flex-end; gap:14px; flex-wrap:wrap; }
.download-guidance-actions .button { color:#d9efff; border-color:#4f8ebf; }
.download-list { display:grid; gap:18px; }
.download-row { border:1px solid #ccd9e3; border-radius:8px; background:white; }
.download-summary { display:grid; grid-template-columns:72px 1fr .7fr 1fr; gap:22px; padding:28px; align-items:center; color:#0a2135; }
.download-summary img { width:64px; height:64px; object-fit:contain; }
.download-summary h2 { margin:0 0 5px; color:#0a2135; font-size:1.4rem; }
.download-summary p { margin:0; color:#60788d; }
.download-product { display:grid; gap:5px; }
.download-product > span { color:#315f80; font-size:.7rem; font-weight:720; }
.download-price { display:grid; }
.download-price strong { color:#0e61b3; font-size:1.35rem; }
.download-price span { color:#60788d; font-size:.7rem; }
.download-state { display:grid; justify-items:end; gap:10px; }
.download-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.status { display:inline-flex; width:max-content; min-height:32px; padding:5px 10px; align-items:center; gap:8px; border:1px solid rgba(75,215,255,.25); border-radius:999px; color:#317da7; background:#effaff; font-size:.65rem; font-weight:760; }
.status-available { border-color:#78bd96; color:#17653b; background:#eaf8f0; }
.status-available > span { background:#28a566; box-shadow:0 0 10px rgba(40,165,102,.35); }
.status-coming-soon { border-color:#a9bed0; color:#315f80; background:#f3f8fc; }
.status-coming-soon > span { background:#527a99; box-shadow:none; }
.download-actions .button { min-height:46px; }
.download-actions .download-view-product,.download-actions .commerce-manage { border:2px solid #125fae; color:#125fae; background:#fff; box-shadow:none; }
.download-actions .download-view-product:hover,.download-actions .commerce-manage:hover { border-color:#084987; color:#084987; background:#eff7ff; box-shadow:none; }
.download-actions .button:focus-visible { outline:3px solid rgba(18,95,174,.35); outline-offset:3px; }
.verification { margin:0 28px; border-top:1px solid #d6e0e7; color:#0a2135; }
.verification summary { min-height:62px; padding:18px 0; cursor:pointer; font-weight:720; }
.verification-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding-bottom:28px; }
.verification-grid > div { display:grid; gap:4px; padding:15px; background:#f3f7fa; }
.verification-grid .wide { grid-column:span 2; }
.verification-grid strong { font-size:.7rem; text-transform:uppercase; }
.verification-grid span { color:#60788d; font-size:.78rem; }

.forgestation-feature { color:#dce9f7; background:#061322; }
.flagship-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.flagship-grid h2 { color:white; font-size:3rem; }
.flagship-grid p { color:#8ca7bd; }
.media-frame { margin:0; padding:10px; border:1px solid rgba(151,188,224,.2); border-radius:8px; background:#081a2f; }
.media-frame figcaption { margin-top:8px; color:#7890a6; font-size:.68rem; }
.project-index { color:#60788d; background:var(--nioret-light); }
.project-list article { display:grid; grid-template-columns:.7fr 1.3fr; gap:30px; padding:28px 0; border-top:1px solid #cad7e0; }
.project-list h2 { color:#0a2135; font-size:1.5rem; }
.project-list p { margin:0; color:#60788d; }
.research-bridge,.principles-band,.installation-band { padding:82px 0; background:#071426; }
.research-bridge h2,.principles-band h2,.installation-band h2 { color:white; }
.research-bridge p,.principles-band p,.installation-band p { color:#8198ad; }
.security-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.security-grid > div { padding:30px; border:1px solid #ccd9e3; border-radius:8px; background:white; }
.security-grid h2 { color:#0a2135; font-size:1.55rem; }
.security-grid p,.security-grid li { color:#60788d; }
.legal-hero .legal-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.legal-hero .legal-meta span { display:inline-flex; min-height:30px; padding:5px 10px; align-items:center; border:1px solid rgba(151,188,224,.28); border-radius:999px; color:#9ab2c7; background:rgba(255,255,255,.025); font-size:.65rem; font-weight:720; }
.legal-document { padding:92px 0 108px; color:#536b80; background:#f3f6f9; color-scheme:light; }
.legal-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:72px; align-items:start; }
.legal-layout aside { position:sticky; top:calc(var(--header-height) + 30px); display:grid; gap:6px; padding:22px 20px; border:1px solid #c7d5df; border-radius:8px; background:#e8eff4; box-shadow:0 12px 30px rgba(8,29,50,.04); }
.legal-layout aside strong { margin-bottom:7px; color:#0a2135; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }
.legal-layout aside a { display:flex; min-height:34px; align-items:center; color:#60788d; font-size:.72rem; text-decoration:none; }
.legal-layout aside a:hover,.legal-layout aside a:focus-visible { color:#0f68c4; }
.legal-layout article { min-width:0; max-width:880px; }
.legal-intro { margin-bottom:28px; padding:18px 20px; border-left:3px solid #25b7c4; color:#3d596f !important; background:#e2f3f4; font-size:.82rem; line-height:1.65; }
.legal-layout article section { padding:28px 0 30px; border-bottom:1px solid #d3dee6; scroll-margin-top:calc(var(--header-height) + 24px); }
.legal-layout article section:first-of-type { padding-top:0; }
.legal-layout article section:last-child { border-bottom:0; }
.legal-layout h2 { margin:0 0 14px; color:#091b2e !important; font-size:1.55rem; letter-spacing:-.025em; }
.legal-layout p { margin:0 0 13px; color:#536b80 !important; }
.legal-layout p:last-child { margin-bottom:0; }
.legal-layout a { color:#0d6bc6; }
.legal-date { color:#7890a6; }

.founder-section {
  color:#9eb5c9;
  background:
    radial-gradient(circle at 80% 30%,rgba(33,124,243,.15),transparent 28rem),
    linear-gradient(135deg,#040912,#071426 70%,#08111f);
}
.founder-grid { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:72px; align-items:start; }
.founder-grid h2 { margin:0; color:#f6f9ff; font-size:clamp(2.6rem,4.5vw,4.8rem); letter-spacing:-.055em; }
.founder-grid p { max-width:760px; margin:0 0 18px; color:#9eb5c9; font-size:1.05rem; line-height:1.75; }
.founder-grid p:last-child { margin-bottom:0; }

.not-found { display:grid; min-height:72vh; place-items:center; padding:calc(var(--header-height) + 70px) 0 90px; background:#061322; }
.not-found h1 { color:white; }
.not-found .lede { color:#8ca7bd; }

@media (max-width:1180px) {
  .category-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .walkthrough-hero-grid { grid-template-columns:1fr; }
  .walkthrough-hero-grid > div:first-child { padding-top:0; }
}
@media (max-width:860px) {
  .legal-layout { grid-template-columns:1fr; gap:32px; }
  .legal-layout aside { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .legal-layout aside strong { grid-column:1 / -1; }
  .download-guidance .container,.download-guidance .shell { grid-template-columns:1fr; }
  .download-guidance-actions { justify-content:flex-start; }
  .split { grid-template-columns:1fr; }
  .directory-grid.two,.directory-grid.three,.category-card-grid,.contact-directory,.service-flow,.support-layout,.flagship-grid,.security-grid { grid-template-columns:1fr; }
  .about-brief article,.brief-stack article { grid-template-columns:1fr; gap:14px; }
  .download-summary { grid-template-columns:64px 1fr; }
  .download-price,.download-state { grid-column:2; justify-content:flex-start; }
  .download-state { justify-items:start; }
  .download-actions { justify-content:flex-start; }
  .verification-grid { grid-template-columns:1fr 1fr; }
  .form-two { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .legal-document { padding:68px 0 78px; }
  .legal-layout aside { grid-template-columns:1fr; }
  .directory-hero { min-height:0; padding:calc(var(--header-height) + 58px) 0 72px; }
  .directory-hero h1 { font-size:clamp(2.8rem,13vw,4rem); }
  .directory-card,.category-product-card > a { min-height:0; padding:26px; }
  .category-card-grid { grid-template-columns:1fr; }
  .download-summary { padding:22px; }
  .download-price,.download-state { grid-column:1 / -1; }
  .download-actions { width:100%; }
  .download-actions .button { flex:1 1 auto; }
  .verification-grid { grid-template-columns:1fr; }
  .verification-grid .wide { grid-column:auto; }
}

/* QA-visible accessibility hooks */
:focus-visible { outline:3px solid rgba(121,104,255,.68); outline-offset:4px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
