:root {
  --ink: #101418;
  --ink-soft: #394149;
  --paper: #f3f1ec;
  --white: #ffffff;
  --line: #cfcac0;
  --line-dark: #394047;
  --accent: #c59a47;
  --accent-ink: #5f4311;
  --max: 1200px;
  --header: 78px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Segoe UI Variable", "Segoe UI", Arial, sans-serif; font-size: 17px; line-height: 1.6; }
a { color: inherit; }
.shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.site-header { position: sticky; top: 0; z-index: 50; min-height: var(--header); background: rgba(243,241,236,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.header-row { min-height: var(--header); display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--ink); font: 700 13px/1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.brand-copy { display: grid; line-height: 1.1; }
.brand-copy strong { font-size: 15px; letter-spacing: .01em; }
.brand-copy small { margin-top: 5px; color: var(--ink-soft); font-size: 11px; text-transform: uppercase; letter-spacing: .13em; }
.primary-nav { display: flex; align-items: center; gap: 30px; }
.primary-nav a { text-decoration: none; font-size: 15px; font-weight: 650; }
.primary-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.nav-cta { border: 1px solid var(--ink); padding: 11px 15px; }
.nav-toggle { display: none; background: transparent; border: 1px solid var(--ink); padding: 9px 12px; font-weight: 700; }

.brand-logo { display: block; max-width: 240px; max-height: 54px; width: auto; height: auto; object-fit: contain; }
.hero { position: relative; overflow: hidden; background: var(--ink); color: var(--white); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(to right, #fff 1px, transparent 1px), linear-gradient(to bottom, #fff 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg, #000, transparent 76%); }
.hero-grid { position: relative; min-height: 640px; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px,.7fr); gap: 90px; align-items: stretch; }
.hero-copy { align-self: center; padding: 92px 0; }
.eyebrow { margin: 0 0 20px; font: 700 12px/1.3 ui-monospace, SFMono-Regular, Consolas, monospace; text-transform: uppercase; letter-spacing: .13em; color: var(--accent); }
.hero h1, .page-hero h1 { max-width: 920px; margin: 0; font-size: clamp(3rem, 7vw, 6.6rem); line-height: .94; letter-spacing: -.055em; font-weight: 760; }
.hero-lead { max-width: 780px; margin: 34px 0 0; font-size: clamp(1.15rem, 2vw, 1.55rem); color: #d4d7da; }
.hero-actions { margin-top: 42px; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 20px; border: 1px solid currentColor; text-decoration: none; font-weight: 750; font-size: 15px; cursor: pointer; }
.button-primary { background: var(--accent); color: #17120a; border-color: var(--accent); }
.button-primary:hover { background: #d7ae5e; }
.button-secondary { background: transparent; color: var(--ink); }
.text-link { text-decoration: none; font-weight: 750; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.text-link.inverse { color: var(--white); }
.hero-rail { border-inline: 1px solid rgba(255,255,255,.18); display: grid; grid-template-rows: repeat(3,1fr); background: rgba(255,255,255,.02); }
.hero-rail > div { padding: 34px; display: grid; align-content: center; border-bottom: 1px solid rgba(255,255,255,.18); }
.hero-rail > div:last-child { border-bottom: 0; }
.hero-rail span { color: var(--accent); font: 700 11px ui-monospace, monospace; }
.hero-rail strong { margin-top: 12px; font-size: 19px; }
.hero-rail small { margin-top: 8px; color: #adb4ba; font-size: 14px; }
.signal-band { background: var(--accent); color: #17120a; border-bottom: 1px solid #9b7430; }
.signal-grid { min-height: 126px; display: grid; grid-template-columns: repeat(3,1fr); }
.signal-grid > div { padding: 26px 30px; border-right: 1px solid rgba(23,18,10,.28); display: grid; align-content: center; }
.signal-grid > div:last-child { border-right: 0; }
.signal-grid strong { font-size: 23px; }
.signal-grid span { font-size: 13px; margin-top: 4px; }
.section { padding: 104px 0; }
.section-light { background: var(--paper); }
.section-dark { background: var(--ink); color: var(--white); }
.split-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 90px; align-items: end; padding-bottom: 55px; border-bottom: 1px solid var(--line); }
.split-heading h2, .case-grid h2, .product-grid h2, .final-cta h2, .product-story h2, .contact-aside h2, .legal-note h2 { margin: 0; font-size: clamp(2.2rem,4vw,4.3rem); line-height: 1; letter-spacing: -.04em; }
.split-heading > p { margin: 0; color: var(--ink-soft); font-size: 18px; }
.capability-list article { display: grid; grid-template-columns: 100px 1fr; padding: 34px 0; border-bottom: 1px solid var(--line); }
.cap-index { font: 700 12px ui-monospace, monospace; color: var(--accent-ink); }
.capability-list h3 { margin: 0 0 8px; font-size: 26px; }
.capability-list p { margin: 0; max-width: 790px; color: var(--ink-soft); font-size: 17px; }
.case-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.case-body p { margin: 0 0 22px; color: #c2c7cb; font-size: 18px; }
.product-feature { background: #e9e5dc; }
.product-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; }
.product-lead { font-size: 21px; max-width: 680px; }
.technical-panel { border-block: 1px solid var(--ink); }
.technical-panel div { display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.technical-panel div:last-child { border-bottom: 0; }
.technical-panel span { font: 700 11px ui-monospace, monospace; color: var(--accent-ink); }
.final-cta { background: var(--white); }
.final-cta-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; align-items: start; }
.final-cta p { margin-top: 0; font-size: 18px; color: var(--ink-soft); }
.page-hero { background: var(--ink); color: var(--white); padding: 110px 0 80px; }
.page-hero.compact h1 { font-size: clamp(2.8rem, 6vw, 5.7rem); }
.page-hero p:last-child { max-width: 820px; margin-top: 26px; color: #c4c9cd; font-size: 20px; }
.service-table { border-top: 1px solid var(--line); }
.service-table article { display: grid; grid-template-columns: .8fr 1.3fr .7fr; gap: 40px; padding: 32px 0; border-bottom: 1px solid var(--line); align-items: start; }
.service-table h2 { margin: 0; font-size: 22px; }
.service-table p { margin: 0; color: var(--ink-soft); }
.service-table span { font: 700 11px/1.5 ui-monospace, monospace; text-transform: uppercase; color: var(--accent-ink); }
.timeline { border-top: 1px solid var(--line); }
.timeline article { display: grid; grid-template-columns: 220px 1fr; gap: 50px; padding: 38px 0; border-bottom: 1px solid var(--line); }
.timeline-year { font: 700 12px ui-monospace, monospace; color: var(--accent-ink); }
.timeline h2 { margin: 0 0 10px; font-size: 25px; }
.timeline p { max-width: 850px; margin: 0; color: var(--ink-soft); font-size: 17px; }
.legal-note { max-width: 900px; }
.legal-note p { color: #c5cace; font-size: 18px; }
.product-hero-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: end; }
.code-sample { min-height: 210px; padding: 32px; border: 1px solid #4d555c; display: grid; align-content: center; font-family: ui-monospace, monospace; }
.code-sample span { color: var(--accent); font-size: 11px; }
.code-sample strong { margin: 18px 0 8px; font-size: 20px; }
.code-sample small { color: #aeb5ba; }
.product-story { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; }
.product-story p { font-size: 18px; color: var(--ink-soft); }
.product-columns { margin-top: 60px; display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid var(--line); }
.product-columns > div { padding: 28px; border-right: 1px solid var(--line); }
.product-columns > div:last-child { border-right: 0; }
.product-columns span { font: 700 11px ui-monospace, monospace; color: var(--accent-ink); }
.product-columns h3 { margin: 30px 0 8px; }
.product-columns p { color: var(--ink-soft); }
.contact-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-form label { display: grid; gap: 8px; font-weight: 700; }
.contact-form label.full, .contact-form .full { grid-column: 1 / -1; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid #aca69a; background: var(--white); padding: 13px 14px; font: inherit; border-radius: 0; }
.contact-form textarea { resize: vertical; }
.contact-form small { color: #8a261d; font-weight: 600; }
.form-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.form-success { grid-column: 1/-1; padding: 14px 0; border-block: 1px solid #57714e; color: #2b5124; font-weight: 700; }
.validation-summary { grid-column: 1/-1; color: #8a261d; }
.contact-aside { border-top: 1px solid var(--ink); padding-top: 28px; }
.contact-aside ul { margin: 32px 0 0; padding: 0; list-style: none; }
.contact-aside li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.prose { max-width: 820px; }
.site-footer { background: #090c0f; color: #d8dcdf; padding: 62px 0 24px; }
.footer-grid { display: grid; grid-template-columns: 1.5fr .75fr .75fr; gap: 50px; }
.footer-grid p { color: #8f989f; }
.footer-grid > div { display: grid; align-content: start; }
.footer-label { color: #778087; font: 700 10px ui-monospace, monospace; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 8px; }
.footer-bottom { margin-top: 48px; padding-top: 20px; border-top: 1px solid #252b30; display: flex; justify-content: space-between; color: #747e85; font-size: 12px; }
@media (max-width: 900px) {
  .nav-toggle { display: inline-flex; }
  .primary-nav { display: none; position: absolute; top: var(--header); left: 0; right: 0; background: var(--paper); border-bottom: 1px solid var(--line); padding: 24px; flex-direction: column; align-items: stretch; gap: 18px; }
  .primary-nav.is-open { display: flex; }
  .hero-grid, .case-grid, .product-grid, .final-cta-grid, .product-hero-grid, .product-story, .contact-grid, .split-heading { grid-template-columns: 1fr; gap: 50px; }
  .hero-grid { min-height: 0; }
  .hero-rail { border-top: 1px solid rgba(255,255,255,.18); border-inline: 0; }
  .signal-grid { grid-template-columns: 1fr; }
  .signal-grid > div { border-right: 0; border-bottom: 1px solid rgba(23,18,10,.28); }
  .service-table article { grid-template-columns: 1fr; gap: 12px; }
  .product-columns { grid-template-columns: 1fr 1fr; }
  .product-columns > div:nth-child(2) { border-right: 0; }
  .timeline article { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 600px) {
  .shell { width: min(calc(100% - 28px), var(--max)); }
  .brand-copy small { display: none; }
  .hero-copy { padding: 72px 0 54px; }
  .hero h1, .page-hero h1 { font-size: clamp(2.8rem, 14vw, 4.6rem); }
  .section { padding: 74px 0; }
  .capability-list article { grid-template-columns: 48px 1fr; }
  .product-columns { grid-template-columns: 1fr; }
  .product-columns > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .contact-form { grid-template-columns: 1fr; }
  .contact-form label.full, .contact-form .full { grid-column: 1; }
  .footer-topbar { flex-direction: column; align-items: start; }
  .footer-grid, .footer-grid-pro { grid-template-columns: 1fr; }
  .contact-direct-grid { grid-template-columns: 1fr; }
}

/* Net & Systems V3 refinements */
.brand-logo { width: 98px; height: 46px; object-fit: contain; object-position: left center; flex: 0 0 auto; }
.brand { gap: 12px; }
.brand-copy strong { letter-spacing: -.02em; }
.compact-split { padding-bottom: 40px; }
.secondary-services { background: #f3f0e9; }
.secondary-cap-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); }
.secondary-cap-grid > div { padding: 28px 24px 28px 0; border-right: 1px solid var(--line); display: grid; gap: 9px; }
.secondary-cap-grid > div + div { padding-left: 24px; }
.secondary-cap-grid > div:last-child { border-right: 0; }
.secondary-cap-grid strong { font-size: 18px; }
.secondary-cap-grid span { color: var(--ink-soft); line-height: 1.5; }
.about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.about-grid h2 { margin: 0; font-size: clamp(2.2rem,4vw,4.3rem); line-height: 1; letter-spacing: -.04em; }
.about-copy p { margin: 0 0 24px; color: var(--ink-soft); font-size: 18px; }
.principles { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #343b41; border-bottom: 1px solid #343b41; }
.principles > div { padding: 35px 30px; border-right: 1px solid #343b41; }
.principles > div:first-child { padding-left: 0; }
.principles > div:last-child { border-right: 0; }
.principles span { color: var(--accent); font: 700 11px ui-monospace, monospace; }
.principles h2 { margin: 34px 0 12px; font-size: 24px; }
.principles p { margin: 0; color: #bbc1c5; }
.light-note { max-width: 980px; }
.light-note p:last-child { color: var(--ink-soft); }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { color: var(--white); }
@media (max-width: 900px) {
  .secondary-cap-grid, .about-grid, .principles { grid-template-columns: 1fr 1fr; }
  .secondary-cap-grid > div:nth-child(2), .principles > div:nth-child(2) { border-right: 0; }
  .principles > div:first-child { padding-left: 30px; }
}
@media (max-width: 600px) {
  .brand-logo { width: 82px; height: 39px; }
  .secondary-cap-grid, .about-grid, .principles { grid-template-columns: 1fr; }
  .secondary-cap-grid > div, .secondary-cap-grid > div + div, .principles > div, .principles > div:first-child { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .principles > div { border-bottom-color: #343b41; }
}

/* Net & Systems V5 — wide interactive presentation + mega navigation */
:root {
  --max: 1420px;
  --wide-max: 1580px;
  --header: 82px;
  --accent-bright: #ddb04d;
}
.shell { width: min(calc(100% - 56px), var(--max)); }
.wide-shell { width: min(calc(100% - 56px), var(--wide-max)); margin-inline: auto; }

.site-header { overflow: visible; }
.header-row { position: relative; }
.primary-nav { position: static; gap: 6px; }
.nav-group { position: static; }
.nav-trigger { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 0; background: transparent; color: var(--ink); font: 700 15px/1 inherit; cursor: pointer; }
.nav-trigger > span { font-size: 12px; transition: transform .2s ease; }
.nav-group.is-open .nav-trigger > span { transform: rotate(180deg); }
.primary-nav > a:not(.nav-cta) { padding: 12px 10px; }
.primary-nav a:hover { text-decoration: none; }
.nav-cta { margin-left: 10px; padding: 12px 18px !important; font-size: 15px !important; transition: background .2s ease, color .2s ease, transform .2s ease; }
.nav-cta:hover { background: var(--ink); color: var(--white); transform: translateY(-1px); }

.mega-menu { position: absolute; top: 100%; left: 50%; width: 100vw; transform: translate(-50%, -8px); background: rgba(247,245,240,.985); border-bottom: 1px solid var(--line); box-shadow: 0 24px 60px rgba(9,12,15,.13); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.nav-group.is-open .mega-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.mega-menu::before { content:""; position:absolute; left:0; right:0; top:-12px; height:12px; background:transparent; }
.mega-layout { display: grid; grid-template-columns: minmax(290px,.8fr) minmax(680px,1.8fr); gap: 58px; padding-block: 34px 40px; }
.mega-layout-compact { grid-template-columns: minmax(290px,.8fr) minmax(620px,1.55fr); }
.mega-feature { display: grid; align-content: start; }
.mega-image { height: 130px; margin-bottom: 18px; background-image: linear-gradient(90deg, rgba(16,20,24,.12), rgba(16,20,24,.02)), url('/images/industrial-hero-v21.webp'); background-size: cover; border: 1px solid #c6c1b7; }
.mega-image-services { background-position: 76% 67%; }
.mega-image-experience { background-position: 58% 58%; filter: saturate(.7); }
.mega-kicker { margin: 0 0 8px; color: var(--accent-ink); font: 800 10px/1.3 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .15em; }
.mega-feature h3 { margin: 0; font-size: 22px; line-height: 1.15; letter-spacing: -.025em; max-width: 420px; }
.mega-feature-link { margin-top: 14px; width: fit-content; font-size: 13px; font-weight: 750; text-decoration: none; border-bottom: 1px solid currentColor; }
.mega-link-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 26px; }
.mega-link-grid > a { display: grid; grid-template-columns: 42px 1fr; gap: 14px; align-items: start; padding: 15px 8px; border-bottom: 1px solid #d8d3ca; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.mega-link-grid > a:hover { background: #ece8df; transform: translateX(3px); }
.mega-link-grid strong, .mega-link-grid small { display: block; }
.mega-link-grid strong { font-size: 15px; }
.mega-link-grid small { margin-top: 3px; color: #646b70; line-height: 1.35; }
.mega-icon { display: grid; place-items: center; min-height: 32px; border: 1px solid #9c978d; color: var(--accent-ink); font: 800 10px/1 ui-monospace, monospace; }
.product-mega-layout { min-height: 175px; display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 60px; background-image: linear-gradient(90deg, rgba(247,245,240,.98) 0 47%, rgba(247,245,240,.75) 67%, rgba(247,245,240,.35) 100%), url('/images/industrial-hero-v21.webp'); background-repeat: no-repeat; background-position: center, 90% 62%; background-size: auto, 52% auto; padding-block: 34px; }
.product-mega-layout h3 { margin: 0; font-size: 32px; }
.product-mega-layout p:not(.mega-kicker) { max-width: 680px; color: var(--ink-soft); }
.product-mega-action { justify-self: end; padding: 15px 18px; border: 1px solid var(--ink); background: rgba(247,245,240,.9); text-decoration: none; font-weight: 800; }
.company-mega-layout { display: grid; grid-template-columns: repeat(3,1fr); padding-block: 28px 34px; }
.company-mega-layout a { padding: 14px 38px 14px 14px; text-decoration: none; border-right: 1px solid var(--line); transition: background .18s ease, transform .18s ease; }
.company-mega-layout a + a { padding-left: 38px; }
.company-mega-layout a:last-child { border-right: 0; }
.company-mega-layout a:hover, .company-mega-layout a:focus-visible { background: #ece8df; transform: translateY(-2px); outline: none; }
.company-mega-layout strong, .company-mega-layout small { display: block; }
.company-mega-layout strong { font-size: 17px; }
.company-mega-layout small { margin-top: 5px; color: var(--ink-soft); }

.hero-visual { min-height: min(790px, calc(100vh - var(--header))); isolation: isolate; }
.hero-visual::before, .hero-media, .hero-overlay { pointer-events: none; }
.hero-stage { position: relative; z-index: 2; }
.hero-copy, .hero-actions, .hero-capabilities { position: relative; z-index: 3; }
.hero-media { position: absolute; z-index: -3; inset: -18px; background-image: url('/images/industrial-hero-v21.webp'); background-position: center center; background-size: cover; transform: translate(var(--px,0px), var(--py,0px)) scale(1.035); transition: transform .55s cubic-bezier(.22,.61,.36,1); animation: heroBreath 14s ease-in-out infinite alternate; }
.hero-overlay { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(8,12,15,.97) 0%, rgba(8,12,15,.91) 33%, rgba(8,12,15,.66) 60%, rgba(8,12,15,.2) 100%); }
.hero-visual::before { opacity: .12; mask-image: linear-gradient(90deg,#000 0 60%,transparent 90%); }
.hero-stage { min-height: min(790px, calc(100vh - var(--header))); display: grid; grid-template-columns: minmax(0,1.45fr) minmax(390px,.55fr); gap: 80px; align-items: center; }
.hero-visual .hero-copy { padding: 78px 0 110px; max-width: 960px; }
.hero-visual h1 { font-size: clamp(3.8rem,6vw,7.2rem); max-width: 1000px; text-shadow: 0 3px 28px rgba(0,0,0,.25); }
.hero-visual .hero-lead { max-width: 820px; margin-top: 30px; color: #edf0f1; }
.hero-experience { max-width: 810px; margin: 18px 0 0; color: #aeb7bd; font-size: 15px; }
.hero-capabilities { align-self: end; margin-bottom: 74px; border-top: 1px solid rgba(255,255,255,.34); backdrop-filter: blur(4px); }
.hero-capabilities a { display: grid; grid-template-columns: 34px 1fr; column-gap: 14px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.25); color: white; text-decoration: none; transition: padding-left .2s ease, background .2s ease; }
.hero-capabilities a:hover { padding-left: 10px; background: linear-gradient(90deg, rgba(197,154,71,.13), transparent); }
.hero-capabilities span { grid-row: 1 / 3; color: var(--accent-bright); font: 800 10px/1.4 ui-monospace, monospace; }
.hero-capabilities strong { font-size: 17px; }
.hero-capabilities small { color: #bfc6ca; line-height: 1.45; }
.hero-scroll-cue { position: absolute; z-index: 4; left: max(28px, calc((100vw - var(--wide-max))/2 + 28px)); bottom: 22px; display: flex; align-items: center; gap: 12px; color: #aeb6bb; font: 700 10px/1 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .14em; text-decoration: none; cursor: pointer; }
.hero-scroll-cue:hover { color: #fff; }
.hero-scroll-cue span { width: 56px; height: 1px; background: var(--accent); position: relative; overflow: hidden; }
.hero-scroll-cue span::after { content:""; position:absolute; inset:0; background:white; transform: translateX(-100%); animation: cueSweep 2.4s ease-in-out infinite; }

.signal-grid { min-height: 116px; }
.signal-grid > div { padding: 24px 34px; }
.signal-grid strong { font-size: 21px; }

.service-flow { border-top: 1px solid var(--line); }
.service-flow-row { position: relative; display: grid; grid-template-columns: 76px minmax(0,1fr) 54px; gap: 30px; align-items: center; min-height: 128px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; overflow: hidden; }
.service-flow-row::before { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(197,154,71,.15), rgba(197,154,71,.02)); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.service-flow-row:hover::before { transform: scaleX(1); }
.service-flow-row > * { position: relative; }
.service-flow-row h3 { margin:0 0 6px; font-size: clamp(1.5rem,2.3vw,2.4rem); letter-spacing:-.025em; }
.service-flow-row p { margin:0; color:var(--ink-soft); font-size:17px; max-width:920px; }
.flow-index { color:var(--accent-ink); font:800 11px ui-monospace,monospace; }
.flow-arrow { justify-self:end; font-size:30px; transition: transform .25s ease; }
.service-flow-row:hover .flow-arrow { transform: translate(5px,-5px); }

.connected-section { background:#0c1115; color:white; overflow:hidden; }
.connected-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:110px; align-items:center; }
.connected-copy h2 { margin:0 0 28px; max-width:650px; font-size:clamp(2.7rem,4.6vw,5.5rem); line-height:.98; letter-spacing:-.045em; }
.connected-copy p { max-width:700px; color:#b9c1c7; font-size:18px; }
.operation-map { position:relative; min-height:560px; }
.operation-flows { position:absolute; inset:0; width:100%; height:100%; z-index:1; overflow:visible; }
.flow-path { fill:none; stroke:rgba(221,176,77,.32); stroke-width:1.4; stroke-linecap:round; stroke-dasharray:4 8; }
.flow-dot { fill:var(--accent-bright); filter: drop-shadow(0 0 8px rgba(221,176,77,.85)); }
.operation-core, .operation-node { position:absolute; border:1px solid rgba(221,176,77,.65); background:rgba(15,21,26,.82); backdrop-filter:blur(10px); box-shadow:0 15px 50px rgba(0,0,0,.22); }
.operation-core { left:50%; top:50%; transform:translate(-50%,-50%); width:170px; height:170px; border-radius:50%; display:grid; place-items:center; align-content:center; z-index:4; }
.operation-core span { color:var(--accent-bright); font:800 22px ui-monospace,monospace; }
.operation-core strong { margin-top:6px; font-size:14px; }
.operation-node { width:190px; padding:18px 20px; z-index:3; }
.operation-node span, .operation-node small { display:block; }
.operation-node span { font-weight:800; }
.operation-node small { margin-top:5px; color:#9eabb3; }
.node-apps { left:2%; top:10%; }
.node-data { right:2%; top:14%; }
.node-business { left:4%; bottom:9%; }
.node-ops { right:0; bottom:10%; }
.operation-orbit { position:absolute; left:50%; top:50%; border:1px solid rgba(221,176,77,.28); border-radius:50%; transform:translate(-50%,-50%); }
.orbit-one { width:430px; height:430px; animation:orbitSpin 28s linear infinite; }
.orbit-two { width:320px; height:320px; border-style:dashed; animation:orbitSpin 21s linear infinite reverse; }
.operation-orbit::before, .operation-orbit::after { content:""; position:absolute; width:8px; height:8px; border-radius:50%; background:var(--accent-bright); box-shadow:0 0 22px rgba(221,176,77,.9); }
.orbit-one::before { left:12%; top:12%; }.orbit-one::after { right:5%; bottom:30%; }
.orbit-two::before { left:50%; top:-4px; }.orbit-two::after { left:-4px; bottom:42%; }

.experience-section { position:relative; overflow:hidden; }
.experience-section::after { content:"2012 — TODAY"; position:absolute; right:-10px; bottom:-30px; color:rgba(255,255,255,.035); font-size:clamp(6rem,14vw,14rem); font-weight:850; letter-spacing:-.07em; white-space:nowrap; pointer-events:none; }
.approach-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; }
.approach-heading h2 { margin:0; font-size:clamp(2.8rem,4.5vw,5rem); line-height:.95; letter-spacing:-.045em; }
.approach-track { border-top:1px solid var(--line); }
.approach-step { display:grid; grid-template-columns:60px 180px 1fr; gap:22px; padding:27px 0; border-bottom:1px solid var(--line); align-items:start; }
.approach-step span { color:var(--accent-ink); font:800 11px ui-monospace,monospace; }
.approach-step strong { font-size:20px; }
.approach-step p { margin:0; color:var(--ink-soft); }

.product-feature-v5 { overflow:hidden; }
.pat-visual { min-height:420px; position:relative; background:#11171b; border:1px solid #4d555c; overflow:hidden; }
.pat-pixel-grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(to right,#fff 1px,transparent 1px),linear-gradient(to bottom,#fff 1px,transparent 1px); background-size:24px 24px; }
.rug-canvas { position:absolute; right:8%; top:50%; transform:translateY(-50%); width:min(72%, 440px); aspect-ratio:1 / 1.18; border:1px solid rgba(221,176,77,.55); background:linear-gradient(180deg,#10161a,#0c1115); box-shadow:0 24px 70px rgba(0,0,0,.35); overflow:hidden; }
.rug-design-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.rug-pixel-layer { position:absolute; inset:0; opacity:.24; pointer-events:none; background-image:linear-gradient(to right,rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.13) 1px,transparent 1px); background-size:20px 20px; }
.rug-pattern { position:absolute; inset:8% 11%; border:0; background:#172530 url('/images/pat-rug-design.svg') center / 100% 100% no-repeat; box-shadow:0 18px 45px rgba(0,0,0,.35); animation:patternShift 10s ease-in-out infinite alternate; }
.rug-caption { position:absolute; left:18px; bottom:16px; padding:8px 12px; color:#f3f4f5; font:700 12px/1.2 "Segoe UI Variable", "Segoe UI", sans-serif; background:rgba(12,17,21,.86); border:1px solid rgba(221,176,77,.45); }
.pixel-pill { position:absolute; display:inline-flex; align-items:center; min-height:34px; padding:0 14px; background:rgba(12,17,21,.86); border:1px solid rgba(221,176,77,.55); color:#f0f2f3; font:700 12px/1.2 "Segoe UI Variable", "Segoe UI", sans-serif; box-shadow:0 12px 32px rgba(0,0,0,.2); }
.pill-a { left:6%; top:18%; }
.pill-b { left:8%; bottom:18%; }
.pat-visual > span { position:absolute; left:28px; bottom:26px; color:#f0f2f3; font:800 11px ui-monospace,monospace; letter-spacing:.14em; }
.final-cta-v5 { background:linear-gradient(120deg,#fff 0%,#f4f0e6 100%); }


.pat-designer-showcase { padding-top: 32px; }
.pat-designer-grid { align-items: center; }
.pat-feature-actions { margin-top: 26px; }
.pat-visual-interactive { min-height: 560px; }
.rug-canvas-interactive {
  right: 6%;
  top: 50%;
  transform: translateY(-50%);
  width: min(70%, 430px);
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  padding: 18px;
  background: linear-gradient(180deg,#11171b,#0c1115);
}
.rug-design-canvas {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  background: #0f1418;
  box-shadow: 0 18px 45px rgba(0,0,0,.32);
}
.pat-palette-panel {
  position: absolute;
  left: 28px;
  right: auto;
  bottom: 60px;
  width: min(280px, calc(100% - 56px));
  padding: 14px;
  background: rgba(12,17,21,.88);
  border: 1px solid rgba(221,176,77,.45);
  box-shadow: 0 16px 40px rgba(0,0,0,.24);
}
.pat-palette-label {
  color: #f0f2f3;
  font: 700 11px/1.2 "Segoe UI Variable", "Segoe UI", sans-serif;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.pat-palette-swatches {
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 8px;
  margin-top: 12px;
}
.pat-swatch {
  display: block;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
  transition: transform .28s ease, box-shadow .28s ease, opacity .28s ease;
}
.pat-swatch.is-swapping {
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 0 0 1px rgba(221,176,77,.78), 0 10px 20px rgba(0,0,0,.32);
}
.pat-palette-hint {
  margin-top: 10px;
  color: #b9c0c5;
  font-size: 12px;
  line-height: 1.4;
}
@media (max-width: 1180px) {
  .pat-visual-interactive { min-height: 520px; }
}
@media (max-width: 900px) {
  .pat-designer-grid { grid-template-columns: 1fr; }
  .pat-visual-interactive { min-height: 500px; }
  .rug-canvas-interactive {
    position: relative;
    inset: auto;
    width: min(82%, 430px);
    margin: 54px auto 0;
    transform: none;
  }
  .pat-palette-panel {
    position: relative;
    left: auto;
    bottom: auto;
    width: auto;
    margin: 16px 22px 52px;
  }
  .pat-visual > span { bottom: 20px; }
}
@media (max-width: 620px) {
  .pat-visual-interactive { min-height: 460px; }
  .rug-canvas-interactive {
    width: calc(100% - 34px);
    padding: 14px;
    margin-top: 46px;
  }
  .pixel-pill { display:none; }
}


/* V6 refinements: contact form, footer, PAT presentation */
.contact-card { background: rgba(255,255,255,.58); border: 1px solid #d8d1c3; padding: 30px; }
.form-intro h2 { margin: 0 0 12px; font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.02; letter-spacing: -.04em; }
.form-intro p:last-child { margin: 0; color: var(--ink-soft); }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; border: 1px solid #aca69a; background: var(--white); padding: 14px 15px; font: inherit; border-radius: 0; }
.form-success, .form-response { grid-column: 1/-1; padding: 14px 16px; border: 1px solid #57714e; background: #eef6eb; color: #2b5124; font-weight: 700; }
.form-response.is-error { border-color: #8a261d; background: #f7e9e7; color: #7a2018; }
.contact-aside { border-top: 0; padding-top: 0; }
.contact-direct-grid { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-direct-grid > div { display: grid; gap: 8px; }

.site-footer { background: #090c0f; color: #d8dcdf; padding: 26px 0 24px; }
.footer-topbar { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 18px 0 28px; border-bottom: 1px solid #22272d; }
.footer-topbar strong { font-size: clamp(1.1rem, 2vw, 1.45rem); }
.footer-button { color: #f3f4f5; border-color: rgba(221,176,77,.7); background: rgba(221,176,77,.12); }
.footer-grid-pro { grid-template-columns: 1.35fr .8fr .8fr .8fr; padding-top: 38px; }
.footer-grid > div { display: grid; align-content: start; gap: 10px; }
.footer-brand-block { gap: 14px !important; }
.footer-brand { margin-bottom: 8px; }
.footer-note { max-width: 470px; }
.footer-strong { font-size: 1.16rem; font-weight: 750; }
.footer-bottom { margin-top: 34px; padding-top: 20px; border-top: 1px solid #22272d; display: flex; justify-content: space-between; gap: 16px; align-items: center; color: #717a81; font-size: 13px; }
.footer-bottom-links { display: flex; gap: 18px; }

.page-hero { position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; right:-8%; top:-60%; width:52%; height:180%; background:radial-gradient(circle,rgba(197,154,71,.18),transparent 62%); pointer-events:none; }
.service-table article { scroll-margin-top:110px; transition:background .25s ease,padding-left .25s ease; }
.service-table article:hover { background:#ebe7dd; padding-left:18px; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }.reveal-delay-2 { transition-delay:.2s; }.reveal-delay-3 { transition-delay:.3s; }

@keyframes heroBreath { from{filter:saturate(.92) brightness(.92)} to{filter:saturate(1.08) brightness(1.04)} }
@keyframes cueSweep { 0%,20%{transform:translateX(-100%)} 60%,100%{transform:translateX(100%)} }
@keyframes orbitSpin { to{transform:translate(-50%,-50%) rotate(360deg)} }
@keyframes patternShift { from{transform:scale(1) translateY(0)} to{transform:scale(1.015) translateY(-6px)} }

@media (max-width: 1180px) {
  .hero-stage { grid-template-columns:1fr minmax(310px,.52fr); gap:48px; }
  .hero-visual h1 { font-size:clamp(3.4rem,6.3vw,6rem); }
  .mega-layout { grid-template-columns:300px 1fr; gap:35px; }
}

@media (max-width: 980px) {
  .wide-shell, .shell { width:min(calc(100% - 34px),var(--wide-max)); }
  .nav-toggle { display:inline-flex; align-items:center; gap:10px; }
  .primary-nav { display:none; position:absolute; top:var(--header); left:-17px; right:-17px; max-height:calc(100vh - var(--header)); overflow:auto; background:var(--paper); border-bottom:1px solid var(--line); padding:10px 17px 20px; flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav.is-open { display:flex; }
  .nav-trigger { width:100%; justify-content:space-between; border-bottom:1px solid var(--line); min-height:54px; padding-inline:4px; }
  .nav-cta { margin:16px 0 0; text-align:center; }
  .mega-menu { position:static; width:auto; transform:none !important; box-shadow:none; border-bottom:0; max-height:0; overflow:hidden; opacity:1; visibility:visible; pointer-events:none; transition:max-height .35s ease; }
  .nav-group.is-open .mega-menu { max-height:1000px; pointer-events:auto; }
  .mega-layout,.mega-layout-compact { width:100%; grid-template-columns:1fr; gap:18px; padding:18px 0 22px; }
  .mega-feature { display:none; }
  .mega-link-grid { grid-template-columns:1fr; }
  .product-mega-layout { width:100%; min-height:0; grid-template-columns:1fr; background-image:none; padding:20px 0; }
  .product-mega-action { justify-self:start; }
  .company-mega-layout { width:100%; grid-template-columns:1fr; padding:10px 0 18px; }
  .company-mega-layout a,.company-mega-layout a+a { padding:13px 4px; border-right:0; border-bottom:1px solid var(--line); }
  .hero-stage { grid-template-columns:1fr; min-height:auto; padding-bottom:60px; }
  .hero-capabilities { margin:0; max-width:720px; }
  .hero-media { background-position:64% center; }
  .hero-overlay { background:linear-gradient(90deg,rgba(8,12,15,.96),rgba(8,12,15,.78)); }
  .connected-layout,.approach-layout { grid-template-columns:1fr; gap:65px; }
  .operation-map { min-height:520px; max-width:700px; width:100%; margin-inline:auto; }
}

@media (max-width: 650px) {
  .wide-shell,.shell { width:min(calc(100% - 26px),var(--wide-max)); }
  .hero-visual .hero-copy { padding:72px 0 40px; }
  .hero-visual h1 { font-size:clamp(3rem,14vw,4.6rem); }
  .hero-capabilities { display:none; }
  .hero-scroll-cue { display:none; }
  .signal-grid > div { padding-inline:18px; }
  .service-flow-row { grid-template-columns:36px 1fr 24px; gap:12px; min-height:145px; }
  .service-flow-row h3 { font-size:1.55rem; }
  .service-flow-row p { font-size:15px; }
  .operation-map { min-height:600px; }
  .operation-core { width:128px;height:128px; }
  .operation-node { width:145px;padding:13px; }
  .rug-canvas { right: 4%; width: min(78%, 320px); }
  .pixel-pill { font-size: 11px; padding-inline: 10px; }
  .orbit-one { width:310px;height:310px; }.orbit-two { width:235px;height:235px; }
  .approach-step { grid-template-columns:42px 1fr; }
  .approach-step p { grid-column:2; }
}

@media (max-width: 980px) {
  .footer-topbar { flex-direction: column; align-items: start; }
  .footer-grid-pro { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 650px) {
  .footer-grid-pro { grid-template-columns: 1fr; }
  .contact-direct-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}


/* Final approved branding and About-page presentation */
.footer-brand-logo { width: 92px; height: 44px; }
.about-grid-with-image {
  grid-template-columns: 1fr;
  gap: 28px;
}
.about-grid-with-image > div:first-child {
  width: 100%;
}
.about-grid-with-image .about-copy {
  width: 100%;
  max-width: 1180px;
}
.about-experience-image { grid-column: 1; margin: 28px 0 0; border: 1px solid var(--line); overflow: hidden; background: #0e1216; }
.about-experience-image img { display: block; width: 100%; aspect-ratio: 16 / 8.7; object-fit: cover; object-position: center; }
@media (max-width: 900px) {
  .about-grid-with-image { grid-template-columns: 1fr; gap: 22px; }
  .about-experience-image { grid-column: 1; margin-top: 10px; }
}
@media (max-width: 600px) {
  .footer-brand-logo { width: 78px; height: 38px; }
}

/* Net & Systems CMS admin foundation */
.admin-auth-page {
  min-height: calc(100vh - var(--header));
  padding: 80px 24px;
  display: grid;
  place-items: start center;
  background: #0c1115;
}
.admin-auth-card {
  width: min(100%, 520px);
  padding: 34px;
  background: #f3f1ec;
  border: 1px solid #cfcac0;
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
}
.admin-auth-card h1 { margin: 0 0 10px; font-size: clamp(2rem, 4vw, 3rem); }
.admin-auth-note { margin: 0 0 26px; color: var(--ink-soft); }
.admin-auth-card form { display: grid; gap: 18px; }
.admin-auth-card label { display: grid; gap: 8px; font-weight: 700; }
.admin-auth-card input { width: 100%; padding: 13px 14px; border: 1px solid #aca69a; background: #fff; font: inherit; }
.admin-auth-error { margin-bottom: 18px; padding: 12px 14px; border: 1px solid #8a261d; background: #f7e9e7; color: #7a2018; font-weight: 700; }
.admin-setup-link { display: inline-block; margin-top: 22px; }

.cms-admin-toolbar {
  position: fixed;
  z-index: 10000;
  right: 20px;
  bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(221,176,77,.55);
  background: rgba(9,12,15,.96);
  color: #f3f4f5;
  box-shadow: 0 18px 60px rgba(0,0,0,.34);
  backdrop-filter: blur(12px);
}
.cms-admin-user { padding: 0 8px; color: #adb5ba; font-size: 12px; white-space: nowrap; }
.cms-toolbar-form { margin: 0; }
.cms-toolbar-button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid #434a50;
  background: #151b20;
  color: #f3f4f5;
  text-decoration: none;
  font: 700 12px/1 "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  cursor: pointer;
}
.cms-toolbar-button:hover, .cms-toolbar-button.is-active { border-color: var(--accent); background: rgba(197,154,71,.18); color: #fff; }

body.cms-edit-mode { padding-right: 0; }
body.cms-edit-mode a,
body.cms-edit-mode button,
body.cms-edit-mode h1,
body.cms-edit-mode h2,
body.cms-edit-mode h3,
body.cms-edit-mode h4,
body.cms-edit-mode h5,
body.cms-edit-mode h6,
body.cms-edit-mode p,
body.cms-edit-mode li,
body.cms-edit-mode span,
body.cms-edit-mode strong,
body.cms-edit-mode small,
body.cms-edit-mode label,
body.cms-edit-mode img { cursor: crosshair; }
body.cms-edit-mode [data-cms-ignore],
body.cms-edit-mode [data-cms-ignore] * { cursor: default !important; }
body.cms-edit-mode main :is(a,button,h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label,img):hover,
body.cms-edit-mode header :is(a,button,h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label,img):hover,
body.cms-edit-mode footer :is(a,button,h1,h2,h3,h4,h5,h6,p,li,span,strong,small,label,img):hover {
  outline: 2px dashed rgba(221,176,77,.95);
  outline-offset: 3px;
}
.cms-selected-element { outline: 3px solid #ddb04d !important; outline-offset: 4px !important; }

.cms-editor-panel {
  position: fixed;
  z-index: 10001;
  top: 18px;
  right: 18px;
  width: min(420px, calc(100vw - 36px));
  max-height: calc(100vh - 110px);
  overflow: auto;
  background: #f3f1ec;
  color: var(--ink);
  border: 1px solid #b7b1a6;
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
}
.cms-editor-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  background: #0c1115;
  color: #fff;
  border-bottom: 1px solid #2c343a;
  cursor: move;
  touch-action: none;
  user-select: none;
}
.cms-editor-panel.is-dragging { box-shadow: 0 36px 100px rgba(0,0,0,.48); }
.cms-editor-kicker { display: block; margin-bottom: 4px; color: var(--accent-bright); font: 800 10px/1.2 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .14em; }
.cms-editor-close { width: 34px; height: 34px; border: 1px solid #4d555c; background: transparent; color: #fff; font-size: 22px; cursor: pointer; touch-action: auto; }
.cms-editor-body { display: grid; gap: 16px; padding: 20px; }
.cms-editor-body label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; }
.cms-editor-body textarea,
.cms-editor-body input,
.cms-editor-body select { width: 100%; padding: 10px 11px; border: 1px solid #aaa398; background: #fff; color: var(--ink); font: inherit; }
.cms-editor-body input[type="color"] { min-height: 42px; padding: 4px; }
.cms-editor-section-title { padding-top: 6px; border-top: 1px solid var(--line); color: var(--accent-ink); font: 800 11px/1 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .12em; }
.cms-editor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cms-check { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 10px !important; }
.cms-check input { width: auto; }
.cms-editor-actions { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 6px; }
.cms-editor-message { padding: 10px 12px; border: 1px solid #57714e; background: #eef6eb; color: #2b5124; font-weight: 700; font-size: 13px; }
.cms-editor-message.is-error { border-color: #8a261d; background: #f7e9e7; color: #7a2018; }
.cms-editor-help { margin: 0; color: #606970; font-size: 12px; }

@media (max-width: 650px) {
  .cms-admin-toolbar { left: 10px; right: 10px; bottom: 10px; flex-wrap: wrap; }
  .cms-admin-user { width: 100%; }
  .cms-editor-panel { top: 10px; right: 10px; width: calc(100vw - 20px); max-height: calc(100vh - 92px); }
  .cms-editor-grid { grid-template-columns: 1fr; }
}

.admin-dashboard { min-height: calc(100vh - var(--header)); padding: 76px 0 100px; background: #f3f1ec; }
.admin-dashboard-head { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; padding-bottom: 38px; border-bottom: 1px solid var(--line); }
.admin-dashboard-head h1 { margin: 0; font-size: clamp(2.8rem, 6vw, 5.4rem); line-height: .95; letter-spacing: -.05em; }
.admin-dashboard-head p:last-child { max-width: 800px; color: var(--ink-soft); font-size: 18px; }
.admin-page-list { display: grid; margin-top: 38px; border-top: 1px solid var(--line); }
.admin-page-list a { display: grid; grid-template-columns: 220px 1fr 90px; gap: 30px; align-items: center; min-height: 92px; padding: 18px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.admin-page-list a:hover { background: linear-gradient(90deg, rgba(197,154,71,.12), transparent); }
.admin-page-list strong { font-size: 20px; }
.admin-page-list span { color: var(--ink-soft); }
.admin-page-list b { justify-self: end; color: var(--accent-ink); }
@media (max-width: 720px) {
  .admin-dashboard-head { grid-template-columns: 1fr; }
  .admin-page-list a { grid-template-columns: 1fr auto; gap: 8px 20px; }
  .admin-page-list span { grid-column: 1; }
  .admin-page-list b { grid-column: 2; grid-row: 1 / 3; }
}

/* V25 admin session renewal */
.cms-session-warning {
  position: fixed;
  z-index: 10020;
  left: 50%;
  bottom: 78px;
  transform: translateX(-50%);
  width: min(720px, calc(100vw - 32px));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 16px 18px;
  border: 1px solid rgba(221,176,77,.72);
  background: rgba(9,12,15,.97);
  color: #f3f4f5;
  box-shadow: 0 22px 70px rgba(0,0,0,.38);
  backdrop-filter: blur(12px);
}
.cms-session-warning[hidden] { display: none; }
.cms-session-warning > div:first-child { display: grid; gap: 4px; min-width: 0; }
.cms-session-warning strong { font-size: 14px; }
.cms-session-warning span { color: #c8ced2; font-size: 13px; line-height: 1.4; }
.cms-session-warning small { color: #ddb04d; font-size: 12px; font-weight: 750; }
.cms-session-actions { display: flex; gap: 8px; flex: 0 0 auto; }
.cms-session-actions .cms-toolbar-button { white-space: nowrap; }
@media (max-width: 700px) {
  .cms-session-warning { bottom: 88px; align-items: stretch; flex-direction: column; }
  .cms-session-actions { width: 100%; }
  .cms-session-actions .cms-toolbar-button { flex: 1; }
}

/* Admin-only content-source signal on the top-left brand name. */
.brand-content-static .site-header .brand-copy strong { color: #d97706 !important; }
.brand-content-fallback .site-header .brand-copy strong { color: #7f1d1d !important; }
.brand-content-dynamic .site-header .brand-copy strong { color: #101418 !important; }

.admin-content-source { margin: 28px 0 34px; padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: .9fr 1.1fr; gap: 44px; }
.admin-content-source h2 { margin: 0 0 10px; }
.admin-content-source p { color: var(--ink-soft); }
.admin-content-controls { display: grid; gap: 18px; align-content: start; }
.admin-mode-form { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.admin-mode-form label { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; }
.admin-content-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.admin-content-actions form { margin: 0; }
.admin-content-message { margin: 18px 0; padding: 12px 14px; border: 1px solid #57714e; background: #eef6eb; color: #2b5124; font-weight: 700; }
.admin-content-message.is-error { border-color: #8a261d; background: #f7e9e7; color: #7a2018; }
@media (max-width: 800px) { .admin-content-source { grid-template-columns: 1fr; gap: 20px; } }
