:root {
  --bg: #050816;
  --bg-soft: #091023;
  --panel: rgba(12, 20, 44, 0.72);
  --panel-solid: #0c142c;
  --line: rgba(123, 162, 255, 0.18);
  --text: #f5f7ff;
  --muted: #aab5d3;
  --cyan: #00d9ff;
  --blue: #1887ff;
  --violet: #9a5cff;
  --pink: #e95cff;
  --green: #84f49a;
  --radius: 24px;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.36);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  overflow-x: hidden;
}
body::selection { background: rgba(154,92,255,.45); color: white; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.hidden { position: absolute; left: -10000px; }

.page-grid {
  position: fixed; inset: 0; z-index: -4; pointer-events: none;
  background-image:
    linear-gradient(rgba(92,122,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(92,122,255,.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 78%);
}
.ambient { position: fixed; z-index: -3; border-radius: 999px; filter: blur(85px); opacity: .28; pointer-events: none; }
.ambient-one { width: 440px; height: 440px; background: #0a78ff; left: -180px; top: 160px; }
.ambient-two { width: 520px; height: 520px; background: #8c3dff; right: -220px; top: 460px; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(5,8,22,.72);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: border-color .25s ease, background .25s ease;
}
.site-header.scrolled { border-color: var(--line); background: rgba(5,8,22,.92); }
.nav { height: 78px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.brand img { width: 46px; height: 46px; border-radius: 14px; object-fit: cover; box-shadow: 0 0 30px rgba(24,135,255,.28); }
.brand span { display: flex; flex-direction: column; line-height: 1.15; }
.brand strong { letter-spacing: .18em; font-size: 1.1rem; }
.brand small { color: var(--muted); font-size: .72rem; letter-spacing: .06em; }
.nav-links { display: flex; align-items: center; gap: 30px; font-size: .92rem; color: #c7d0e8; }
.nav-links a { transition: color .2s ease; }
.nav-links a:hover { color: white; }
.nav-group { position:relative; }
.nav-group>a { display:inline-flex; align-items:center; min-height:44px; }
.nav-group>a::after { content:"⌄"; margin-left:6px; color:#8fdfff; font-size:.75rem; }
.nav-dropdown { position:absolute; top:42px; left:-18px; width:250px; display:grid; gap:2px; padding:12px; border:1px solid var(--line); border-radius:16px; background:rgba(7,12,28,.98); box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .2s ease,transform .2s ease,visibility .2s; }
.nav-dropdown a { padding:9px 10px; border-radius:9px; font-size:.82rem; }
.nav-dropdown a:hover,.nav-dropdown a:focus-visible { background:rgba(78,150,255,.12); }
.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown { opacity:1; visibility:visible; transform:none; }
.nav-cta { padding: 11px 18px; border: 1px solid rgba(0,217,255,.42); border-radius: 999px; background: rgba(0,217,255,.08); }
.menu-button { display: none; background: none; border: 0; padding: 8px; }
.menu-button span { display: block; width: 24px; height: 2px; margin: 5px 0; background: white; border-radius: 2px; }

.hero { min-height: 720px; padding-block: 76px 70px; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 58px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: #8fdfff; text-transform: uppercase; letter-spacing: .18em; font-size: .76rem; font-weight: 750; }
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 7px rgba(0,217,255,.09), 0 0 20px var(--cyan); animation: pulse 2s infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 12px rgba(0,217,255,0), 0 0 30px var(--cyan); } }
.hero h1 { margin: 22px 0 22px; font-size: clamp(3rem, 6.2vw, 6rem); line-height: .99; letter-spacing: -.055em; max-width: 770px; }
.hero h1 span { background: linear-gradient(90deg, var(--cyan), #5f8cff 48%, #d65cff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-lead { margin: 0; color: var(--muted); font-size: 1.1rem; max-width: 660px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { min-height: 52px; padding: 0 22px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-weight: 750; border: 1px solid transparent; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; cursor: pointer; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #03111d; background: linear-gradient(120deg, #5df2ff, #4da1ff 46%, #bd65ff); box-shadow: 0 16px 40px rgba(49,149,255,.24); }
.button-primary:hover { box-shadow: 0 20px 48px rgba(93,164,255,.34); }
.button-ghost { background: rgba(255,255,255,.035); border-color: var(--line); color: white; }
.button-ghost:hover { border-color: rgba(125,186,255,.5); }
.trust-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 46px; padding-top: 26px; border-top: 1px solid var(--line); }
.trust-row div { display: flex; flex-direction: column; }
.trust-row strong { font-size: .9rem; }
.trust-row span { color: var(--muted); font-size: .75rem; margin-top: 3px; }

.hero-visual { min-height: 590px; position: relative; display: grid; place-items: center; isolation: isolate; }
.hero-visual::before { content:""; position:absolute; width: 430px; height: 430px; border-radius:50%; background: radial-gradient(circle, rgba(70,148,255,.28), rgba(113,66,255,.07) 58%, transparent 70%); filter: blur(8px); z-index:-2; }
.logo-frame { width: min(100%, 520px); aspect-ratio: 1; padding: 12px; border-radius: 36px; background: linear-gradient(145deg, rgba(0,217,255,.24), rgba(154,92,255,.2)); border: 1px solid rgba(134,175,255,.3); box-shadow: 0 36px 100px rgba(0,0,0,.5), inset 0 0 32px rgba(61,128,255,.09); transform: perspective(1100px) rotateY(-6deg) rotateX(2deg); animation: float 7s ease-in-out infinite; }
.logo-frame img { width:100%; height:100%; object-fit:cover; border-radius: 27px; }
@keyframes float { 50% { transform: perspective(1100px) rotateY(-2deg) rotateX(-1deg) translateY(-12px); } }
.orbital { position:absolute; border: 1px solid rgba(79,168,255,.3); border-radius:50%; transform: rotate(-18deg); z-index:-1; }
.orbital::after { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--cyan); top:10%; left:16%; box-shadow: 0 0 22px var(--cyan); }
.orbital-one { width: 610px; height: 370px; }
.orbital-two { width: 560px; height: 520px; border-color: rgba(190,92,255,.25); transform: rotate(42deg); }
.orbital-two::after { background:var(--pink); box-shadow:0 0 22px var(--pink); }
.floating-chip { position:absolute; display:flex; align-items:center; gap:9px; padding:10px 14px; border:1px solid rgba(160,190,255,.25); border-radius:12px; background:rgba(8,14,32,.82); backdrop-filter:blur(12px); box-shadow:var(--shadow); color:#dfe7ff; font-size:.78rem; }
.floating-chip span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:linear-gradient(145deg, rgba(0,217,255,.25), rgba(154,92,255,.24)); color:#c6f6ff; font-weight:800; }
.chip-ai { top: 62px; right: 4px; animation: chipFloat 5.5s ease-in-out infinite; }
.chip-web { left: -6px; bottom: 104px; animation: chipFloat 6s ease-in-out infinite 1s; }
.chip-auto { right: 10px; bottom: 56px; animation: chipFloat 7s ease-in-out infinite .4s; }
@keyframes chipFloat { 50% { transform: translateY(-10px); } }

.signal-strip { overflow:hidden; border-block:1px solid var(--line); background:rgba(7,12,28,.72); }
.signal-track { width:max-content; display:flex; align-items:center; gap:28px; padding:14px 0; animation: marquee 28s linear infinite; text-transform:uppercase; letter-spacing:.16em; font-size:.75rem; color:#d8e1fb; }
.signal-track i { width:6px; height:6px; border-radius:50%; background:var(--violet); box-shadow:0 0 14px var(--violet); }
@keyframes marquee { to { transform:translateX(-50%); } }

.section { padding-block: 110px; }
.section-heading { max-width: 720px; margin-bottom: 44px; }
.section-heading.centered { margin-inline:auto; text-align:center; }
.section-heading h2 { margin:14px 0 16px; font-size:clamp(2.2rem,4.3vw,4.2rem); line-height:1.06; letter-spacing:-.04em; }
.section-heading p { margin:0; color:var(--muted); font-size:1.04rem; }
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.service-card { position:relative; min-height:350px; padding:32px; overflow:hidden; border-radius:var(--radius); border:1px solid var(--line); background:linear-gradient(145deg, rgba(14,24,51,.86), rgba(8,14,31,.82)); box-shadow:0 15px 50px rgba(0,0,0,.16); }
.service-card::after { content:""; position:absolute; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(48,157,255,.15), transparent 68%); right:-100px; bottom:-100px; transition:transform .4s ease; }
.service-card:hover::after { transform:scale(1.35); }
.service-card:hover { border-color:rgba(100,186,255,.45); transform:translateY(-3px); }
.service-card:focus-visible { outline:3px solid rgba(0,217,255,.55); outline-offset:3px; }
.service-card.featured { border-color:rgba(162,101,255,.42); background:linear-gradient(145deg, rgba(18,34,67,.92), rgba(20,13,47,.9)); }
.service-icon { width:58px; height:58px; border-radius:18px; display:grid; place-items:center; background:linear-gradient(145deg, rgba(0,217,255,.14), rgba(154,92,255,.15)); border:1px solid rgba(117,175,255,.22); }
.service-icon svg { width:30px; height:30px; fill:none; stroke:#8deaff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.service-icon-text { color:#8deaff; font-weight:900; letter-spacing:.04em; }
.service-number { position:absolute; top:30px; right:30px; color:rgba(193,207,242,.32); font-size:.75rem; letter-spacing:.2em; }
.feature-label { position:absolute; top:27px; right:68px; padding:5px 9px; border-radius:999px; background:rgba(154,92,255,.16); color:#d8b9ff; font-size:.67rem; text-transform:uppercase; letter-spacing:.12em; }
.service-card h3 { margin:30px 0 10px; font-size:1.55rem; }
.service-card p { color:var(--muted); margin:0; }
.service-card ul { list-style:none; padding:0; margin:24px 0 0; color:#dce4f9; font-size:.88rem; }
.service-card li { margin:8px 0; }
.service-card li::before { content:"↗"; color:var(--cyan); margin-right:9px; }
.card-link { display:inline-flex; margin-top:24px; color:#8fe8ff; font-size:.82rem; font-weight:800; }

.department-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.department-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,rgba(14,23,49,.88),rgba(7,12,28,.9)); transition:transform .22s ease,border-color .22s ease; }
.department-card:hover { transform:translateY(-4px); border-color:rgba(100,186,255,.48); }
.department-card:focus-visible { outline:3px solid rgba(0,217,255,.55); outline-offset:3px; }
.department-card strong,.department-card small { display:block; margin-inline:20px; }
.department-card strong { margin-top:18px; font-size:1rem; }
.department-card small { margin-top:5px; margin-bottom:20px; color:#8795b7; font-size:.68rem; }
.department-visual { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,#15284e,#271944); border-bottom:1px solid var(--line); }
.department-visual::before,.department-visual::after { content:""; position:absolute; border-radius:18px; border:1px solid rgba(165,213,255,.24); background:rgba(7,16,38,.55); }
.department-visual::before { inset:18% 12% 28%; }
.department-visual::after { left:22%; right:22%; bottom:14%; height:8%; background:linear-gradient(90deg,var(--cyan),var(--violet)); box-shadow:0 0 20px rgba(75,157,255,.35); }
.visual-restaurant { background:radial-gradient(circle at 78% 20%,rgba(255,132,73,.4),transparent 34%),linear-gradient(135deg,#2a1c2b,#151426); }
.visual-salon { background:radial-gradient(circle at 20% 20%,rgba(235,92,255,.35),transparent 35%),linear-gradient(135deg,#281a38,#12172c); }
.visual-dental { background:radial-gradient(circle at 80% 18%,rgba(92,239,255,.34),transparent 35%),linear-gradient(135deg,#102c3d,#111a35); }
.visual-medical { background:radial-gradient(circle at 18% 18%,rgba(88,240,166,.3),transparent 34%),linear-gradient(135deg,#12313c,#10192f); }
.visual-property { background:radial-gradient(circle at 75% 20%,rgba(92,146,255,.4),transparent 35%),linear-gradient(135deg,#162642,#111629); }
.visual-retail { background:radial-gradient(circle at 22% 18%,rgba(255,193,94,.34),transparent 35%),linear-gradient(135deg,#30233a,#171528); }
.visual-professional { background:radial-gradient(circle at 78% 18%,rgba(99,189,255,.34),transparent 35%),linear-gradient(135deg,#192942,#12182b); }
.visual-3d { background:radial-gradient(circle at 50% 38%,rgba(154,92,255,.44),transparent 35%),linear-gradient(135deg,#18264b,#20143d); }
.section-action { margin-top:30px; text-align:center; }

.solution-section { background:linear-gradient(180deg, rgba(11,18,40,.7), rgba(6,10,24,.15)); border-block:1px solid rgba(120,160,255,.09); }
.solution-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.solution-card { border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:rgba(10,17,37,.82); }
.mock-browser { height:260px; background:#101a37; border-bottom:1px solid var(--line); overflow:hidden; }
.browser-top { height:36px; display:flex; align-items:center; gap:6px; padding:0 12px; background:rgba(2,6,17,.62); }
.browser-top span { width:7px; height:7px; border-radius:50%; background:#576483; }
.browser-top small { margin-left:8px; color:#7080a6; font-size:.56rem; }
.restaurant-demo { height:224px; padding:24px; background:radial-gradient(circle at 80% 20%, rgba(255,123,60,.33), transparent 38%), linear-gradient(145deg,#271d28,#151423); }
.demo-nav { width:70%; height:8px; border-radius:10px; background:rgba(255,255,255,.18); }
.demo-headline { width:74%; margin:28px 0 18px; color:var(--text); font-size:1.25rem; font-weight:800; line-height:1.15; }
.demo-button { width:92px; height:24px; border-radius:7px; background:linear-gradient(90deg,#ff9c52,#ff5d70); }
.demo-food-row { display:flex; gap:10px; margin-top:29px; }
.demo-food-row i { width:54px; height:48px; border-radius:12px; background:linear-gradient(145deg,rgba(255,193,94,.58),rgba(176,55,73,.4)); }
.dashboard-layout { height:224px; display:grid; grid-template-columns:58px 1fr; background:#09142c; }
.dashboard-layout aside { padding:14px 11px; background:#081024; display:flex; flex-direction:column; gap:12px; }
.dashboard-layout aside b,.dashboard-layout aside i { display:block; height:9px; border-radius:6px; background:#1f3159; }
.dashboard-layout aside b { height:22px; background:linear-gradient(145deg,#29bbff,#8d5dff); }
.dash-main { padding:16px; }
.dash-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.dash-stats i { height:42px; border-radius:9px; background:linear-gradient(145deg,#15284e,#101f3f); }
.dash-chart { height:74px; margin-top:12px; border-radius:12px; background:#101f3e; position:relative; overflow:hidden; }
.dash-chart span { position:absolute; left:15px; right:15px; bottom:14px; height:34px; border-bottom:2px solid #41bfff; transform:skewY(-7deg); box-shadow:0 10px 18px rgba(65,191,255,.18); }
.dash-list { display:grid; gap:7px; margin-top:12px; }
.dash-list i { height:13px; border-radius:8px; background:#122342; }
.ai-demo { background:radial-gradient(circle at 50% 50%,rgba(125,75,255,.18),transparent 55%),#0b1229; }
.automation-flow { height:224px; display:flex; align-items:center; justify-content:center; gap:10px; position:relative; }
.flow-node { width:70px; height:52px; display:grid; place-items:center; border-radius:12px; border:1px solid #2c4676; background:#101d3b; font-size:.72rem; }
.flow-node.glow { border-color:#9f5eff; box-shadow:0 0 28px rgba(159,94,255,.35); color:#d9bfff; }
.automation-flow b { width:35px; height:1px; background:linear-gradient(90deg,#2f7dd6,#a25eff); position:relative; }
.automation-flow b::after { content:""; position:absolute; right:0; top:-2px; border-left:5px solid #a25eff; border-top:2px solid transparent; border-bottom:2px solid transparent; }
.flow-pulse { position:absolute; width:190px; height:190px; border-radius:50%; border:1px solid rgba(157,91,255,.13); animation:pulseRing 3s infinite; }
@keyframes pulseRing { 50% { transform:scale(1.18); opacity:.28; } }
.solution-content { padding:25px; }
.solution-content span { color:#79dfff; text-transform:uppercase; letter-spacing:.16em; font-size:.68rem; }
.solution-content h3 { margin:8px 0 8px; font-size:1.35rem; }
.solution-content p { color:var(--muted); margin:0; font-size:.91rem; }

.process-section { padding-bottom:130px; }
.process-line { display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
.process-line::before { content:""; position:absolute; top:29px; left:7%; right:7%; height:1px; background:linear-gradient(90deg,transparent,var(--blue),var(--violet),transparent); }
.process-step { position:relative; padding:0 20px 0 0; }
.process-step span { position:relative; z-index:1; width:58px; height:58px; display:grid; place-items:center; border-radius:18px; background:#0b1630; border:1px solid rgba(96,164,255,.34); color:#85e9ff; font-weight:800; box-shadow:0 0 32px rgba(35,133,255,.15); }
.process-step h3 { margin:22px 0 6px; }
.process-step p { color:var(--muted); margin:0; font-size:.9rem; max-width:230px; }

.pricing-section { background:linear-gradient(180deg,rgba(7,13,30,.25),rgba(14,13,40,.55)); border-block:1px solid rgba(120,160,255,.08); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.price-card { position:relative; padding:30px; border-radius:var(--radius); border:1px solid var(--line); background:linear-gradient(145deg,rgba(14,23,49,.84),rgba(7,12,28,.84)); display:flex; flex-direction:column; }
.price-card.premium { transform:translateY(-10px); border-color:rgba(154,92,255,.5); box-shadow:0 30px 80px rgba(75,42,162,.2); }
.recommended { position:absolute; top:-13px; left:50%; transform:translateX(-50%); padding:5px 13px; border-radius:999px; background:linear-gradient(90deg,#42dfff,#a560ff); color:#06101d; font-weight:800; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; white-space:nowrap; }
.price-top { display:flex; flex-direction:column; }
.price-top span { font-size:1.35rem; font-weight:800; }
.price-top small { color:var(--muted); }
.price { margin:27px 0 20px; font-size:3.15rem; font-weight:850; letter-spacing:-.05em; }
.price sup { font-size:.78rem; color:#8fe9ff; letter-spacing:.08em; }
.price small { font-size:.7rem; color:var(--muted); font-weight:500; letter-spacing:0; }
.price.custom { font-size:2.55rem; background:linear-gradient(90deg,#65e6ff,#b765ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.price-card ul { list-style:none; padding:0; margin:0 0 28px; color:#dce3f6; flex:1; }
.price-card li { margin:11px 0; font-size:.89rem; }
.price-card li::before { content:"✓"; color:var(--green); margin-right:10px; }

.contact-panel { display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; padding:50px; border-radius:32px; background:linear-gradient(135deg,rgba(16,30,63,.94),rgba(14,12,42,.94)); border:1px solid rgba(120,170,255,.23); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.contact-panel::before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(51,191,255,.16),transparent 65%); left:-160px; bottom:-240px; }
.contact-copy,.contact-form { position:relative; z-index:1; }
.contact-copy h2 { font-size:clamp(2.3rem,4.4vw,4rem); line-height:1.05; letter-spacing:-.045em; margin:16px 0; }
.contact-copy>p { color:var(--muted); }
.contact-points { margin:28px 0; display:grid; gap:16px; }
.contact-points div { display:flex; align-items:flex-start; gap:12px; }
.contact-points span { width:26px; height:26px; flex:0 0 26px; display:grid; place-items:center; border-radius:50%; background:rgba(88,240,166,.1); color:#78f0a5; font-weight:800; }
.contact-points p { margin:0; display:flex; flex-direction:column; }
.contact-points small { color:var(--muted); }
.text-link { padding:0; border:0; background:none; color:#8fe8ff; font-weight:750; cursor:pointer; }
.direct-contact { display:flex; flex-wrap:wrap; align-items:center; gap:16px 22px; }
.direct-contact a { text-decoration:none; }
.footer-links button { padding:0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.footer-links button:hover,.footer-links a:hover,.direct-contact a:hover { color:#8fe8ff; }

.contact-form { padding:28px; border-radius:24px; background:rgba(5,10,25,.66); border:1px solid rgba(125,160,230,.16); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-form label { display:flex; flex-direction:column; gap:8px; margin-bottom:15px; color:#dce4f8; font-size:.8rem; font-weight:700; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid rgba(121,160,224,.2); border-radius:12px; background:#0b1530; color:white; padding:13px 14px; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.contact-form textarea { resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:rgba(0,217,255,.65); box-shadow:0 0 0 3px rgba(0,217,255,.08); }
.contact-form option { background:#0b1530; }
.submit-button { width:100%; border:0; }
.field-help { display:block; margin-top:.45rem; color:#7f8bab; font-size:.76rem; font-weight:500; line-height:1.45; }
.form-guidance { margin:0; padding:.8rem 1rem; border:1px solid rgba(68,210,255,.16); border-radius:12px; background:rgba(68,210,255,.055); color:#7f8bab; font-size:.82rem; line-height:1.55; }
.form-note { color:#7f8bab; font-size:.72rem; margin:12px 0 0; text-align:center; }
.form-note a { color:#a9dff1; }
.form-status { min-height:22px; margin-top:10px; color:#84f5aa; text-align:center; font-size:.82rem; }

.footer { border-top:1px solid var(--line); background:#030611; padding-top:40px; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:25px; }
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-brand img { width:48px; height:48px; border-radius:14px; object-fit:cover; }
.footer-brand div { display:flex; flex-direction:column; }
.footer-brand strong { letter-spacing:.18em; }
.footer-brand span { color:var(--muted); font-size:.72rem; }
.footer-grid>p { color:var(--muted); text-align:center; }
.footer-links { justify-self:end; display:flex; flex-wrap:wrap; gap:12px 20px; color:#c7d0e8; font-size:.85rem; }
.footer-links a { min-height:24px; display:inline-flex; align-items:center; }
.footer-bottom { padding:24px 0 28px; margin-top:30px; border-top:1px solid rgba(120,160,255,.1); display:flex; justify-content:space-between; color:#697695; font-size:.75rem; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

@media (max-width: 980px) {
  .hero { grid-template-columns:1fr; padding-top:55px; }
  .hero-copy { text-align:center; }
  .hero-lead { margin-inline:auto; }
  .hero-actions { justify-content:center; }
  .hero-visual { min-height:520px; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .solution-grid { grid-template-columns:1fr; }
  .solution-card { display:grid; grid-template-columns:1.2fr .8fr; }
  .mock-browser { border-bottom:0; border-right:1px solid var(--line); }
  .process-line { grid-template-columns:repeat(2,1fr); gap:36px 20px; }
  .process-line::before { display:none; }
  .pricing-grid { grid-template-columns:1fr; max-width:680px; margin-inline:auto; }
  .price-card.premium { transform:none; }
  .contact-panel { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
  .container { width:min(100% - 28px,1180px); }
  .menu-button { display:block; }
  .nav-links { position:absolute; top:78px; left:14px; right:14px; display:none; flex-direction:column; align-items:stretch; padding:18px; gap:6px; border-radius:18px; background:rgba(7,12,28,.98); border:1px solid var(--line); box-shadow:var(--shadow); }
  .nav-links.open { display:flex; }
  .nav-links a { padding:11px 12px; border-radius:10px; }
  .nav-cta { text-align:center; }
  .brand small { display:none; }
  .hero { min-height:auto; padding-block:55px 70px; gap:32px; }
  .hero h1 { font-size:clamp(2.8rem,14vw,4.4rem); }
  .trust-row { grid-template-columns:1fr; text-align:left; }
  .hero-visual { min-height:430px; }
  .logo-frame { width:min(100%,400px); border-radius:25px; }
  .orbital-one { width:440px; height:280px; }
  .orbital-two { width:380px; height:380px; }
  .floating-chip { font-size:.67rem; padding:8px 10px; }
  .chip-ai { right:-3px; top:35px; }
  .chip-web { left:-2px; bottom:60px; }
  .chip-auto { right:0; bottom:12px; }
  .section { padding-block:80px; }
  .service-grid { grid-template-columns:1fr; }
  .solution-card { display:block; }
  .mock-browser { border-right:0; border-bottom:1px solid var(--line); }
  .process-line { grid-template-columns:1fr; }
  .process-step { display:grid; grid-template-columns:58px 1fr; column-gap:18px; padding:0; }
  .process-step h3 { margin:4px 0 3px; }
  .process-step p { grid-column:2; }
  .contact-panel { padding:27px 18px; }
  .contact-form { padding:20px 15px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .footer-grid { grid-template-columns:1fr; text-align:center; justify-items:center; }
  .footer-links { justify-self:center; }
  .footer-bottom { flex-direction:column; gap:5px; align-items:center; text-align:center; }
}

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

.thank-you { min-height:100vh; display:grid; place-items:center; padding:30px; }
.thank-card { width:min(660px,100%); text-align:center; padding:55px 35px; border:1px solid var(--line); border-radius:30px; background:linear-gradient(145deg,rgba(15,27,58,.94),rgba(10,11,34,.94)); box-shadow:var(--shadow); }
.thank-card img { width:110px; height:110px; object-fit:cover; border-radius:28px; margin:0 auto 25px; }
.thank-card h1 { font-size:clamp(2.4rem,7vw,4.5rem); line-height:1; margin:0 0 18px; }
.thank-card p { color:var(--muted); max-width:500px; margin:0 auto 28px; }

.document-page { min-height:100vh; padding:48px 0 80px; }
.document-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:38px; }
.document-header .brand { text-decoration:none; }
.document-card { max-width:860px; padding:clamp(28px,5vw,58px); border:1px solid var(--line); border-radius:30px; background:linear-gradient(145deg,rgba(15,27,58,.94),rgba(10,11,34,.94)); box-shadow:var(--shadow); }
.document-card h1 { margin:12px 0 14px; font-size:clamp(2.4rem,7vw,4.5rem); line-height:1.05; }
.document-card h2 { margin:34px 0 10px; font-size:1.35rem; }
.document-card p,.document-card li { color:var(--muted); }
.document-card a { color:#8fe8ff; }
.document-card ul { padding-left:20px; }
.document-meta { margin:0 0 32px; color:#8290b0; font-size:.85rem; }
.error-code { margin:0; color:#8fe8ff; font-size:.78rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }

@media (max-width: 760px) {
  .document-page { padding-top:24px; }
  .document-header { align-items:flex-start; flex-direction:column; }
  .document-card { border-radius:24px; }
}

/* Shared Phase 2 internal-page system */
.page-hero { padding-block:82px 74px; }
.page-hero-inner { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); align-items:center; gap:64px; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; color:#8190b3; font-size:.78rem; }
.breadcrumb a:hover { color:#8fe8ff; }
.page-hero h1 { max-width:850px; margin:16px 0 20px; font-size:clamp(3rem,6vw,5.7rem); line-height:1; letter-spacing:-.05em; }
.page-hero h1 span { background:linear-gradient(90deg,var(--cyan),#648bff 50%,#d65cff); background-clip:text; -webkit-background-clip:text; color:transparent; }
.page-lead { max-width:720px; margin:0; color:var(--muted); font-size:1.08rem; }
.page-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.page-hero-visual { min-height:330px; display:grid; place-items:center; position:relative; }
.page-symbol { width:min(100%,320px); aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(121,174,255,.32); border-radius:38px; background:radial-gradient(circle at 45% 40%,rgba(0,217,255,.2),transparent 38%),linear-gradient(145deg,rgba(19,38,75,.92),rgba(29,15,62,.92)); box-shadow:var(--shadow),inset 0 0 50px rgba(71,116,255,.1); color:#a8efff; font-size:clamp(3.6rem,8vw,6.5rem); font-weight:900; letter-spacing:-.06em; transform:rotate(-3deg); }
.page-symbol::after { content:""; position:absolute; width:75%; height:75%; border:1px solid rgba(154,92,255,.25); border-radius:50%; animation:pulseRing 4s infinite; }
.content-section { padding-block:90px; }
.content-section.soft { border-block:1px solid rgba(120,160,255,.09); background:linear-gradient(180deg,rgba(11,18,40,.62),rgba(6,10,24,.12)); }
.detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.detail-card { padding:28px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,rgba(14,24,51,.86),rgba(8,14,31,.82)); }
.detail-card .detail-number { color:#7ddfff; font-size:.7rem; font-weight:800; letter-spacing:.16em; }
.detail-card h2,.detail-card h3 { margin:13px 0 9px; line-height:1.2; }
.detail-card h2 { font-size:1.35rem; }
.detail-card p { margin:0; color:var(--muted); font-size:.9rem; }
.feature-list { list-style:none; padding:0; margin:22px 0 0; display:grid; gap:10px; }
.feature-list li { display:flex; align-items:flex-start; gap:10px; color:#dce5fa; }
.feature-list li::before { content:"✓"; color:var(--green); font-weight:900; }
.split-content { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; align-items:start; }
.split-content h2 { margin:12px 0 16px; font-size:clamp(2.2rem,4vw,3.7rem); line-height:1.06; letter-spacing:-.04em; }
.split-content>div>p { color:var(--muted); }
.process-cards { display:grid; gap:12px; }
.process-card { display:grid; grid-template-columns:48px 1fr; gap:16px; padding:20px; border:1px solid var(--line); border-radius:18px; background:rgba(10,18,40,.7); }
.process-card span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:rgba(43,149,255,.12); color:#8fe8ff; font-weight:900; }
.process-card h3 { margin:1px 0 4px; font-size:1rem; }
.process-card p { margin:0; color:var(--muted); font-size:.86rem; }
.related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.related-card { min-height:160px; display:flex; flex-direction:column; justify-content:space-between; padding:23px; border:1px solid var(--line); border-radius:19px; background:rgba(11,19,42,.76); transition:transform .2s,border-color .2s; }
.related-card:hover { transform:translateY(-3px); border-color:rgba(100,186,255,.45); }
.related-card small { color:#7ddfff; text-transform:uppercase; letter-spacing:.14em; }
.related-card strong { font-size:1.05rem; }
.cta-band { margin-block:0 90px; padding:42px; display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; border:1px solid rgba(115,177,255,.3); border-radius:28px; background:linear-gradient(135deg,rgba(18,38,76,.94),rgba(33,17,68,.94)); box-shadow:var(--shadow); }
.cta-band h2 { margin:0 0 7px; font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.08; }
.cta-band p { margin:0; color:var(--muted); }
.cta-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; }
.page-footer .footer-grid { padding-bottom:10px; }

.gallery-hero { padding-bottom:55px; }
.gallery-note { max-width:860px; margin:0 auto 28px; padding:15px 18px; border:1px solid rgba(111,177,255,.22); border-radius:14px; background:rgba(29,71,130,.13); color:#b7c8e8; text-align:center; font-size:.85rem; }
.concept-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.concept-card { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:rgba(10,17,37,.82); }
.concept-preview { aspect-ratio:16/10; position:relative; overflow:hidden; background:linear-gradient(145deg,#182b51,#231744); border-bottom:1px solid var(--line); }
.concept-preview::before { content:""; position:absolute; inset:12% 9% 25%; border:1px solid rgba(144,197,255,.25); border-radius:16px; background:linear-gradient(145deg,rgba(6,16,39,.8),rgba(16,24,50,.68)); box-shadow:0 18px 45px rgba(0,0,0,.25); }
.concept-preview::after { content:"DDS CONCEPT"; position:absolute; left:50%; bottom:11%; transform:translateX(-50%); padding:6px 10px; border-radius:999px; background:rgba(4,10,25,.7); color:#9cecff; font-size:.58rem; font-weight:900; letter-spacing:.14em; white-space:nowrap; }
.concept-lines { position:absolute; z-index:1; left:19%; right:19%; top:27%; display:grid; gap:9px; }
.concept-lines i { display:block; height:7px; border-radius:6px; background:rgba(160,205,255,.22); }
.concept-lines i:nth-child(2) { width:72%; }
.concept-lines i:nth-child(3) { width:46%; background:linear-gradient(90deg,var(--cyan),var(--violet)); }
.concept-copy { padding:22px; }
.concept-label { display:block; margin-bottom:8px; color:#7ddfff; font-size:.65rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.concept-copy h2,.concept-copy h3 { margin:0 0 7px; font-size:1.2rem; }
.concept-copy p { margin:0; color:var(--muted); font-size:.86rem; }
.placeholder-message { margin-top:18px; padding-top:15px; border-top:1px solid var(--line); color:#7482a4; font-size:.72rem; }

@media (max-width: 1100px) {
  .department-grid { grid-template-columns:repeat(2,1fr); }
  .related-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 980px) {
  .page-hero-inner { grid-template-columns:1fr; gap:30px; }
  .page-hero-visual { min-height:260px; }
  .page-symbol { width:260px; }
  .detail-grid,.concept-grid { grid-template-columns:repeat(2,1fr); }
  .split-content { grid-template-columns:1fr; gap:36px; }
  .cta-band { grid-template-columns:1fr; }
  .cta-actions { justify-content:flex-start; }
}

@media (max-width: 760px) {
  .nav-group>a { width:100%; min-height:0; }
  .nav-group>a::after { margin-left:auto; }
  .nav-dropdown { position:static; width:auto; margin:0 0 5px 13px; padding:4px 0 4px 10px; border:0; border-left:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .nav-dropdown a { padding:8px 10px; font-size:.78rem; }
  .page-hero { padding-block:52px 58px; }
  .page-hero h1 { font-size:clamp(2.7rem,13vw,4.4rem); }
  .page-hero-visual { min-height:220px; }
  .page-symbol { width:210px; border-radius:30px; }
  .content-section { padding-block:70px; }
  .detail-grid,.concept-grid,.department-grid,.related-grid { grid-template-columns:1fr; }
  .cta-band { padding:28px 20px; border-radius:23px; }
  .cta-actions { flex-direction:column; align-items:stretch; }
}

/* Phase 2 visual enhancement */
:root {
  --glow-cyan: 0 0 34px rgba(0,217,255,.22);
  --glow-violet: 0 0 42px rgba(154,92,255,.2);
  --parallax-y: 0px;
}

body { background:radial-gradient(circle at 50% -10%,rgba(30,74,145,.2),transparent 34%),var(--bg); }
body::before { content:""; position:fixed; inset:0; z-index:-5; pointer-events:none; background:radial-gradient(circle at 12% 30%,rgba(0,217,255,.055),transparent 24%),radial-gradient(circle at 87% 62%,rgba(154,92,255,.07),transparent 26%); }
.page-grid { opacity:.9; animation:gridDrift 32s linear infinite; }
@keyframes gridDrift { to { background-position:64px 64px; } }

.site-header { box-shadow:0 12px 40px rgba(0,0,0,.08); }
.site-header.scrolled { box-shadow:0 18px 45px rgba(0,0,0,.28),0 1px 0 rgba(0,217,255,.06); }
.brand img { transition:transform .35s ease,box-shadow .35s ease; }
.brand:hover img { transform:translateY(-2px) rotate(-2deg); box-shadow:0 0 38px rgba(24,135,255,.4); }
.nav-links a[aria-current="page"] { color:#baf5ff; text-shadow:0 0 16px rgba(0,217,255,.35); }
.nav-links>a[aria-current="page"]::after,.nav-group>a[aria-current="page"]::before { content:""; display:block; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--cyan),var(--violet)); box-shadow:0 0 12px rgba(0,217,255,.5); }
.nav-links>a[aria-current="page"]::after { margin-top:5px; }
.nav-group>a[aria-current="page"]::before { position:absolute; left:0; right:18px; bottom:1px; }

.button { position:relative; overflow:hidden; isolation:isolate; }
.button::after { content:""; position:absolute; inset:-2px; z-index:-1; background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.3) 40%,transparent 65%); transform:translateX(-130%); transition:transform .65s ease; }
.button:hover::after,.button:focus-visible::after { transform:translateX(130%); }
.button-primary { background-size:220% 220%; animation:buttonGradient 8s ease infinite; }
@keyframes buttonGradient { 50% { background-position:100% 50%; } }
.button:focus-visible,.text-link:focus-visible,.whatsapp-float:focus-visible { outline:3px solid #b6f7ff; outline-offset:4px; }

.hero { position:relative; isolation:isolate; }
.hero::before { content:""; position:absolute; z-index:-3; inset:7% -10% 4%; pointer-events:none; background:radial-gradient(ellipse at 72% 42%,rgba(0,217,255,.13),transparent 28%),radial-gradient(ellipse at 28% 52%,rgba(104,76,255,.13),transparent 32%); filter:blur(10px); animation:heroLight 10s ease-in-out infinite alternate; }
@keyframes heroLight { to { transform:translate3d(2%,-2%,0) scale(1.05); opacity:.78; } }
.hero-copy { position:relative; z-index:3; }
.hero h1 { text-wrap:balance; text-shadow:0 18px 50px rgba(0,0,0,.2); }
.hero h1 span { background-size:200% auto; animation:headlineGlow 8s linear infinite; }
@keyframes headlineGlow { to { background-position:200% center; } }
.keyword-loop { min-height:32px; margin-top:20px; display:flex; flex-wrap:wrap; gap:8px; }
.keyword-loop span { padding:5px 10px; border:1px solid rgba(116,182,255,.2); border-radius:999px; background:rgba(13,26,55,.64); color:#9deeff; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; animation:keywordPulse 8s ease-in-out infinite; }
.keyword-loop span:nth-child(2) { animation-delay:1.2s; }
.keyword-loop span:nth-child(3) { animation-delay:2.4s; }
.keyword-loop span:nth-child(4) { animation-delay:3.6s; }
.keyword-loop span:nth-child(5) { animation-delay:4.8s; }
@keyframes keywordPulse { 0%,35%,100% { color:#8b9aba; border-color:rgba(116,182,255,.14); box-shadow:none; transform:translateY(0); } 15% { color:#d8fbff; border-color:rgba(0,217,255,.5); box-shadow:var(--glow-cyan); transform:translateY(-2px); } }
.hero-visual { transform:translate3d(0,var(--parallax-y),0); transition:transform .15s linear; }
.logo-frame { box-shadow:0 42px 110px rgba(0,0,0,.55),0 0 55px rgba(28,142,255,.12),inset 0 0 42px rgba(61,128,255,.12); }
.orbital { filter:drop-shadow(0 0 12px rgba(69,159,255,.18)); }
.orbital-one { animation:orbitTurn 20s linear infinite; }
.orbital-two { animation:orbitTurnReverse 27s linear infinite; }
@keyframes orbitTurn { to { transform:rotate(360deg); } }
@keyframes orbitTurnReverse { to { transform:rotate(-360deg); } }
.holo-shape { position:absolute; z-index:2; width:20px; height:20px; border:1px solid rgba(128,220,255,.55); background:rgba(20,104,192,.14); box-shadow:var(--glow-cyan); transform:rotate(45deg); animation:holoFloat 7s ease-in-out infinite; }
.shape-one { left:8%; top:18%; }
.shape-two { right:4%; top:43%; width:15px; height:15px; animation-delay:-2.3s; border-color:rgba(200,130,255,.65); box-shadow:var(--glow-violet); }
.shape-three { left:14%; bottom:12%; width:12px; height:12px; animation-delay:-4.5s; }
@keyframes holoFloat { 50% { transform:translateY(-18px) rotate(225deg) scale(1.15); opacity:.55; } }
.hero-particles { position:absolute; z-index:-1; inset:4% -3%; overflow:hidden; pointer-events:none; }
.hero-particles i { position:absolute; left:var(--particle-x); top:var(--particle-y); width:4px; height:4px; border-radius:50%; background:#86edff; box-shadow:0 0 10px rgba(90,225,255,.9); opacity:.28; animation:particleRise calc(8s + (var(--particle-index) * .35s)) ease-in-out infinite alternate; animation-delay:calc(var(--particle-index) * -.42s); }
.hero-particles i:nth-child(3n) { width:2px; height:2px; background:#bb84ff; box-shadow:0 0 9px rgba(187,132,255,.85); }
@keyframes particleRise { to { transform:translate3d(14px,-32px,0) scale(1.35); opacity:.75; } }

.service-grid,.detail-grid,.department-grid,.concept-grid,.related-grid { align-items:stretch; }
.service-card { display:flex; flex-direction:column; height:100%; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.service-card .card-link { margin-top:auto; padding-top:24px; }
.service-card::before,.detail-card::before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(125deg,rgba(0,217,255,.06),transparent 38%,rgba(154,92,255,.07)); opacity:0; transition:opacity .3s ease; }
.service-card:hover::before,.detail-card:hover::before { opacity:1; }
.service-card:hover,.detail-card:hover { border-color:rgba(86,210,255,.48); box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 30px rgba(0,217,255,.09); }
.motion-card { transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(0); transform-style:preserve-3d; will-change:transform; }
.motion-card:hover { transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px); }
.service-icon { box-shadow:inset 0 0 24px rgba(0,217,255,.05),0 10px 30px rgba(0,0,0,.16); animation:iconFloat 7s ease-in-out infinite; }
.service-card:nth-child(even) .service-icon { animation-delay:-3.5s; }
@keyframes iconFloat { 50% { transform:translateY(-5px) rotate(2deg); box-shadow:inset 0 0 24px rgba(0,217,255,.08),0 15px 34px rgba(0,0,0,.22); } }
.detail-card { position:relative; height:100%; overflow:hidden; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.process-card { position:relative; overflow:hidden; transition:transform .22s ease,border-color .22s ease,background .22s ease; }
.process-card::after { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:linear-gradient(var(--cyan),var(--violet)); opacity:.55; }
.process-card:hover { transform:translateX(4px); border-color:rgba(90,201,255,.36); background:rgba(13,28,58,.82); }

.page-hero { position:relative; isolation:isolate; }
.page-hero::after { content:""; position:absolute; z-index:-2; width:560px; height:260px; right:5%; top:15%; border-radius:50%; background:radial-gradient(ellipse,rgba(62,128,255,.12),transparent 68%); filter:blur(16px); animation:pageAura 9s ease-in-out infinite alternate; }
@keyframes pageAura { to { transform:translate(-8%,7%) scale(1.08); opacity:.7; } }
.page-hero h1 { text-wrap:balance; }
.page-symbol { position:relative; overflow:hidden; transform:translate3d(0,var(--parallax-y),0) rotate(-3deg); animation:symbolFloat 7s ease-in-out infinite; }
.page-symbol::before { content:""; position:absolute; inset:-35%; background:conic-gradient(from 90deg,transparent,rgba(0,217,255,.14),transparent 36%,rgba(154,92,255,.16),transparent 70%); animation:symbolSweep 12s linear infinite; }
.page-symbol::after { inset:12.5%; width:auto; height:auto; }
@keyframes symbolFloat { 50% { transform:translate3d(0,calc(var(--parallax-y) - 9px),0) rotate(2deg); } }
@keyframes symbolSweep { to { transform:rotate(360deg); } }
body[data-route*="ai-automation"] .page-symbol { color:#dbbdff; background:radial-gradient(circle,rgba(154,92,255,.25),transparent 42%),linear-gradient(145deg,#172b55,#251447); }
body[data-route*="business-applications"] .page-symbol { color:#8ff7ca; background:radial-gradient(circle,rgba(88,240,166,.2),transparent 42%),linear-gradient(145deg,#122e42,#151b3e); }
body[data-route*="website-maintenance"] .page-symbol { color:#a9f6ff; background:radial-gradient(circle,rgba(0,217,255,.2),transparent 42%),linear-gradient(145deg,#102b46,#17183d); }
body[data-route="/services/"] .page-symbol,body[data-route="/gallery/"] .page-symbol { color:#d9c3ff; }
.cta-band { position:relative; overflow:hidden; }
.cta-band::before { content:""; position:absolute; width:260px; height:260px; right:-90px; top:-130px; border-radius:50%; background:radial-gradient(circle,rgba(0,217,255,.2),transparent 68%); animation:ctaLight 8s ease-in-out infinite alternate; }
@keyframes ctaLight { to { transform:translate(-35px,35px) scale(1.15); } }
.cta-band>* { position:relative; z-index:1; }

.department-card { position:relative; padding-bottom:42px; box-shadow:0 18px 50px rgba(0,0,0,.16); }
.department-card::before { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(150deg,rgba(0,217,255,.08),transparent 38%,rgba(154,92,255,.12)); opacity:0; transition:opacity .3s ease; }
.department-card::after { content:"View Gallery →"; position:absolute; left:20px; bottom:16px; color:#9ceeff; font-size:.7rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.department-card:hover::before { opacity:1; }
.department-card:hover { box-shadow:0 26px 65px rgba(0,0,0,.28),0 0 35px rgba(72,163,255,.1); }
.department-visual { isolation:isolate; }
.department-visual::before { transition:transform .45s ease,border-color .45s ease; }
.department-card:hover .department-visual::before { transform:scale(1.04) translateY(-2px); border-color:rgba(169,224,255,.42); }
.concept-card { position:relative; height:100%; box-shadow:0 20px 55px rgba(0,0,0,.16); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.concept-card:hover { border-color:rgba(94,205,255,.42); box-shadow:0 28px 70px rgba(0,0,0,.28),0 0 32px rgba(0,217,255,.08); }
.concept-preview { isolation:isolate; }
.concept-preview::before { transition:transform .5s ease,border-color .5s ease; }
.concept-card:hover .concept-preview::before { transform:scale(1.025); border-color:rgba(149,219,255,.42); }
.concept-lines::after { content:""; position:absolute; left:-15%; right:-15%; top:-55%; height:1px; background:linear-gradient(90deg,transparent,#8eeeff,transparent); box-shadow:0 0 13px rgba(86,227,255,.75); animation:conceptScan 4.6s ease-in-out infinite; }
@keyframes conceptScan { 50% { transform:translateY(75px); opacity:.4; } }
.concept-label { display:inline-flex; padding:4px 7px; border:1px solid rgba(84,199,255,.2); border-radius:999px; background:rgba(32,98,160,.09); }

/* CSS-only CAD and layer-build visual for the 3D service page. */
.cad-stage { position:relative; min-height:390px; overflow:hidden; border:1px solid rgba(101,170,255,.22); border-radius:36px; background:radial-gradient(circle at 50% 42%,rgba(100,77,255,.2),transparent 40%),linear-gradient(145deg,rgba(7,22,46,.92),rgba(24,12,49,.94)); box-shadow:var(--shadow),inset 0 0 60px rgba(60,127,255,.08); perspective:900px; }
.cad-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(80,181,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(80,181,255,.08) 1px,transparent 1px); background-size:28px 28px; transform:perspective(420px) rotateX(58deg) scale(1.45) translateY(32%); transform-origin:bottom; mask-image:linear-gradient(to top,#000,transparent 88%); }
.wire-cube { position:absolute; left:50%; top:42%; width:125px; height:125px; transform-style:preserve-3d; transform:translate(-50%,-50%) rotateX(-20deg) rotateY(35deg); animation:cubeRotate 15s linear infinite; }
.cube-face { position:absolute; inset:0; border:2px solid rgba(116,231,255,.75); background:rgba(25,109,174,.06); box-shadow:inset 0 0 20px rgba(0,217,255,.06),0 0 15px rgba(0,217,255,.1); }
.face-front { transform:translateZ(62px); }
.face-back { transform:translateZ(-62px); }
.cube-edge { position:absolute; left:50%; top:50%; width:125px; height:2px; background:linear-gradient(90deg,#7ceaff,#a46cff); transform-origin:left center; box-shadow:0 0 8px rgba(85,220,255,.55); }
.edge-one { transform:translate3d(-62px,-62px,62px) rotateY(90deg); }
.edge-two { transform:translate3d(-62px,62px,62px) rotateY(90deg); }
.edge-three { transform:translate3d(62px,-62px,62px) rotateY(90deg); }
.edge-four { transform:translate3d(62px,62px,62px) rotateY(90deg); }
@keyframes cubeRotate { to { transform:translate(-50%,-50%) rotateX(340deg) rotateY(395deg); } }
.print-bed { position:absolute; left:50%; bottom:36px; width:230px; height:72px; transform:translateX(-50%) rotateX(62deg); border:1px solid rgba(112,207,255,.36); background:rgba(9,34,67,.6); box-shadow:0 0 30px rgba(43,137,255,.16); }
.print-layer { position:absolute; left:18%; right:18%; height:6px; bottom:15%; border:1px solid rgba(154,111,255,.8); background:rgba(92,78,255,.18); box-shadow:0 0 12px rgba(154,92,255,.45); animation:layerBuild 4.5s ease-in-out infinite; }
.layer-two { bottom:28%; animation-delay:-1.1s; }
.layer-three { bottom:41%; animation-delay:-2.2s; }
.layer-four { bottom:54%; animation-delay:-3.3s; }
@keyframes layerBuild { 0%,100% { opacity:.18; transform:scaleX(.75); } 45%,65% { opacity:1; transform:scaleX(1); } }
.cad-tag { position:absolute; padding:6px 9px; border:1px solid rgba(113,200,255,.28); border-radius:8px; background:rgba(4,15,34,.76); color:#9ceeff; font-size:.58rem; font-weight:900; letter-spacing:.14em; box-shadow:var(--glow-cyan); }
.tag-stl { left:9%; top:15%; }
.tag-prototype { right:7%; bottom:18%; color:#d7b9ff; border-color:rgba(188,122,255,.3); box-shadow:var(--glow-violet); }

.whatsapp-float { position:fixed; z-index:80; right:22px; bottom:22px; min-width:58px; height:58px; display:flex; align-items:center; justify-content:center; gap:9px; padding:0 18px; border:1px solid rgba(216,255,231,.38); border-radius:999px; background:linear-gradient(135deg,#22c66b,#099b4b); color:#fff; box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 0 0 rgba(34,198,107,.35); font-size:.82rem; text-decoration:none; animation:whatsappPulse 3.2s ease-out infinite; transition:transform .2s ease,box-shadow .2s ease; }
.whatsapp-float span { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.16); font-size:1rem; }
.whatsapp-float:hover { transform:translateY(-3px); box-shadow:0 20px 44px rgba(0,0,0,.38),0 0 28px rgba(34,198,107,.22); }
@keyframes whatsappPulse { 0%,55%,100% { box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 0 0 rgba(34,198,107,.28); } 75% { box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 0 12px rgba(34,198,107,0); } }

@media (max-width: 980px) {
  .cad-stage { min-height:340px; }
  .page-hero-visual:not(.cad-stage) { transform:translate3d(0,calc(var(--parallax-y) * .4),0); }
}

@media (max-width: 900px) {
  .menu-button { display:block; }
  .nav-links { position:absolute; top:78px; left:14px; right:14px; display:none; max-height:calc(100vh - 96px); overflow-y:auto; flex-direction:column; align-items:stretch; padding:18px; gap:6px; border-radius:18px; background:rgba(7,12,28,.98); border:1px solid var(--line); box-shadow:var(--shadow); }
  .nav-links.open { display:flex; }
  .nav-links a { padding:11px 12px; border-radius:10px; }
  .nav-group>a { width:100%; min-height:0; }
  .nav-group>a::after { margin-left:auto; }
  .nav-dropdown { position:static; width:auto; margin:0 0 5px 13px; padding:4px 0 4px 10px; border:0; border-left:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .nav-dropdown a { padding:8px 10px; font-size:.78rem; }
  .nav-cta { text-align:center; }
}

@media (max-width: 760px) {
  .hero-particles { inset:0; }
  .keyword-loop { justify-content:center; }
  .holo-shape { opacity:.7; }
  .motion-card,.motion-card:hover { transform:translateY(0); }
  .department-card { padding-bottom:44px; }
  .cad-stage { min-height:310px; border-radius:26px; }
  .wire-cube { width:95px; height:95px; }
  .cube-face { width:95px; height:95px; }
  .face-front { transform:translateZ(47px); }
  .face-back { transform:translateZ(-47px); }
  .cube-edge { width:95px; }
  .edge-one { transform:translate3d(-47px,-47px,47px) rotateY(90deg); }
  .edge-two { transform:translate3d(-47px,47px,47px) rotateY(90deg); }
  .edge-three { transform:translate3d(47px,-47px,47px) rotateY(90deg); }
  .edge-four { transform:translate3d(47px,47px,47px) rotateY(90deg); }
  .print-bed { width:190px; }
  .whatsapp-float { right:0; bottom:14px; width:48px; min-width:48px; height:48px; padding:0; }
  .whatsapp-float strong { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .footer { padding-bottom:72px; }
}

/* Phase 2 gallery imagery and premium depth pass */
.department-card,
.concept-card,
.solution-card {
  --glow-x:50%;
  --glow-y:50%;
  isolation:isolate;
  box-shadow:0 22px 60px rgba(0,0,0,.26),0 0 0 1px rgba(112,177,255,.035);
}
.department-card { background:linear-gradient(150deg,rgba(17,29,59,.96),rgba(7,12,28,.96)); }
.department-visual { aspect-ratio:3/2; background:#0a1022; }
.department-visual img,
.concept-preview img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.012);
  filter:saturate(.94) contrast(1.04);
  animation:galleryImageFloat 12s ease-in-out infinite alternate;
  transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .45s ease;
}
.department-visual::before {
  z-index:1;
  inset:0;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(99,219,255,.18),transparent 34%),
    linear-gradient(180deg,rgba(3,8,20,.04) 28%,rgba(4,8,20,.76) 100%);
  pointer-events:none;
}
.department-visual::after {
  z-index:2;
  left:-45%;
  right:auto;
  top:-25%;
  bottom:auto;
  width:32%;
  height:150%;
  border:0;
  border-radius:0;
  background:linear-gradient(90deg,transparent,rgba(217,249,255,.24),transparent);
  box-shadow:none;
  opacity:0;
  transform:skewX(-18deg);
  pointer-events:none;
}
.department-card:hover .department-visual img,
.department-card:focus-visible .department-visual img { transform:scale(1.085) translate3d(0,-2px,0); filter:saturate(1.08) contrast(1.07); }
.department-card:hover .department-visual::after,
.department-card:focus-visible .department-visual::after { animation:cardLightSweep 1.1s ease-out; }
.department-card:hover { border-color:rgba(111,215,255,.54); box-shadow:0 28px 72px rgba(0,0,0,.34),0 0 40px rgba(63,183,255,.13); }

.concept-card { background:linear-gradient(150deg,rgba(15,27,55,.96),rgba(7,12,27,.96)); }
.concept-preview { aspect-ratio:3/2; background:#0a1022; }
.concept-preview::before {
  z-index:1;
  inset:0;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(110,226,255,.18),transparent 32%),
    linear-gradient(180deg,rgba(3,7,18,.03) 35%,rgba(4,9,22,.82) 100%);
  box-shadow:none;
  pointer-events:none;
}
.concept-preview::after { z-index:2; bottom:10%; box-shadow:0 10px 30px rgba(0,0,0,.24); }
.concept-preview .concept-lines { display:none; }
.concept-card:hover .concept-preview img { transform:scale(1.075) translate3d(0,-3px,0); filter:saturate(1.08) contrast(1.08); }
.concept-card::after {
  content:"";
  position:absolute;
  z-index:3;
  top:-35%;
  left:-55%;
  width:30%;
  height:92%;
  background:linear-gradient(90deg,transparent,rgba(214,249,255,.16),transparent);
  transform:skewX(-18deg);
  opacity:0;
  pointer-events:none;
}
.concept-card:hover::after { animation:conceptLightSweep 1.25s ease-out; }
.placeholder-message { color:#8d9bbb; }

.solution-section {
  position:relative;
  overflow:hidden;
  background:linear-gradient(120deg,rgba(10,18,42,.78),rgba(20,13,50,.76),rgba(7,29,50,.72));
  background-size:220% 220%;
  animation:sectionGradient 18s ease-in-out infinite alternate;
}
.solution-card { position:relative; background:linear-gradient(150deg,rgba(17,29,59,.94),rgba(7,12,27,.98)); transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease; }
.solution-card:hover { border-color:rgba(108,213,255,.48); box-shadow:0 30px 75px rgba(0,0,0,.36),0 0 42px rgba(92,125,255,.12); }
.mock-browser { position:relative; }
.mock-browser::after {
  content:"";
  position:absolute;
  z-index:4;
  inset:36px 0 0;
  background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(91,218,255,.16),transparent 34%);
  pointer-events:none;
}
.restaurant-demo.rich-demo { position:relative; padding:0; overflow:hidden; }
.restaurant-demo.rich-demo>img { width:100%; height:100%; object-fit:cover; filter:brightness(.67) saturate(1.08); transform:scale(1.035); transition:transform .7s ease; }
.solution-card:hover .restaurant-demo.rich-demo>img { transform:scale(1.1) translate3d(0,-3px,0); }
.restaurant-demo-overlay { position:absolute; z-index:2; left:20px; right:20px; top:18px; }
.demo-kicker { display:inline-flex; padding:5px 9px; border:1px solid rgba(255,220,165,.28); border-radius:999px; background:rgba(7,9,18,.52); color:#ffd3a0; font-size:.58rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; backdrop-filter:blur(8px); }
.restaurant-demo .demo-headline { width:68%; margin:15px 0 14px; font-size:1.26rem; text-shadow:0 8px 26px rgba(0,0,0,.7); }
.demo-actions { display:flex; gap:7px; }
.demo-actions b { padding:7px 10px; border-radius:7px; background:linear-gradient(100deg,#ffad5c,#ff6d73); color:#190d11; font-size:.58rem; }
.demo-actions b+ b { border:1px solid rgba(255,255,255,.32); background:rgba(8,12,24,.56); color:#fff; }
.demo-location { position:absolute; z-index:2; left:20px; right:20px; bottom:15px; display:flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid rgba(255,255,255,.15); border-radius:9px; background:rgba(3,8,18,.62); backdrop-filter:blur(10px); }
.demo-location span { color:#78e8ff; }
.demo-location small { color:#e7edf9; font-size:.57rem; letter-spacing:.04em; }

.dashboard-layout aside { gap:9px; }
.dashboard-layout aside b { height:26px; display:grid; place-items:center; color:#061020; font-size:.62rem; font-style:normal; }
.dashboard-layout aside i { height:auto; background:transparent; color:#7182a8; font-size:.48rem; font-style:normal; }
.dash-stats i { height:46px; display:flex; flex-direction:column; justify-content:center; padding:7px 8px; font-style:normal; box-shadow:inset 0 1px rgba(255,255,255,.04); }
.dash-stats small { color:#8292b6; font-size:.42rem; }
.dash-stats strong { margin-top:2px; color:#eaf7ff; font-size:.75rem; }
.dash-chart { background:
  linear-gradient(rgba(104,158,255,.06) 1px,transparent 1px),
  linear-gradient(90deg,rgba(104,158,255,.06) 1px,transparent 1px),
  #101f3e;
  background-size:18px 18px;
}
.dash-chart span::after { content:""; position:absolute; right:8%; bottom:-3px; width:7px; height:7px; border-radius:50%; background:#75e6ff; box-shadow:0 0 16px #4bcfff; }
.dash-list { gap:5px; }
.dash-list i { height:auto; min-height:22px; display:grid; grid-template-columns:1fr auto; align-items:center; padding:4px 7px; font-style:normal; }
.dash-list b { color:#dce9ff; font-size:.43rem; }
.dash-list small { grid-column:1; color:#7384a8; font-size:.38rem; }
.dash-list em { grid-column:2; grid-row:1/3; padding:3px 5px; border-radius:999px; background:rgba(50,206,154,.12); color:#72efc1; font-size:.36rem; font-style:normal; }

.automation-flow { overflow:hidden; background:radial-gradient(circle at center,rgba(81,75,255,.18),transparent 52%); }
.workflow-lines { position:absolute; z-index:0; inset:0; width:100%; height:100%; overflow:visible; }
.workflow-lines path { fill:none; stroke:url(#none); stroke:#736bff; stroke-width:1.4; stroke-dasharray:8 10; opacity:.56; animation:workflowDash 5s linear infinite; }
.flow-node,.automation-flow>b { z-index:2; }
.satellite-node { position:absolute; z-index:2; display:grid; place-items:center; width:48px; height:28px; border:1px solid rgba(91,195,255,.34); border-radius:9px; background:rgba(9,21,46,.88); color:#89dbff; font-size:.5rem; box-shadow:0 10px 25px rgba(0,0,0,.24); animation:satelliteFloat 5s ease-in-out infinite alternate; }
.node-a { left:18%; top:27px; }
.node-b { right:17%; top:34px; animation-delay:-1.4s; }
.node-c { left:42%; bottom:20px; animation-delay:-2.8s; }

@keyframes galleryImageFloat {
  from { transform:scale(1.012) translate3d(-.4%,0,0); }
  to { transform:scale(1.045) translate3d(.5%,-.7%,0); }
}
@keyframes cardLightSweep {
  0% { left:-45%; opacity:0; }
  18% { opacity:.7; }
  100% { left:125%; opacity:0; }
}
@keyframes conceptLightSweep {
  0% { left:-55%; opacity:0; }
  18% { opacity:.68; }
  100% { left:135%; opacity:0; }
}
@keyframes workflowDash { to { stroke-dashoffset:-72; } }
@keyframes satelliteFloat { to { transform:translate3d(0,-6px,0); border-color:rgba(169,121,255,.5); } }
@keyframes sectionGradient { to { background-position:100% 55%; } }

/* Keep the homepage hero stable on mobile compositors. */
@media (max-width: 767px) {
  :root { --parallax-y:0px; }
  .page-grid { opacity:.65; animation:none; }
  .ambient { filter:blur(48px); opacity:.18; }
  .hero {
    min-height:calc(100svh - 78px);
    overflow:hidden;
    overflow:clip;
  }
  .hero-copy.reveal,
  .hero-visual.reveal {
    opacity:1;
    transform:none;
    transition:none;
  }
  .hero::before {
    opacity:.65;
    filter:blur(4px);
    transform:none;
    animation:none;
  }
  .hero-visual {
    transform:none;
    transition:none;
  }
  .hero-visual::before {
    opacity:.68;
    filter:blur(3px);
  }
  .hero h1 span,
  .keyword-loop span,
  .button-primary,
  .pulse-dot,
  .logo-frame,
  .orbital,
  .holo-shape,
  .floating-chip {
    animation:none;
  }
  .pulse-dot {
    box-shadow:0 0 0 7px rgba(0,217,255,.08),0 0 12px rgba(0,217,255,.65);
  }
  .logo-frame { transform:none; }
  .orbital { filter:none; }
  .floating-chip { backdrop-filter:none; }
  .hero-particles i {
    opacity:.24;
    box-shadow:0 0 6px rgba(90,225,255,.55);
    animation:mobileParticleDrift 20s ease-in-out infinite alternate;
    animation-delay:calc(var(--particle-index) * -1.8s);
  }
  .hero-particles i:nth-child(3n) {
    box-shadow:0 0 5px rgba(187,132,255,.5);
  }
  .hero-particles i:nth-child(n+7) { display:none; }
}

@keyframes mobileParticleDrift {
  to { transform:translate3d(6px,-10px,0); opacity:.4; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.001ms !important; }
  .hero-particles { display:none; }
  .hero-visual,.page-symbol,.page-hero-visual:not(.cad-stage),.motion-card,.motion-card:hover { transform:none !important; }
  .wire-cube { transform:translate(-50%,-50%) rotateX(-20deg) rotateY(35deg) !important; }
  .department-visual img,.concept-preview img,.restaurant-demo.rich-demo>img,.satellite-node { animation:none !important; transform:none !important; }
  .department-visual::after,.concept-card::after { display:none !important; }
  .concept-lines::after { display:none; }
  .whatsapp-float { animation:none; }
}

/* Featured project presentation */
.solution-actions,.project-actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.solution-actions { margin-top:auto; padding-top:1rem; }
.solution-actions .text-link { display:inline-flex; align-items:center; min-height:44px; }
.featured-solution-card { border-color:rgba(62,221,255,.36); box-shadow:0 22px 60px rgba(3,9,30,.5),0 0 36px rgba(80,112,255,.12); }
.featured-projects-section { position:relative; z-index:1; }
.featured-project-card {
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  overflow:hidden;
  border:1px solid rgba(76,217,255,.32);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(13,27,59,.96),rgba(7,14,34,.98));
  box-shadow:0 26px 72px rgba(1,7,24,.55),0 0 42px rgba(65,217,255,.09);
}
.featured-project-media { position:relative; min-height:430px; overflow:hidden; background:#071124; }
.featured-project-media picture,.featured-project-media img { display:block; width:100%; height:100%; }
.featured-project-media img { object-fit:cover; transition:transform .8s ease,filter .8s ease; }
.featured-project-media::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 52%,rgba(5,11,29,.56) 100%); }
.featured-project-card:hover .featured-project-media img { transform:scale(1.025); filter:saturate(1.08); }
.project-image-label {
  position:absolute;
  z-index:1;
  left:1.25rem;
  bottom:1.25rem;
  padding:.55rem .8rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(5,11,29,.78);
  color:#eefbff;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.04em;
  backdrop-filter:blur(12px);
}
.featured-project-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(2rem,4vw,3.75rem); }
.featured-project-copy h2 { margin:.55rem 0 .25rem; font-size:clamp(2rem,4vw,3.25rem); }
.featured-project-copy>p:not(.project-subtitle) { margin-bottom:1.5rem; }
.project-badge {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.4rem .75rem;
  border:1px solid rgba(64,225,255,.4);
  border-radius:999px;
  background:rgba(38,191,255,.1);
  color:#9cecff;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.project-subtitle { margin:0 0 1rem; color:#aabce4; font-size:1.05rem; font-weight:700; }
.project-actions .button { min-height:46px; }
.project-disclosure { margin:1.15rem 0 0; color:#9db0d8; font-size:.88rem; }
.project-hero .page-hero-inner { grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr); align-items:center; }
.project-hero-preview,.project-browser-frame {
  position:relative;
  overflow:hidden;
  margin:0;
  border:1px solid rgba(72,224,255,.32);
  border-radius:22px;
  background:#050b1b;
  box-shadow:0 30px 80px rgba(0,4,20,.6),0 0 46px rgba(62,199,255,.11);
}
.project-hero-preview { transform:perspective(1200px) rotateY(-3deg) rotateX(1deg); }
.project-browser-top { display:flex; align-items:center; gap:.45rem; min-height:42px; padding:0 1rem; border-bottom:1px solid rgba(139,172,230,.14); background:rgba(11,20,43,.96); }
.project-browser-top>span { width:9px; height:9px; border-radius:50%; background:#7381a8; }
.project-browser-top>span:first-child { background:#ff778c; }
.project-browser-top>span:nth-child(2) { background:#ffd074; }
.project-browser-top>span:nth-child(3) { background:#64e7b3; }
.project-browser-top small { overflow:hidden; margin-left:.45rem; color:#95a7cf; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.project-hero-preview picture,.project-hero-preview img,.project-browser-frame picture,.project-browser-frame img { display:block; width:100%; height:auto; }
.project-preview-section { overflow:hidden; }
.project-browser-frame { max-width:1180px; margin-inline:auto; }
.project-overview-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.project-overview-copy h2 { margin-top:.6rem; }
.project-feature-panel {
  padding:clamp(1.5rem,4vw,2.5rem);
  border:1px solid rgba(93,209,255,.22);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(18,34,68,.88),rgba(8,17,39,.94));
  box-shadow:0 20px 55px rgba(1,7,24,.34);
}
.project-feature-panel h2 { margin-top:0; }
.project-check-list { display:grid; gap:.85rem; margin:1.25rem 0 0; padding:0; list-style:none; }
.project-check-list li { position:relative; padding-left:1.75rem; color:#c7d5f2; }
.project-check-list li::before { content:"âœ“"; position:absolute; left:0; color:#50e4ff; font-weight:900; }
.visual-highlights-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; align-items:stretch; }
.visual-highlight-card { overflow:hidden; margin:0; border:1px solid rgba(96,203,255,.22); border-radius:22px; background:rgba(9,19,43,.92); box-shadow:0 20px 55px rgba(0,5,22,.4); }
.visual-highlight-card picture,.visual-highlight-card picture img { display:block; width:100%; }
.visual-highlight-card picture { overflow:hidden; }
.visual-highlight-card picture img { height:auto; transition:transform .75s ease,filter .75s ease; }
.visual-highlight-card:hover picture img { transform:scale(1.025); filter:saturate(1.08); }
.visual-highlight-card figcaption { display:grid; gap:.25rem; padding:1.2rem 1.35rem 1.35rem; }
.visual-highlight-card figcaption strong { color:#f4f8ff; font-size:1.08rem; }
.visual-highlight-card figcaption span { color:#9fb0d5; }
.mobile-highlight { grid-column:1/-1; display:grid; grid-template-columns:minmax(220px,.55fr) minmax(0,1fr); align-items:center; padding:clamp(1.5rem,4vw,3rem); }
.mobile-preview-frame { justify-self:center; max-width:280px; overflow:hidden; padding:8px; border:1px solid rgba(96,217,255,.35); border-radius:30px; background:#020716; box-shadow:0 25px 60px rgba(0,3,16,.52),0 0 38px rgba(79,209,255,.12); }
.mobile-preview-frame img { display:block; width:100%; height:auto; border-radius:23px; }
.capability-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }

@media (max-width:1080px) {
  .featured-project-card { grid-template-columns:1fr; }
  .featured-project-media { min-height:360px; }
  .featured-project-media::after { background:linear-gradient(0deg,rgba(5,11,29,.32),transparent 50%); }
  .project-hero .page-hero-inner { grid-template-columns:1fr; }
  .project-hero-preview { transform:none; }
  .capability-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .featured-project-media { min-height:250px; }
  .featured-project-copy { padding:1.5rem; }
  .project-actions { width:100%; }
  .project-actions .button { width:100%; }
  .project-overview-grid,.visual-highlights-grid,.mobile-highlight { grid-template-columns:1fr; }
  .mobile-highlight { grid-column:auto; }
  .capability-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .featured-project-media img,.project-hero-preview,.visual-highlight-card picture img { transition:none!important; transform:none!important; }
}
