:root { --background:#070b18; --surface:#0d1327; --surface-light:#151d37; --text-primary:#f4f7ff; --text-secondary:#a8b1c9; --accent-blue:#4f8cff; --accent-violet:#9b6dff; --accent-cyan:#5de0e6; --border:rgba(183,202,255,.14); --glow:rgba(79,140,255,.28); --container-width:1200px; --page-padding:clamp(1.25rem,4vw,3rem); }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--background); }
body { min-width:320px; margin:0; overflow-x:hidden; color:var(--text-primary); background:radial-gradient(ellipse 75% 45% at 50% -12%,rgba(66,96,190,.2),transparent 70%),var(--background); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:1rem; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; } button { font:inherit; } main :is(h1,h2,h3,h4,h5,h6,p,li,td,th,summary,label,small) { overflow-wrap:break-word; word-break:normal; hyphens:none; } main :is(.container,.glass-card,.card,.admin-page,.portal-page,.public-page,.form-grid,.portfolio-grid,.choice-grid,.feature-grid,.builder-layout,.contact-layout) > * { min-width:0; } input,select,textarea { max-width:100%; } button,.button-primary,.button-secondary,.button-quiet,.button-danger { white-space:normal; text-align:center; }
a:focus-visible,button:focus-visible { outline:2px solid var(--accent-cyan); outline-offset:4px; }
.skip-link { position:fixed; z-index:100; top:1rem; left:1rem; padding:.65rem .9rem; color:#06101b; background:var(--accent-cyan); font-size:.82rem; font-weight:750; transform:translateY(-160%); transition:transform .2s ease; }.skip-link:focus { transform:translateY(0); }
.container { width:min(100% - (var(--page-padding) * 2),var(--container-width)); margin-inline:auto; }
.section { position:relative; padding-block:clamp(5.5rem,11vw,10rem); }
.section-label { margin:0 0 1.15rem; color:var(--accent-cyan); font-size:.72rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.display-title { margin:0; max-width:13ch; font-size:clamp(3rem,7vw,7.4rem); font-weight:650; letter-spacing:-.065em; line-height:.95; }
.gradient-text { color:var(--text-primary); background:linear-gradient(105deg,var(--accent-cyan),var(--accent-blue) 45%,#c3aaff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.button-primary,.button-secondary { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:3.2rem; padding:.7rem 1.1rem; border:1px solid transparent; border-radius:.4rem; font-size:.9rem; font-weight:700; letter-spacing:-.01em; transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.button-primary { color:#071020; background:linear-gradient(120deg,#75b4ff,#9e80ff); box-shadow:0 8px 28px rgba(92,121,255,.24); }
.button-secondary { color:var(--text-primary); border-color:var(--border); background:rgba(255,255,255,.025); }
.button-primary:hover,.button-secondary:hover { transform:translateY(-2px); } .button-primary:hover { box-shadow:0 12px 34px rgba(92,121,255,.38); } .button-secondary:hover { border-color:rgba(145,178,255,.35); background:rgba(255,255,255,.06); }
.glass-card { border:1px solid var(--border); background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025)); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); backdrop-filter:blur(16px); }
.glow { box-shadow:0 0 80px var(--glow); } .tech-pill { display:inline-flex; align-items:center; gap:.45rem; padding:.42rem .7rem; border:1px solid var(--border); border-radius:999px; color:var(--text-secondary); background:rgba(255,255,255,.035); font-size:.78rem; }
.site-header { position:fixed; z-index:50; inset:0 0 auto; padding-top:1rem; transition:padding .25s ease; }
.site-nav { display:flex; align-items:center; justify-content:space-between; min-height:4.4rem; padding-inline:1.2rem; border:1px solid transparent; transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,backdrop-filter .25s ease; }
.site-header.is-scrolled { padding-top:.65rem; }.site-header.is-scrolled .site-nav { border-color:var(--border); background:rgba(9,14,31,.74); box-shadow:0 12px 34px rgba(0,0,0,.18); backdrop-filter:blur(18px); }
.wordmark { display:inline-flex; flex-direction:column; color:var(--text-primary); font-size:.98rem; font-weight:800; letter-spacing:.12em; line-height:1; }.wordmark-subtitle { margin-top:.37rem; color:var(--text-secondary); font-size:.49rem; font-weight:650; letter-spacing:.3em; text-transform:uppercase; }
.nav-panel,.nav-links,.nav-account-actions { display:flex; align-items:center; }.nav-panel { gap:1rem; }.nav-links { gap:clamp(.7rem,1.45vw,1.25rem); margin:0; padding:0; list-style:none; }.nav-links a { color:var(--text-secondary); font-size:.86rem; font-weight:600; transition:color .2s ease; }.nav-links a:hover { color:var(--text-primary); }.nav-account-actions { gap:.2rem; margin-left:.35rem; padding-left:.85rem; border-left:1px solid var(--border); white-space:nowrap; }.nav-account-actions a,.nav-logout button { min-height:2.45rem; display:inline-flex; align-items:center; justify-content:center; padding:.45rem .75rem; border-radius:.5rem; color:var(--text-secondary); font-size:.8rem; font-weight:700; transition:border-color .2s ease,background .2s ease,color .2s ease; }.nav-account-actions .nav-sign-in,.nav-account-actions .nav-profile { color:var(--text-primary); }.nav-account-actions .nav-sign-in:hover,.nav-account-actions .nav-profile:hover { color:var(--accent-cyan); }.nav-account-actions .nav-register { border:1px solid rgba(158,151,255,.52); color:#dfe4ff; background:rgba(137,126,243,.12); }.nav-account-actions .nav-register:hover { border-color:#9f94ff; color:#fff; background:rgba(137,126,243,.25); }.nav-account-actions .nav-portal { padding-inline:.75rem; border:1px solid rgba(113,201,221,.48); color:var(--accent-cyan); }.nav-account-actions .nav-portal:hover { color:var(--text-primary); background:rgba(84,196,221,.1); }.nav-logout { margin:0; }.nav-logout button { border:0; cursor:pointer; background:transparent; }.nav-logout button:hover { color:#ffb4bd; background:rgba(255,111,128,.08); }.nav-cta { min-height:2.7rem; padding-inline:.9rem; font-size:.8rem; }.nav-toggle { display:none; color:var(--text-primary); border:0; background:transparent; }
.site-footer { position:relative; overflow:hidden; padding-top:clamp(4.5rem,8vw,7rem); border-top:1px solid var(--border); background:linear-gradient(180deg,rgba(18,27,59,.42),#080c1b 65%); }.site-footer::before { content:""; position:absolute; top:-12rem; left:50%; width:34rem; height:20rem; translate:-50%; border-radius:50%; background:rgba(104,91,229,.12); filter:blur(75px); pointer-events:none; }
.footer-grid,.footer-links { display:grid; }.footer-grid { position:relative; grid-template-columns:minmax(14rem,1.4fr) 2fr; gap:3rem; padding-bottom:4rem; }.footer-intro p { max-width:18rem; margin:1.4rem 0 0; color:var(--text-secondary); font-size:.97rem; }.footer-links { grid-template-columns:repeat(3,1fr); gap:2rem; }.footer-links h2 { margin:0 0 1rem; color:var(--text-primary); font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; }.footer-links a,.footer-links span { display:block; margin-top:.5rem; color:var(--text-secondary); font-size:.88rem; transition:color .2s ease; }.footer-links a:hover { color:var(--accent-cyan); }.social-links { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.25rem; }.social-links a,.social-placeholder { margin:0; font-size:.78rem; }.footer-bottom { position:relative; display:flex; justify-content:space-between; gap:1rem; padding-block:1.45rem; border-top:1px solid var(--border); color:#77819c; font-size:.77rem; }.footer-bottom a:hover { color:var(--text-primary); }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:760px) { .site-header { padding-top:.5rem; }.site-nav { min-height:4rem; padding-inline:1rem; }.nav-toggle { position:relative; z-index:2; display:grid; gap:.35rem; width:2.5rem; height:2.5rem; place-content:center; }.nav-toggle span { display:block; width:1.15rem; height:1px; background:currentColor; transition:transform .2s ease; }.nav-toggle[aria-expanded="true"] span:first-of-type { transform:translateY(3px) rotate(45deg); }.nav-toggle[aria-expanded="true"] span:last-of-type { transform:translateY(-3px) rotate(-45deg); }.nav-panel { position:absolute; top:calc(100% + .5rem); right:var(--page-padding); left:var(--page-padding); display:grid; gap:1.25rem; max-height:0; padding:0 1.2rem; overflow:hidden; border:1px solid transparent; opacity:0; background:rgba(10,15,32,.96); box-shadow:0 16px 40px rgba(0,0,0,.25); backdrop-filter:blur(18px); transition:max-height .25s ease,padding .25s ease,opacity .2s ease,border-color .25s ease; }.nav-panel.is-open { max-height:42rem; padding-block:1.2rem; border-color:var(--border); opacity:1; }.nav-links { align-items:stretch; flex-direction:column; gap:.15rem; }.nav-links a { display:block; padding-block:.5rem; }.nav-account-actions { align-items:stretch; flex-direction:column; gap:.55rem; margin:0; padding:.9rem 0 0; border-top:1px solid var(--border); border-left:0; }.nav-account-actions a,.nav-logout button,.nav-logout { width:100%; min-height:2.7rem; }.nav-account-actions .nav-portal { padding-inline:.7rem; }.nav-cta { width:100%; }.footer-grid { grid-template-columns:1fr; gap:3.5rem; } }
@media (max-width:520px) { .footer-links { grid-template-columns:1fr 1fr; }.footer-links > :last-child { grid-column:span 2; }.footer-bottom { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }

.hero { position:relative; display:flex; align-items:center; min-height:100svh; isolation:isolate; overflow:hidden; background:radial-gradient(circle at var(--pointer-x,72%) var(--pointer-y,25%),rgba(83,123,255,.13),transparent 22%),linear-gradient(120deg,#070b18 0%,#080d20 55%,#090c1c 100%); }.hero::before { content:""; position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(111,150,255,.05) 1px,transparent 1px),linear-gradient(rgba(111,150,255,.045) 1px,transparent 1px); background-size:clamp(4rem,8vw,7rem) clamp(4rem,8vw,7rem); mask-image:linear-gradient(to bottom,transparent,black 20%,black 68%,transparent); opacity:.48; }.hero::after { content:""; position:absolute; z-index:-1; right:-12%; bottom:-35%; width:min(55rem,80vw); aspect-ratio:1; border:1px solid rgba(120,148,255,.08); border-radius:50%; box-shadow:0 0 0 5rem rgba(118,93,255,.025),0 0 0 11rem rgba(78,142,255,.018); }
.hero-content { position:relative; padding-top:clamp(8.5rem,14vw,11.5rem); padding-bottom:clamp(7rem,10vw,9rem); }.hero-eyebrow { display:flex; align-items:center; gap:.55rem; margin:0 0 clamp(1.4rem,3vw,2.4rem); color:#bdc9e7; font-size:clamp(.61rem,.8vw,.73rem); font-weight:750; letter-spacing:.14em; line-height:1.35; }.hero-eyebrow span { color:var(--accent-cyan); }.hero-title { max-width:12.5ch; text-wrap:balance; }.gradient-text-animated { background-size:200% auto; animation:gradient-shift 8s linear infinite; }.hero-copy { max-width:37rem; margin:clamp(1.5rem,3vw,2.4rem) 0 0; color:var(--text-secondary); font-size:clamp(1.02rem,1.45vw,1.22rem); line-height:1.65; }.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:clamp(1.7rem,3vw,2.6rem); }.hero-actions .button-primary,.hero-actions .button-secondary { min-width:10.5rem; }.hero-capabilities { display:flex; flex-wrap:wrap; gap:.65rem 1.1rem; margin:clamp(2.3rem,5vw,4rem) 0 0; padding:0; list-style:none; }.hero-capabilities li { position:relative; color:#94a0bd; font-size:.68rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }.hero-capabilities li:not(:last-child)::after { content:""; position:absolute; top:50%; left:calc(100% + .54rem); width:3px; height:3px; border-radius:50%; background:var(--accent-cyan); }
.hero-grid,.hero-orb,.hero-particles { position:absolute; z-index:-1; inset:0; pointer-events:none; }.hero-grid { background:radial-gradient(ellipse 45% 26% at 67% 44%,rgba(91,103,255,.16),transparent 68%); }.hero-orb { inset:auto; border-radius:50%; filter:blur(2px); opacity:.65; }.hero-orb-primary { top:16%; right:10%; width:clamp(16rem,30vw,30rem); aspect-ratio:1; background:radial-gradient(circle at 38% 38%,rgba(103,195,255,.23),rgba(86,96,255,.08) 36%,transparent 69%); animation:orb-drift 12s ease-in-out infinite alternate; }.hero-orb-secondary { top:52%; right:22%; width:clamp(8rem,16vw,15rem); aspect-ratio:1; background:radial-gradient(circle,rgba(174,100,255,.16),transparent 66%); animation:orb-drift 16s ease-in-out -5s infinite alternate-reverse; }.hero-particle { position:absolute; width:var(--size); height:var(--size); border-radius:50%; background:#b8e7ff; box-shadow:0 0 10px rgba(103,205,255,.75); opacity:var(--opacity); animation:particle-float var(--duration) ease-in-out var(--delay) infinite alternate; }
.scroll-indicator { position:absolute; bottom:clamp(1.7rem,3vw,2.7rem); left:50%; display:flex; align-items:center; flex-direction:column; gap:.6rem; color:#8d9ab8; font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; transform:translateX(-50%); transition:color .2s ease; }.scroll-indicator:hover { color:var(--accent-cyan); }.scroll-indicator i { display:block; width:1px; height:2rem; overflow:hidden; background:rgba(182,207,255,.3); }.scroll-indicator i::after { content:""; display:block; width:100%; height:50%; background:var(--accent-cyan); animation:scroll-line 2.2s ease-in-out infinite; }
@keyframes gradient-shift { to { background-position:200% center; } } @keyframes orb-drift { to { transform:translate3d(3%,-5%,0) scale(1.07); } } @keyframes particle-float { to { transform:translate3d(var(--drift-x),var(--drift-y),0); opacity:calc(var(--opacity) * .45); } } @keyframes scroll-line { 0% { transform:translateY(-110%); } 55%,100% { transform:translateY(210%); } }
@media (max-width:760px) { .hero-content { padding-top:8.25rem; }.hero-title { max-width:11.5ch; }.hero-orb-primary { top:20%; right:-16%; }.hero-orb-secondary { right:3%; }.scroll-indicator { display:none; } } @media (max-width:440px) { .hero-eyebrow { max-width:26rem; }.hero-actions { flex-direction:column; }.hero-actions .button-primary,.hero-actions .button-secondary { width:100%; }.hero-capabilities { gap:.55rem .9rem; } }

.capabilities { background:linear-gradient(180deg,#080d1d 0%,var(--background) 100%); }.capabilities-intro { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(16rem,.7fr); align-items:end; gap:3rem; margin-bottom:clamp(3rem,6vw,5.5rem); }.capabilities-title { max-width:10ch; margin:0; font-size:clamp(2.5rem,5vw,5.35rem); font-weight:650; letter-spacing:-.06em; line-height:.98; }.capabilities-copy { max-width:31rem; margin:0; color:var(--text-secondary); font-size:clamp(1rem,1.3vw,1.15rem); }
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--border); }.service-item { position:relative; display:grid; grid-template-rows:auto 1fr auto; min-height:22rem; padding:1.55rem; overflow:hidden; border-right:1px solid var(--border); border-bottom:1px solid var(--border); transition:background .3s ease,border-color .3s ease; }.service-item:nth-child(3n) { border-right:0; }.service-item::before { content:""; position:absolute; top:-5rem; right:-4rem; width:11rem; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(103,157,255,.15),transparent 67%); opacity:0; transform:scale(.7); transition:opacity .35s ease,transform .45s ease; }.service-item:hover { background:linear-gradient(135deg,rgba(90,121,255,.1),rgba(155,109,255,.045)); border-color:rgba(152,180,255,.28); }.service-item:hover::before { opacity:1; transform:scale(1); }.service-number { position:relative; color:#697897; font-size:.72rem; font-weight:750; letter-spacing:.12em; }.service-item h3 { position:relative; max-width:9ch; margin:2.4rem 0 .8rem; font-size:clamp(1.55rem,2.35vw,2.25rem); font-weight:620; letter-spacing:-.05em; line-height:1; }.service-item p { position:relative; max-width:22rem; margin:0; color:var(--text-secondary); font-size:.93rem; line-height:1.6; }.service-arrow { position:relative; justify-self:end; color:var(--accent-cyan); font-size:1.25rem; transform:translate(-.2rem,.2rem); opacity:.65; transition:transform .25s ease,opacity .25s ease; }.service-item:hover .service-arrow { transform:translate(0,0); opacity:1; }.service-item-featured { grid-column:span 2; grid-template-columns:minmax(6rem,.45fr) 1fr auto; grid-template-rows:1fr; align-items:end; min-height:19rem; padding:clamp(1.55rem,3vw,2.6rem); }.service-item-featured .service-number { align-self:start; }.service-item-featured h3 { max-width:none; margin:0 0 .8rem; font-size:clamp(2rem,3.5vw,3.4rem); }.service-item-featured p { max-width:31rem; font-size:1rem; }.service-item-system { grid-column:span 2; }
@media (max-width:900px) { .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.service-item:nth-child(3n) { border-right:1px solid var(--border); }.service-item:nth-child(even) { border-right:0; }.service-item-featured { grid-column:span 2; }.service-item-system { grid-column:span 2; } }
@media (max-width:680px) { .capabilities-intro { grid-template-columns:1fr; align-items:start; gap:1.5rem; }.services-grid { grid-template-columns:1fr; }.service-item,.service-item:nth-child(3n),.service-item:nth-child(even),.service-item-featured,.service-item-system { grid-column:auto; border-right:0; }.service-item { min-height:16rem; }.service-item-featured { grid-template-columns:1fr auto; grid-template-rows:auto 1fr; }.service-item-featured .service-number { grid-column:1; }.service-item-featured > div { grid-column:1 / -1; }.service-item-featured .service-arrow { grid-column:2; grid-row:1; }.service-item h3,.service-item-featured h3 { margin-top:1.8rem; font-size:clamp(1.8rem,8vw,2.5rem); } }

.statement-section { position:relative; isolation:isolate; overflow:hidden; padding-block:clamp(7rem,15vw,13rem) clamp(5rem,9vw,8rem); background:#050815; }.statement-section::before { content:""; position:absolute; z-index:-2; inset:0; background:radial-gradient(ellipse 55% 42% at 50% 41%,rgba(72,93,219,.19),transparent 70%),radial-gradient(ellipse 30% 25% at 75% 56%,rgba(155,109,255,.11),transparent 72%); }.statement-section::after { content:""; position:absolute; z-index:-1; inset:0; opacity:.42; background:linear-gradient(90deg,transparent 49.9%,rgba(138,165,255,.1) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(138,165,255,.08) 50%,transparent 50.1%); background-size:9rem 9rem; mask-image:radial-gradient(ellipse at center,black,transparent 70%); }.statement-content { display:flex; align-items:center; flex-direction:column; }.statement-title { max-width:15ch; margin:0; font-size:clamp(3.05rem,7.1vw,7.2rem); font-weight:620; letter-spacing:-.07em; line-height:.94; text-align:center; text-wrap:balance; }.statement-line { display:block; }.statement-word { display:inline-block; }.statement-line:nth-child(2) .statement-word { color:#dde8ff; }.statement-line:nth-child(3) .statement-word:last-child { color:var(--accent-cyan); }
.journey { position:relative; display:grid; grid-template-columns:repeat(5,1fr); width:100%; max-width:63rem; margin:clamp(4.5rem,9vw,7rem) 0 0; padding:0; list-style:none; }.journey::before { content:""; position:absolute; top:.34rem; right:9%; left:9%; height:1px; background:linear-gradient(90deg,rgba(100,197,227,.32),rgba(141,117,255,.35),rgba(100,197,227,.25)); }.journey li { position:relative; display:flex; align-items:center; flex-direction:column; gap:.7rem; color:var(--text-secondary); text-align:center; }.journey li::before { content:""; position:relative; z-index:1; width:.72rem; height:.72rem; border:2px solid #9be2ed; border-radius:50%; background:#07101f; box-shadow:0 0 0 .3rem rgba(84,175,225,.08),0 0 18px rgba(84,211,232,.38); }.journey li:nth-child(even)::before { border-color:#bfa9ff; box-shadow:0 0 0 .3rem rgba(157,116,255,.08),0 0 18px rgba(157,116,255,.32); }.journey span { color:#8090af; font-size:.67rem; font-weight:750; letter-spacing:.12em; }.journey strong { color:#dce4f6; font-size:.85rem; font-weight:650; letter-spacing:-.02em; }
.js [data-word-reveal] .statement-word { opacity:0; transform:translateY(.35em); transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1); }.js [data-word-reveal].is-visible .statement-word { opacity:1; transform:translateY(0); }.js [data-word-reveal] .statement-word:nth-child(1) { transition-delay:.05s; }.js [data-word-reveal] .statement-word:nth-child(2) { transition-delay:.13s; }.js [data-word-reveal] .statement-word:nth-child(3) { transition-delay:.21s; }
@media (max-width:680px) { .statement-section { padding-block:6.5rem; }.statement-title { max-width:10.5ch; }.journey { grid-template-columns:1fr; gap:1.3rem; width:auto; min-width:13rem; margin-top:4rem; }.journey::before { top:.4rem; bottom:.4rem; left:.34rem; width:1px; height:auto; background:linear-gradient(180deg,rgba(100,197,227,.32),rgba(141,117,255,.35),rgba(100,197,227,.25)); }.journey li { display:grid; grid-template-columns:1rem 2.2rem 1fr; align-items:center; gap:.7rem; text-align:left; }.journey li::before { grid-column:1; grid-row:1; }.journey span { grid-column:2; }.journey strong { grid-column:3; } }

.featured-work { background:linear-gradient(180deg,#080c1b,var(--background) 74%); }.work-intro { position:relative; max-width:48rem; margin-bottom:clamp(3.5rem,7vw,6rem); }.work-title { margin:0; font-size:clamp(2.65rem,5.8vw,6rem); font-weight:650; letter-spacing:-.065em; line-height:.95; text-wrap:balance; }.work-disclaimer { margin:1.25rem 0 0; color:#7786a5; font-size:.78rem; }.project-list { display:grid; gap:clamp(2rem,5vw,5rem); }.project-card { display:grid; grid-template-columns:minmax(15rem,.73fr) minmax(0,1.27fr); min-height:clamp(28rem,47vw,37rem); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }.project-card-reversed { grid-template-columns:minmax(0,1.27fr) minmax(15rem,.73fr); }.project-details { display:flex; align-items:flex-start; flex-direction:column; justify-content:center; padding:clamp(2rem,4vw,4rem) clamp(1.5rem,3.5vw,3.5rem) clamp(2rem,4vw,4rem) 0; }.project-card-reversed .project-details { order:2; padding-right:0; padding-left:clamp(1.5rem,3.5vw,3.5rem); }.project-meta { display:flex; justify-content:space-between; width:100%; gap:1rem; color:#8493b0; font-size:.68rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }.project-meta span:last-child { color:var(--accent-cyan); }.project-placeholder { margin-top:1.8rem; color:#a4b1d0; font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.project-details h3 { max-width:9ch; margin:1.1rem 0 1.1rem; font-size:clamp(2.05rem,3.4vw,3.85rem); font-weight:640; letter-spacing:-.065em; line-height:.96; }.project-details > p { max-width:26rem; margin:0; color:var(--text-secondary); font-size:.98rem; }.project-technologies { display:flex; flex-wrap:wrap; gap:.45rem; margin:2rem 0 0; padding:0; list-style:none; }.project-technologies li { padding:.33rem .55rem; border:1px solid var(--border); color:#b4c0da; font-size:.69rem; }.project-link { display:inline-flex; align-items:center; gap:.55rem; margin-top:2.4rem; color:var(--text-primary); font-size:.85rem; font-weight:700; cursor:not-allowed; }.project-link span { color:var(--accent-cyan); font-size:1.05rem; }.project-visual { position:relative; display:grid; min-height:100%; overflow:hidden; place-items:center; border-left:1px solid var(--border); background:linear-gradient(135deg,rgba(74,94,191,.16),rgba(22,29,66,.28)); transition:background .5s ease; }.project-card-reversed .project-visual { order:1; border-right:1px solid var(--border); border-left:0; }.project-visual::before { content:""; position:absolute; width:75%; aspect-ratio:1; border:1px solid rgba(144,179,255,.13); border-radius:50%; box-shadow:0 0 0 4rem rgba(104,123,255,.025),0 0 5rem rgba(83,147,255,.18); transition:transform .7s cubic-bezier(.2,.7,.2,1); }.project-card:hover .project-visual::before { transform:scale(1.18) rotate(16deg); }.project-visual-2 { background:linear-gradient(135deg,rgba(103,76,179,.22),rgba(17,29,66,.28)); }.project-visual-3 { background:linear-gradient(135deg,rgba(45,120,152,.17),rgba(21,32,62,.32)); }.interface-frame { position:relative; z-index:1; width:76%; max-width:38rem; min-height:62%; overflow:hidden; border:1px solid rgba(196,215,255,.2); border-radius:.45rem; background:linear-gradient(135deg,rgba(18,29,62,.94),rgba(10,16,37,.96)); box-shadow:0 2rem 5rem rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.07); transform:perspective(900px) rotateY(-8deg) rotateX(4deg); transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s ease; }.project-card-reversed .interface-frame { transform:perspective(900px) rotateY(8deg) rotateX(4deg); }.project-card:hover .interface-frame { box-shadow:0 2.8rem 6rem rgba(0,0,0,.42),0 0 3rem rgba(93,137,255,.2); transform:perspective(900px) rotateY(-2deg) rotateX(1deg) translateY(-.65rem); }.project-card-reversed:hover .interface-frame { transform:perspective(900px) rotateY(2deg) rotateX(1deg) translateY(-.65rem); }.interface-top { display:flex; align-items:center; gap:.32rem; height:2.25rem; padding:0 .8rem; border-bottom:1px solid rgba(190,211,255,.1); }.interface-top i { width:.35rem; height:.35rem; border-radius:50%; background:#5871b6; }.interface-top i:nth-child(2) { background:#6a61c6; }.interface-top i:nth-child(3) { background:#62cbd4; }.interface-top span { width:31%; height:.32rem; margin-left:auto; border-radius:99px; background:rgba(177,199,255,.12); }.ui-dashboard { display:grid; grid-template-columns:20% 1fr; min-height:calc(100% - 2.25rem); }.ui-sidebar { padding:1.1rem .7rem; border-right:1px solid rgba(190,211,255,.1); }.ui-sidebar b,.ui-data i,.ui-mobile-list i { display:block; height:.32rem; margin-bottom:.82rem; border-radius:2px; background:rgba(171,196,255,.15); }.ui-sidebar b:nth-child(2) { width:75%; background:rgba(104,148,255,.57); }.ui-sidebar b:nth-child(3) { width:60%; }.ui-main { padding:1.3rem; }.ui-title { width:42%; height:.55rem; border-radius:2px; background:rgba(224,234,255,.55); }.ui-chart { display:flex; align-items:end; gap:6%; height:54%; margin-top:1.45rem; padding:.65rem; border:1px solid rgba(179,202,255,.1); background:linear-gradient(180deg,rgba(93,120,255,.1),transparent); }.ui-chart i { width:7%; background:linear-gradient(#7a7cff,#55d5e4); }.ui-chart i:nth-child(1) { height:24%; }.ui-chart i:nth-child(2) { height:47%; }.ui-chart i:nth-child(3) { height:38%; }.ui-chart i:nth-child(4) { height:70%; }.ui-chart i:nth-child(5) { height:58%; }.ui-chart i:nth-child(6) { height:83%; }.ui-chart i:nth-child(7) { height:67%; }.ui-data { display:flex; gap:.6rem; margin-top:1rem; }.ui-data i { width:24%; margin:0; }.ui-mobile-wrap { display:grid; min-height:calc(100% - 2.25rem); place-items:center; }.ui-mobile { width:42%; min-width:8rem; height:86%; margin-top:1rem; padding:1.15rem .8rem; border:1px solid rgba(211,219,255,.23); border-radius:1.1rem; background:#111a38; box-shadow:0 .8rem 1.8rem rgba(0,0,0,.25); }.ui-mobile-head { width:40%; height:.3rem; margin:auto; border-radius:99px; background:rgba(214,227,255,.35); }.ui-mobile-balance { height:24%; margin-top:1.4rem; border-radius:.45rem; background:linear-gradient(135deg,#5f83ee,#7f65d3); }.ui-mobile-action { display:flex; gap:.4rem; margin-top:1rem; }.ui-mobile-action i { flex:1; height:1.4rem; border-radius:.25rem; background:rgba(132,169,255,.22); }.ui-mobile-list { margin-top:1.25rem; }.ui-mobile-list i { width:100%; }.ui-web { padding:1.2rem; }.ui-web-hero { position:relative; height:42%; padding:1.4rem; overflow:hidden; background:linear-gradient(135deg,rgba(55,180,197,.58),rgba(67,82,222,.68)); }.ui-web-hero::after { content:""; position:absolute; right:-8%; bottom:-50%; width:55%; aspect-ratio:1; border:1px solid rgba(255,255,255,.3); border-radius:50%; }.ui-web-hero i { display:block; width:45%; height:.5rem; margin-bottom:.6rem; background:rgba(239,252,255,.7); }.ui-web-hero i:nth-child(2) { width:70%; opacity:.6; }.ui-web-hero i:nth-child(3) { width:25%; height:1.4rem; margin-top:1.2rem; border:1px solid rgba(255,255,255,.4); background:transparent; }.ui-web-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; margin-top:1rem; }.ui-web-grid i { display:block; height:5rem; background:linear-gradient(145deg,rgba(158,180,255,.25),rgba(87,108,204,.05)); }
@media (max-width:760px) { .project-card,.project-card-reversed { grid-template-columns:1fr; }.project-details,.project-card-reversed .project-details { order:1; padding:2rem 0 2.4rem; }.project-visual,.project-card-reversed .project-visual { order:2; min-height:22rem; border:0; border-top:1px solid var(--border); }.project-details h3 { max-width:14ch; }.interface-frame { width:78%; min-height:16rem; } }

.technology-section { overflow:hidden; border-top:1px solid rgba(184,204,255,.08); background:radial-gradient(ellipse 65% 55% at 50% 58%,rgba(78,93,210,.12),transparent 72%),#080c1a; }.technology-intro { max-width:43rem; margin-inline:auto; text-align:center; }.technology-title { margin:0; font-size:clamp(2.6rem,5.6vw,5.8rem); font-weight:650; letter-spacing:-.065em; line-height:.96; }.technology-intro > p:last-child { max-width:31rem; margin:1.35rem auto 0; color:var(--text-secondary); font-size:clamp(1rem,1.35vw,1.15rem); }.tech-network { position:relative; height:clamp(29rem,53vw,37rem); max-width:70rem; margin:clamp(4rem,8vw,6.5rem) auto 0; border-top:1px solid rgba(183,205,255,.08); border-bottom:1px solid rgba(183,205,255,.08); background:radial-gradient(circle at 50% 50%,rgba(88,132,255,.09),transparent 48%); }.tech-network::before { content:""; position:absolute; inset:15% 10%; border:1px solid rgba(140,171,255,.06); border-radius:50%; box-shadow:0 0 0 4rem rgba(121,108,255,.018),0 0 0 8rem rgba(78,160,214,.013); }.tech-connections { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }.tech-connections path { fill:none; stroke:rgba(135,181,255,.2); stroke-width:1; stroke-dasharray:5 8; animation:connection-flow 18s linear infinite; }.tech-connections path:nth-child(2) { stroke:rgba(159,122,255,.19); animation-duration:23s; animation-direction:reverse; }.tech-node { position:absolute; z-index:1; display:inline-flex; align-items:center; justify-content:center; min-height:2.2rem; padding:.42rem .76rem; border:1px solid rgba(164,195,255,.23); border-radius:99px; color:#d4e1f9; background:rgba(15,24,53,.77); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 .45rem 1.5rem rgba(0,0,0,.18); backdrop-filter:blur(10px); font-size:clamp(.68rem,.9vw,.8rem); font-weight:680; letter-spacing:-.015em; animation:node-drift var(--drift,8s) ease-in-out var(--delay,0s) infinite alternate; }.tech-node::before { content:""; width:.28rem; height:.28rem; margin-right:.42rem; border-radius:50%; background:var(--node-color,var(--accent-cyan)); box-shadow:0 0 .7rem var(--node-color,var(--accent-cyan)); }.node-dotnet { top:18%; left:6%; --node-color:#8b7aff; --drift:9s; }.node-asp { top:8%; left:24%; --node-color:#55cce4; --delay:-2s; }.node-csharp { top:29%; left:36%; --node-color:#a889ff; --drift:7s; }.node-sql { top:7%; left:51%; --node-color:#5bb4ff; --delay:-4s; }.node-postgres { top:26%; left:70%; --node-color:#75c9e5; --drift:10s; }.node-react { top:12%; right:4%; --node-color:#61dafb; --delay:-3s; }.node-typescript { top:52%; left:13%; --node-color:#5a9cff; --drift:8s; }.node-flutter { top:66%; left:27%; --node-color:#55c5fa; --delay:-6s; }.node-api { top:50%; left:45%; --node-color:#8f8aff; --drift:11s; }.node-docker { top:70%; left:57%; --node-color:#55b5f6; --delay:-2s; }.node-azure { top:53%; right:18%; --node-color:#6d9eff; --drift:9s; }.node-git { top:71%; right:5%; --node-color:#f28e77; --delay:-5s; }.node-cloud { top:37%; right:3%; --node-color:#aa95ff; --drift:7s; }.node-push { bottom:7%; left:42%; --node-color:#8fd7ee; --delay:-4s; }.node-ai { bottom:9%; left:67%; --node-color:#c095ff; --drift:10s; }.tech-node:hover { z-index:2; border-color:rgba(154,208,255,.54); color:white; background:rgba(27,42,85,.9); box-shadow:0 0 2rem rgba(92,153,255,.23); animation-play-state:paused; }
@keyframes connection-flow { to { stroke-dashoffset:-180; } } @keyframes node-drift { to { transform:translate3d(0,-.55rem,0); } }
@media (max-width:760px) { .tech-network { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; height:auto; margin-top:3.5rem; padding:1rem 0; border:0; background:none; }.tech-network::before,.tech-connections { display:none; }.tech-node { position:relative; top:auto; right:auto; bottom:auto; left:auto; width:100%; min-height:2.65rem; animation:none; }.tech-node:hover { transform:none; } }
@media (max-width:430px) { .tech-network { grid-template-columns:1fr; }.tech-node { justify-content:flex-start; } }

.why-section { border-top:1px solid rgba(186,205,255,.09); background:linear-gradient(135deg,#090e20 0%,#070b18 58%,#0a0b1d 100%); }.why-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(4rem,9vw,9rem); }.why-intro { position:sticky; top:8rem; align-self:start; }.why-intro h2 { max-width:10ch; margin:0; font-size:clamp(2.7rem,5.2vw,5.5rem); font-weight:650; letter-spacing:-.07em; line-height:.96; }.value-signals { display:grid; grid-template-columns:repeat(2,1fr); gap:.55rem; max-width:25rem; margin-top:clamp(3rem,6vw,5rem); }.signal { position:relative; min-height:6.4rem; padding:1rem; overflow:hidden; border:1px solid var(--border); background:rgba(255,255,255,.018); }.signal-wide { background:linear-gradient(135deg,rgba(78,122,255,.09),rgba(255,255,255,.018)); }.signal span { display:block; color:#8594b4; font-size:.65rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }.signal strong { position:absolute; bottom:1rem; left:1rem; color:#dfe9fc; font-size:.92rem; font-weight:650; }.signal i { position:absolute; right:-5%; bottom:0; width:66%; height:35%; border-top:1px solid rgba(112,211,227,.55); border-radius:50% 50% 0 0; opacity:.75; transform:rotate(-14deg); animation:signal-pulse 5s ease-in-out infinite alternate; }.signal:nth-child(2) i { border-color:rgba(157,124,255,.65); animation-delay:-1.5s; }.signal:nth-child(3) i { width:80%; border-color:rgba(87,164,255,.6); animation-delay:-3s; }.signal:nth-child(4) i { border-color:rgba(114,215,211,.6); animation-delay:-2s; }.principles { margin:0; padding:0; list-style:none; border-top:1px solid var(--border); }.principles li { display:grid; grid-template-columns:4rem 1fr; gap:1rem; padding:clamp(1.8rem,3.5vw,3rem) 0; border-bottom:1px solid var(--border); transition:padding-left .3s ease,border-color .3s ease; }.principles li:hover { padding-left:.8rem; border-color:rgba(148,185,255,.33); }.principles > li > span { color:var(--accent-cyan); font-size:.7rem; font-weight:750; letter-spacing:.12em; }.principles h3 { margin:0; font-size:clamp(1.55rem,2.35vw,2.35rem); font-weight:620; letter-spacing:-.05em; line-height:1.05; }.principles p { max-width:28rem; margin:.75rem 0 0; color:var(--text-secondary); font-size:.96rem; }.principles li:hover h3 { color:#dbe8ff; }.principles li:hover > span { text-shadow:0 0 1rem rgba(93,219,234,.65); } @keyframes signal-pulse { to { transform:rotate(-14deg) translateX(-.7rem) scaleY(1.22); opacity:1; } }
@media (max-width:850px) { .why-layout { grid-template-columns:1fr; gap:4rem; }.why-intro { position:relative; top:auto; }.why-intro h2 { max-width:12ch; }.value-signals { max-width:31rem; } } @media (max-width:460px) { .principles li { grid-template-columns:2.7rem 1fr; }.signal { min-height:5.7rem; } }

.mobile-showcase { overflow:hidden; background:radial-gradient(ellipse 43% 54% at 78% 48%,rgba(101,89,237,.2),transparent 72%),linear-gradient(135deg,#080d1e,#0a0c20); }.mobile-layout { display:grid; grid-template-columns:minmax(17rem,.85fr) minmax(24rem,1.15fr); align-items:center; gap:clamp(3rem,8vw,8rem); }.mobile-copy h2 { margin:0; font-size:clamp(3rem,5.8vw,6.1rem); font-weight:650; letter-spacing:-.07em; line-height:.91; }.mobile-copy > p:not(.section-label) { max-width:31rem; margin:1.65rem 0 0; color:var(--text-secondary); font-size:clamp(1rem,1.35vw,1.16rem); }.mobile-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem .8rem; margin:2.25rem 0 2.5rem; padding:0; list-style:none; }.mobile-services li { padding:.48rem 0; border-bottom:1px solid rgba(181,203,255,.13); color:#b7c4df; font-size:.74rem; }.mobile-services li::before { content:""; display:inline-block; width:.3rem; height:.3rem; margin:0 .48rem .1rem 0; border-radius:50%; background:var(--accent-cyan); box-shadow:0 0 .6rem rgba(93,224,230,.7); }.phone-stage { position:relative; display:flex; align-items:center; justify-content:center; min-height:39rem; }.phone-stage::before { content:""; position:absolute; width:90%; aspect-ratio:1; border:1px solid rgba(157,171,255,.13); border-radius:50%; box-shadow:0 0 0 4rem rgba(106,113,255,.025),0 0 6rem rgba(81,126,255,.17); }.phone { position:relative; z-index:1; width:clamp(11.4rem,20vw,15rem); aspect-ratio:.49; padding:.45rem; border:1px solid rgba(233,240,255,.36); border-radius:2.25rem; background:linear-gradient(145deg,#28314e,#090d1a 32%,#1e2845); box-shadow:.7rem 2.1rem 3.5rem rgba(0,0,0,.4),inset 1px 0 1px rgba(255,255,255,.45); transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s ease; }.phone-dashboard { transform:translateX(11%) rotate(-11deg); }.phone-consumer { margin-left:-8%; transform:translateX(-11%) translateY(2.6rem) rotate(10deg); }.phone:hover { z-index:2; }.phone-dashboard:hover { transform:translateX(11%) translateY(-.8rem) rotate(-6deg); }.phone-consumer:hover { transform:translateX(-11%) translateY(1.8rem) rotate(5deg); }.phone-speaker { position:absolute; z-index:2; top:.9rem; left:50%; width:34%; height:.32rem; border-radius:99px; background:#060914; transform:translateX(-50%); }.phone-screen { position:relative; height:100%; overflow:hidden; border-radius:1.84rem; }.dashboard-screen { padding:1.25rem .9rem .7rem; background:linear-gradient(155deg,#162451,#0d1532 57%,#101936); color:#edf4ff; }.app-status { display:flex; align-items:center; justify-content:space-between; color:#dce7ff; font-size:.52rem; }.app-status i { width:1rem; height:.42rem; border:1px solid #b8c8e7; border-radius:.12rem; }.app-greeting { margin:1.65rem 0 .75rem; font-size:.7rem; }.app-overview { padding:.9rem; border:1px solid rgba(182,207,255,.18); border-radius:.55rem; background:linear-gradient(135deg,rgba(104,120,255,.48),rgba(95,188,217,.24)); }.app-overview span,.app-activity span { display:block; color:#bed1ec; font-size:.53rem; }.app-overview strong { display:block; margin:.28rem 0 .7rem; font-size:1.15rem; letter-spacing:-.06em; }.app-overview i { display:block; height:2rem; border-top:1px solid rgba(224,239,255,.42); border-radius:50% 50% 0 0; }.app-shortcuts { display:flex; justify-content:space-between; margin:1rem 0; }.app-shortcuts i { width:1.45rem; height:1.45rem; border-radius:.4rem; background:rgba(133,163,255,.25); }.app-activity { padding-top:.35rem; }.app-activity b { display:block; height:.42rem; margin-top:.65rem; border-radius:99px; background:linear-gradient(90deg,rgba(173,201,255,.24) 55%,transparent 55%); }.app-nav { position:absolute; right:.7rem; bottom:.7rem; left:.7rem; display:flex; justify-content:space-around; padding:.55rem; border-radius:.45rem; background:rgba(4,9,25,.34); }.app-nav i { width:.35rem; height:.35rem; border-radius:50%; background:#8ba9ff; }.consumer-screen { padding:1.25rem .85rem; background:linear-gradient(160deg,#f0ecff,#d7e7ff 44%,#b4b7fa); color:#20214a; }.consumer-brand { display:flex; align-items:center; gap:.32rem; margin-top:1.4rem; color:#545096; font-size:.58rem; font-weight:750; }.consumer-brand i { width:.55rem; height:.55rem; border-radius:50%; background:linear-gradient(135deg,#6f63ee,#5fdde1); }.consumer-screen h3 { margin:1.7rem 0 1.15rem; font-size:1.38rem; letter-spacing:-.07em; line-height:.94; }.consumer-search { display:flex; justify-content:space-between; padding:.58rem .65rem; border:1px solid rgba(70,70,138,.18); border-radius:.42rem; color:#7773a6; background:rgba(255,255,255,.45); font-size:.52rem; }.consumer-search i { width:.38rem; height:.38rem; border:1px solid #7773a6; border-radius:50%; }.consumer-cards { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin-top:1rem; }.consumer-cards i { display:block; height:5.5rem; border-radius:.55rem; background:linear-gradient(145deg,#716de7,#8fcfe4); }.consumer-cards i:last-child { background:linear-gradient(145deg,#ffa8c3,#896ee8); }.consumer-tab { position:absolute; right:.65rem; bottom:.8rem; left:.65rem; display:flex; justify-content:space-around; padding:.55rem; border-radius:.5rem; background:rgba(255,255,255,.47); }.consumer-tab b { width:.3rem; height:.3rem; border-radius:50%; background:#6563aa; }.js [data-scroll-float] { opacity:0; }.js [data-scroll-float].is-visible { opacity:1; }.js .phone-dashboard.is-visible { transform:translateX(11%) rotate(-11deg); }.js .phone-consumer.is-visible { transform:translateX(-11%) translateY(2.6rem) rotate(10deg); }
@media (max-width:860px) { .mobile-layout { grid-template-columns:1fr; }.mobile-copy { max-width:38rem; }.phone-stage { min-height:33rem; }.phone { width:clamp(10.4rem,31vw,14rem); } } @media (max-width:450px) { .mobile-services { grid-template-columns:1fr; }.phone-stage { min-height:27rem; }.phone { width:10rem; }.phone-dashboard { transform:translateX(8%) rotate(-10deg); }.phone-consumer { transform:translateX(-8%) translateY(2rem) rotate(9deg); }.js .phone-dashboard.is-visible { transform:translateX(8%) rotate(-10deg); }.js .phone-consumer.is-visible { transform:translateX(-8%) translateY(2rem) rotate(9deg); } }

.business-software { overflow:hidden; border-top:1px solid rgba(183,204,255,.08); background:linear-gradient(115deg,#080e20,#0a1024 56%,#080c1a); }.business-layout { display:grid; grid-template-columns:minmax(17rem,.77fr) minmax(29rem,1.23fr); align-items:center; gap:clamp(3rem,8vw,8rem); }.business-copy h2 { max-width:9ch; margin:0; font-size:clamp(2.9rem,5.4vw,5.75rem); font-weight:650; letter-spacing:-.07em; line-height:.94; }.business-copy > p:not(.section-label) { max-width:30rem; margin:1.55rem 0 0; color:var(--text-secondary); font-size:clamp(1rem,1.35vw,1.15rem); }.business-examples { display:flex; flex-wrap:wrap; gap:.48rem; max-width:33rem; margin:2.25rem 0 2.5rem; padding:0; list-style:none; }.business-examples li { padding:.43rem .65rem; border:1px solid rgba(169,193,255,.16); color:#b3c2dc; background:rgba(255,255,255,.025); font-size:.72rem; }.enterprise-art { position:relative; min-height:31rem; display:grid; place-items:center; }.enterprise-art::before { content:""; position:absolute; width:85%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(72,142,235,.19),transparent 67%); filter:blur(8px); }.enterprise-window { position:relative; z-index:1; width:100%; padding:.5rem; border:1px solid rgba(190,210,255,.22); border-radius:.55rem; background:linear-gradient(145deg,rgba(37,50,88,.89),rgba(10,17,36,.96)); box-shadow:1.4rem 2.3rem 4rem rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.08); transform:perspective(1000px) rotateY(-8deg) rotateX(3deg); transition:transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .7s ease; }.enterprise-art:hover .enterprise-window { transform:perspective(1000px) rotateY(-2deg) rotateX(1deg) translateY(-.65rem); box-shadow:1.4rem 2.8rem 5rem rgba(0,0,0,.48),0 0 3rem rgba(73,142,255,.17); }.enterprise-bar { display:flex; align-items:center; gap:.32rem; height:2.35rem; padding:0 .7rem; border-bottom:1px solid rgba(183,204,255,.12); }.enterprise-bar i { width:.34rem; height:.34rem; border-radius:50%; background:#5b72ba; }.enterprise-bar i:nth-child(2) { background:#7f69d0; }.enterprise-bar i:nth-child(3) { background:#66ccd7; }.enterprise-bar span { margin-left:.55rem; color:#9caecc; font-size:.59rem; }.enterprise-bar b { width:3.2rem; height:.4rem; margin-left:auto; border-radius:99px; background:rgba(185,205,255,.16); }.enterprise-body { display:grid; grid-template-columns:3.4rem 1fr; min-height:25rem; }.enterprise-sidebar { display:flex; align-items:center; flex-direction:column; gap:1rem; padding:1rem .7rem; border-right:1px solid rgba(183,204,255,.11); background:rgba(4,9,25,.26); }.enterprise-sidebar strong { display:grid; width:1.45rem; height:1.45rem; margin-bottom:.75rem; border-radius:.35rem; color:#d7e5ff; background:linear-gradient(135deg,#6f8eff,#9175e8); font-size:.54rem; place-items:center; }.enterprise-sidebar i { width:.8rem; height:.8rem; border:1px solid rgba(181,206,255,.38); border-radius:.22rem; }.enterprise-sidebar i:nth-child(3) { background:rgba(98,155,255,.45); box-shadow:0 0 .7rem rgba(98,155,255,.4); }.enterprise-sidebar span { flex:1; }.enterprise-main { padding:clamp(1rem,2.5vw,1.7rem); }.enterprise-heading { display:flex; justify-content:space-between; }.enterprise-heading small,.enterprise-metrics small,.enterprise-data small { color:#91a3c7; font-size:.55rem; }.enterprise-heading h3 { margin:.25rem 0 0; color:#e7efff; font-size:clamp(.95rem,1.5vw,1.25rem); letter-spacing:-.04em; }.enterprise-heading > i { width:1.75rem; height:1.75rem; border-radius:50%; background:linear-gradient(135deg,#8270dc,#56c4d0); }.enterprise-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-top:1.4rem; }.enterprise-metrics > div { padding:.75rem; border:1px solid rgba(179,203,255,.1); background:rgba(255,255,255,.025); }.enterprise-metrics strong { display:block; margin-top:.4rem; color:#e4edff; font-size:clamp(.9rem,1.5vw,1.28rem); }.enterprise-metrics i { display:block; width:65%; height:.25rem; margin-top:.55rem; border-radius:99px; background:linear-gradient(90deg,#6ca2ff,#62d4de); }.enterprise-data { display:grid; grid-template-columns:1.35fr .75fr; gap:.75rem; margin-top:.8rem; }.enterprise-chart,.enterprise-panel { min-height:11rem; padding:.9rem; border:1px solid rgba(179,203,255,.1); background:rgba(255,255,255,.018); }.enterprise-chart > div { display:flex; align-items:end; justify-content:space-between; gap:.35rem; height:7.6rem; margin-top:1rem; padding:.4rem .2rem; border-bottom:1px solid rgba(178,204,255,.22); background:linear-gradient(180deg,rgba(96,132,255,.1),transparent); }.enterprise-chart i { width:8%; background:linear-gradient(#697fff,#5bd0d8); }.enterprise-chart i:nth-child(1) { height:28%; }.enterprise-chart i:nth-child(2) { height:45%; }.enterprise-chart i:nth-child(3) { height:40%; }.enterprise-chart i:nth-child(4) { height:67%; }.enterprise-chart i:nth-child(5) { height:54%; }.enterprise-chart i:nth-child(6) { height:82%; }.enterprise-chart i:nth-child(7) { height:70%; }.enterprise-chart i:nth-child(8) { height:92%; }.enterprise-panel b { display:block; height:.48rem; margin-top:1.25rem; border-radius:99px; background:linear-gradient(90deg,rgba(175,202,255,.28) 68%,transparent 68%); }.enterprise-panel b:nth-of-type(2) { background:linear-gradient(90deg,rgba(113,201,221,.48) 48%,transparent 48%); }.enterprise-panel b:nth-of-type(3) { background:linear-gradient(90deg,rgba(164,134,255,.4) 77%,transparent 77%); }.enterprise-panel b:nth-of-type(4) { background:linear-gradient(90deg,rgba(175,202,255,.28) 40%,transparent 40%); }
@media (max-width:900px) { .business-layout { grid-template-columns:1fr; }.business-copy { max-width:38rem; }.enterprise-art { min-height:27rem; max-width:44rem; }.enterprise-window { transform:perspective(1000px) rotateY(-5deg) rotateX(2deg); } } @media (max-width:480px) { .enterprise-art { min-height:21rem; }.enterprise-body { grid-template-columns:2.5rem 1fr; min-height:19rem; }.enterprise-sidebar { gap:.65rem; padding-inline:.45rem; }.enterprise-main { padding:.85rem; }.enterprise-metrics { gap:.35rem; }.enterprise-metrics > div { padding:.45rem; }.enterprise-data { grid-template-columns:1fr; }.enterprise-panel { display:none; }.enterprise-chart { min-height:8rem; }.enterprise-chart > div { height:4.7rem; }.enterprise-heading h3 { font-size:.88rem; } }

.final-cta { position:relative; isolation:isolate; display:grid; min-height:clamp(37rem,62vw,51rem); overflow:hidden; border-top:1px solid rgba(188,210,255,.14); background:radial-gradient(ellipse 52% 46% at 50% 49%,rgba(64,104,236,.2),transparent 71%),linear-gradient(145deg,#070b18,#0a0d24 52%,#080a19); place-items:center; }.final-cta::before { content:""; position:absolute; z-index:-2; inset:0; opacity:.46; background:linear-gradient(90deg,transparent 49.9%,rgba(147,181,255,.12) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(147,181,255,.09) 50%,transparent 50.1%); background-size:8rem 8rem; mask-image:radial-gradient(circle at 50% 50%,black,transparent 68%); }.final-cta-content { position:relative; z-index:1; text-align:center; }.final-cta .section-label { color:#abdfe9; }.final-cta h2 { max-width:11ch; margin:0 auto; font-size:clamp(3.35rem,8.5vw,8.5rem); font-weight:650; letter-spacing:-.08em; line-height:.88; text-wrap:balance; }.final-cta-content > p:not(.section-label) { max-width:34rem; margin:1.8rem auto 0; color:#b5c1da; font-size:clamp(1rem,1.35vw,1.18rem); }.final-cta-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; margin-top:2.5rem; }.final-email { min-width:min(100%,18rem); }.final-star { position:absolute; z-index:-1; top:50%; left:50%; width:min(46rem,82vw); aspect-ratio:1; opacity:.9; transform:translate(-50%,-50%); }.final-star::before { content:""; position:absolute; top:50%; left:50%; width:12%; aspect-ratio:1; border-radius:50%; background:#dbf5ff; box-shadow:0 0 1.5rem .4rem rgba(123,205,255,.9),0 0 8rem 2rem rgba(93,113,255,.46),0 0 15rem 4rem rgba(144,94,255,.16); transform:translate(-50%,-50%); }.final-star::after { content:""; position:absolute; top:50%; left:50%; width:100%; height:1px; background:linear-gradient(90deg,transparent,rgba(131,206,255,.17) 25%,rgba(230,247,255,.75) 50%,rgba(157,116,255,.2) 75%,transparent); transform:translate(-50%,-50%); }.final-star i { position:absolute; top:50%; left:50%; display:block; width:100%; height:1px; background:linear-gradient(90deg,transparent,rgba(143,119,255,.16) 35%,rgba(219,236,255,.35) 50%,transparent 65%); transform:translate(-50%,-50%) rotate(45deg); }.final-star i:nth-child(2) { transform:translate(-50%,-50%) rotate(-45deg); }.final-star i:nth-child(3) { width:58%; transform:translate(-50%,-50%) rotate(90deg); }.final-star i:nth-child(4) { width:74%; opacity:.7; transform:translate(-50%,-50%) rotate(22.5deg); }.final-cta:hover .final-star::before { box-shadow:0 0 2rem .55rem rgba(123,205,255,.95),0 0 9rem 2.4rem rgba(93,113,255,.5),0 0 17rem 4rem rgba(144,94,255,.2); }
@media (max-width:560px) { .final-cta { min-height:35rem; }.final-cta-actions { align-items:stretch; flex-direction:column; }.final-cta-actions a { width:100%; }.final-email { font-size:.78rem; } }

.contact-page { position:relative; isolation:isolate; min-height:100svh; overflow:hidden; padding-block:clamp(9rem,15vw,13rem) clamp(5rem,10vw,8rem); background:radial-gradient(ellipse 45% 45% at 70% 30%,rgba(81,101,232,.18),transparent 72%),var(--background); }.contact-page::before { content:""; position:absolute; z-index:-2; inset:0; opacity:.34; background:linear-gradient(90deg,rgba(120,152,255,.05) 1px,transparent 1px),linear-gradient(rgba(120,152,255,.05) 1px,transparent 1px); background-size:5rem 5rem; mask-image:linear-gradient(to bottom,transparent,black 22%,black 75%,transparent); }.contact-page-glow { position:absolute; z-index:-1; top:13%; right:-14%; width:38rem; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(97,193,232,.15),rgba(116,82,241,.11) 28%,transparent 68%); filter:blur(10px); }.contact-layout { display:grid; grid-template-columns:minmax(15rem,.76fr) minmax(28rem,1.24fr); align-items:start; gap:clamp(3rem,9vw,9rem); }.contact-intro { padding-top:1rem; }.contact-intro h1 { max-width:9ch; margin:0; font-size:clamp(3rem,5.8vw,6.2rem); font-weight:650; letter-spacing:-.075em; line-height:.91; }.contact-intro > p:not(.section-label) { max-width:29rem; margin:1.65rem 0 0; color:var(--text-secondary); font-size:clamp(1rem,1.35vw,1.15rem); }.contact-direct { margin-top:3rem; padding-top:1.35rem; border-top:1px solid var(--border); }.contact-direct span,.contact-direct a { display:block; }.contact-direct span { color:#8190b0; font-size:.71rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.contact-direct a { margin-top:.45rem; color:var(--accent-cyan); font-size:.94rem; font-weight:650; }.contact-form-panel { padding:clamp(1.4rem,3.5vw,3rem); border-radius:.65rem; background:linear-gradient(145deg,rgba(25,36,73,.58),rgba(11,16,35,.75)); }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 1rem; }.form-field { min-width:0; }.form-field-full { grid-column:1 / -1; }.form-field label { display:block; margin-bottom:.5rem; color:#cbd7ed; font-size:.77rem; font-weight:700; }.form-field label span { color:var(--accent-cyan); }.form-field input,.form-field select,.form-field textarea { width:100%; border:1px solid rgba(177,201,255,.18); border-radius:.3rem; outline:0; color:var(--text-primary); background:rgba(4,9,25,.34); font:inherit; font-size:.91rem; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }.form-field input,.form-field select { height:3rem; padding:0 .8rem; }.form-field textarea { min-height:9rem; padding:.8rem; resize:vertical; }.form-field select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,#96a9ca 50%),linear-gradient(135deg,#96a9ca 50%,transparent 50%); background-position:calc(100% - 1.05rem) 1.25rem,calc(100% - .75rem) 1.25rem; background-size:.3rem .3rem,.3rem .3rem; background-repeat:no-repeat; }.form-field select option { color:#101629; }.form-field input::placeholder,.form-field textarea::placeholder { color:#74829f; }.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:rgba(104,200,226,.75); background:rgba(12,23,52,.65); box-shadow:0 0 0 .22rem rgba(93,224,230,.1); }.form-field span:not(.field-validation-valid) { display:block; margin-top:.4rem; color:#ffadbd; font-size:.72rem; }.input-validation-error { border-color:rgba(255,136,159,.75) !important; }.form-validation:empty { display:none; }.form-validation { margin-bottom:1.15rem; color:#ffb2c0; font-size:.82rem; }.form-validation ul { margin:0; padding-left:1.1rem; }.form-submit { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.7rem; padding-top:1.4rem; border-top:1px solid var(--border); }.form-submit p { max-width:18rem; margin:0; color:#8391ae; font-size:.72rem; line-height:1.5; }.form-success { display:flex; gap:.75rem; margin-bottom:1.4rem; padding:1rem; border:1px solid rgba(102,220,202,.32); border-radius:.35rem; color:#d6f6eb; background:rgba(55,174,147,.13); }.form-success span { display:grid; flex:none; width:1.45rem; height:1.45rem; border-radius:50%; color:#06251e; background:#72e1ca; font-size:.78rem; font-weight:800; place-items:center; }.form-success p { margin:0; font-size:.88rem; }
@media (max-width:850px) { .contact-layout { grid-template-columns:1fr; gap:3.5rem; }.contact-intro { max-width:38rem; }.contact-intro h1 { max-width:11ch; }.contact-direct { margin-top:2rem; }.contact-form-panel { max-width:48rem; } } @media (max-width:540px) { .contact-page { padding-top:8rem; }.form-grid { grid-template-columns:1fr; }.form-field-full { grid-column:auto; }.form-submit { align-items:stretch; flex-direction:column; }.form-submit .button-primary { width:100%; }.form-submit p { max-width:none; } }

/* Contact form alignment: labels, validation and actions keep their own visual rows. */
.contact-page .contact-layout { grid-template-columns:minmax(18rem, .82fr) minmax(32rem, 1.18fr); gap:clamp(3rem, 7vw, 7rem); }
.contact-page .contact-form-panel { width:100%; padding:clamp(1.75rem, 3.2vw, 2.75rem); }
.contact-page .contact-form-panel form { display:grid; gap:0; }
.contact-page .form-grid { grid-template-columns:1fr; gap:1.2rem; }
.contact-page .form-field,.contact-page .form-field-full { display:grid; grid-column:auto; grid-template-columns:minmax(9.5rem, 11rem) minmax(0, 1fr); align-items:center; gap:.65rem 1.25rem; }
.contact-page .form-field label { display:flex; grid-column:1; align-items:baseline; gap:.3rem; min-height:1.2rem; margin:0; }
.contact-page .form-field label span { display:inline; margin:0; color:#ffadbd; line-height:1; }
.contact-page .form-field input,.contact-page .form-field select,.contact-page .form-field textarea { grid-column:2; }
.contact-page .form-field textarea { align-self:start; }
.contact-page .form-field:has(textarea) { align-items:start; }
.contact-page .form-field:has(textarea) label { padding-top:1rem; }
.contact-page .form-field > span:not(.field-validation-valid) { display:block; grid-column:2; min-height:0; margin:-.2rem 0 0; color:#ffadbd; font-size:.72rem; }
.contact-page .form-field input,.contact-page .form-field select { min-height:3.25rem; height:3.25rem; }
.contact-page .form-field textarea { min-height:12rem; }
.contact-page .form-submit { align-items:center; min-height:4.75rem; margin-top:2rem; padding-top:1.5rem; }
.contact-page .form-submit .button-primary { flex:0 0 auto; min-width:11rem; }
.contact-page .contact-direct + .contact-direct { margin-top:1.5rem; }
@media (max-width:1000px) { .contact-page .contact-layout { grid-template-columns:minmax(16rem,.72fr) minmax(26rem,1.28fr); gap:clamp(2rem,5vw,4rem); } .contact-page .contact-intro h1 { font-size:clamp(3rem,5.4vw,5.2rem); } }
@media (max-width:850px) { .contact-page .contact-layout { grid-template-columns:1fr; } .contact-page .contact-form-panel { max-width:48rem; } }
@media (max-width:650px) { .contact-page .contact-form-panel { padding:1.25rem; } .contact-page .form-grid { gap:1.15rem; } .contact-page .form-field,.contact-page .form-field-full { grid-template-columns:1fr; gap:.45rem; } .contact-page .form-field label,.contact-page .form-field input,.contact-page .form-field select,.contact-page .form-field textarea,.contact-page .form-field > span:not(.field-validation-valid) { grid-column:1; } .contact-page .form-field:has(textarea) label { padding-top:0; } .contact-page .form-submit { align-items:stretch; } .contact-page .form-submit .button-primary { width:100%; } }

/* Authentication forms keep a conventional vertical field layout. The horizontal
   label-and-control treatment is reserved for the public enquiry form. */
.admin-filter-bar { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:0 0 1.5rem; }.admin-filter-bar input,.admin-filter-bar select,.lead-actions select { min-height:2.8rem; padding:.55rem .75rem; border:1px solid var(--color-border); border-radius:var(--radius-sm); color:var(--color-text); background:rgba(5,9,20,.42); }.admin-filter-bar input { min-width:min(100%,20rem); flex:1 1 20rem; }.lead-list { display:grid; gap:.85rem; }.lead-card { display:grid; grid-template-columns:minmax(11rem,.65fr) minmax(13rem,.6fr) minmax(14rem,1.2fr) minmax(11rem,.65fr); gap:1.25rem; align-items:start; padding:1.35rem; }.lead-card h2 { margin:.35rem 0; font-size:1.25rem; }.lead-card p { margin:.3rem 0; color:var(--color-text-muted); }.lead-contact { display:grid; gap:.45rem; }.lead-contact a { color:var(--accent-cyan); font-weight:650; }.lead-contact small { margin-top:.35rem; color:var(--color-text-muted); }.lead-message { line-height:1.55; white-space:pre-line; }.lead-actions { display:grid; gap:.75rem; }.lead-actions form { display:grid; gap:.45rem; margin:0; }.lead-actions label { color:var(--color-text-muted); font-size:.72rem; font-weight:700; }.lead-actions button { width:100%; }.empty-state { max-width:44rem; padding:2rem; } @media (max-width:980px) { .lead-card { grid-template-columns:repeat(2,minmax(0,1fr)); } .lead-message,.lead-actions { grid-column:1 / -1; } .lead-actions { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } } @media (max-width:620px) { .lead-card { grid-template-columns:1fr; gap:.85rem; } .lead-message,.lead-actions { grid-column:auto; } .lead-actions { grid-template-columns:1fr; } .admin-filter-bar > * { width:100%; } .admin-filter-bar input { flex-basis:auto; } }
.contact-page:not(.contact-page-enquiry) .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 1rem; }
.contact-page:not(.contact-page-enquiry) .form-field { display:block; grid-column:auto; }
.contact-page:not(.contact-page-enquiry) .form-field-full { grid-column:1 / -1; }
.contact-page:not(.contact-page-enquiry) .form-field label { display:block; margin-bottom:.5rem; }
.contact-page:not(.contact-page-enquiry) .form-field input,.contact-page:not(.contact-page-enquiry) .form-field select,.contact-page:not(.contact-page-enquiry) .form-field textarea { grid-column:auto; }
.contact-page:not(.contact-page-enquiry) .contact-form-panel form > .button-primary { margin-top:1.7rem; }
.account-form-links { margin:1.2rem 0 0; color:var(--text-secondary); font-size:.9rem; }.account-form-links a { color:var(--accent-cyan); font-weight:650; }.account-form-links span { margin-inline:.3rem; color:#8190b0; }

/* Motion system: lightweight, one-time reveals with reduced-motion fallbacks above. */
.button-primary span,.button-secondary span { transition:transform .22s ease; }.button-primary:hover span,.button-secondary:hover span { transform:translate3d(.16rem,-.1rem,0); }
.js .hero-entrance { opacity:0; transform:translateY(1.1rem); transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1); }.js .hero-entrance.is-hero-ready { opacity:1; transform:translateY(0); }.js .hero-title { transition-delay:.09s; }.js .hero-copy { transition-delay:.17s; }.js .hero-actions { transition-delay:.25s; }.js .hero-capabilities { transition-delay:.33s; }
.js .reveal-up { opacity:0; transform:translateY(1.5rem); transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1); }.js .reveal-up.is-revealed { opacity:1; transform:translateY(0); }.js .project-card.reveal-up:nth-child(2),.js .principles li.reveal-up:nth-child(2),.js .approach-list li.reveal-up:nth-child(2) { transition-delay:.08s; }.js .project-card.reveal-up:nth-child(3),.js .principles li.reveal-up:nth-child(3),.js .approach-list li.reveal-up:nth-child(3) { transition-delay:.16s; }.js .principles li.reveal-up:nth-child(4),.js .approach-list li.reveal-up:nth-child(4) { transition-delay:.24s; }.js .approach-list li.reveal-up:nth-child(5) { transition-delay:.32s; }.js .approach-list li.reveal-up:nth-child(6) { transition-delay:.4s; }.js .approach-list li.reveal-up:nth-child(7) { transition-delay:.48s; }
.project-card.is-parallax .interface-frame { transform:perspective(900px) rotateY(calc(-2deg + var(--project-tilt-x))) rotateX(calc(1deg + var(--project-tilt-y))) translateY(-.65rem); }.project-card-reversed.is-parallax .interface-frame { transform:perspective(900px) rotateY(calc(2deg + var(--project-tilt-x))) rotateX(calc(1deg + var(--project-tilt-y))) translateY(-.65rem); }
@media (hover:none), (pointer:coarse) { .button-primary:hover,.button-secondary:hover { transform:none; }.project-card:hover .interface-frame,.project-card-reversed:hover .interface-frame { transform:none; }.project-card.is-parallax .interface-frame,.project-card-reversed.is-parallax .interface-frame { transform:none; } }

/* Design system: shared public, customer portal, and command-centre foundations. */
:root {
  --color-ink: #060914;
  --color-navy: #0a1022;
  --color-surface: #10182d;
  --color-surface-raised: #151f38;
  --color-surface-overlay: rgba(17, 26, 48, .82);
  --color-text: #f5f7ff;
  --color-text-muted: #9aa8c3;
  --color-text-subtle: #71809e;
  --color-border: rgba(176, 198, 255, .15);
  --color-border-strong: rgba(160, 190, 255, .3);
  --color-accent: #77a7ff;
  --color-accent-strong: #9b7bff;
  --color-accent-soft: rgba(117, 167, 255, .13);
  --color-success: #61d6af;
  --color-warning: #f1c66e;
  --color-danger: #ff8ca4;
  --background: var(--color-ink);
  --surface: var(--color-surface);
  --surface-light: var(--color-surface-raised);
  --text-primary: var(--color-text);
  --text-secondary: var(--color-text-muted);
  --accent-blue: var(--color-accent);
  --accent-violet: var(--color-accent-strong);
  --accent-cyan: #78dde5;
  --border: var(--color-border);
  --glow: rgba(101, 142, 255, .22);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;
  --space-10: 4rem;
  --radius-sm: .375rem;
  --radius-md: .625rem;
  --radius-lg: 1rem;
  --radius-pill: 999px;
  --shadow-sm: 0 .5rem 1.25rem rgba(0, 0, 0, .14);
  --shadow-md: 0 1.2rem 3rem rgba(0, 0, 0, .2);
  --shadow-lg: 0 2rem 5rem rgba(0, 0, 0, .28);
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: var(--font-sans);
  --transition-fast: 140ms cubic-bezier(.2, .7, .2, 1);
  --transition-base: 220ms cubic-bezier(.2, .7, .2, 1);
}

body { font-family: var(--font-sans); letter-spacing: -.006em; }
::selection { color: var(--color-ink); background: #a8c7ff; }
h1, h2, h3, h4 { text-wrap: balance; }
button, input, select, textarea { font: inherit; }
button:disabled, [aria-disabled="true"] { cursor: not-allowed; opacity: .55; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex="-1"]:focus-visible { outline: 3px solid var(--accent-cyan); outline-offset: 3px; }
.form-validation, .field-validation-error, .input-validation-error + span { display: block; margin-top: .45rem; color: #ffd0da; font-weight: 650; }
.input-validation-error { border-color: var(--color-danger) !important; }

/* Controls */
.button-primary, .button-secondary, .button-quiet, .button-danger {
  min-height: 3rem;
  padding: .65rem 1rem;
  border-radius: var(--radius-sm);
  box-shadow: none;
  transition: transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);
}
.button-primary { color: #07101f; background: linear-gradient(120deg, #8ab8ff, #a98aff); box-shadow: 0 .65rem 1.75rem rgba(109, 139, 255, .2); }
.button-primary:hover { box-shadow: 0 .9rem 2.25rem rgba(109, 139, 255, .3); }
.button-secondary, .button-quiet { border-color: var(--color-border); background: rgba(255, 255, 255, .025); }
.button-quiet { color: var(--color-text-muted); }
.button-danger { color: #fff5f7; border: 1px solid rgba(255, 140, 164, .35); background: rgba(255, 140, 164, .1); }

.form-field input, .form-field select, .form-field textarea,
.input, .select, .textarea {
  border-color: var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  background-color: rgba(5, 9, 20, .42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}
.form-field input:hover, .form-field select:hover, .form-field textarea:hover,
.input:hover, .select:hover, .textarea:hover { border-color: var(--color-border-strong); }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus,
.input:focus, .select:focus, .textarea:focus { border-color: var(--color-accent); box-shadow: 0 0 0 .22rem rgba(119, 167, 255, .14); }
input[type="checkbox"], input[type="radio"] { width: 1rem; height: 1rem; accent-color: var(--color-accent); }

/* Reusable application primitives for portal work; unused until corresponding pages exist. */
.card, .pricing-card, .service-card, .table-wrap, .empty-state, .loading-state, .error-state {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: linear-gradient(145deg, rgba(27, 39, 70, .62), rgba(10, 16, 34, .72));
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255, 255, 255, .045);
}
.card, .pricing-card, .service-card { padding: var(--space-5); }
.pricing-card--featured { border-color: rgba(143, 171, 255, .5); background: linear-gradient(145deg, rgba(61, 74, 145, .45), rgba(15, 22, 49, .88)); box-shadow: var(--shadow-md), 0 0 0 1px rgba(139, 171, 255, .08); }
.badge { display: inline-flex; align-items: center; gap: .35rem; min-height: 1.5rem; padding: .18rem .5rem; border: 1px solid var(--color-border); border-radius: var(--radius-pill); color: var(--color-text-muted); background: rgba(255, 255, 255, .045); font-size: .72rem; font-weight: 700; line-height: 1; }
.badge--success { color: #b9f5df; border-color: rgba(97, 214, 175, .28); background: rgba(97, 214, 175, .12); }
.badge--warning { color: #ffe4a5; border-color: rgba(241, 198, 110, .3); background: rgba(241, 198, 110, .12); }
.badge--danger { color: #ffd0da; border-color: rgba(255, 140, 164, .3); background: rgba(255, 140, 164, .12); }
.table-wrap { overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; color: var(--color-text-muted); font-size: .9rem; }
.table th { color: var(--color-text-subtle); font-size: .7rem; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.table th, .table td { padding: .9rem 1rem; border-bottom: 1px solid var(--color-border); white-space: nowrap; }
.table tr:last-child td { border-bottom: 0; }
.tabs { display: flex; gap: .25rem; overflow-x: auto; border-bottom: 1px solid var(--color-border); }
.tab { flex: 0 0 auto; padding: .7rem .85rem; border: 0; border-bottom: 2px solid transparent; color: var(--color-text-muted); background: transparent; font-size: .86rem; font-weight: 650; }
.tab[aria-selected="true"], .tab.is-active { border-bottom-color: var(--color-accent); color: var(--color-text); }
.progress { height: .45rem; overflow: hidden; border-radius: var(--radius-pill); background: rgba(255, 255, 255, .09); }
.progress > span { display: block; width: var(--progress, 0%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--color-accent), var(--accent-cyan)); }
.breadcrumb, .pagination { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; color: var(--color-text-subtle); font-size: .82rem; }
.pagination a, .pagination button { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text-muted); background: transparent; }
.pagination .is-current { color: var(--color-ink); border-color: var(--color-accent); background: var(--color-accent); }
.notification { display: flex; gap: .7rem; align-items: flex-start; padding: .85rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-overlay); box-shadow: var(--shadow-md); }
.notification--success { border-color: rgba(97, 214, 175, .32); }.notification--warning { border-color: rgba(241, 198, 110, .35); }.notification--danger, .error-state { border-color: rgba(255, 140, 164, .35); }
.empty-state, .loading-state, .error-state { padding: clamp(1.5rem, 5vw, 3rem); text-align: center; color: var(--color-text-muted); }
.skeleton { overflow: hidden; border-radius: var(--radius-sm); background: linear-gradient(90deg, rgba(255,255,255,.045) 20%, rgba(255,255,255,.105) 45%, rgba(255,255,255,.045) 70%); background-size: 240% 100%; animation: starlight-shimmer 1.8s ease-in-out infinite; }
.tooltip { position: relative; }.tooltip::after { position: absolute; z-index: 20; bottom: calc(100% + .5rem); left: 50%; width: max-content; max-width: 15rem; padding: .4rem .55rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text); background: var(--color-surface-raised); box-shadow: var(--shadow-sm); content: attr(data-tooltip); font-size: .72rem; opacity: 0; pointer-events: none; transform: translate(-50%, .2rem); transition: opacity var(--transition-fast), transform var(--transition-fast); }.tooltip:hover::after, .tooltip:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.modal, .drawer, .dropdown-menu { border: 1px solid var(--color-border-strong); background: var(--color-surface-overlay); box-shadow: var(--shadow-lg); backdrop-filter: blur(18px); }.modal { width: min(92vw, 36rem); border-radius: var(--radius-lg); }.drawer { width: min(92vw, 26rem); min-height: 100%; }.dropdown-menu { min-width: 12rem; padding: .4rem; border-radius: var(--radius-md); }.dropdown-menu a, .dropdown-menu button { display: block; width: 100%; padding: .6rem .7rem; border: 0; border-radius: var(--radius-sm); color: var(--color-text-muted); text-align: left; background: transparent; }.dropdown-menu a:hover, .dropdown-menu button:hover { color: var(--color-text); background: rgba(255,255,255,.06); }

/* Current public and CMS pages: shared visual polish. */
.site-header.is-scrolled .site-nav { border-color: var(--color-border-strong); background: rgba(8, 13, 29, .82); box-shadow: var(--shadow-md); }
.glass-card, .contact-form-panel { border-radius: var(--radius-md); box-shadow: var(--shadow-md), inset 0 1px 0 rgba(255, 255, 255, .055); }
.service-item, .cms-card { border-color: var(--color-border); }
.service-item:hover, .cms-card:hover { box-shadow: var(--shadow-sm); }
.project-card { border-color: var(--color-border); }
.contact-form-panel { border: 1px solid var(--color-border); }
.admin-page { background: radial-gradient(ellipse 55% 40% at 80% 0%, rgba(91, 113, 240, .13), transparent 70%), var(--color-ink); }
.admin-shell .contact-page { background: radial-gradient(ellipse 45% 45% at 70% 20%, rgba(93, 120, 245, .16), transparent 72%), var(--color-ink); }
.cms-card { border-radius: var(--radius-md); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04); }
.media-grid figure { border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }

@keyframes starlight-shimmer { to { background-position: -240% 0; } }
@media (prefers-reduced-motion: reduce) { .skeleton { animation: none; } }
.market-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:1.5rem 0 3rem; background:var(--border); }.market-stats div{padding:1rem;background:var(--surface)}.market-stats small{display:block;color:var(--text-secondary);font-size:.68rem;text-transform:uppercase}.market-stats strong{display:block;margin-top:.3rem;font-size:1.1rem}@media(max-width:700px){.market-stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 640px) { .card, .pricing-card, .service-card { padding: var(--space-4); }.table th, .table td { padding: .75rem; }.button-primary, .button-secondary, .button-quiet, .button-danger { width: 100%; }.tabs { margin-inline: -.25rem; padding-inline: .25rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
.admin-shell .nav-links, .contact-page > .container > nav .nav-links { flex-wrap: wrap; }
@media (max-width: 760px) { .contact-page > .container > nav { padding-block: 1rem; }.contact-page > .container > nav .nav-links { gap: .35rem .8rem; }.contact-page > .container > nav .nav-links a { min-height: 2.75rem; display: inline-flex; align-items: center; } }
.portal-form { display: grid; gap: 1rem; margin-top: 1rem; }.portal-form label { display: grid; gap: .45rem; color: var(--color-text-muted); font-weight: 650; }.portal-form input, .portal-form select, .portal-form textarea { width: 100%; min-height: 3rem; padding: .65rem .75rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text); background: rgba(5,9,20,.42); }.portal-form textarea { min-height: 8rem; resize: vertical; }.portal-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }.portal-actions .button-primary, .portal-actions .button-secondary { flex: 1 1 12rem; } details { margin-top: 1rem; padding: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); } details summary { cursor: pointer; color: var(--accent-cyan); font-weight: 700; }
.admin-nav-panel { align-items: flex-start; }.admin-nav-groups { display: grid; grid-template-columns: repeat(5, minmax(8rem, 1fr)); gap: 1rem; }.admin-nav-groups section h2 { margin: 0 0 .45rem; color: var(--accent-cyan); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }.admin-nav-groups .nav-links { display: grid; align-items: start; gap: .15rem; }.admin-nav-groups .nav-links a { min-height: 2rem; display: flex; align-items: center; padding: .25rem 0; white-space: nowrap; } @media (max-width: 1100px) { .admin-nav-groups { grid-template-columns: repeat(3, minmax(9rem, 1fr)); } } @media (max-width: 760px) { .admin-nav-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-nav-panel { max-height: 75vh !important; overflow-y: auto; }.admin-nav-groups .nav-links a { min-height: 2.75rem; } } @media (max-width: 420px) { .admin-nav-groups { grid-template-columns: 1fr; } }
.command-navigation { position: sticky; z-index: 10; top: 0; display: flex; gap: .25rem .8rem; overflow-x: auto; margin: 0 auto; padding: .8rem max(1rem, calc((100vw - 1300px) / 2)); border-bottom: 1px solid var(--color-border-strong); background: rgba(8,13,29,.96); box-shadow: var(--shadow-sm); }.command-navigation a { flex: 0 0 auto; min-height: 2.75rem; display: inline-flex; align-items: center; padding: .5rem .65rem; border-radius: var(--radius-sm); color: var(--color-text-muted); font-size: .82rem; font-weight: 700; }.command-navigation a:hover, .command-navigation a:focus-visible { color: var(--color-text); background: var(--color-accent-soft); }
.settings-form { max-width: 52rem; margin-top: 2rem; }.settings-form > p { margin: .5rem 0 1.5rem; color: var(--color-text-muted); }.setting-checkbox { display: flex !important; align-items: flex-start; gap: .7rem; margin: 0 !important; cursor: pointer; }.setting-checkbox input { width: 1.2rem; height: 1.2rem; margin-top: .15rem; flex: 0 0 auto; }.setting-checkbox strong, .setting-checkbox small { display: block; }.setting-checkbox small { margin-top: .2rem; color: var(--color-text-muted); font-weight: 400; line-height: 1.45; }

/* Admin form rhythm: legacy forms without field wrappers remain readable and responsive. */
.admin-page .glass-card > form { display:grid; gap:1rem; }.admin-page .glass-card > form > label { display:block; margin:0 0 -.55rem; color:var(--color-text-subtle); font-size:.78rem; font-weight:700; }.admin-page .glass-card > form > input:not([type="hidden"]),.admin-page .glass-card > form > select,.admin-page .glass-card > form > textarea { box-sizing:border-box; width:100%; min-height:3rem; padding:.7rem .8rem; border:1px solid var(--color-border); border-radius:var(--radius-sm); color:var(--color-text); background:rgba(5,9,20,.42); }.admin-page .glass-card > form > textarea { min-height:7rem; resize:vertical; }.admin-page .glass-card > form > button { justify-self:start; margin-top:.25rem; }.admin-page .glass-card > form > .form-grid { display:grid; gap:1.25rem 1rem; }.admin-page .glass-card > form > .form-submit { margin-top:.5rem; }

/* Quote editor: keep totals, fields and pricing actions separated at every width. */
.quote-editor { max-width:74rem; }.quote-editor-header { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }.quote-editor-header h1 { margin:0; font-size:clamp(2.5rem,5vw,4.4rem); letter-spacing:-.065em; }.quote-editor-status { margin:.85rem 0 0; color:var(--text-secondary); }.quote-status { display:inline-flex; margin-right:.45rem; padding:.28rem .55rem; border:1px solid rgba(114,224,202,.3); border-radius:999px; color:#b7f4e5; background:rgba(53,165,138,.12); font-size:.72rem; font-weight:750; }.quote-summary { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:1rem; border:1px solid var(--border); background:rgba(18,27,58,.58); }.quote-summary > div { display:flex; flex-direction:column; gap:.35rem; min-height:5.6rem; padding:1.15rem 1.25rem; border-right:1px solid var(--border); }.quote-summary > div:last-child { border-right:0; }.quote-summary span,.quote-panel-heading > span { color:#91a0bd; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.quote-summary strong { font-size:1.1rem; }.quote-summary-total { background:linear-gradient(135deg,rgba(98,131,255,.2),rgba(140,95,238,.16)); }.quote-editor-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(21rem,.9fr); align-items:start; gap:1rem; }.quote-panel { padding:clamp(1.25rem,2.5vw,2rem); }.quote-panel-heading { display:flex; align-items:start; justify-content:space-between; gap:1rem; padding-bottom:1.25rem; margin-bottom:1.35rem; border-bottom:1px solid var(--border); }.quote-panel-heading .section-label { margin:0 0 .4rem; }.quote-panel-heading h2 { margin:0; font-size:1.35rem; letter-spacing:-.04em; }.quote-add-line { display:grid; grid-template-columns:minmax(0,1.5fr) .55fr .85fr auto; align-items:end; gap:.7rem; padding-top:1.25rem; margin-top:1.25rem; border-top:1px solid var(--border); }.quote-add-line .form-field label { display:block; margin-bottom:.45rem; color:#cbd7ed; font-size:.75rem; font-weight:700; }.quote-add-line input { box-sizing:border-box; width:100%; height:2.85rem; padding:0 .75rem; border:1px solid rgba(177,201,255,.18); border-radius:.3rem; color:var(--text-primary); background:rgba(4,9,25,.34); font:inherit; }.quote-empty { padding:1.25rem; border:1px dashed rgba(145,164,207,.34); border-radius:.4rem; color:var(--text-secondary); background:rgba(12,19,43,.35); }.quote-empty strong { color:var(--text-primary); }.quote-empty p { margin:.5rem 0 0; font-size:.88rem; line-height:1.55; }.quote-line-list { display:grid; gap:.65rem; }.quote-line { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 0; border-bottom:1px solid rgba(155,174,219,.13); }.quote-line:first-child { padding-top:0; }.quote-line:last-child { border-bottom:0; }.quote-line div { display:grid; gap:.25rem; }.quote-line span { color:#91a0bd; font-size:.78rem; }.quote-panel textarea:disabled,.quote-panel input:disabled { cursor:not-allowed; opacity:.68; }
@media (max-width:850px) { .quote-editor-layout { grid-template-columns:1fr; }.quote-add-line { grid-template-columns:1fr 1fr; }.quote-add-line .button-secondary { grid-column:1 / -1; } }
@media (max-width:600px) { .quote-editor-header { align-items:start; flex-direction:column; }.quote-summary { grid-template-columns:1fr 1fr; }.quote-summary > div:nth-child(2) { border-right:0; }.quote-summary > div:nth-child(-n+2) { border-bottom:1px solid var(--border); }.quote-add-line { grid-template-columns:1fr; }.quote-add-line .button-secondary { grid-column:auto; width:100%; } }
.account-start { border-top: 1px solid var(--color-border); background: linear-gradient(120deg, rgba(27,39,83,.42), rgba(8,13,29,.4)); }.account-start-card { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem,4vw,3rem); }.account-start-card h2 { max-width: 18ch; margin: .4rem 0 .8rem; }.account-start-card p:not(.section-label) { max-width: 40rem; margin: 0; color: var(--color-text-muted); }.account-start-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: .75rem; } @media (max-width: 760px) { .account-start-card { align-items: stretch; flex-direction: column; }.account-start-actions { flex-direction: column; }.account-start-actions a { width: 100%; } }

.admin-shell .site-header,.admin-shell .site-footer { display:none; }.admin-shell { background:#080c1b; }.admin-page { min-height:100svh; padding-block:clamp(3rem,7vw,6rem); background:radial-gradient(ellipse 45% 36% at 80% 0%,rgba(90,106,243,.14),transparent 70%),#080c1b; }.admin-header { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:3.5rem; }.admin-header h1,.admin-edit h1 { margin:0; font-size:clamp(2.7rem,5vw,5rem); font-weight:650; letter-spacing:-.07em; line-height:.95; }.admin-header p:not(.section-label),.admin-edit header > p:not(.section-label) { max-width:33rem; margin:1rem 0 0; color:var(--text-secondary); }.cms-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.cms-card { position:relative; display:flex; flex-direction:column; min-height:11rem; padding:1.3rem; border:1px solid var(--border); background:linear-gradient(145deg,rgba(25,37,76,.52),rgba(10,15,34,.62)); transition:transform .2s ease,border-color .2s ease,background .2s ease; }.cms-card:hover { border-color:rgba(115,191,232,.45); background:linear-gradient(145deg,rgba(43,61,119,.65),rgba(13,20,45,.75)); transform:translateY(-3px); }.cms-page { color:var(--accent-cyan); font-size:.68rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }.cms-card strong { max-width:15ch; margin-top:1.2rem; color:var(--text-primary); font-size:1.18rem; letter-spacing:-.035em; line-height:1.1; }.cms-card small { margin-top:auto; padding-top:1.5rem; color:#7f8eab; font-size:.7rem; }.cms-card i { position:absolute; top:1.1rem; right:1.2rem; color:var(--accent-cyan); font-style:normal; }.admin-edit { display:grid; grid-template-columns:minmax(15rem,.75fr) minmax(25rem,1.25fr); gap:clamp(3rem,8vw,8rem); }.admin-back { display:inline-block; margin-bottom:2rem; color:var(--accent-cyan); font-size:.8rem; font-weight:700; }.admin-edit header > p:not(.section-label) { margin-bottom:0; }.admin-edit .contact-form-panel { align-self:start; }.admin-shell .contact-page { padding-top:clamp(5rem,10vw,8rem); }.admin-shell .contact-intro h1 { font-size:clamp(2.8rem,5vw,5rem); }
@media (max-width:900px) { .cms-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.admin-edit { grid-template-columns:1fr; gap:2.5rem; } } @media (max-width:540px) { .admin-page { padding-top:2rem; }.admin-header { align-items:start; flex-direction:column; margin-bottom:2.5rem; }.cms-list { grid-template-columns:1fr; }.cms-card { min-height:9rem; } }
.admin-actions,.media-upload { display:flex; align-items:end; gap:.8rem; }.media-upload { align-items:end; }.media-upload .form-field { flex:1; }.media-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:2rem; }.media-grid figure { margin:0; overflow:hidden; border:1px solid var(--border); background:var(--surface); }.media-grid img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }.media-grid figcaption { padding:.7rem; color:var(--text-secondary); font-size:.72rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } @media (max-width:700px) { .media-grid { grid-template-columns:repeat(2,1fr); }.media-upload,.admin-actions { align-items:stretch; flex-direction:column; } }

/* Support tickets: retain the customer’s original message and keep assignment controls easy to scan. */
.support-ticket-grid { grid-template-columns:repeat(auto-fit,minmax(22rem,1fr)); align-items:start; }
.support-ticket-card { display:grid; gap:.8rem; padding:1.35rem; }
.support-ticket-card h2,.support-ticket-card h3 { margin:0; }
.support-ticket-card > p { margin:0; }
.support-conversation { display:grid; gap:.65rem; margin:.4rem 0; padding:1rem 0; border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); }
.support-conversation h3,.support-conversation h4 { margin:0; font-size:1rem; }
.support-message { padding:.85rem 1rem; border-left:3px solid var(--accent-cyan); border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:rgba(255,255,255,.04); }
.support-message-staff { border-left-color:#8ca4ff; background:rgba(123,145,255,.09); }
.support-message-customer { border-left-color:#6ee8ed; }
.support-message p { margin:.35rem 0; white-space:pre-wrap; line-height:1.5; }
.support-message small { color:var(--color-text-muted); }
.support-internal-notes { display:grid; gap:.65rem; padding:1rem; border:1px solid rgba(242,190,92,.28); border-radius:var(--radius-sm); background:rgba(242,190,92,.06); }
.support-internal-notes h3,.support-internal-notes > p { margin:0; }.support-internal-notes > p { color:var(--color-text-muted); font-size:.84rem; line-height:1.45; }
.support-internal-note { padding:.75rem .85rem; border-left:3px solid #e9b75a; background:rgba(0,0,0,.14); }.support-internal-note p { margin:0 0 .35rem; white-space:pre-wrap; line-height:1.5; }.support-internal-note small { color:var(--color-text-muted); }
.support-attachment { display:inline-flex; align-items:center; min-height:2.25rem; margin-top:.35rem; color:var(--accent-cyan); font-size:.84rem; font-weight:700; overflow-wrap:anywhere; }
.support-ticket-card .portal-form { margin-top:0; }
.support-reply-form { display:grid; gap:.8rem; margin-top:.25rem; padding-top:1rem; border-top:1px solid var(--color-border); }
.support-reply-form label { display:grid; gap:.45rem; color:var(--color-text-muted); font-weight:650; }
.support-reply-form textarea,.support-reply-form input { box-sizing:border-box; width:100%; padding:.7rem .8rem; border:1px solid var(--color-border); border-radius:var(--radius-sm); color:var(--color-text); background:rgba(5,9,20,.42); }
.support-reply-form textarea { min-height:6rem; resize:vertical; }
.support-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem; margin:1.25rem 0 1.5rem; }.support-search { display:flex; flex:1 1 22rem; gap:.65rem; }.support-search input { min-width:0; flex:1; min-height:2.7rem; padding:.55rem .7rem; border:1px solid var(--color-border); border-radius:var(--radius-sm); color:var(--color-text); background:rgba(5,9,20,.42); } @media(max-width:620px){.support-toolbar,.support-search{align-items:stretch;flex-direction:column}.support-toolbar a{width:100%;text-align:center}}

.portfolio-editor { max-width:74rem; }.portfolio-form { display:grid; gap:2rem; padding:clamp(1.25rem,3vw,2.4rem); }.portfolio-form section { padding-bottom:2rem; border-bottom:1px solid var(--color-border); }.portfolio-form section:last-of-type { padding-bottom:0; border-bottom:0; }.portfolio-form h2 { margin:.35rem 0 1.25rem; font-size:1.3rem; }.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }.portfolio-full { grid-column:1 / -1; }.portfolio-form .form-field { display:grid; gap:.45rem; color:var(--color-text-muted); font-weight:650; }.portfolio-form .form-field span { color:var(--color-text); }.portfolio-form input,.portfolio-form textarea { box-sizing:border-box; width:100%; min-height:2.9rem; padding:.7rem .8rem; border:1px solid var(--color-border); border-radius:var(--radius-sm); color:var(--color-text); background:rgba(5,9,20,.42); }.portfolio-form textarea { min-height:7rem; resize:vertical; }.portfolio-form small { color:var(--color-text-muted); font-size:.78rem; font-weight:400; }.portfolio-toggles { display:flex; align-items:center; flex-wrap:wrap; gap:1rem 1.5rem; grid-column:1 / -1; padding:.9rem 1rem; border:1px solid var(--color-border); border-radius:var(--radius-sm); background:rgba(255,255,255,.025); }.portfolio-toggles label { display:flex; align-items:center; gap:.55rem; color:var(--color-text); font-weight:650; }.portfolio-toggles input { width:1.1rem; min-height:1.1rem; }.portfolio-actions { display:flex; flex-wrap:wrap; gap:.75rem; } @media(max-width:640px){.portfolio-grid{grid-template-columns:1fr}.portfolio-full{grid-column:auto}.portfolio-toggles{grid-column:auto}.portfolio-actions>*{width:100%}}
.portfolio-cover { display:block; width:100%; max-height:22rem; margin-bottom:1.25rem; object-fit:cover; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface); }
.portfolio-editor-preview { display:block; width:min(100%,30rem); max-height:16rem; margin-top:.75rem; object-fit:cover; border:1px solid var(--color-border); border-radius:var(--radius-sm); }

/* Service cards use a stable card height, so titles and descriptions never
   get pushed into unrelated parts of a larger grid row. */
.services-grid { gap:1px; border-top:0; background:var(--border); }.service-item,.service-item-featured,.service-item-system { display:flex; flex-direction:column; align-items:stretch; grid-column:auto; grid-template-columns:none; grid-template-rows:none; min-height:19rem; padding:clamp(1.35rem,2.5vw,2rem); border:0; background:var(--background); }.service-item h3,.service-item-featured h3 { max-width:none; margin:2.1rem 0 .8rem; font-size:clamp(1.65rem,2.35vw,2.4rem); line-height:1.02; }.service-item p,.service-item-featured p { max-width:28rem; }.service-item .service-arrow { margin-top:auto; align-self:flex-end; }.service-item-featured .service-number { align-self:auto; } @media (max-width:900px) { .service-item,.service-item-featured,.service-item-system { grid-column:auto; } }
.portal-ticket-history { margin-top:3rem; }
.notifications-page { padding-bottom:4rem; }.notifications-header { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin:2.5rem 0 1.75rem; }.notifications-header h1 { margin:.35rem 0 .65rem; }.notifications-header p:not(.section-label) { max-width:38rem; margin:0; color:var(--color-text-muted); }.notification-feed { display:grid; gap:.8rem; max-width:62rem; }.notification-item { display:grid; grid-template-columns:.3rem minmax(0,1fr) auto; gap:1.25rem; align-items:center; padding:1.15rem 1.25rem; }.notification-item-marker { align-self:stretch; border-radius:999px; background:linear-gradient(#74e6eb,#8b91ff); box-shadow:0 0 1.1rem rgba(116,230,235,.28); }.notification-item-content { min-width:0; }.notification-item-content .cms-page { margin:0 0 .4rem; }.notification-item h2 { margin:0; font-size:1.2rem; letter-spacing:-.035em; }.notification-item-content > p:not(.cms-page) { margin:.45rem 0; color:var(--color-text-muted); line-height:1.5; }.notification-item small { color:var(--color-text-muted); }.notification-item-actions { display:flex; align-items:center; justify-content:end; flex-wrap:wrap; gap:.6rem; }.notification-item-actions form { margin:0; }.notification-empty { max-width:43rem; padding:clamp(1.5rem,4vw,2.75rem); }.notification-empty h2 { margin:.4rem 0 .8rem; }.notification-empty p:not(.section-label) { max-width:34rem; margin:0 0 1.4rem; color:var(--color-text-muted); line-height:1.55; } @media (max-width:720px) { .notifications-header { align-items:start; flex-direction:column; margin-top:1.5rem; }.notification-item { grid-template-columns:.3rem minmax(0,1fr); }.notification-item-actions { grid-column:2; justify-content:start; }.notification-item-actions .button-secondary,.notification-item-actions .button-quiet { width:auto; } }

/* Admin task workspace. */
.task-layout { display:grid; grid-template-columns:minmax(19rem,.8fr) minmax(0,1.4fr); align-items:start; gap:1.25rem; }.task-create { padding:1.3rem; }.task-create h2 { margin:0; }.task-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.task-filter { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }.task-filter a { padding:.48rem .72rem; border:1px solid var(--color-border); border-radius:999px; color:var(--color-text-muted); font-size:.8rem; font-weight:700; }.task-filter a:hover,.task-filter .is-current { color:var(--color-text); border-color:rgba(111,224,232,.5); background:rgba(111,224,232,.1); }.task-list { display:grid; gap:.8rem; }.task-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,.38fr); gap:1.25rem; padding:1.25rem; }.task-item h2 { margin:.25rem 0 .55rem; font-size:1.2rem; }.task-item > div > p:not(.cms-page) { color:var(--color-text-muted); line-height:1.5; }.task-item dl { display:flex; flex-wrap:wrap; gap:.85rem 1.3rem; margin:1rem 0 0; }.task-item dl div { display:grid; gap:.12rem; }.task-item dt { color:var(--color-text-muted); font-size:.7rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }.task-item dd { margin:0; font-size:.85rem; }.task-update { display:grid; align-content:start; gap:.6rem; }.task-update select,.task-update input { box-sizing:border-box; width:100%; min-height:2.55rem; padding:.5rem .6rem; border:1px solid var(--color-border); border-radius:var(--radius-sm); color:var(--color-text); background:rgba(5,9,20,.42); } @media(max-width:900px){.task-layout{grid-template-columns:1fr}.task-create{max-width:none}} @media(max-width:620px){.task-field-grid,.task-item{grid-template-columns:1fr}.task-update{grid-template-columns:1fr 1fr}.task-update select:nth-child(3),.task-update input,.task-update button{grid-column:1 / -1}}

.services-page-hero { position:relative; overflow:hidden; padding:clamp(10rem,16vw,14rem) 0 clamp(5.5rem,10vw,9rem); background:radial-gradient(ellipse 52% 64% at 72% 24%,rgba(85,107,244,.22),transparent 70%),#070b18; }.services-page-hero::after { content:""; position:absolute; right:-8%; bottom:-11rem; width:38rem; aspect-ratio:1; border:1px solid rgba(151,181,255,.13); border-radius:50%; box-shadow:0 0 0 5rem rgba(101,119,255,.025),0 0 0 11rem rgba(88,174,211,.015); }.services-page-hero h1 { position:relative; max-width:11ch; margin:0; font-size:clamp(3.3rem,7vw,7.7rem); font-weight:650; letter-spacing:-.08em; line-height:.89; }.services-page-hero p:not(.section-label) { position:relative; max-width:37rem; margin:1.7rem 0 0; color:var(--text-secondary); font-size:clamp(1rem,1.4vw,1.2rem); }.services-page { background:var(--background); }.service-feature { position:relative; overflow:hidden; padding-block:clamp(5.5rem,10vw,9rem); border-top:1px solid var(--border); }.service-feature:nth-child(odd) { background:linear-gradient(115deg,rgba(15,25,57,.48),transparent 62%); }.service-feature-layout { display:grid; grid-template-columns:4rem minmax(0,.95fr) minmax(15rem,.65fr); align-items:center; gap:clamp(1.5rem,4vw,4rem); }.service-feature-reverse .service-feature-layout { grid-template-columns:4rem minmax(15rem,.65fr) minmax(0,.95fr); }.service-feature-reverse .service-feature-copy { grid-column:3; }.service-feature-reverse .service-shape { grid-column:2; grid-row:1; }.service-feature-number { align-self:start; color:var(--accent-cyan); font-size:.72rem; font-weight:750; letter-spacing:.13em; }.service-feature-copy h2 { max-width:10ch; margin:0; font-size:clamp(2.45rem,4.8vw,5.1rem); font-weight:650; letter-spacing:-.07em; line-height:.94; }.service-summary { max-width:33rem; margin:1.35rem 0 0; color:#c2cee4; font-size:clamp(1rem,1.35vw,1.16rem); }.service-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; max-width:43rem; margin:2.2rem 0; }.service-details div { padding-top:1rem; border-top:1px solid var(--border); }.service-details h3 { margin:0; color:#deebfe; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }.service-details p { margin:.55rem 0 0; color:var(--text-secondary); font-size:.87rem; }.service-tech { margin:0 0 2rem; color:#98a8c4; font-size:.78rem; }.service-tech strong { margin-right:.35rem; color:var(--accent-cyan); font-weight:700; }.service-shape { position:relative; min-height:22rem; overflow:hidden; border:1px solid rgba(182,203,255,.15); background:linear-gradient(145deg,rgba(44,61,132,.29),rgba(10,15,36,.14)); }.service-shape::before { content:""; position:absolute; top:50%; left:50%; width:80%; aspect-ratio:1; border:1px solid rgba(153,186,255,.18); border-radius:50%; box-shadow:0 0 3rem rgba(83,135,255,.18); transform:translate(-50%,-50%); }.service-shape i { position:absolute; display:block; border:1px solid rgba(197,218,255,.2); background:linear-gradient(135deg,rgba(127,151,255,.31),rgba(95,215,221,.08)); box-shadow:0 1rem 2rem rgba(0,0,0,.2); }.service-shape-web i:first-child { top:20%; right:14%; left:14%; height:58%; }.service-shape-web i:nth-child(2) { top:29%; left:23%; width:35%; height:.6rem; }.service-shape-web i:nth-child(3) { top:42%; left:23%; width:52%; height:1.7rem; background:rgba(92,218,221,.18); }.service-shape-app i { border-radius:.35rem; }.service-shape-app i:first-child { top:20%; left:17%; width:60%; height:12%; }.service-shape-app i:nth-child(2) { top:38%; left:17%; width:26%; height:39%; }.service-shape-app i:nth-child(3) { top:38%; left:48%; width:29%; height:18%; }.service-shape-app i:nth-child(4) { top:61%; left:48%; width:29%; height:16%; }.service-shape-mobile i { top:10%; width:37%; height:80%; border-radius:1.2rem; background:linear-gradient(165deg,#1c2d63,#0b1331); }.service-shape-mobile i:first-child { left:21%; transform:rotate(-9deg); }.service-shape-mobile i:last-child { right:20%; transform:rotate(9deg); }.service-shape-system { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; padding:2.5rem; }.service-shape-system i { position:relative; inset:auto; height:7rem; }.service-shape-system i:first-child { grid-column:span 2; }.service-shape-api i { width:2.5rem; height:2.5rem; border-radius:50%; }.service-shape-api i:nth-child(1) { top:22%; left:22%; }.service-shape-api i:nth-child(2) { top:39%; right:19%; }.service-shape-api i:nth-child(3) { bottom:18%; left:35%; }.service-shape-api i:nth-child(4) { top:14%; right:31%; width:1px; height:72%; border:0; background:rgba(106,203,230,.45); transform:rotate(46deg); }.service-shape-cloud i { border-radius:50%; }.service-shape-cloud i:first-child { top:25%; left:18%; width:43%; height:43%; }.service-shape-cloud i:nth-child(2) { top:36%; right:16%; width:31%; height:31%; }.service-shape-cloud i:nth-child(3) { top:57%; left:37%; width:25%; height:25%; }.service-shape-ai i { top:50%; left:50%; width:43%; aspect-ratio:1; border-radius:50%; transform:translate(-50%,-50%); }.service-shape-ai i:nth-child(2) { width:62%; border-color:rgba(174,135,255,.31); background:transparent; }.service-shape-ai i:nth-child(3) { width:13%; background:rgba(117,220,224,.5); box-shadow:0 0 2rem rgba(117,220,224,.7); }
@media (max-width:800px) { .service-feature-layout,.service-feature-reverse .service-feature-layout { grid-template-columns:3rem 1fr; }.service-feature-copy,.service-feature-reverse .service-feature-copy { grid-column:2; }.service-shape,.service-feature-reverse .service-shape { grid-column:2; grid-row:2; max-width:38rem; width:100%; }.service-feature-number { grid-column:1; grid-row:1 / span 2; }.service-shape { min-height:18rem; } } @media (max-width:520px) { .services-page-hero { padding-top:8.5rem; }.service-feature-layout,.service-feature-reverse .service-feature-layout { grid-template-columns:1fr; }.service-feature-number,.service-feature-copy,.service-feature-reverse .service-feature-copy,.service-shape,.service-feature-reverse .service-shape { grid-column:auto; grid-row:auto; }.service-feature-number { margin-bottom:.4rem; }.service-details { grid-template-columns:1fr; gap:.9rem; }.service-shape { min-height:16rem; }.service-shape-system { padding:1.5rem; }.service-tech { line-height:1.7; } }

.about-hero { position:relative; overflow:hidden; padding:clamp(10rem,16vw,14rem) 0 clamp(6rem,11vw,10rem); background:radial-gradient(ellipse 48% 53% at 68% 36%,rgba(93,113,247,.22),transparent 71%),#070b18; }.about-hero h1 { position:relative; max-width:12ch; margin:0; font-size:clamp(3.2rem,7.1vw,7.5rem); font-weight:650; letter-spacing:-.08em; line-height:.88; }.about-hero > .container > p:not(.section-label) { position:relative; max-width:39rem; margin:1.8rem 0 0; color:var(--text-secondary); font-size:clamp(1rem,1.4vw,1.2rem); }.about-orbit { position:absolute; top:50%; right:-8%; width:min(46rem,65vw); aspect-ratio:1; border:1px solid rgba(151,185,255,.15); border-radius:50%; box-shadow:0 0 0 4rem rgba(98,116,255,.025),0 0 0 10rem rgba(83,194,219,.017),0 0 6rem rgba(88,128,255,.18); transform:translateY(-50%); }.about-orbit::after { content:""; position:absolute; top:25%; left:12%; width:.65rem; aspect-ratio:1; border-radius:50%; background:var(--accent-cyan); box-shadow:0 0 1rem rgba(93,224,230,.8); }.about-intro { background:linear-gradient(115deg,rgba(17,27,58,.52),transparent 65%); }.about-split { display:grid; grid-template-columns:minmax(12rem,.55fr) minmax(0,1.45fr); gap:clamp(2.5rem,8vw,8rem); }.about-split h2,.about-belief h2,.working-heading h2,.about-close h2 { margin:0; font-size:clamp(2.55rem,5vw,5.25rem); font-weight:650; letter-spacing:-.07em; line-height:.95; }.about-split > div > p { max-width:39rem; margin:1.35rem 0 0; color:var(--text-secondary); font-size:clamp(1rem,1.35vw,1.15rem); }.about-belief { padding-block:clamp(5.5rem,10vw,9rem); border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:#0a0e1f; }.about-belief-grid { display:grid; grid-template-columns:minmax(12rem,.8fr) minmax(18rem,1.2fr); gap:clamp(3rem,10vw,10rem); }.belief-list { border-top:1px solid var(--border); }.belief-list p { margin:0; padding:1.4rem 0; border-bottom:1px solid var(--border); color:var(--text-secondary); font-size:1rem; }.belief-list strong { color:#e4edff; font-weight:650; }.working-heading { display:grid; grid-template-columns:minmax(12rem,.55fr) minmax(0,1.45fr); gap:clamp(2.5rem,8vw,8rem); margin-bottom:4.5rem; }.working-heading h2 { max-width:11ch; }.approach-list { display:grid; grid-template-columns:repeat(7,1fr); margin:0; padding:0; border-top:1px solid var(--border); list-style:none; }.approach-list li { min-height:15rem; padding:1.3rem; border-right:1px solid var(--border); border-bottom:1px solid var(--border); transition:background .25s ease; }.approach-list li:last-child { border-right:0; }.approach-list li:hover { background:linear-gradient(160deg,rgba(92,124,255,.13),rgba(155,109,255,.04)); }.approach-list span { color:var(--accent-cyan); font-size:.66rem; font-weight:750; letter-spacing:.12em; }.approach-list h3 { margin:2.5rem 0 .65rem; font-size:clamp(1.1rem,1.45vw,1.45rem); font-weight:650; letter-spacing:-.04em; line-height:1.05; }.approach-list p { margin:0; color:#98a7c3; font-size:.79rem; line-height:1.55; }.about-close { padding-block:clamp(6.5rem,12vw,11rem); background:radial-gradient(ellipse 36% 50% at 64% 45%,rgba(104,91,229,.18),transparent 70%),#080b19; }.about-close h2 { max-width:14ch; margin-bottom:2.5rem; }
@media (max-width:1000px) { .approach-list { grid-template-columns:repeat(4,1fr); }.approach-list li:nth-child(4) { border-right:0; }.approach-list li:nth-child(5) { border-top:1px solid var(--border); } } @media (max-width:760px) { .about-split,.about-belief-grid,.working-heading { grid-template-columns:1fr; gap:1.5rem; }.working-heading { margin-bottom:3rem; }.about-orbit { right:-38%; width:34rem; }.approach-list { grid-template-columns:repeat(2,1fr); }.approach-list li:nth-child(2n) { border-right:0; }.approach-list li { min-height:11rem; }.approach-list h3 { margin-top:1.5rem; } } @media (max-width:440px) { .about-hero { padding-top:8.5rem; }.approach-list { grid-template-columns:1fr; }.approach-list li { min-height:auto; border-right:0; }.approach-list h3 { margin-top:1.1rem; } }
.admin-header + form.glass-card { display:grid; grid-template-columns:minmax(13rem,1.7fr) minmax(9rem,.7fr) minmax(8rem,.6fr) auto; align-items:end; gap:1rem; margin:0 0 1.5rem; padding:1.25rem; border-radius:.65rem; }.admin-header + form.glass-card > label { grid-column:1; display:block; margin:0 0 .5rem; color:#cbd7ed; font-size:.77rem; font-weight:700; }.admin-header + form.glass-card > input { grid-column:1; grid-row:2; box-sizing:border-box; width:100%; min-height:3rem; padding:0 .8rem; border:1px solid rgba(177,201,255,.18); border-radius:.3rem; color:var(--text-primary); background:rgba(4,9,25,.34); font:inherit; }.admin-header + form.glass-card > select { box-sizing:border-box; width:100%; min-height:3rem; padding:0 .8rem; border:1px solid rgba(177,201,255,.18); border-radius:.3rem; color:var(--text-primary); background:rgba(4,9,25,.34); font:inherit; }.admin-header + form.glass-card > button { min-height:3rem; white-space:nowrap; } @media (max-width:760px) { .admin-header + form.glass-card { grid-template-columns:1fr 1fr; }.admin-header + form.glass-card > label,.admin-header + form.glass-card > input { grid-column:1 / -1; }.admin-header + form.glass-card > button { width:100%; grid-column:1 / -1; } } @media (max-width:480px) { .admin-header + form.glass-card { grid-template-columns:1fr; }.admin-header + form.glass-card > select { grid-column:auto; } }
/* Customer-management profile cards */
.customer-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.customer-profile-grid .glass-card{display:grid;gap:1rem;padding:1.5rem}.customer-profile-grid h2{margin:0}.customer-profile-grid form{display:grid;gap:.9rem}.customer-profile-grid label{display:grid;gap:.45rem;font-weight:700}.customer-profile-grid input,.customer-profile-grid textarea{box-sizing:border-box;width:100%;min-width:0}.record-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.record-list li{display:grid;gap:.2rem;padding:.8rem 0;border-bottom:1px solid rgba(151,167,204,.18)}.record-list li:last-child{border-bottom:0}.record-list span,.record-list small,.muted{color:#9fb0cf}.text-link{font-weight:700;color:#64e8ff;text-decoration:none}.text-link:hover{text-decoration:underline}.back-link{display:inline-block;margin-bottom:1rem}@media(max-width:760px){.customer-profile-grid{grid-template-columns:1fr}.customer-profile .admin-header{gap:1rem;align-items:flex-start}.customer-profile .admin-header form,.customer-profile .admin-header button{width:100%}}
