:root {
  --blue: #1768ff;
  --blue-bright: #4f8fff;
  --cyan: #51d7ff;
  --navy: #071226;
  --navy-2: #0c1c3d;
  --ink: #0c1424;
  --paper: #f4f7fb;
  --white: #fff;
  --line: #d8dfeb;
  --muted: #617089;
  --taskbar-height: 58px;
  --system-bar-height: 54px;
  --desktop-rail-width: 252px;
  --desktop-rail-edge: 28px;
  --ease: cubic-bezier(.16, 1, .3, 1);
  color: var(--ink);
  background: var(--navy);
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, system-ui, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html, body { width: 100%; min-width: 320px; min-height: 100%; margin: 0; }
html { overflow: hidden; font-size: 18px; }
body { overflow: hidden; background: var(--navy); }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { color: inherit; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
svg { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
[hidden] { display: none !important; }
.no-js .boot-screen { display: none; }
.no-js .workspace { opacity: 1; }

.skip-link { position: fixed; z-index: 10000; top: -80px; left: 16px; padding: 12px 18px; border-radius: 0 0 8px 8px; color: #fff; background: #111; font-weight: 800; }
.skip-link:focus { top: 0; }
.svg-defs { position: absolute; overflow: hidden; }

.boot-screen { position: fixed; z-index: 9999; inset: 0; display: grid; place-content: center; justify-items: center; color: #fff; background: radial-gradient(circle at 50% 44%, #153e80 0, #0b1d40 30%, #061025 66%, #030916 100%); transition: opacity .65s var(--ease), visibility .65s; }
.boot-screen::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 44px 44px; content: ""; mask-image: radial-gradient(circle, #000 0, transparent 70%); }
.boot-screen.is-finished { visibility: hidden; opacity: 0; }
.boot-mark { position: relative; width: 106px; height: 106px; }
.boot-mark img { position: absolute; z-index: 2; top: 14px; left: 14px; width: 78px; height: 78px; object-fit: contain; filter: drop-shadow(0 12px 30px rgba(23,104,255,.4)); }
.boot-mark span { position: absolute; inset: 0; border: 1px solid rgba(103,165,255,.5); border-radius: 30px; transform: rotate(45deg); animation: bootOrbit 2s ease-in-out infinite; }
.boot-name { position: relative; margin: 24px 0 0; font: 900 .8rem/1 Arial, sans-serif; letter-spacing: .34em; }
.boot-tagline { position: relative; margin: 11px 0 0; color: #b9c8e6; font-size: .72rem; font-weight: 700; }
.boot-track { position: relative; width: min(280px, 70vw); height: 3px; margin-top: 30px; overflow: hidden; background: rgba(255,255,255,.13); }
.boot-track i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--blue), var(--cyan)); box-shadow: 0 0 22px var(--cyan); transition: width .18s linear; }
.boot-status { position: relative; min-height: 1.5em; margin: 13px 0 0; color: #90a4ca; font-size: .67rem; letter-spacing: .08em; }
@keyframes bootOrbit { 50% { border-color: rgba(81,215,255,.9); transform: rotate(135deg) scale(1.08); box-shadow: 0 0 35px rgba(23,104,255,.3); } }

.workspace { position: relative; width: 100vw; height: 100dvh; min-height: 520px; overflow: hidden; color: #fff; background: #07152f; opacity: 0; transition: opacity .4s; }
.workspace.is-ready { opacity: 1; }
.system-bar { position: absolute; z-index: 7000; top: 0; right: 0; left: 0; display: grid; height: var(--system-bar-height); grid-template-columns: minmax(210px, 1fr) auto minmax(210px, 1fr); align-items: center; padding: 0 14px 0 18px; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(5,14,32,.82); box-shadow: 0 10px 35px rgba(0,0,0,.18); backdrop-filter: blur(18px) saturate(1.3); }
.system-brand { display: flex; width: max-content; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.system-brand img { width: 29px; height: 29px; object-fit: contain; }
.system-brand span { display: grid; gap: 2px; }
.system-brand b { font: 900 .78rem/1 Arial, sans-serif; letter-spacing: .08em; }
.system-brand small { color: #7890ba; font: 700 .48rem/1 Arial, sans-serif; letter-spacing: .16em; }
.quick-nav { display: flex; align-items: center; gap: 5px; }
.quick-nav button, .quick-nav a { display: inline-flex; align-items: center; padding: 9px 12px; border: 0; border-radius: 7px; color: #bac8e0; background: transparent; font-size: .76rem; font-weight: 800; text-decoration: none; cursor: pointer; transition: color .2s, background .2s; }
.quick-nav button:hover, .quick-nav button:focus-visible, .quick-nav a:hover, .quick-nav a:focus-visible { color: #fff; background: rgba(255,255,255,.09); outline: none; }
.system-actions { display: flex; justify-self: end; align-items: center; gap: 8px; }
.system-payment, .system-contact { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; border-radius: 8px; font-size: .74rem; font-weight: 900; cursor: pointer; text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; }
.system-payment { padding: 9px 12px; border: 1px solid rgba(255,255,255,.25); color: #dce9ff; background: rgba(255,255,255,.06); }
.system-payment:hover, .system-payment:focus-visible { color: #fff; border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.12); outline: none; transform: translateY(-1px); }
.system-payment span { margin-left: 12px; color: #80b4ff; }
.system-contact { padding: 10px 14px; border: 1px solid rgba(255,255,255,.2); color: #061127; background: #fff; box-shadow: 0 7px 20px rgba(0,0,0,.17); }
.system-contact:hover { transform: translateY(-1px); box-shadow: 0 9px 25px rgba(0,0,0,.23); }
.system-contact span { margin-left: 16px; color: var(--blue); }

.desktop { position: absolute; inset: var(--system-bar-height) 0 var(--taskbar-height); overflow: hidden; background: radial-gradient(circle at 71% 24%, rgba(40,127,255,.94) 0, rgba(13,72,164,.75) 18%, transparent 43%), radial-gradient(circle at 40% 112%, rgba(21,101,224,.38), transparent 42%), linear-gradient(128deg, #07142d 0, #0a2856 48%, #07172f 100%); isolation: isolate; }
.desktop::before { position: absolute; z-index: -3; inset: 0; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 48px 48px; content: ""; mask-image: linear-gradient(90deg, transparent 4%, #000 30%, #000 80%, transparent 100%); }
.workspace[data-wallpaper="deep"] .desktop { background: radial-gradient(circle at 72% 22%, rgba(52,83,145,.45), transparent 38%), linear-gradient(135deg, #030915, #08142c 55%, #0c1c37); }
.workspace[data-wallpaper="light"] .desktop { color: #0b1730; background: radial-gradient(circle at 72% 18%, rgba(111,172,255,.7), transparent 35%), linear-gradient(135deg, #d9e7fa, #f4f8ff 55%, #c5d9f5); }
.workspace[data-wallpaper="light"] .desktop::before { background-image: linear-gradient(rgba(18,57,112,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(18,57,112,.065) 1px, transparent 1px); }
.desktop-atmosphere { position: absolute; z-index: -2; inset: 0; overflow: hidden; pointer-events: none; }
.desktop-atmosphere::before { position: absolute; top: -58%; right: 5%; width: min(860px,62vw); aspect-ratio: 1; border: 1px solid rgba(129,190,255,.2); border-radius: 50%; background: conic-gradient(from 130deg,transparent 0 19%,rgba(95,176,255,.13) 26%,transparent 34% 64%,rgba(31,112,255,.12) 72%,transparent 80%); box-shadow: 0 0 0 90px rgba(48,132,255,.025),0 0 0 210px rgba(48,132,255,.018); content: ""; animation: ambientOrbit 24s linear infinite; }
.desktop-atmosphere::after { position: absolute; right: 8%; bottom: -54%; width: min(900px,70vw); aspect-ratio: 1.35; border-radius: 50%; background: radial-gradient(ellipse,rgba(42,135,255,.35),rgba(8,53,122,.12) 42%,transparent 70%); filter: blur(18px); content: ""; animation: ambientDrift 12s ease-in-out infinite alternate; }
.beam { position: absolute; width: 2px; height: 145%; background: linear-gradient(transparent, rgba(112,183,255,.68), transparent); box-shadow: 0 0 18px rgba(69,150,255,.32); transform: rotate(36deg); transform-origin: top; animation: beamTravel 10s ease-in-out infinite alternate; }
.beam-one { top: -35%; left: 57%; }.beam-two { top: -26%; left: 71%; animation-delay: -4s; }.beam-three { top: -45%; left: 84%; animation-delay: -7s; }
.pulse { position: absolute; width: 12px; aspect-ratio: 1; border: 2px solid rgba(147,205,255,.9); border-radius: 50%; box-shadow: 0 0 0 0 rgba(88,159,255,.45); animation: pulseRing 4.2s ease-out infinite; }
.pulse-one { top: 22%; left: 60%; }.pulse-two { top: 58%; left: 78%; animation-delay: -1.4s; }.pulse-three { top: 36%; left: 89%; animation-delay: -2.7s; }
@keyframes beamTravel { to { transform: rotate(36deg) translateX(34px); opacity: .42; } }
@keyframes pulseRing { 65%,100% { box-shadow: 0 0 0 28px rgba(88,159,255,0); opacity: .25; } }
@keyframes ambientOrbit { to { transform: rotate(360deg); } }
@keyframes ambientDrift { to { transform: translate3d(-5%, -3%, 0) scale(1.08); opacity: .7; } }
.desktop-signature { position: absolute; z-index: 0; top: 50%; left: clamp(240px,22vw,460px); text-align: left; opacity: .14; pointer-events: none; transform: translateY(-50%); transition: opacity .2s; }
.desktop-signature p { margin: 0; font: 900 clamp(2rem,4.2vw,5rem)/.85 Arial,sans-serif; letter-spacing: -.07em; }
.desktop-signature span { display: block; margin-top: 13px; font: 800 .55rem Arial,sans-serif; letter-spacing: .2em; }
.desktop:has(.app-window:not([hidden])) .desktop-signature { opacity: 0; }

.desktop-icons { position: absolute; z-index: 5; inset: 0; pointer-events: none; }
.desktop-icon { position: absolute; display: grid; width: 96px; min-height: 96px; justify-items: center; align-content: start; gap: 7px; padding: 6px 3px; border: 1px solid transparent; border-radius: 11px; color: #fff; background: transparent; font: inherit; text-decoration: none; cursor: default; touch-action: none; pointer-events: auto; user-select: none; transition: background .16s, border-color .16s, transform .16s; }
.desktop-icon:hover, .desktop-icon:focus-visible, .desktop-icon.is-selected { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.12); outline: none; }
.desktop-icon.is-dragging { z-index: 30; transform: scale(1.04); opacity: .9; }
.workspace[data-wallpaper="light"] .desktop-icon { color: #0b234a; text-shadow: 0 1px 0 rgba(255,255,255,.8); }
.workspace[data-wallpaper="light"] .desktop-icon:hover, .workspace[data-wallpaper="light"] .desktop-icon:focus-visible { border-color: rgba(13,68,151,.18); background: rgba(255,255,255,.45); }
.desktop-icon b { max-width: 94px; font-size: .72rem; line-height: 1.3; text-align: center; text-shadow: 0 1px 5px rgba(0,0,0,.65); }
.icon-tile { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 17px; box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 13px 24px rgba(0,0,0,.25); }
.icon-tile svg { width: 31px; height: 31px; stroke-width: 1.85; }
.tile-blue { background: linear-gradient(145deg,#2c7dff,#0f4ec7); }.tile-cyan { background: linear-gradient(145deg,#27c6ec,#17719e); }.tile-violet { background: linear-gradient(145deg,#9869ff,#4e36ae); }.tile-green { background: linear-gradient(145deg,#48d29f,#137255); }.tile-gold { background: linear-gradient(145deg,#ffc65a,#b66d11); }.tile-coral { background: linear-gradient(145deg,#ff806f,#b73b4a); }.tile-indigo { background: linear-gradient(145deg,#5066ee,#293175); }.tile-slate { background: linear-gradient(145deg,#768ba8,#344258); }.tile-white { color: var(--blue); background: linear-gradient(145deg,#fff,#dfeaff); }.tile-neon { background: linear-gradient(145deg,#36e0ff,#6c43f3 55%,#271065); box-shadow: inset 0 1px 0 rgba(255,255,255,.5),0 13px 28px rgba(49,28,142,.42),0 0 20px rgba(54,224,255,.18); }
.desktop-rail { position: absolute; z-index: 4; top: 28px; right: var(--desktop-rail-edge); bottom: 28px; display: flex; width: var(--desktop-rail-width); flex-direction: column; justify-content: space-between; gap: 20px; pointer-events: none; }
.desktop-guide, .desktop-calendar { position: relative; width: 100%; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(143,185,244,.24); border-radius: 15px; color: #e8f1ff; background: rgba(4,15,35,.82); box-shadow: 0 22px 55px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.05); backdrop-filter: blur(16px) saturate(1.15); pointer-events: auto; }
.desktop-guide::before, .desktop-calendar::before { position: absolute; top: 0; right: 18px; left: 18px; height: 1px; background: linear-gradient(90deg,transparent,rgba(108,168,255,.75),transparent); content: ""; }
.desktop-guide { padding: 19px; }
.desktop-guide>span { color: #79b4ff; font: 900 .56rem Arial,sans-serif; letter-spacing: .18em; }
.desktop-guide p { margin: 12px 0 15px; font-size: .72rem; font-weight: 650; line-height: 1.7; }
.desktop-guide ul { display: grid; gap: 7px; margin: 0; padding: 13px 0 0; border-top: 1px solid rgba(255,255,255,.15); list-style: none; }
.desktop-guide li { display: flex; align-items: center; gap: 8px; color: #afc2e2; font-size: .64rem; }
.desktop-guide li i { width: 6px; aspect-ratio: 1; border-radius: 50%; background: #55ddad; box-shadow: 0 0 9px #55ddad; }
.workspace[data-wallpaper="light"] .desktop-guide { color: #17335f; border-color: rgba(9,43,95,.14); background: rgba(255,255,255,.5); }
.workspace[data-wallpaper="light"] .desktop-guide li { color: #466386; }
.desktop-calendar { padding: 17px 18px 16px; }
.desktop-calendar header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }.calendar-title { display: grid; gap: 3px; }.desktop-calendar header span { font-size: .82rem; font-weight: 900; }.desktop-calendar header b { color: #80b5ff; font: 800 .62rem Arial,sans-serif; letter-spacing: .12em; }.calendar-controls { display: flex; align-items: center; gap: 4px; }.calendar-controls button { display: grid; width: 26px; height: 32px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; color: #9db4d6; background: rgba(255,255,255,.04); font: 900 .9rem Arial,sans-serif; cursor: pointer; }.calendar-controls button:hover, .calendar-controls button:focus-visible { color: #fff; border-color: #6ea9ff; outline: none; }.calendar-controls .calendar-today { width: 38px; height: 38px; color: #07152f; border: 0; border-radius: 11px; background: #fff; font-size: 1rem; }
.calendar-week, .calendar-days { display: grid; grid-template-columns: repeat(7,1fr); text-align: center; font-variant-numeric: tabular-nums; }.calendar-week { margin-bottom: 4px; color: #7591bb; font-size: .62rem; font-weight: 900; }.calendar-days span { display: grid; height: 25px; place-items: center; border-radius: 7px; color: #b8c9e3; font: 700 .64rem Arial,sans-serif; }.calendar-days span.is-muted { opacity: .26; }.calendar-days span.is-today { color: #fff; background: var(--blue); box-shadow: 0 5px 14px rgba(23,104,255,.38); font-weight: 900; }
.workspace[data-wallpaper="light"] .desktop-guide, .workspace[data-wallpaper="light"] .desktop-calendar { color: #17335f; border-color: rgba(9,43,95,.17); background: rgba(255,255,255,.9); box-shadow: 0 22px 55px rgba(20,52,96,.16); }.workspace[data-wallpaper="light"] .calendar-days span { color: #38577e; }.workspace[data-wallpaper="light"] .calendar-days span.is-today { color: #fff; }
.workspace[data-wallpaper="light"] .calendar-controls button { color: #31537f; border-color: rgba(9,43,95,.15); background: rgba(255,255,255,.45); }.workspace[data-wallpaper="light"] .calendar-controls .calendar-today { color: #fff; background: var(--blue); }

.window-layer { position: absolute; z-index: 100; inset: 0; pointer-events: none; }
.app-window { position: absolute; display: flex; width: min(920px, calc(100vw - 250px)); height: min(720px, calc(100% - 42px)); min-width: 520px; min-height: 360px; flex-direction: column; overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; color: var(--ink); background: rgba(246,249,253,.98); box-shadow: 0 34px 90px rgba(0,0,0,.32), 0 2px 0 rgba(255,255,255,.7) inset; pointer-events: auto; transform-origin: center; animation: windowOpen .28s var(--ease) both; }
.app-window.is-maximized { top: 8px !important; left: 8px !important; width: calc(100% - 16px) !important; height: calc(100% - 16px) !important; border-radius: 10px; }
.app-window.is-minimizing { animation: windowMinimize .2s ease-in both; }
.welcome-window { width: min(1040px, calc(100vw - 235px)); height: min(650px, calc(100% - 48px)); }
.wide-window { width: min(1080px, calc(100vw - 220px)); }
.portal-window { width: min(1180px, calc(100vw - 180px)); height: min(760px, calc(100% - 26px)); }
.compact-window { width: min(760px, calc(100vw - 280px)); }
.contact-window { width: min(1020px, calc(100vw - 220px)); }
@keyframes windowOpen { from { opacity: 0; transform: translateY(14px) scale(.96); } }
@keyframes windowMinimize { to { opacity: 0; transform: translateY(65vh) scale(.65); } }
.window-titlebar { display: flex; min-height: 42px; flex: 0 0 42px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 8px 0 13px; color: #e7efff; background: linear-gradient(#17243a,#0c1628); cursor: move; user-select: none; touch-action: none; }
.window-titlebar>div:first-child { display: flex; min-width: 0; align-items: center; gap: 9px; }
.window-titlebar strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.mini-mark { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 7px; color: #fff; background: var(--blue); font: 900 .54rem Arial,sans-serif; }
.mini-mark.cyan { background: #168ab7; }.mini-mark.violet { background: #6847ca; }.mini-mark.green { background: #13785a; }.mini-mark.gold { background: #a46411; }.mini-mark.coral { background: #aa3b47; }.mini-mark.indigo { background: #39469c; }.mini-mark.slate { background: #43536a; }.mini-mark.white { color: var(--blue); background: #fff; }.mini-mark.neon { background: linear-gradient(145deg,#1eaed3,#6540db); }
.window-actions { display: flex; align-self: stretch; }
.window-actions button { width: 42px; border: 0; color: #b9c6db; background: transparent; font-size: .84rem; cursor: pointer; }
.window-actions button:hover, .window-actions button:focus-visible { color: #fff; background: rgba(255,255,255,.1); outline: none; }
.window-actions button:last-child:hover { background: #d92d45; }
.window-external-link { display: inline-flex; min-width: 118px; align-items: center; justify-content: center; gap: 5px; padding: 0 13px; color: #c9d8ef; border-right: 1px solid rgba(255,255,255,.1); font-size: .73rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.window-external-link:hover, .window-external-link:focus-visible { color: #fff; background: rgba(255,255,255,.1); outline: none; }
.window-content { min-height: 0; flex: 1; overflow: auto; overscroll-behavior: contain; scrollbar-color: #91a2bd transparent; scrollbar-width: thin; }
.ai-workflow-window-content { display: flex; overflow: hidden; background: #edf3fb; }
.ai-workflow-frame-shell { position: relative; min-width: 0; min-height: 0; flex: 1; overflow: hidden; }
.ai-workflow-frame { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; border: 0; background: #f8f7f2; opacity: 0; transition: opacity .24s ease; }
.ai-workflow-frame-shell.is-ready .ai-workflow-frame { opacity: 1; }
.ai-workflow-frame-loading { position: absolute; z-index: 1; inset: 0; display: grid; place-content: center; justify-items: center; gap: 9px; color: #53647c; text-align: center; transition: opacity .2s ease, visibility .2s ease; }
.ai-workflow-frame-loading span { width: 34px; height: 34px; border: 3px solid #c7d7ed; border-top-color: var(--blue); border-radius: 50%; animation: frameLoading .8s linear infinite; }
.ai-workflow-frame-loading b { color: var(--ink); font-size: .82rem; }
.ai-workflow-frame-loading small { font-size: .68rem; font-weight: 700; }
.ai-workflow-frame-shell.is-ready .ai-workflow-frame-loading { opacity: 0; visibility: hidden; }
@keyframes frameLoading { to { transform: rotate(1turn); } }
.padded-content { padding: clamp(28px,4vw,58px); }
.window-kicker { margin: 0 0 13px; color: var(--blue); font: 900 .72rem Arial,sans-serif; letter-spacing: .17em; }
.window-heading { display: grid; max-width: 880px; grid-template-columns: 1fr .72fr; align-items: end; gap: 50px; margin-bottom: 42px; }
.window-heading .window-kicker { grid-column: 1/-1; margin-bottom: -28px; }
.window-heading h2 { margin: 0; font-size: clamp(2rem,3.2vw,3.5rem); line-height: 1.1; letter-spacing: -.055em; text-wrap: balance; }
.window-heading>p:last-child { margin: 0; color: var(--muted); font-size: .84rem; font-weight: 650; line-height: 1.9; }
.window-heading.compact { display: block; max-width: 940px; }
.window-heading.compact .window-kicker { margin-bottom: 13px; }
.window-heading.compact h2 { font-size: clamp(1.9rem,3vw,3.1rem); }
.window-heading.compact>p:last-child { margin-top: 15px; }
.service-heading { display: block; max-width: 920px; }
.service-heading .window-kicker { margin-bottom: 13px; }
.service-heading>p:last-child { max-width: 760px; margin-top: 18px; }
.service-heading-copy span { display: block; }

.welcome-content { display: grid; overflow: auto; grid-template-columns: 1.18fr .82fr; background: var(--paper); }
.welcome-copy { position: relative; z-index: 2; padding: clamp(34px,3.3vw,52px); }
.welcome-copy::after { position: absolute; z-index: -1; right: -80px; bottom: -190px; width: 360px; aspect-ratio: 1; border: 1px solid rgba(23,104,255,.18); border-radius: 50%; content: ""; }
.welcome-copy h1 { max-width: 9.4em; margin: 0; font-size: clamp(2.85rem,3.35vw,4rem); line-height: .98; letter-spacing: -.068em; overflow-wrap: normal; text-wrap: balance; word-break: keep-all; }
.welcome-copy h1 span, .welcome-copy h1 em { display: block; }
.welcome-copy h1 em { color: var(--blue); font-style: normal; }
.welcome-lead { max-width: 600px; margin: 24px 0 0; color: #3f4d63; font-size: .9rem; font-weight: 700; line-height: 1.85; }
.welcome-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 23px; }
.primary-action, .secondary-action { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 28px; padding: 0 20px; border-radius: 8px; font-size: .75rem; font-weight: 900; cursor: pointer; transition: transform .18s, box-shadow .18s, background .18s; }
.primary-action { border: 1px solid var(--ink); color: #fff; background: var(--ink); box-shadow: 0 12px 25px rgba(9,22,44,.16); }
.primary-action span { color: #7dabff; }
.secondary-action { border: 1px solid #c9d2e0; color: var(--ink); background: #fff; }
.primary-action:hover, .secondary-action:hover { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(9,22,44,.16); }
.welcome-note { margin: 15px 0 0; color: #708097; font-size: .72rem; font-weight: 700; line-height: 1.65; }
.welcome-proof { display: grid; gap: 7px; margin: 17px 0 0; padding: 0; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; }
.welcome-proof li { display: flex; min-width: 0; min-height: 62px; align-items: center; gap: 8px; padding: 8px; border: 1px solid #d6dfec; border-radius: 9px; background: rgba(255,255,255,.72); }
.welcome-proof img, .welcome-proof svg { width: 29px; height: 29px; flex: 0 0 29px; object-fit: contain; color: var(--blue); }
.welcome-proof span { display: grid; min-width: 0; gap: 3px; }
.welcome-proof b { font-size: .72rem; line-height: 1.35; overflow-wrap: anywhere; }
.welcome-proof small { color: #708097; font-size: .64rem; font-weight: 700; line-height: 1.4; }
.welcome-view-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 13px; }
.welcome-scroll-link, .ai-workflow-link, .classic-site-link { display: inline-flex; align-items: center; gap: 10px; color: #335377; font-size: .66rem; font-weight: 900; text-decoration: none; }
.ai-workflow-link, .classic-site-link { padding-left: 18px; border-left: 1px solid #c5d1e1; color: #1768ff; }
.ai-workflow-link { padding-top: 0; padding-right: 0; padding-bottom: 0; border-top: 0; border-right: 0; border-bottom: 0; background: transparent; font-family: inherit; cursor: pointer; }
.welcome-scroll-link span { color: var(--blue); }
.welcome-scroll-link:hover, .welcome-scroll-link:focus-visible, .classic-site-link:hover, .classic-site-link:focus-visible { color: var(--blue); outline: none; text-decoration: underline; text-underline-offset: 4px; }
.system-map { position: relative; overflow: hidden; min-height: 470px; color: #fff; background: radial-gradient(circle at 45% 45%, #1f74ff 0,#124aa6 25%,transparent 50%), linear-gradient(145deg,#08152e,#0b234c); }
.system-map::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size: 34px 34px; content: ""; }
.map-stage, .map-core, .map-output-grid { position: absolute; z-index: 2; }
.map-client { top: 8%; left: 8%; display: grid; padding: 12px 16px; border: 1px solid rgba(255,255,255,.25); border-radius: 9px; background: rgba(3,13,31,.45); }
.map-client span { color: #88b9ff; font: 800 .52rem Arial,sans-serif; letter-spacing: .14em; }.map-client b { margin-top: 4px; font-size: .7rem; }
.map-core { top: 45%; left: 46%; display: grid; width: 148px; height: 148px; place-content: center; justify-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 34px; background: rgba(4,14,34,.67); box-shadow: 0 24px 60px rgba(0,0,0,.25), 0 0 0 18px rgba(31,116,255,.09); transform: translate(-50%,-50%) rotate(-4deg); animation: coreFloat 5s ease-in-out infinite; }
.map-core img { width: 52px; height: 52px; object-fit: contain; }.map-core b { margin-top: 8px; text-align: center; font: 900 .58rem/1.2 Arial,sans-serif; letter-spacing: .12em; }
.map-line { position: absolute; z-index: 1; height: 1px; background: linear-gradient(90deg,transparent,#80bdff,transparent); transform-origin: left; }
.line-a { top: 25%; left: 23%; width: 31%; transform: rotate(24deg); }.line-b { top: 52%; left: 56%; width: 28%; transform: rotate(9deg); }
.map-output-grid { right: 7%; bottom: 7%; display: grid; width: 47%; gap: 7px; grid-template-columns: 1fr 1fr; }
.map-output-grid button { display: grid; min-height: 74px; padding: 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; color: #fff; background: rgba(5,19,45,.75); text-align: left; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.map-output-grid button:hover { border-color: #7fb7ff; background: rgba(23,104,255,.45); transform: translateY(-2px); }.map-output-grid span { color: #7fb7ff; font: 800 .48rem Arial,sans-serif; }.map-output-grid b { align-self: end; font-size: .66rem; }
@keyframes coreFloat { 50% { transform: translate(-50%,calc(-50% - 8px)) rotate(1deg); } }

.welcome-summary { grid-column: 1/-1; padding: clamp(42px,5vw,72px); border-top: 1px solid #d7e1ef; background: linear-gradient(180deg,#f5f8fd,#eaf1fb); scroll-margin-top: 18px; }
.welcome-section-heading { display: grid; grid-template-columns: 1fr; align-items: start; gap: 20px; }
.welcome-section-heading .window-kicker { margin-bottom: 10px; }
.welcome-section-heading h2 { max-width: 720px; margin: 0; font-size: clamp(2rem,3.2vw,3.35rem); line-height: 1.08; letter-spacing: -.055em; }
.welcome-section-heading h2 span { display: block; }
.welcome-section-heading>div:first-child>p:last-child { max-width: 720px; margin: 15px 0 0; color: var(--muted); font-size: .84rem; font-weight: 650; line-height: 1.85; }
.welcome-section-links { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px; }
.welcome-section-links button, .welcome-section-links a { display: inline-flex; min-height: 42px; align-items: center; padding: 0 14px; border: 1px solid #c7d3e3; border-radius: 8px; color: var(--ink); background: #fff; font-size: .7rem; font-weight: 900; text-decoration: none; cursor: pointer; }
.welcome-section-links button:hover, .welcome-section-links button:focus-visible, .welcome-section-links a:hover, .welcome-section-links a:focus-visible { color: var(--blue); border-color: #8fb4f2; outline: none; }
.welcome-trust-grid { display: grid; gap: 12px; margin-top: 28px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.welcome-trust-grid article { position: relative; min-width: 0; min-height: 225px; padding: 24px; border: 1px solid #ced9e8; border-radius: 12px; background: rgba(255,255,255,.88); box-shadow: 0 13px 32px rgba(31,70,125,.08); }
.welcome-trust-grid article>img, .welcome-trust-grid article>svg { width: 54px; height: 54px; object-fit: contain; color: var(--blue); }
.welcome-trust-grid article>span { display: block; margin-top: 23px; color: var(--blue); font: 900 .5rem Arial,sans-serif; letter-spacing: .13em; }
.welcome-trust-grid h3 { margin: 7px 0 9px; font-size: .9rem; line-height: 1.4; }
.welcome-trust-grid p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.72; }
.welcome-trust-grid article>a { display: inline-block; margin-top: 12px; color: #2f5d9d; font-size: .68rem; font-weight: 900; text-underline-offset: 4px; }
.welcome-policy-links { display: flex; flex-wrap: wrap; gap: 9px 20px; margin-top: 20px; padding: 17px 20px; border: 1px solid #cfdaea; border-radius: 10px; background: rgba(255,255,255,.65); }
.welcome-policy-links a { color: #385a86; font-size: .7rem; font-weight: 850; text-underline-offset: 4px; }
.welcome-final-cta { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 30px; margin-top: 25px; padding: 27px; border-radius: 13px; color: #fff; background: linear-gradient(135deg,#07152e,#0d3779); }
.welcome-final-cta>div>span { color: #79adff; font: 900 .5rem Arial,sans-serif; letter-spacing: .14em; }
.welcome-final-cta h2 { margin: 6px 0 8px; font-size: 1.35rem; }
.welcome-final-cta p { margin: 0; color: #bdcce2; font-size: .7rem; line-height: 1.65; }
.welcome-final-cta .primary-action { color: var(--ink); border-color: #fff; background: #fff; box-shadow: none; }
.welcome-final-cta .primary-action span { color: var(--blue); }

.service-grid { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.service-grid article { position: relative; min-height: 310px; overflow: hidden; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.service-grid article>span { color: var(--blue); font: 900 .72rem Arial,sans-serif; letter-spacing: .1em; }
.service-symbol { position: absolute; top: 23px; right: 23px; display: grid; width: 52px; height: 52px; place-items: center; border-radius: 14px; color: var(--blue); background: #e8f0ff; }.service-symbol svg { width: 27px; height: 27px; }
.service-grid h3 { margin: 90px 0 12px; font-size: 1.25rem; }.service-grid p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.85; }
.service-grid ul, .work-copy ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0 0; padding: 0; list-style: none; }.service-grid li, .work-copy li { padding: 6px 9px; border: 1px solid #d5deea; border-radius: 99px; color: #4e6078; font-size: .6rem; font-weight: 800; }
.service-grid article.service-featured { min-height: 280px; grid-column: 1/-1; background: linear-gradient(135deg,#fff 0%,#f1f7ff 100%); }
.service-grid article.service-featured h3 { margin-top: 62px; }
.service-grid article.service-featured p { max-width: 720px; }
.service-detail-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 18px; padding: 0; border: 0; color: var(--blue); background: transparent; font-family: inherit; font-size: .78rem; font-weight: 900; line-height: 1.5; text-align: left; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; cursor: pointer; }
.service-detail-link:hover, .service-detail-link:focus-visible, .ai-workflow-link:hover, .ai-workflow-link:focus-visible { color: #0b4fc7; outline: none; }
.inline-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 26px; padding: 25px; border: 1px solid #cbd8ec; border-radius: 12px; background: #eaf1ff; }.inline-cta p { margin: 0; color: #53647c; font-size: .78rem; line-height: 1.75; }.inline-cta b { color: var(--ink); font-size: .9rem; }

.work-grid { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }.work-card { display: flex; min-height: 520px; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #fff; }.work-image { position: relative; width: 100%; overflow: hidden; padding: 0; border: 0; aspect-ratio: 2/1; color: #fff; background: #0a1425; cursor: zoom-in; }.work-image::after { position: absolute; inset: 0; border: 7px solid rgba(12,20,36,.12); content: ""; pointer-events: none; }.work-image img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .6s var(--ease), filter .3s; }.work-image>span { position: absolute; z-index: 2; right: 12px; bottom: 12px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.3); border-radius: 7px; background: rgba(5,15,33,.76); font-size: .58rem; font-weight: 900; opacity: 0; transform: translateY(5px); transition: opacity .2s, transform .2s; }.work-card:hover .work-image img, .work-image:focus-visible img { transform: scale(1.025); filter: brightness(.78); }.work-card:hover .work-image>span, .work-image:focus-visible>span { opacity: 1; transform: none; }.work-copy { display: flex; flex: 1; flex-direction: column; padding: 25px; }.work-copy>span { color: var(--blue); font: 900 .54rem Arial,sans-serif; letter-spacing: .12em; }.work-copy h3 { margin: 10px 0 11px; font-size: 1.45rem; }.work-copy p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.85; }.work-copy a { align-self: flex-start; margin-top: auto; padding-top: 22px; border-bottom: 1px solid; font-size: .7rem; font-weight: 900; text-decoration: none; }

.case-stack { display: grid; gap: 12px; }.case-stack article { display: grid; min-height: 190px; grid-template-columns: minmax(210px,.42fr) 1fr auto; align-items: center; gap: 24px; padding: 14px 19px 14px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }.case-stack span { color: var(--blue); font: 900 12px Arial,sans-serif; letter-spacing: .1em; }.case-stack h3 { margin: 7px 0; font-size: 1.08rem; line-height: 1.45; text-wrap: balance; }.case-stack p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }.case-stack article>b { align-self: start; padding: 7px 9px; border-radius: 99px; color: #166348; background: #dff8ee; font-size: 12px; white-space: nowrap; }
.case-evidence { display: flex; min-height: 158px; flex-direction: column; justify-content: center; gap: 12px; overflow: hidden; margin: 0; padding: 16px; border: 1px solid #c9d8ee; border-radius: 9px; color: #dceaff; background: linear-gradient(145deg,#0b1930,#102b56); }
.case-evidence small { color: #8eb8ff; font: 900 12px/1.4 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.case-flow>div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.case-flow em { padding: 7px 8px; border: 1px solid rgba(142,184,255,.3); border-radius: 7px; color: #fff; background: rgba(255,255,255,.07); font-size: 12px; font-style: normal; font-weight: 850; }
.case-flow i { color: #5ce4c1; font-size: 12px; font-style: normal; font-weight: 900; }
.case-feature-grid>div,.case-security>div { display: grid; gap: 7px; grid-template-columns: 1fr 1fr; }
.case-feature-grid em,.case-security em { display: grid; min-height: 42px; place-items: center; padding: 6px; border: 1px solid rgba(142,184,255,.26); border-radius: 7px; color: #eef5ff; background: rgba(255,255,255,.06); font-size: 12px; font-style: normal; font-weight: 800; text-align: center; }
.case-security { background: linear-gradient(145deg,#071a20,#0c463d); }.case-security small { color: #79e5cb; }.case-security em { border-color: rgba(121,229,203,.25); }
.case-site-shot { position: relative; padding: 0; background: #07101d; }.case-site-shot img { width: 100%; height: 158px; object-fit: cover; object-position: top; }.case-site-shot figcaption { position: absolute; right: 8px; bottom: 8px; padding: 5px 7px; border-radius: 5px; color: #fff; background: rgba(4,12,25,.82); font-size: 10px; font-weight: 800; }
.case-proof { display: grid; margin: 0 0 18px; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: #0d1a2f; color: #fff; grid-template-columns: repeat(4,1fr); }
.case-proof div { padding: 18px 20px; border-right: 1px solid rgba(255,255,255,.14); }
.case-proof div:last-child { border-right: 0; }
.case-proof dt { color: #aac7ff; font-size: 12px; font-weight: 800; }
.case-proof dd { margin: 7px 0 0; font: 900 1.65rem/1 Arial,sans-serif; letter-spacing: -.03em; }
.case-proof-note { margin: -7px 0 20px; color: var(--muted); font-size: 12px; font-weight: 700; line-height: 1.65; }
.case-catalog-heading { display: grid; margin: 48px 0 20px; grid-template-columns: 1fr 1fr; align-items: end; gap: 30px; }
.case-catalog-heading .window-kicker { grid-column: 1/-1; margin-bottom: -12px; }
.case-catalog-heading h3 { margin: 0; font-size: 1.65rem; line-height: 1.3; text-wrap: balance; }
.case-catalog-heading>p:last-child { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.8; }
.case-catalog { display: grid; gap: 12px; padding-bottom: 20px; grid-template-columns: repeat(2,1fr); }
.case-catalog article { position: relative; min-height: 190px; padding: 23px 24px 52px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.case-catalog span { color: var(--blue); font: 900 12px/1.4 Arial,sans-serif; letter-spacing: .1em; }
.case-catalog h3 { margin: 12px 0 10px; font-size: 1.05rem; line-height: 1.5; text-wrap: balance; }
.case-catalog p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.case-catalog b { position: absolute; right: 20px; bottom: 18px; padding: 7px 10px; border-radius: 99px; color: #166348; background: #dff8ee; font-size: 12px; }

.price-grid { display: grid; grid-template-columns: repeat(3,1fr); }.price-grid article { min-height: 290px; padding: 25px; border: 1px solid var(--line); border-right: 0; background: #fff; }.price-grid article:first-child { border-radius: 11px 0 0 11px; }.price-grid article:last-child { border-right: 1px solid var(--line); border-radius: 0 11px 11px 0; }.price-grid article.featured { color: #fff; border-color: var(--blue); background: var(--blue); box-shadow: 0 18px 35px rgba(23,104,255,.2); transform: translateY(-8px); }.price-grid>article>span { display: block; min-height: 2.8em; font-size: .72rem; font-weight: 900; line-height: 1.4; }.price-grid strong { display: block; margin: 65px 0 14px; font: 900 clamp(1.8rem,2.8vw,3rem)/1 Arial,sans-serif; letter-spacing: -.05em; }.price-grid small { display: block; margin-bottom: 7px; font-size: .52rem; letter-spacing: .08em; }.price-grid em { font-size: .65rem; font-style: normal; }.price-grid p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.65; }.price-grid .featured p { color: #dfeaff; }
.payment-panel { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 19px; margin-top: 28px; padding: 21px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }.payment-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 13px; color: var(--blue); background: #eaf1ff; }.payment-icon svg { width: 27px; }.payment-panel span { color: var(--blue); font: 900 .5rem Arial,sans-serif; letter-spacing: .13em; }.payment-panel h3 { margin: 4px 0 6px; font-size: .95rem; }.payment-panel p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.6; }.payment-panel>a { padding-bottom: 6px; border-bottom: 1px solid; font-size: .68rem; font-weight: 900; text-decoration: none; white-space: nowrap; }

.process-list { display: grid; margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; grid-template-columns: 1fr 1fr; }.process-list li { display: grid; min-height: 175px; grid-template-columns: auto 1fr; gap: 20px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.process-list li:nth-child(odd) { border-left: 1px solid var(--line); }.process-list span { color: var(--blue); font: 900 .68rem Arial,sans-serif; }.process-list h3 { margin: 0 0 12px; font-size: 1rem; }.process-list p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.75; }.faq-block { max-width: 820px; margin: 45px auto 0; }.faq-block>p { margin-bottom: 12px; }.faq-block details { border-top: 1px solid var(--line); }.faq-block details:last-child { border-bottom: 1px solid var(--line); }.faq-block summary { position: relative; padding: 20px 45px 20px 3px; font-size: .81rem; font-weight: 900; cursor: pointer; list-style: none; }.faq-block summary::-webkit-details-marker { display: none; }.faq-block summary::after { position: absolute; top: 17px; right: 6px; content: "+"; color: var(--blue); font-size: 1.25rem; font-weight: 500; }.faq-block details[open] summary::after { content: "−"; }.faq-block details p { margin: -3px 0 20px; padding-right: 35px; color: var(--muted); font-size: .75rem; line-height: 1.8; }

.trust-grid { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }.trust-grid article { position: relative; min-height: 240px; padding: 24px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }.trust-grid svg { position: absolute; top: 22px; right: 22px; width: 38px; height: 38px; color: var(--blue); }.trust-grid span, .policy-stack span { color: var(--blue); font: 900 .52rem Arial,sans-serif; letter-spacing: .13em; }.trust-grid h3 { margin: 95px 0 11px; font-size: 1.05rem; }.trust-grid p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.75; }.policy-stack { display: grid; gap: 12px; margin-top: 25px; }.policy-stack article { padding: 22px; border: 1px solid var(--line); border-radius: 11px; background: #edf3fc; }.policy-stack h3 { margin: 7px 0; font-size: .9rem; }.policy-stack p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.75; }

.company-content { display: flex; flex-direction: column; }.company-intro { display: flex; align-items: center; gap: 23px; }.company-intro img { width: 72px; height: 72px; object-fit: contain; }.company-intro .window-kicker { margin-bottom: 6px; }.company-intro h2 { margin: 0; font-size: clamp(2rem,4vw,3.4rem); line-height: 1.05; letter-spacing: -.06em; }.company-lead { margin: 30px 0; color: var(--muted); font-size: .84rem; font-weight: 650; line-height: 1.9; }.company-facts { margin: 0; border-top: 1px solid var(--ink); }.company-facts div { display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 15px 3px; border-bottom: 1px solid var(--line); }.company-facts dt { color: var(--muted); font-size: .7rem; font-weight: 800; }.company-facts dd { margin: 0; font-size: .76rem; font-weight: 850; line-height: 1.6; }.company-facts a { text-underline-offset: 3px; }.full-action { width: 100%; margin-top: 24px; }

.contact-content { display: grid; overflow: hidden; grid-template-columns: .9fr 1.1fr; }.contact-side { position: relative; overflow: hidden; padding: clamp(28px,4vw,52px); color: #fff; background: radial-gradient(circle at 85% 20%,rgba(45,127,255,.7),transparent 35%),linear-gradient(145deg,#08152c,#0b2858); }.contact-side::after { position: absolute; right: -110px; bottom: -130px; width: 280px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ""; }.contact-side .window-kicker { color: #81b8ff; }.contact-side h2 { position: relative; margin: 0; font-size: clamp(2.15rem,2.5vw,2.65rem); line-height: 1.08; letter-spacing: -.06em; }.contact-side h2 span { display: block; }.contact-side>p:not(.window-kicker) { position: relative; margin: 24px 0 0; color: #bfd0ec; font-size: .78rem; line-height: 1.85; }.contact-side dl { position: relative; display: grid; gap: 17px; margin: 46px 0 0; }.contact-side dl div { padding-top: 12px; border-top: 1px solid rgba(255,255,255,.18); }.contact-side dt { color: #78adfb; font: 900 .5rem Arial,sans-serif; letter-spacing: .14em; }.contact-side dd { margin: 6px 0 0; font-size: .72rem; font-weight: 800; }.contact-form-area { overflow: auto; padding: clamp(28px,4vw,52px); background: var(--paper); }.form-panel { max-width: 620px; margin: 0 auto; }.form-heading { margin-bottom: 23px; }.form-heading span, .success-panel>span { color: var(--blue); font: 900 .53rem Arial,sans-serif; letter-spacing: .14em; }.form-heading h3 { margin: 7px 0 0; font-size: 1.4rem; }.field-row { display: grid; gap: 13px; grid-template-columns: 1fr 1fr; }.form-panel label { display: grid; gap: 7px; margin-bottom: 13px; color: #35445a; font-size: .69rem; font-weight: 900; }.form-panel label em { color: #d33b51; font-size: .58rem; font-style: normal; }.form-panel input, .form-panel textarea { width: 100%; border: 1px solid #c8d2e1; border-radius: 7px; color: var(--ink); background: #fff; outline: none; }.form-panel input { height: 45px; padding: 0 12px; }.form-panel textarea { min-height: 125px; padding: 12px; resize: vertical; line-height: 1.6; }.form-panel input:focus, .form-panel textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,255,.12); }.form-panel [aria-invalid="true"] { border-color: #d33b51; }.agree-field { display: flex !important; grid-template-columns: auto 1fr; align-items: center; }.agree-field input { width: 18px; height: 18px; margin: 0; }.form-error { margin: 0 0 12px; padding: 10px 12px; border-left: 3px solid #d33b51; color: #8a2434; background: #fff0f2; font-size: .68rem; line-height: 1.55; }.confirm-list { margin: 0; }.confirm-list div { display: grid; grid-template-columns: 130px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }.confirm-list dt { color: var(--muted); font-size: .68rem; font-weight: 800; }.confirm-list dd { margin: 0; font-size: .73rem; font-weight: 750; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }.prototype-notice { margin: 18px 0; padding: 12px; border: 1px solid #c9d8f1; border-radius: 8px; color: #466181; background: #edf4ff; font-size: .66rem; line-height: 1.6; }.form-actions { display: flex; justify-content: flex-end; gap: 10px; }.success-panel { display: grid; min-height: 450px; align-content: center; justify-items: center; text-align: center; }.success-mark { display: grid; width: 78px; height: 78px; place-items: center; margin-bottom: 22px; border-radius: 50%; color: #fff; background: #1d9c70; box-shadow: 0 16px 34px rgba(29,156,112,.25); }.success-mark svg { width: 42px; height: 42px; }.success-panel h3 { margin: 10px 0 13px; font-size: 1.5rem; }.success-panel p { max-width: 480px; margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.8; }.success-panel .secondary-action { margin-top: 24px; }

.start-menu { position: absolute; z-index: 6500; left: 12px; bottom: 10px; width: min(460px,calc(100vw - 24px)); padding: 19px; border: 1px solid rgba(255,255,255,.17); border-radius: 17px; color: #fff; background: rgba(6,17,38,.94); box-shadow: 0 30px 80px rgba(0,0,0,.5); backdrop-filter: blur(24px); animation: menuOpen .22s var(--ease) both; }
.start-menu header { display: flex; align-items: center; gap: 12px; padding: 3px 3px 16px; border-bottom: 1px solid rgba(255,255,255,.12); }.start-menu header img { width: 38px; height: 38px; }.start-menu header div { display: grid; gap: 3px; }.start-menu header b { font-size: .82rem; }.start-menu header span { color: #8fa6cb; font-size: .58rem; }.start-grid { display: grid; gap: 5px; margin-top: 13px; grid-template-columns: repeat(4,1fr); }.start-grid button { display: grid; min-height: 82px; place-content: center; justify-items: center; gap: 8px; padding: 8px 3px; border: 0; border-radius: 9px; color: #dfe9f9; background: transparent; font-size: .6rem; font-weight: 800; cursor: pointer; }.start-grid button:hover, .start-grid button:focus-visible { background: rgba(255,255,255,.1); outline: none; }.start-grid svg { width: 25px; height: 25px; color: #78aeff; }.start-close-all { display: flex; width: 100%; min-height: 38px; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 8px; color: #afc0da; background: transparent; font-size: .62rem; font-weight: 800; cursor: pointer; }.start-close-all:hover, .start-close-all:focus-visible { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.08); outline: none; }.start-close-all span { color: #ff8192; font-size: .85rem; }.start-contact { display: flex; width: 100%; min-height: 45px; align-items: center; justify-content: space-between; margin-top: 8px; padding: 0 14px; border: 0; border-radius: 9px; color: #07152e; background: #fff; font-size: .7rem; font-weight: 900; cursor: pointer; }.start-contact span { color: var(--blue); }
.context-menu { position: absolute; z-index: 6600; width: 210px; padding: 8px; border: 1px solid rgba(255,255,255,.18); border-radius: 11px; color: #e4edfc; background: rgba(6,17,38,.95); box-shadow: 0 18px 45px rgba(0,0,0,.4); backdrop-filter: blur(20px); animation: menuOpen .16s var(--ease) both; }.context-menu p { margin: 3px 8px 7px; color: #8095b8; font-size: .55rem; font-weight: 900; letter-spacing: .1em; }.context-menu button { display: flex; width: 100%; align-items: center; gap: 11px; padding: 9px 8px; border: 0; border-radius: 7px; color: inherit; background: transparent; font-size: .66rem; font-weight: 750; text-align: left; cursor: pointer; }.context-menu button:hover { background: rgba(255,255,255,.1); }.swatch { width: 19px; height: 19px; border: 1px solid rgba(255,255,255,.25); border-radius: 5px; }.swatch.grid { background: linear-gradient(135deg,#0b1b39,#1768ff); }.swatch.deep { background: linear-gradient(135deg,#030915,#172a51); }.swatch.light { background: linear-gradient(135deg,#d7e8ff,#fff); }.reset-symbol { display: grid; width: 19px; height: 19px; place-items: center; color: #77afff; font-style: normal; font-size: 1rem; }
@keyframes menuOpen { from { opacity: 0; transform: translateY(8px) scale(.97); } }

.taskbar { position: absolute; z-index: 7100; right: 0; bottom: 0; left: 0; display: flex; height: var(--taskbar-height); align-items: center; gap: 7px; padding: 0 12px; border-top: 1px solid rgba(255,255,255,.13); color: #fff; background: rgba(5,12,28,.93); box-shadow: 0 -12px 35px rgba(0,0,0,.17); backdrop-filter: blur(18px); }
.start-button, .task-contact, .task-app { display: flex; height: 40px; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid transparent; border-radius: 8px; color: #dbe6f7; background: transparent; font-size: .64rem; font-weight: 800; cursor: pointer; }.start-button:hover, .start-button[aria-expanded="true"], .task-contact:hover, .task-app:hover, .task-app.is-active { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.09); }.start-button img { width: 27px; height: 27px; }.task-separator { width: 1px; height: 27px; margin: 0 2px; background: rgba(255,255,255,.13); }.running-apps { display: flex; min-width: 0; gap: 4px; }.task-app { max-width: 150px; }.task-app>span { width: 7px; height: 7px; border-radius: 50%; background: var(--blue-bright); box-shadow: 0 0 9px var(--blue-bright); }.task-app b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.taskbar-spacer { flex: 1; }.task-contact svg { width: 19px; height: 19px; color: #76adff; }.system-clock { display: grid; min-width: 84px; justify-items: end; padding-left: 10px; border-left: 1px solid rgba(255,255,255,.12); color: #c8d5e9; font: 700 .58rem/1.25 Arial,sans-serif; }.system-clock b { color: #fff; font-size: .68rem; }.toast { position: fixed; z-index: 9000; right: 18px; bottom: 76px; max-width: 330px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; color: #fff; background: rgba(7,18,38,.94); box-shadow: 0 18px 50px rgba(0,0,0,.35); font-size: .7rem; font-weight: 750; line-height: 1.55; animation: toastIn .2s var(--ease); }.toast::before { display: inline-block; width: 7px; height: 7px; margin-right: 9px; border-radius: 50%; background: #59d5a9; box-shadow: 0 0 10px #59d5a9; content: ""; }.toast.is-error::before { background: #ff6176; box-shadow: 0 0 10px #ff6176; }@keyframes toastIn { from { opacity: 0; transform: translateY(10px); } }

.diagnostic-form fieldset { display: grid; gap: 9px; margin: 0; padding: 0; border: 0; }.diagnostic-form legend { margin-bottom: 12px; font-size: .78rem; font-weight: 900; }.diagnostic-form label { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 13px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }.diagnostic-form label:hover, .diagnostic-form label:has(input:checked) { border-color: #7caeff; background: #edf4ff; transform: translateX(3px); }.diagnostic-form input { width: 18px; height: 18px; margin: 0; accent-color: var(--blue); }.diagnostic-form label span { display: grid; gap: 4px; }.diagnostic-form label b { font-size: .76rem; }.diagnostic-form label small { color: var(--muted); font-size: .64rem; line-height: 1.5; }.diagnostic-error { margin: 12px 0 -10px; color: #a2293d; font-size: .68rem; font-weight: 800; }.diagnostic-scan { display: grid; min-height: 310px; align-content: center; justify-items: center; text-align: center; }.diagnostic-scan>span { width: 82px; height: 82px; margin-bottom: 25px; border: 2px solid #d6e3f8; border-top-color: var(--blue); border-radius: 50%; box-shadow: 0 0 0 12px #eaf2ff; animation: diagnosticSpin .8s linear infinite; }.diagnostic-scan b { font-size: 1.1rem; }.diagnostic-scan small { margin-top: 8px; color: var(--muted); }.diagnostic-result { padding: 25px; border: 1px solid #b8cff3; border-radius: 13px; background: linear-gradient(145deg,#fff,#eaf2ff); }.diagnostic-result>span { color: var(--blue); font: 900 .55rem Arial,sans-serif; letter-spacing: .13em; }.diagnostic-result h3 { margin: 9px 0 12px; font-size: 1.4rem; }.diagnostic-result p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.75; }.diagnostic-result strong { display: block; margin: 24px 0 5px; font: 900 2rem Arial,sans-serif; }.diagnostic-result small { color: var(--muted); font-size: .63rem; }.diagnostic-result .result-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }.diagnostic-result .primary-action, .diagnostic-result .secondary-action { width: auto; margin: 0; }
@keyframes diagnosticSpin { to { transform: rotate(360deg); } }

.tool-grid { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }.tool-card { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }.tool-card>header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }.tool-card>header>span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: #fff; background: var(--blue); font: 900 .58rem Arial,sans-serif; }.tool-card h3 { margin: 0 0 3px; font-size: .88rem; }.tool-card header p { margin: 0; color: var(--muted); font-size: .6rem; }.tool-card textarea { width: 100%; min-height: 190px; padding: 12px; border: 1px solid #c8d2e1; border-radius: 8px; color: var(--ink); background: #f8fafd; font: 500 .72rem/1.65 Consolas,monospace; resize: vertical; outline: none; }.tool-card textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23,104,255,.1); }.counter-stats { display: grid; margin: 10px 0 0; grid-template-columns: repeat(3,1fr); }.counter-stats div { padding: 8px; border-right: 1px solid var(--line); text-align: center; }.counter-stats div:last-child { border: 0; }.counter-stats dt { color: var(--muted); font-size: .55rem; font-weight: 800; }.counter-stats dd { margin: 3px 0 0; font: 900 1.05rem Arial,sans-serif; }.tool-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }.tool-actions button { padding: 8px 11px; border: 1px solid #ccd6e4; border-radius: 7px; background: #fff; font-size: .62rem; font-weight: 900; cursor: pointer; }.tool-actions button:first-child { color: #fff; border-color: var(--ink); background: var(--ink); }.json-status { min-height: 1.5em; margin: 10px 0 0; color: var(--muted); font-size: .62rem; font-weight: 700; }.json-status.is-valid { color: #117454; }.json-status.is-error { color: #b22f45; }

.terminal-window { color: #d9e8ff; background: #07101f; }.terminal-content { display: flex; flex-direction: column; padding: 22px; background: radial-gradient(circle at 70% 20%,rgba(25,100,210,.17),transparent 35%),#07101f; font-family: Consolas,"SFMono-Regular",monospace; }.terminal-output { flex: 1; min-height: 270px; overflow: auto; padding: 2px 3px 20px; }.terminal-output p { margin: 0 0 9px; color: #c8d6ea; font-size: .72rem; line-height: 1.65; overflow-wrap: anywhere; }.terminal-output p span { display: inline-block; min-width: 70px; color: #51d7ff; font-weight: 900; }.terminal-output p.is-command { color: #fff; }.terminal-output p.is-error { color: #ff8294; }.terminal-output code { color: #80ffbe; }.terminal-form { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding: 9px 10px; border: 1px solid #243b5d; border-radius: 8px; background: #040a14; }.terminal-form label { color: #80ffbe; font-size: .7rem; font-weight: 800; }.terminal-form input { min-width: 0; border: 0; color: #fff; background: transparent; font: 500 .75rem Consolas,monospace; outline: none; }.terminal-form button { padding: 6px 9px; border: 1px solid #2e5c96; border-radius: 5px; color: #bcd8ff; background: #10223d; font-size: .58rem; cursor: pointer; }.terminal-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }.terminal-chips button { padding: 6px 9px; border: 1px solid #263d5d; border-radius: 99px; color: #86a4cc; background: transparent; font: 600 .58rem Consolas,monospace; cursor: pointer; }.terminal-chips button:hover { color: #fff; border-color: #4f8fff; }

.game-score { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 9px; margin-bottom: 11px; }.game-score>div { display: grid; min-height: 56px; place-content: center; justify-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; }.game-score span { color: var(--muted); font: 900 .5rem Arial,sans-serif; letter-spacing: .12em; }.game-score b { margin-top: 3px; font: 900 1.2rem Arial,sans-serif; }.game-score i { font-style: normal; }.game-score>button { min-height: 56px; padding: 0 18px; border: 0; border-radius: 9px; color: #fff; background: var(--blue); font-size: .68rem; font-weight: 900; cursor: pointer; }.bug-arena { position: relative; overflow: hidden; min-height: 260px; border: 1px solid #c7d5e9; border-radius: 13px; background-image: linear-gradient(rgba(23,104,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(23,104,255,.065) 1px,transparent 1px),radial-gradient(circle at 70% 35%,#e5f1ff,#f8fbff 65%); background-size: 28px 28px,28px 28px,auto; }.bug-target { position: absolute; z-index: 2; display: grid; width: 48px; height: 48px; place-items: center; padding: 0; border: 0; border-radius: 50%; color: #fff; background: #e24259; box-shadow: 0 10px 24px rgba(226,66,89,.28); cursor: crosshair; transition: left .15s var(--ease),top .15s var(--ease),transform .12s; }.bug-target:hover { transform: scale(1.1); }.bug-target svg { width: 25px; height: 25px; }.game-message { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; color: #50617b; pointer-events: none; }.game-message b { color: var(--ink); font: 900 1.5rem Arial,sans-serif; letter-spacing: .08em; }.game-message span { margin-top: 7px; font-size: .66rem; font-weight: 700; }.game-note { margin: 9px 0 0; color: var(--muted); font-size: .56rem; line-height: 1.5; }

.stack-window { width: min(900px,calc(100vw - 250px)); height: min(720px,calc(100% - 42px)); }.stack-content { padding: 24px; color: #eaf3ff; background: radial-gradient(circle at 74% 4%,rgba(78,63,221,.32),transparent 36%),linear-gradient(160deg,#09152b,#040914 68%); }.stack-intro { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 22px; margin-bottom: 18px; }.stack-intro .window-kicker { margin-bottom: 9px; color: #55ddff; }.stack-intro h2 { margin: 0; font-size: clamp(1.8rem,3.1vw,2.7rem); line-height: 1.05; letter-spacing: -.055em; text-wrap: balance; }.stack-intro>div:first-child>p:last-child { max-width: 590px; margin: 12px 0 0; color: #9db0cf; font-size: .75rem; font-weight: 650; line-height: 1.7; }.stack-hud { display: grid; grid-template-columns: repeat(3,minmax(66px,1fr)); gap: 7px; }.stack-hud>div { display: grid; min-height: 62px; place-content: center; justify-items: center; padding: 7px 10px; border: 1px solid rgba(128,175,255,.2); border-radius: 10px; background: rgba(10,29,59,.75); box-shadow: inset 0 1px rgba(255,255,255,.04); }.stack-hud span { color: #6f91bf; font: 900 .72rem Arial,sans-serif; letter-spacing: .1em; }.stack-hud b { margin-top: 3px; color: #fff; font: 900 1.22rem Arial,sans-serif; font-variant-numeric: tabular-nums; }.stack-hud>button { grid-column: 1/-1; min-height: 38px; border: 1px solid rgba(92,222,255,.42); border-radius: 9px; color: #071329; background: linear-gradient(90deg,#5de7ff,#8ea7ff); box-shadow: 0 8px 20px rgba(62,173,255,.18); font-size: .72rem; font-weight: 900; cursor: pointer; }.stack-hud>button:hover,.stack-hud>button:focus-visible { outline: none; filter: brightness(1.08); transform: translateY(-1px); }.stack-stage { position: relative; height: clamp(310px,47vh,410px); overflow: hidden; border: 1px solid rgba(121,165,231,.3); border-radius: 15px; background: #050b17; box-shadow: inset 0 0 55px rgba(20,86,180,.15),0 20px 48px rgba(0,0,0,.28); touch-action: manipulation; isolation: isolate; }.stack-stage::after { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; height: 1px; background: linear-gradient(90deg,transparent,#52e5ff,transparent); box-shadow: 0 0 20px #4d94ff; content: ""; pointer-events: none; }.stack-stage canvas { width: 100%; height: 100%; outline: none; cursor: pointer; }.stack-stage canvas:focus-visible { box-shadow: inset 0 0 0 3px #65dfff; }.stack-overlay { position: absolute; z-index: 4; inset: 0; display: grid; place-content: center; justify-items: center; padding: 24px; text-align: center; background: radial-gradient(circle at 50% 52%,rgba(24,75,157,.45),rgba(3,8,18,.84) 68%); backdrop-filter: blur(5px); }.stack-overlay>span { color: #59e5ff; font: 900 .72rem Arial,sans-serif; letter-spacing: .2em; }.stack-overlay>b { margin-top: 12px; color: #fff; font-size: clamp(1.45rem,3vw,2.15rem); line-height: 1.1; letter-spacing: -.04em; }.stack-overlay>p { max-width: 430px; margin: 11px 0 20px; color: #aebfda; font-size: .75rem; font-weight: 650; line-height: 1.65; }.stack-overlay>button { min-width: 170px; min-height: 48px; border: 0; border-radius: 10px; color: #071329; background: linear-gradient(90deg,#55e4ff,#9b8cff); box-shadow: 0 14px 34px rgba(84,149,255,.28); font-size: .78rem; font-weight: 950; cursor: pointer; }.stack-overlay>button:hover,.stack-overlay>button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; transform: translateY(-2px); }.stack-callout { position: absolute; z-index: 3; top: 20%; left: 50%; color: #fff; font: 950 clamp(1.2rem,3vw,2rem) Arial,sans-serif; letter-spacing: .12em; text-shadow: 0 0 18px #42ddff; pointer-events: none; opacity: 0; transform: translate(-50%,10px) scale(.86); }.stack-callout.is-visible { animation: stackCallout .62s var(--ease) both; }.stack-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 11px; }.stack-footer p { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; color: #a8b8d2; font-size: .68rem; }.stack-footer p>span { color: #52ddff; font: 900 .68rem Arial,sans-serif; letter-spacing: .12em; }.stack-footer p>b { color: #fff; }.stack-footer p>small { color: #7188aa; font-size: .65rem; }.stack-footer output { color: #8fa5c6; font-size: .68rem; font-weight: 700; text-align: right; }.stack-footer output.is-perfect { color: #70f0ff; }.stack-footer output.is-error { color: #ff8294; }@keyframes stackCallout { 20% { opacity: 1; transform: translate(-50%,0) scale(1.06); } 75% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%,-24px) scale(.96); } }

.project-viewer { position: fixed; z-index: 9800; inset: 0; display: grid; place-items: center; padding: 24px; }.viewer-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(1,7,18,.86); backdrop-filter: blur(14px); cursor: zoom-out; }.viewer-panel { position: relative; display: grid; width: min(1180px,94vw); max-height: 91dvh; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: 15px; color: #fff; background: #081225; box-shadow: 0 40px 100px rgba(0,0,0,.55); animation: viewerOpen .24s var(--ease) both; }.viewer-panel>header, .viewer-panel>footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 17px; background: #0d1a31; }.viewer-panel>header span { color: #71aaff; font: 900 .5rem Arial,sans-serif; letter-spacing: .16em; }.viewer-panel>header h2 { margin: 4px 0 0; font-size: .85rem; }.viewer-panel>header button { display: grid; width: 34px; height: 34px; place-items: center; border: 0; border-radius: 8px; color: #fff; background: rgba(255,255,255,.1); font-size: 1.2rem; cursor: pointer; }.viewer-panel figure { min-height: 0; margin: 0; overflow: auto; background: #030814; }.viewer-panel figure img { width: 100%; height: auto; min-height: 100%; object-fit: contain; background: #030814; }.viewer-panel figcaption { padding: 11px 17px; color: #9db0ce; background: #081225; font-size: .65rem; line-height: 1.6; }.viewer-panel>footer button { padding: 8px 12px; border: 1px solid #2d4365; border-radius: 7px; color: #dce9fb; background: transparent; font-size: .65rem; font-weight: 800; cursor: pointer; }.viewer-panel>footer span { color: #8da5c8; font: 800 .6rem Arial,sans-serif; }
.stack-intro h2 { word-break: keep-all; overflow-wrap: normal; }
.stack-intro,.stack-hud,.stack-hud>div,.stack-stage,.stack-footer { min-width: 0; }
.stack-hud { grid-template-columns: repeat(3,minmax(0,1fr)); }
.stack-intro>div:first-child>p:last-child, .stack-overlay>p { font-size: .84rem; }
.stack-footer p, .stack-footer p>span, .stack-footer output { font-size: .72rem; }
@keyframes viewerOpen { from { opacity: 0; transform: translateY(15px) scale(.975); } }

@media (max-width: 1359px) {
  .desktop-rail { display: contents; }
  .desktop-guide, .desktop-calendar { display: none; }
}

@media (max-height: 820px) and (min-width: 1360px) {
  .desktop-guide { display: none; }
}

@media (min-width: 1360px) {
  .desktop-rail .toast { position: relative; top: auto; right: auto; bottom: auto; width: 100%; max-width: none; flex: 0 0 auto; pointer-events: auto; }
}

/* Keep the welcome window inside the free area while the right rail first appears. */
@media (min-width: 1360px) and (max-width: 1456px) {
  .welcome-window { left: 210px !important; width: calc(100vw - 510px) !important; }
}

@media (max-width: 1180px) {
  .system-bar { grid-template-columns: 1fr auto; }.quick-nav { display: none; }.system-actions { grid-column: 2; }
  .desktop-guide, .desktop-calendar { display: none; }
  .app-window, .welcome-window, .wide-window, .portal-window, .contact-window { width: min(900px,calc(100vw - 150px)); }
  .compact-window { width: min(700px,calc(100vw - 180px)); }
  .welcome-copy { padding: 40px; }.welcome-copy h1 { font-size: clamp(2.75rem,4.5vw,3.65rem); }.welcome-trust-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .window-heading { grid-template-columns: 1fr; gap: 15px; }.window-heading .window-kicker { grid-column: auto; margin-bottom: 0; }
}

@media (max-width: 760px) {
  html { font-size: 17px; }
  :root { --system-bar-height: 48px; --taskbar-height: 58px; }
  .workspace { min-height: 420px; }
  .system-bar { grid-template-columns: 1fr auto; padding: 0 9px 0 12px; }.system-brand small { display: none; }.system-actions { gap: 6px; }.system-payment, .system-contact { min-height: 34px; padding: 7px 9px; font-size: .66rem; }.system-payment span, .system-contact span { margin-left: 7px; }
  .desktop { overflow: auto; overscroll-behavior: none; }.desktop::before { background-size: 36px 36px; }
  .desktop-signature { right: 18px; bottom: 25px; }.desktop-signature p { font-size: 2rem; }
  .desktop-guide, .desktop-calendar { display: none; }
  .desktop-icons { position: relative; display: grid; min-height: calc(100% - 30px); align-content: start; gap: 15px 8px; padding: 24px 14px 90px; grid-template-columns: repeat(3,1fr); pointer-events: auto; }
  .desktop-icon { position: relative !important; top: auto !important; left: auto !important; width: 100%; min-height: 101px; justify-self: stretch; }.desktop-icon b { max-width: 100px; }.icon-tile { width: 56px; height: 56px; }
  .window-layer { position: fixed; z-index: 7050; top: var(--system-bar-height); bottom: var(--taskbar-height); }
  .app-window, .welcome-window, .wide-window, .compact-window, .contact-window, .app-window.is-maximized { top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-width: 0; min-height: 0; border: 0; border-radius: 0; }
  .window-titlebar { min-height: 40px; flex-basis: 40px; cursor: default; }.window-actions button { width: 40px; }.window-actions button[data-window-action="maximize"] { display: none; }
  .window-external-link { font-size: .78rem; }
  .welcome-content { display: block; overflow: auto; }.welcome-copy { padding: 30px 22px 34px; }.welcome-copy::after { right: 0; }.welcome-copy h1 { font-size: clamp(2.75rem,13vw,4.4rem); }.welcome-lead { font-size: .94rem; }.welcome-actions { display: grid; }.primary-action, .secondary-action { width: 100%; }.welcome-proof { grid-template-columns: 1fr; }.welcome-proof li { min-height: 68px; }.welcome-view-links { display: grid; gap: 11px; }.ai-workflow-link, .classic-site-link { padding: 10px 0 0; border-top: 1px solid #c5d1e1; border-left: 0; }.system-map { min-height: 490px; }.map-core { left: 48%; width: 130px; height: 130px; }.map-output-grid { right: 5%; bottom: 5%; width: 58%; }.map-client { top: 6%; left: 6%; }
  .welcome-summary { padding: 38px 20px 62px; }.welcome-section-heading { grid-template-columns: 1fr; align-items: start; gap: 20px; }.welcome-section-links { justify-content: flex-start; }.welcome-trust-grid { grid-template-columns: 1fr; }.welcome-trust-grid article { min-height: 225px; }.welcome-final-cta { grid-template-columns: 1fr; }.welcome-final-cta .primary-action { width: 100%; }
  .padded-content { padding: 30px 20px 65px; }.window-heading h2, .window-heading.compact h2 { font-size: clamp(1.8rem,9vw,2.7rem); }.window-heading>p:last-child { font-size: .8rem; }
  .service-grid, .work-grid, .trust-grid, .tool-grid { grid-template-columns: 1fr; }.service-grid article { min-height: 290px; }.work-card { min-height: 500px; }
  .inline-cta { display: grid; }.inline-cta .primary-action { width: 100%; }
  .case-heading span { display: block; }
  .case-proof { grid-template-columns: 1fr 1fr; }.case-proof div { border-bottom: 1px solid rgba(255,255,255,.14); }.case-proof div:nth-child(2) { border-right: 0; }.case-proof div:nth-last-child(-n+2) { border-bottom: 0; }.case-proof dt { font-size: .75rem; }.case-proof dd { font-size: 1.5rem; }
  .case-stack article { position: relative; grid-template-columns: 1fr; gap: 13px; padding: 14px 14px 56px; }.case-evidence { min-height: 170px; }.case-site-shot img { height: 190px; }.case-stack article>b { position: absolute; right: 14px; bottom: 14px; align-self: auto; }
  .case-catalog-heading { display: block; margin-top: 42px; }.case-catalog-heading .window-kicker { margin-bottom: 12px; }.case-catalog-heading h3 { font-size: 1.45rem; }.case-catalog-heading>p:last-child { margin-top: 12px; font-size: .84rem; }
  .case-catalog { grid-template-columns: 1fr; }.case-catalog article { min-height: 0; padding: 22px 20px 60px; }.case-catalog span,.case-catalog b { font-size: .75rem; }.case-catalog h3 { font-size: 1.08rem; }.case-catalog p { font-size: .84rem; }
  .price-grid { gap: 10px; grid-template-columns: 1fr; }.price-grid article, .price-grid article:first-child, .price-grid article:last-child { min-height: 230px; border: 1px solid var(--line); border-radius: 11px; }.price-grid article.featured { transform: none; }.price-grid strong { margin-top: 40px; }.payment-panel { grid-template-columns: auto 1fr; }.payment-panel>a { grid-column: 1/-1; justify-self: start; }
  .process-list { grid-template-columns: 1fr; }.process-list li { min-height: 145px; border-left: 1px solid var(--line); }.faq-block details p { padding-right: 0; }
  .company-facts div { grid-template-columns: 1fr; gap: 5px; }.company-intro { align-items: flex-start; }.company-intro img { width: 58px; height: 58px; }.company-intro h2 { font-size: 2.35rem; }
  .contact-content { display: block; overflow: auto; }.contact-side { min-height: 390px; padding: 34px 22px; }.contact-side h2 { font-size: 2.25rem; }.contact-form-area { overflow: visible; padding: 30px 20px 75px; }.field-row { grid-template-columns: 1fr; }.form-actions { display: grid; }.confirm-list div { grid-template-columns: 1fr; gap: 5px; }.success-panel { min-height: 430px; }
  .diagnostic-result .result-actions { display: grid; }.diagnostic-result .primary-action, .diagnostic-result .secondary-action { width: 100%; }.tool-card textarea { min-height: 150px; }.terminal-content { min-height: 100%; }.terminal-form { grid-template-columns: 1fr auto; }.terminal-form label { grid-column: 1/-1; }.bug-arena { min-height: 300px; }.game-score { grid-template-columns: 1fr 1fr; }.game-score>button { grid-column: 1/-1; }.stack-content { padding: 20px 14px 64px; }.stack-intro { grid-template-columns: 1fr; align-items: start; gap: 15px; }.stack-intro h2 { font-size: clamp(1.9rem,9vw,2.6rem); }.stack-intro>div:first-child>p:last-child { font-size: .83rem; }.stack-hud { width: 100%; grid-template-columns: repeat(3,1fr); }.stack-hud>div { min-height: 54px; }.stack-stage { height: clamp(290px,44vh,380px); }.stack-footer { align-items: flex-start; flex-direction: column; gap: 6px; }.stack-footer output { text-align: left; }
  .project-viewer { padding: 8px; }.viewer-panel { width: 100%; max-height: 96dvh; border-radius: 10px; }.viewer-panel figure img { min-height: 0; }.viewer-panel figcaption { font-size: .62rem; }
  .start-menu { position: fixed; right: 8px; bottom: calc(var(--taskbar-height) + 7px); left: 8px; width: auto; }.start-grid { grid-template-columns: repeat(4,1fr); }.context-menu { position: fixed; }
  .taskbar { position: fixed; padding: 0 8px; }.start-button span, .task-contact span, .task-app b { display: none; }.start-button, .task-contact, .task-app { width: 42px; justify-content: center; padding: 0; }.running-apps { overflow: auto; }.system-clock { min-width: 72px; }.toast { right: 10px; bottom: 70px; left: 10px; max-width: none; }
}

@media (max-width: 390px) {
  .system-brand b { font-size: .65rem; }.system-payment, .system-contact { font-size: .62rem; }
  .desktop-icons { grid-template-columns: repeat(3,minmax(0,1fr)); padding-right: 6px; padding-left: 6px; }.desktop-icon { padding-right: 0; padding-left: 0; }.desktop-icon b { font-size: .7rem; }
  .start-grid { grid-template-columns: repeat(3,1fr); }.start-menu { max-height: calc(100dvh - 125px); overflow: auto; }
  .welcome-copy h1 { font-size: clamp(2.5rem,13.5vw,3.3rem); }.welcome-lead { line-height: 1.8; }
  .map-output-grid { width: 66%; }.map-output-grid button { min-height: 70px; }
  .window-actions button { width: 38px; }.window-titlebar { padding-left: 8px; }.window-titlebar strong { max-width: 150px; }
  .window-external-link { min-width: 42px; padding: 0 9px; font-size: .82rem; }.window-external-link span { display: none; }
  .system-clock { display: none; }
}

@media (max-width: 390px) {
  .stack-intro h2 { font-size: clamp(1.4rem,8vw,2.2rem); }
}

@media (max-width: 360px) {
  .system-brand span { display: none; }.system-payment, .system-contact { padding-right: 8px; padding-left: 8px; }.system-payment span, .system-contact span { display: none; }
}

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

@media print {
  html, body { overflow: visible; background: #fff; }.boot-screen, .system-bar, .taskbar, .desktop-icons, .desktop-atmosphere, .desktop-signature, .desktop-guide, .desktop-calendar, .start-menu, .context-menu, .project-viewer { display: none !important; }.workspace, .desktop, .window-layer { position: static; width: auto; height: auto; overflow: visible; color: #000; background: #fff; opacity: 1; }.app-window { position: static !important; display: block !important; width: 100% !important; height: auto !important; min-width: 0; margin-bottom: 20px; border: 1px solid #bbb; box-shadow: none; break-inside: avoid; }.app-window[hidden] { display: block !important; }.window-titlebar { color: #000; background: #eee; }.window-actions { display: none; }.window-content { overflow: visible; }
}
