@charset "UTF-8";
/* WebPhilForge VANTA direction: real Orbitron / Inter fonts, readable type, neon motion. */
@font-face {
  font-family: Inter;
  src: url('fonts/Inter-Variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}
@font-face {
  font-family: Orbitron;
  src: url('fonts/Orbitron-Variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
}
:root {
  --bg: #08060f;
  --panel: #151022;
  --panel-2: #21152e;
  --text: #faf7ff;
  --muted: #c8bfd9;
  --dim: #b8aecb;
  --cyan: #63fff2;
  --purple: #bd89ff;
  --line: #c4a4ff26;
  --font: Inter, "Segoe UI", Arial, sans-serif;
  --display: Orbitron, Inter, sans-serif;
}
html { font-size: 100%; scroll-padding-top: 118px; }
body { font-family: var(--font); font-size: 20px; line-height: 1.75; background: var(--bg); color: var(--text); }
body > main, .site-header, .site-footer { position: relative; }
body > main, .site-footer { z-index: 1; }
.container { width: min(1360px, calc(100% - 96px)); }
h1, h2, h3 { font-family: var(--display); font-weight: 700; letter-spacing: -.035em; overflow-wrap: break-word; }
h1 { font-size: clamp(50px, 5.4vw, 80px); line-height: 1.16; }
h2 { font-size: clamp(32px, 3.4vw, 48px); line-height: 1.25; }
h3 { font-size: 27px; line-height: 1.3; }
p { color: var(--muted); font-size: 18px; line-height: 1.85; }
strong { color: var(--text); font-weight: 650; }
.gradient-text {
  background-image: linear-gradient(110deg, #e5caff 5%, #c188ff 35%, #63fff2 80%, #e5caff);
  background-size: 220% auto;
  -webkit-text-stroke: 0;
}
.eyebrow { font: 650 14px/1.8 var(--font); letter-spacing: .16em; color: var(--cyan); }
.button, .button-small { min-height: 56px; padding: 16px 24px; font: 700 17px/1.4 var(--font); border-radius: 4px; gap: 15px; }
.button {
  background: linear-gradient(110deg, #bd80ff, #8862f9 45%, #69fff1 150%);
  border-color: #c9a3ff;
  color: #fff;
  box-shadow: 0 0 25px #a855f733, inset 0 1px #ffffff44;
  position: relative;
  isolation: isolate;
}
.button:hover { background: linear-gradient(110deg, #ce9eff, #a27bff 45%, #69fff1); box-shadow: 0 0 45px #a855f75c; color: #fff; }
.button-ghost { background: #130c20aa; border-color: #c9acff66; color: #f6efff; box-shadow: none; }
.button-ghost:hover { background: #2d1c43; }
.text-link { font-size: 17px; line-height: 1.7; gap: 14px; }
.text-link .icon, .button .icon { width: 23px; height: 23px; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 5px; }
.ambient-network { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; opacity: .55; }
.site-header { position: sticky; top: 0; z-index: 40; height: 106px; background: #08060ff0; border-bottom: 1px solid #bb77ff35; backdrop-filter: blur(20px); transition: background .25s, box-shadow .25s; }
.site-header.is-scrolled { background: #0c0817f5; box-shadow: 0 12px 45px #0007; }
.brand { gap: 14px; font: 750 21px/1.2 var(--display); letter-spacing: -.055em; }
.brand-light { font-weight: 500; }
.brand-mark { width: 48px; height: 48px; flex-shrink: 0; font: 900 29px/1 var(--font); letter-spacing: -6px; background: linear-gradient(145deg,#7845b440,#0d2834); border-color: #b286f966; box-shadow: 0 0 25px #9645ff22; }
.brand-mark > span { font-size: 28px; }
.brand small { font: 550 12px/1.6 var(--font); letter-spacing: .12em; color: #d5c8e8; margin-top: 7px; }
.primary-nav { gap: 25px; font-size: 17px; font-weight: 500; }
.primary-nav > a:not(.button) { color: #d9cee9; }
.primary-nav > a[aria-current] { color: #fff; }
.primary-nav > a[aria-current]:after { width: 26px; box-shadow: 0 0 10px #63fff2; }
.primary-nav .button { margin-left: 0; font-size: 16px; min-height: 48px; padding: 12px 17px; }
.motion-toggle { display: none; gap: 8px; align-items: center; justify-content: center; min-height: 46px; padding: 10px 11px; color: #f2eaff; background: #bf8dff12; border: 1px solid #b58ce640; border-radius: 4px; font: 500 14px/1.4 var(--font); }
.js .motion-toggle { display: inline-flex; }
.motion-toggle:hover { background: #bf8dff25; }
.motion-glyph { font-size: 19px; line-height: 1; }
.hero { background: radial-gradient(ellipse at 82% 50%,#4c17766b,transparent 53%),radial-gradient(ellipse at 55% 90%,#0c5c692e,transparent 45%),linear-gradient(125deg,#08060f,#0b0615 65%,#080914); isolation: isolate; }
.hero:before { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(#b079ff15 1px,transparent 1px),linear-gradient(90deg,#b079ff15 1px,transparent 1px); background-size:70px 70px; mask-image:linear-gradient(180deg,transparent,#0005 30%,#000 90%); transform-origin:bottom; opacity:.8; }
.hero:after { content:""; position:absolute; top:-30%; left:60%; height:150%; width:2px; background:linear-gradient(transparent,#d19dff 45%,#63fff288 65%,transparent); box-shadow:-130px 0 0 #ab4dff38,140px 0 0 #3cebd633; transform:rotate(24deg); opacity:.45; pointer-events:none; z-index:-1; }
.hero-grid { grid-template-columns:1.05fr 1fr; gap:35px; min-height: min(880px, calc(100svh - 106px)); padding-top:60px; padding-bottom:55px; }
.hero .eyebrow { border:1px solid #bd80ff55; border-radius:2px; background:#a055e916; font-size:13px; letter-spacing:.14em; padding:10px 15px; margin-bottom:30px; }
.hero h1 { font:850 clamp(64px,7.8vw,112px)/1.06 var(--display); letter-spacing:-.055em; margin-bottom:30px; text-shadow:0 5px 45px #a76aff19; }
.hero-description { font-size:20px; line-height:1.85; max-width:620px; color:#dfd5ed; margin-bottom:34px; }
.hero-actions { gap:15px; }
.hero-actions .button { font-size:17px; padding:18px 22px; min-height:60px; }
.hero-notes { font-size:16px; gap:25px; color:#d1c7e0; margin-top:29px; }
.hero-notes .icon { width:18px; height:18px; }
.hero-foot { font-size:13px; line-height:1.8; color:#c1b1d4; letter-spacing:.12em; padding-bottom:30px; }
.hero-foot a { gap:16px; }
.hero-foot a span { font-size:26px; }
.forge-stage { height:650px; max-width:680px; width:100%; min-width:0; position:relative; perspective:1000px; }
.stage-aura { position:absolute; inset:5%; border-radius:50%; background:radial-gradient(circle,#b259ff32,transparent 64%); filter:blur(20px); }
.stage-emblem { width:112%; max-width:112%; height:auto; position:absolute; left:-6%; top:0; z-index:2; filter:drop-shadow(0 0 25px #a654f72e) drop-shadow(0 0 60px #8f3cff18); transform:rotate(-8deg); }
.stage-ring { position:absolute; border:1px solid #b975ff44; border-radius:50%; pointer-events:none; }
.ring-outer { inset:9% -1% 15%; transform:rotate(-25deg) scaleY(.7); border-top:2px solid #bd89ffb3; border-bottom-color:#63fff277; box-shadow:0 0 35px #9846ff1a; }
.ring-inner { inset:17% 7% 22%; transform:rotate(42deg) scaleY(.6); border-color:#63fff22e; border-left:3px solid #63fff2; }
.stage-beam { position:absolute; top:15%; width:2px; height:70%; background:linear-gradient(transparent,#7cfaf5aa,transparent); opacity:.6; transform:rotate(27deg); }
.beam-one { left:9%; }
.beam-two { right:1%; background:linear-gradient(transparent,#be8affbb,transparent); }
.stage-tag { position:absolute; z-index:4; display:flex; align-items:center; gap:16px; padding:13px 18px; border:1px solid #c491ff66; background:#1b102cf2; box-shadow:0 10px 35px #0006,0 0 20px #a855f71a; font:600 14px/1.5 var(--display); letter-spacing:.09em; }
.tag-design { top:16%; right:0; transform:rotate(5deg); }
.tag-design > span { color:var(--cyan); font-size:21px; }
.tag-build { bottom:22%; left:0; transform:rotate(-5deg); border-color:#63fff24d; }
.stage-signature { position:absolute; bottom:2%; left:0; right:0; text-align:center; z-index:3; }
.stage-signature > span { display:block; font:700 clamp(18px,2vw,27px)/1.5 var(--display); letter-spacing:.18em; color:#eee3ff; text-shadow:0 0 20px #b276ff55; }
.stage-signature small { display:block; font:500 13px/1.8 var(--font); letter-spacing:.2em; color:#c5b7d8; margin-top:7px; }
.capability-strip { background:#170d24; border-color:#b879ff33; }
.capability-strip > div { min-height:90px; font-size:15px; font-weight:550; letter-spacing:.12em; color:#e4d7f5; }
.capability-strip i { color:#c381ff; font-size:25px; text-shadow:0 0 20px #c381ff77; }
.section { padding-block:105px; }
.section-heading { gap:60px; align-items:end; margin-bottom:45px; }
.section-heading h2 { font-size:clamp(33px,3.25vw,46px); }
.section-heading > p { max-width:435px; font-size:18px; line-height:1.85; }
.service-grid { gap:22px; }
.service-card { padding:34px 30px; border:1px solid #c18cff40; border-radius:6px; background:radial-gradient(ellipse at top right,#6e2e9c33,transparent 65%),linear-gradient(145deg,#1b102c,#100c1b); position:relative; isolation:isolate; }
.service-card:before { content:""; position:absolute; top:-1px; left:25px; width:85px; height:2px; background:linear-gradient(90deg,#ce98ff,#69fff2); box-shadow:0 0 20px #b675ff77; }
.service-card:hover { border-color:#bd89ffa8; transform:translateY(-7px); box-shadow:0 15px 55px #772ec32e; }
.card-top { margin-bottom:35px; }
.card-top > span:last-child { font:600 16px/1.5 var(--display); color:#c0a5dd; }
.icon-box { width:56px; height:56px; border-radius:6px; border-color:#c58fff55; background:#b876ff19; color:#d9afff; }
.icon-box .icon { width:27px; height:27px; }
.service-card h3 { font-size:25px; line-height:1.4; }
.service-card p { font-size:18px; min-height:170px; line-height:1.85; margin-bottom:28px; }
.service-card a { font-size:16px; line-height:1.7; color:#eee2ff; gap:15px; }
.service-card a .icon { width:23px; height:23px; }
.approach-section { background:radial-gradient(ellipse at 10% 50%,#3b175431,transparent 50%),#0c0813db; border-color:#b77bff28; padding-block:90px; }
.approach-grid { gap:70px; }
.approach-visual { height:570px; border-radius:8px; border-color:#bd89ff4d; background:radial-gradient(circle,#7930a733,transparent 66%),repeating-linear-gradient(0deg,transparent 0 59px,#b88fff0b 60px),repeating-linear-gradient(90deg,transparent 0 59px,#b88fff0b 60px); }
.approach-visual:after { display:none; }
.approach-emblem { width:100%; height:auto; filter:drop-shadow(0 0 35px #a445ff22); transform:rotate(-7deg); }
.technical-label, .visual-caption { font-size:13px; color:#d2b9ed; letter-spacing:.1em; z-index:3; }
.technical-label { right:24px; }
.visual-caption { gap:20px; }
.approach-copy h2 { font-size:clamp(32px,3.2vw,45px); line-height:1.3; }
.approach-copy > p:not(.eyebrow) { font-size:18px; line-height:1.9; }
.feature-list { margin:28px 0; }
.feature-list li { font-size:17px; line-height:1.85; gap:13px; margin-block:18px; }
.feature-list .icon { width:20px; height:20px; margin-top:5px; }
.feature-list strong { font-weight:650; color:#f6eeff; }
.process-grid { gap:30px; }
.process-grid article { border-top-color:#bd89ff77; position:relative; }
.process-grid article:before { content:""; position:absolute; width:50px; height:2px; top:-2px; left:0; background:#c58cff; box-shadow:0 0 15px #a855f777; }
.process-grid article > span { font:600 17px/1.6 var(--display); color:#d5a8ff; }
.process-grid h3 { font-size:24px; margin-top:27px; }
.process-grid p { font-size:17px; line-height:1.9; }
.cta-section { padding:60px; border:1px solid #b975ff66; border-radius:8px; background:radial-gradient(ellipse at right,#6e24945c,transparent 65%),#1d112bcc; position:relative; overflow:hidden; }
.cta-section:before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(120deg,transparent 0 100px,#bd89ff0b 101px 102px,transparent 103px 200px); pointer-events:none; }
.cta-section h2 { font-size:clamp(31px,3vw,43px); line-height:1.3; max-width:760px; }
.cta-section p:not(.eyebrow) { font-size:18px; }
.cta-section .eyebrow { font-size:14px; }
.cta-section .button { position:relative; }
.site-footer { background:#0b0712e8; padding-top:50px; padding-bottom:10px; }
.footer-top .brand { font-size:21px; }
.footer-top p, .footer-top .text-link { font-size:16px; }
.footer-bottom { font-size:15px; color:#c6b7d8; padding-block:25px; }
.footer-bottom > div { gap:25px; }
.location-dot:before { width:6px; height:6px; }
.page-intro { padding-top:80px; padding-bottom:60px; }
.page-intro h1 { font-size:clamp(43px,5.1vw,74px); line-height:1.2; }
.page-intro > p:not(.eyebrow) { font-size:20px; max-width:800px; }
.service-detail { grid-template-columns:95px minmax(0,1fr) 220px; gap:35px; padding-block:48px; }
.detail-number { font:600 16px/1.6 var(--display); }
.service-detail h2 { font-size:33px; }
.service-detail p { font-size:18px; max-width:760px; }
.detail-list { font-size:17px; gap:15px 25px; }
.detail-list .icon { width:19px; height:19px; }
.compact-cta { padding:45px; border-radius:8px; border-color:#bc81ff55; }
.compact-cta h2 { font-size:33px; }
.compact-cta p { font-size:18px; }
.about-layout { gap:60px; }
.about-statement { min-height:400px; padding:40px; border-radius:8px; border-color:#c58fff55; }
.about-statement h2 { font-size:32px; line-height:1.35; }
.about-layout p { font-size:18px; }
.about-layout .lead { font-size:23px; line-height:1.7; }
.roadmap-panel { border-radius:8px; border-color:#c58fff55; }
.roadmap-panel h2 { font-size:34px; line-height:1.35; }
.roadmap-panel p { font-size:18px; max-width:900px; }
.pill { font-size:14px; letter-spacing:.04em; padding:6px 12px; }
.contact-layout { grid-template-columns:.8fr 1.2fr; gap:65px; }
.contact-aside h2 { font-size:31px; }
.contact-aside > p { font-size:18px; max-width:440px; }
.contact-note { gap:15px; }
.contact-note strong { font-size:17px; }
.contact-note div > span { font-size:16px; }
.form-panel { border-radius:8px; border-color:#c18cff55; padding:35px; }
.field { gap:10px; margin-bottom:25px; }
.field label { font-size:17px; line-height:1.6; color:#eee5fa; }
.field label > .optional { font-size:15px; color:#c9bddb; }
.field input, .field select, .field textarea { font-size:18px; min-height:54px; padding:14px 15px; border-color:#c5a6ed55; background:#0c0814; }
.field input::placeholder, .field textarea::placeholder { color:#b5a8c6; }
.field small { font-size:15px; line-height:1.8; color:#c8bdd7; }
.checkbox-field { font-size:16px; line-height:1.85; gap:12px; }
.checkbox-field input { width:19px; height:19px; }
.form-fineprint { font-size:15px; line-height:1.85; color:#c7b9d7; }
.notice { font-size:17px; line-height:1.85; }
.form-fields:disabled { opacity:1; }
.form-fields:disabled input, .form-fields:disabled textarea, .form-fields:disabled select { color:#b5a9c5; background:#171120; border-color:#88799c66; }
.prose { max-width:950px; }
.prose h2 { font-size:29px; }
.prose p { font-size:18px; }
.login-section { grid-template-columns:1fr 520px; gap:65px; min-height:740px; }
.login-intro h1 { font-size:clamp(45px,4.7vw,68px); }
.login-intro p:not(.eyebrow) { max-width:520px; font-size:19px; }
.login-panel h2 { font-size:29px; }
.login-panel > p { font-size:17px; }
/* The administrator workspace uses the same readable scale. */
.admin-body { font-size:18px; }
.admin-sidebar { width:285px; padding-inline:20px; background:#100a1b; border-color:#bb7cf533; }
.admin-main { margin-left:285px; }
.admin-sidebar .brand { font-size:18px; gap:10px; }
.admin-sidebar .brand small { font:500 12px/1.6 var(--font); letter-spacing:.1em; }
.admin-sidebar .brand-mark { width:42px; height:42px; }
.nav-caption { font-size:14px; letter-spacing:.12em; color:#bfb0d2; }
.admin-sidebar nav > a, .sidebar-bottom > a, .sidebar-bottom form > button { min-height:54px; font-size:17px; gap:12px; }
.nav-count { font-size:14px; min-width:25px; }
.sidebar-profile strong { font-size:16px; }
.sidebar-profile small { font-size:14px; color:#c2b4d5; }
.avatar { width:42px; height:42px; font-size:18px; }
.admin-topbar { height:88px; }
.breadcrumb { font-size:16px; }
.admin-top-label { font-size:14px; letter-spacing:.08em; }
.admin-content { padding:40px; }
.admin-page-heading .eyebrow { font-size:14px; }
.admin-page-heading h1 { font-size:35px; line-height:1.3; }
.admin-page-heading p:not(.eyebrow) { font-size:17px; }
.stat-card { border-radius:8px; padding:26px; }
.stat-card > span:not(.icon-box) { font-size:16px; line-height:1.6; }
.stat-card > strong { font:650 43px/1.4 var(--display); letter-spacing:-.04em; }
.stat-card small { font-size:15px; }
.stat-card .icon-box { width:40px; height:40px; }
.admin-panel { border-radius:8px; padding:28px; }
.panel-heading h2, .admin-panel > h2 { font-size:22px; line-height:1.4; }
.panel-heading p, .panel-heading .text-link { font-size:16px; }
.empty-state h3, .empty-state h2 { font-size:25px; }
.empty-state p { font-size:17px; max-width:550px; }
.inquiry-row { grid-template-columns:42px minmax(0,1fr) 90px 160px 20px; gap:17px; padding-block:22px; }
.inquiry-row strong { font-size:17px; }
.inquiry-row small { font-size:15px; }
.inquiry-row time { font-size:14px; }
.inquiry-row .pill { font-size:13px; }
.admin-bottom-grid h2 { font-size:25px; line-height:1.4; }
.admin-bottom-grid p { font-size:17px; }
.admin-bottom-grid .text-link { font-size:16px; }
.roadmap-card > .pill { font-size:13px; }
.roadmap-tags > span { font-size:15px; }
.roadmap-card > small { font-size:14px; }
.admin-footer { font-size:14px; line-height:1.8; }
.filter-tabs > a { font-size:16px; min-height:46px; padding:11px 18px; }
.pagination { font-size:16px; }
.inquiry-detail .panel-heading h2 { font-size:28px; }
.inquiry-meta dt { font-size:15px; }
.inquiry-meta dd, .message-body { font-size:18px; }
.profile-panel h2 { font-size:26px; }
.profile-panel p, .account-grid .admin-panel > p { font-size:17px; }
.large-avatar { width:70px; height:70px; font-size:31px; }
/* Motion is added only after JavaScript initializes its controls. */
.motion-enabled .gradient-text { animation:gradient-flow 9s ease-in-out infinite alternate; }
.motion-enabled .hero:before { animation:grid-drift 22s linear infinite; }
.motion-enabled .hero:after { animation:laser-sweep 11s ease-in-out infinite alternate; }
.motion-enabled .stage-emblem { animation:emblem-float 6s ease-in-out infinite; }
.motion-enabled .stage-aura { animation:aura-breathe 5s ease-in-out infinite alternate; }
.motion-enabled .ring-outer { animation:orbit-sweep 16s linear infinite; }
.motion-enabled .ring-inner { animation:orbit-counter 19s linear infinite; }
.motion-enabled .stage-tag { animation:tag-hover 7s ease-in-out infinite; }
.motion-enabled .tag-build { animation-delay:-3s; }
.motion-enabled .approach-emblem { animation:emblem-float 8s ease-in-out infinite; }
.motion-enabled.reveal-ready [data-reveal]:not(.is-visible) { opacity:0; transform:translateY(30px); }
[data-reveal] { transition:opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1); }
@keyframes gradient-flow { to { background-position:100% center; } }
@keyframes grid-drift { to { background-position:70px 140px; } }
@keyframes laser-sweep { to { transform:translateX(-140px) rotate(15deg); opacity:.25; } }
@keyframes emblem-float { 50% { transform:translateY(-18px) rotate(-3deg); filter:drop-shadow(0 0 45px #a654f750) drop-shadow(0 0 70px #41ebdc18); } }
@keyframes aura-breathe { to { transform:scale(1.1); opacity:.6; } }
@keyframes orbit-sweep { to { transform:rotate(335deg) scaleY(.7); } }
@keyframes orbit-counter { to { transform:rotate(-318deg) scaleY(.6); } }
@keyframes tag-hover { 50% { translate:0 -10px; } }
.motion-paused .ambient-network { opacity:0; }
@media(min-width:1600px) { .hero-grid { min-height:850px; } .forge-stage { height:690px; } .hero h1 { font-size:116px; } }
@media(max-width:1250px) {
  .container { width:calc(100% - 64px); }
  .primary-nav { gap:18px; font-size:16px; }
  .primary-nav .button { font-size:15px; padding:12px 14px; }
  .motion-label { display:none; }
  .motion-toggle { min-width:44px; }
  .hero h1 { font-size:clamp(65px,8vw,100px); }
  .forge-stage { height:570px; }
  .hero-description { font-size:19px; }
  .hero-actions .button { font-size:16px; padding:16px 18px; }
  .service-card { padding:30px 25px; }
  .service-card h3 { font-size:23px; }
  .service-card p { font-size:18px; min-height:200px; }
  .approach-grid { gap:45px; }
  .approach-visual { height:540px; }
  .process-grid { grid-template-columns:1fr 1fr; gap:40px; }
  .cta-section { padding:45px; }
  .admin-content { padding:30px; }
  .inquiry-row { grid-template-columns:42px minmax(0,1fr) 90px 20px; }
  .inquiry-row time { display:none; }
  .stats-grid { gap:15px; }
  .stat-card { padding:20px; }
  .stat-card .icon-box { display:none; }
}
@media(max-width:1050px) {
  .site-header { height:90px; }
  .site-header .menu-toggle { display:flex; width:50px; height:50px; }
  .site-header .primary-nav { display:none; position:absolute; top:89px; left:0; right:0; padding:22px 32px 28px; background:#11091df7; border-bottom:1px solid #b77bff55; box-shadow:0 20px 35px #0007; gap:7px; flex-direction:column; align-items:stretch; }
  .site-header .primary-nav.is-open { display:flex; }
  .primary-nav > a:not(.button) { padding:12px 0; font-size:18px; }
  .primary-nav .button { align-self:start; font-size:17px; padding:14px 20px; margin-top:12px; }
  .primary-nav .motion-toggle { align-self:start; margin-top:10px; }
  .motion-label { display:inline; }
  .motion-toggle { font-size:16px; padding:12px 16px; }
  .hero-grid { min-height:740px; gap:25px; padding-block:55px; }
  .hero h1 { font-size:72px; }
  .hero-actions { flex-direction:column; align-items:start; }
  .hero-actions .button { min-width:260px; }
  .forge-stage { height:520px; }
  .stage-tag { font-size:12px; padding:11px 13px; }
  .stage-signature > span { font-size:21px; letter-spacing:.12em; }
  .stage-signature small { font-size:12px; }
  .hero-notes { gap:13px; font-size:15px; }
  .section-heading { display:block; }
  .section-heading > p { max-width:720px; margin-top:25px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { padding:35px; }
  .service-card h3 { font-size:29px; }
  .service-card p { min-height:0; max-width:850px; }
  .service-card a { justify-content:start; gap:25px; font-size:17px; }
  .card-top { margin-bottom:25px; }
  .approach-grid { grid-template-columns:1fr; }
  .approach-copy { order:1; }
  .approach-visual { order:2; height:470px; }
  .approach-emblem { width:500px; max-width:100%; }
  .approach-copy h2 { font-size:43px; }
  .cta-section { display:block; }
  .cta-section .button { margin-top:30px; }
  .footer-top { flex-wrap:wrap; }
  .footer-top p { display:none; }
  .service-detail { grid-template-columns:75px minmax(0,1fr); }
  .service-detail > .text-link { grid-column:2; }
  .compact-cta { display:block; }
  .compact-cta .button { margin-top:25px; }
  .about-layout { grid-template-columns:1fr; gap:35px; }
  .about-statement { min-height:320px; }
  .contact-layout { grid-template-columns:1fr; gap:40px; }
  .contact-aside > p { max-width:750px; }
  .login-section { grid-template-columns:1fr 1fr; gap:35px; }
  .login-intro h1 { font-size:48px; }
  .admin-sidebar { width:255px; }
  .admin-main { margin-left:255px; }
  .admin-sidebar .brand { font-size:16px; }
  .admin-sidebar .brand small { font-size:11px; }
  .admin-content { padding:25px; }
  .admin-page-heading { display:block; }
  .admin-page-heading > .button { margin-top:20px; }
  .stats-grid { grid-template-columns:1fr; }
  .stat-card { padding:23px; }
  .stat-card .icon-box { display:flex; }
  .admin-bottom-grid { grid-template-columns:1fr; }
}
@media(max-width:900px) {
  .admin-sidebar { display:none; width:285px; top:87px; }
  .admin-sidebar.is-open { display:flex; }
  .admin-sidebar .brand { font-size:18px; }
  .admin-sidebar .brand small { font-size:12px; }
  .admin-main { margin-left:0; }
  .admin-topbar { padding-inline:25px; }
  .admin-page-heading h1 { font-size:33px; }
  .account-grid { grid-template-columns:1fr; gap:0; }
  .panel-heading .text-link { font-size:16px; }
}
@media(max-width:760px) {
  html { scroll-padding-top:100px; }
  body { font-size:18px; }
  .container { width:calc(100% - 40px); }
  .site-header { height:88px; }
  .site-header .primary-nav { top:87px; padding-inline:20px; }
  .brand { font-size:18px; gap:10px; }
  .brand-mark { width:40px; height:40px; font-size:25px; }
  .brand-mark > span { font-size:25px; }
  .brand small { font-size:11px; letter-spacing:.08em; }
  .hero-grid { grid-template-columns:1fr; padding-top:45px; padding-bottom:35px; min-height:0; gap:24px; }
  .hero .eyebrow { font-size:12px; letter-spacing:.08em; padding:9px 11px; margin-bottom:25px; }
  .hero h1 { font-size:clamp(60px,13.6vw,88px); line-height:1.08; letter-spacing:-.055em; margin-bottom:25px; }
  .hero-description { font-size:18px; line-height:1.85; margin-bottom:28px; }
  .hero-actions { flex-direction:row; flex-wrap:wrap; align-items:stretch; gap:12px; }
  .hero-actions .button { font-size:17px; min-width:0; padding:16px 20px; }
  .hero-notes { font-size:16px; gap:12px 24px; margin-top:25px; }
  .forge-stage { height:clamp(370px,105vw,570px); max-width:530px; margin:0 auto; }
  .stage-emblem { width:104%; max-width:104%; left:-2%; }
  .stage-signature { bottom:4%; }
  .stage-signature > span { font-size:clamp(18px,4.1vw,24px); letter-spacing:.12em; }
  .stage-signature small { font-size:12px; }
  .stage-tag { font-size:12px; gap:10px; padding:10px 12px; }
  .tag-design { right:0; top:13%; }
  .tag-build { left:0; bottom:25%; }
  .hero-foot { font-size:12px; letter-spacing:.04em; gap:20px; align-items:center; }
  .hero-foot > span { max-width:50%; }
  .hero-foot a { white-space:normal; gap:9px; font-size:12px; }
  .capability-strip > div { display:grid; grid-template-columns:1fr 1fr; min-height:110px; padding-block:22px; gap:18px 10px; font-size:13px; letter-spacing:.04em; }
  .capability-strip i { display:none; }
  .capability-strip span:before { content:"✦"; color:#c78cff; margin-right:9px; }
  .section { padding-block:70px; }
  .eyebrow { font-size:13px; letter-spacing:.1em; margin-bottom:20px; }
  .section-heading { margin-bottom:35px; }
  .section-heading h2, .approach-copy h2 { font-size:clamp(29px,6.7vw,39px); line-height:1.3; }
  .section-heading > p { font-size:18px; margin-top:24px; }
  .service-card { padding:28px 23px; }
  .service-card h3 { font-size:25px; line-height:1.4; }
  .service-card p { font-size:18px; }
  .service-card a { font-size:16px; }
  .card-top > span:last-child { font-size:16px; }
  .approach-section { padding-block:60px; }
  .approach-copy > p:not(.eyebrow), .feature-list li { font-size:18px; }
  .approach-visual { height:390px; }
  .technical-label, .visual-caption { font-size:12px; letter-spacing:.04em; }
  .technical-label { top:20px; left:20px; right:20px; }
  .visual-caption { left:20px; right:20px; bottom:20px; gap:15px; }
  .process-grid { grid-template-columns:1fr; gap:32px; }
  .process-grid article { padding-top:20px; }
  .process-grid h3 { font-size:26px; margin-top:18px; margin-bottom:15px; }
  .process-grid p { font-size:18px; }
  .cta-section { padding:32px 24px; margin-bottom:65px; }
  .cta-section h2 { font-size:clamp(27px,6.4vw,36px); line-height:1.4; }
  .cta-section .eyebrow { font-size:13px; }
  .cta-section p:not(.eyebrow) { font-size:18px; }
  .cta-section .button { font-size:17px; width:100%; }
  .site-footer { padding-top:35px; }
  .footer-top { display:block; }
  .footer-top .brand { font-size:18px; }
  .footer-top .text-link { margin-top:25px; font-size:17px; }
  .footer-bottom { display:block; font-size:15px; }
  .footer-bottom > div { margin-top:18px; gap:16px 22px; }
  .page-intro { padding-top:50px; padding-bottom:40px; }
  .page-intro h1 { font-size:clamp(34px,8.1vw,51px); line-height:1.25; }
  .page-intro > p:not(.eyebrow) { font-size:18px; }
  .service-detail { grid-template-columns:1fr; gap:20px; padding-block:35px; }
  .service-detail h2 { font-size:28px; line-height:1.4; }
  .service-detail p { font-size:18px; }
  .service-detail > .text-link { grid-column:auto; }
  .detail-list { grid-template-columns:1fr; font-size:17px; }
  .compact-cta { padding:30px 23px; }
  .compact-cta h2 { font-size:27px; line-height:1.4; }
  .compact-cta p { font-size:18px; }
  .about-statement { min-height:330px; padding:30px 24px; gap:40px; }
  .about-statement h2 { font-size:27px; line-height:1.45; }
  .about-layout .lead { font-size:22px; }
  .about-layout p { font-size:18px; }
  .roadmap-panel { padding:30px 24px; }
  .roadmap-panel h2 { font-size:27px; line-height:1.4; }
  .roadmap-panel p { font-size:18px; }
  .contact-layout { gap:35px; padding-bottom:70px; }
  .contact-aside h2 { font-size:28px; }
  .contact-aside > p { font-size:18px; }
  .contact-note strong { font-size:17px; }
  .contact-note div > span { font-size:16px; }
  .form-panel { padding:26px 22px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .field label { font-size:17px; }
  .field label > .optional { font-size:15px; }
  .field input, .field select, .field textarea { font-size:18px; }
  .field small, .form-fineprint { font-size:15px; }
  .checkbox-field { font-size:16px; }
  .notice { font-size:17px; padding:16px; }
  .prose h2 { font-size:27px; }
  .prose p { font-size:18px; }
  .login-section { grid-template-columns:1fr; padding-block:45px 60px; gap:35px; min-height:0; }
  .login-intro h1 { font-size:44px; }
  .login-intro p:not(.eyebrow) { font-size:18px; }
  .login-panel h2 { font-size:27px; }
  .login-panel > p { font-size:17px; }
  .admin-topbar { padding-inline:20px; gap:12px; height:80px; }
  .admin-sidebar { top:79px; }
  .breadcrumb { font-size:15px; }
  .admin-top-label { display:none; }
  .admin-content { padding:27px 20px; }
  .admin-page-heading h1 { font-size:29px; line-height:1.4; }
  .admin-page-heading .eyebrow { font-size:13px; }
  .admin-page-heading p:not(.eyebrow) { font-size:17px; }
  .stat-card { padding:23px; }
  .stat-card > span:not(.icon-box) { font-size:16px; }
  .stat-card small { font-size:15px; }
  .admin-panel { padding:24px 20px; }
  .panel-heading { flex-wrap:wrap; gap:12px; }
  .panel-heading h2, .admin-panel > h2 { font-size:22px; line-height:1.4; }
  .panel-heading p, .panel-heading .text-link { font-size:16px; }
  .inquiry-row { grid-template-columns:36px minmax(0,1fr) 75px; gap:11px; }
  .inquiry-row > .avatar { width:36px; height:36px; font-size:16px; }
  .inquiry-row strong { font-size:16px; }
  .inquiry-row small { font-size:15px; }
  .inquiry-row > .icon { display:none; }
  .inquiry-row .pill { font-size:12px; padding:5px 7px; }
  .empty-state p, .admin-bottom-grid p { font-size:17px; }
  .admin-bottom-grid h2 { font-size:24px; }
  .admin-footer { font-size:13px; flex-wrap:wrap; padding:20px; }
  .filter-tabs { gap:4px; }
  .filter-tabs > a { font-size:15px; padding:10px 13px; }
  .pagination { display:block; font-size:16px; }
  .pagination > div { margin-top:20px; }
  .inquiry-detail .panel-heading h2 { font-size:25px; }
  .inquiry-meta { grid-template-columns:1fr; }
  .inquiry-meta dd, .message-body { font-size:18px; }
  .status-form { display:block; }
  .status-form .button { margin-top:20px; }
}
@media(max-width:420px) {
  .hero-actions { flex-direction:column; }
  .hero-actions .button { width:100%; }
  .hero h1 { font-size:clamp(52px,14.1vw,60px); }
  .brand { font-size:16px; }
  .brand small { font-size:10px; }
  .brand-mark { width:37px; height:37px; }
  .site-header .menu-toggle { width:46px; height:46px; }
  .hero-notes { display:grid; gap:12px; }
  .forge-stage { height:365px; }
  .stage-tag { font-size:11px; }
  .stage-signature > span { font-size:17px; }
  .stage-signature small { font-size:11px; }
  .capability-strip > div { font-size:12px; }
  .technical-label, .visual-caption { font-size:11px; }
  .inquiry-row { grid-template-columns:32px minmax(0,1fr); }
  .inquiry-row > .avatar { width:32px; height:32px; }
  .inquiry-row .pill { grid-column:2; font-size:13px; margin-top:3px; }
  .page-intro h1 { font-size:34px; }
  .login-intro h1 { font-size:39px; }
}
@media(max-width:340px) {
  .container { width:calc(100% - 32px); }
  .brand { font-size:14px; gap:8px; }
  .brand small { display:none; }
  .hero .eyebrow { font-size:11px; letter-spacing:.04em; }
  .hero h1 { font-size:48px; }
  .forge-stage { height:325px; }
  .stage-signature > span { font-size:15px; }
  .stage-tag { font-size:10px; padding:9px; }
  .service-card h3 { font-size:22px; }
  .page-intro h1 { font-size:31px; }
}
@media(prefers-reduced-motion:reduce) {
  .ambient-network { display:none; }
  *, *:before, *:after { animation:none!important; transition:none!important; }
  [data-reveal] { opacity:1!important; transform:none!important; }
}
.motion-paused *, .motion-paused *:before, .motion-paused *:after { animation-play-state:paused!important; }
.motion-paused [data-reveal] { opacity:1!important; transform:none!important; }
/* Keep complete navigation available with JavaScript disabled. */
@media(max-width:1050px) {
  .no-js .site-header { height:auto; }
  .no-js .header-inner { flex-wrap:wrap; padding-block:20px; }
  .no-js .site-header .menu-toggle { display:none; }
  .no-js .site-header .primary-nav { display:flex; flex-direction:row; flex-wrap:wrap; position:static; box-shadow:none; border:0; background:none; width:100%; padding:20px 0 0; gap:10px 24px; }
}
/* Readability floor for functional text and supporting labels. */
.button { background:linear-gradient(110deg,#7431b5,#5932a6 70%,#514995); }
.button:hover { background:linear-gradient(110deg,#8546c5,#7441bd 70%,#5b54a5); }
.button-ghost { background:#130c20e6; }
.button-ghost:hover { background:#2d1c43; }
.brand small { font-size:14px; }
.stage-tag, .stage-signature small, .hero-foot, .hero-foot a,
.technical-label, .visual-caption, .capability-strip > div,
.admin-sidebar .brand small, .admin-footer, .inquiry-row .pill { font-size:14px; }
@media(max-width:760px) { .hero .eyebrow { font-size:14px; letter-spacing:.025em; } }
@media(max-width:420px) { .brand small { display:none; } .hero .eyebrow { font-size:14px; } }
@media(max-width:340px) { .hero .eyebrow { font-size:14px; } }
