:root{--bg-void:#0b0b10;--bg-void-soft:#131019;--surface:#12121a;--surface-dim:#181824;--surface-elevated:#1a1a28;--surface-active:#1d1b2e;--nyx-violet:#8b5cf6;--nyx-violet-glow:#a855f7;--nyx-blue:#5b6ef5;--text-primary:#f3f4f6;--text-muted:#9ca3af;--text-accent:#c084fc;--ink-dark:#f3f4f6;--border-soft:#8a2be233;--border-dim:#2d2d3f;--font-display:"Space Grotesk", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--text-xs:clamp(.75rem, .72rem + .15vw, .8rem);--text-sm:clamp(.875rem, .84rem + .15vw, .925rem);--text-base:clamp(1rem, .96rem + .2vw, 1.05rem);--text-lg:clamp(1.125rem, 1.05rem + .35vw, 1.25rem);--text-xl:clamp(1.375rem, 1.25rem + .6vw, 1.6rem);--text-2xl:clamp(1.75rem, 1.55rem + 1vw, 2.1rem);--text-3xl:clamp(2.25rem, 1.9rem + 1.7vw, 2.9rem);--text-4xl:clamp(2.75rem, 2.2rem + 2.5vw, 3.75rem);--text-5xl:clamp(3.25rem, 2.5rem + 3.5vw, 4.75rem);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.1;--leading-normal:1.5;--leading-relaxed:1.7;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6rem;--max-width:1200px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:999px;--shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 32px #00000080;--shadow-glow:0 0 32px #8b5cf659;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--z-navbar:50;--z-overlay:80;--z-modal:100}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body html,body body,body #root{background-color:var(--bg-void);min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}.container{max-width:var(--max-width);padding:0 var(--space-3);margin:0 auto}.navbar{z-index:var(--z-navbar);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft);background:#0a0a10c7;position:sticky;top:0}.navbar__inner{justify-content:space-between;align-items:center;min-height:72px;display:flex}.navbar__logo{flex-shrink:0;align-items:center;display:flex}.navbar__links{font-family:var(--font-body);font-size:.9rem;font-weight:var(--weight-medium);align-items:center;gap:2rem;display:flex}.navbar__links a{color:var(--text-muted);padding:.5rem 0;text-decoration:none;transition:color .2s,transform .2s;position:relative}.navbar__links a:after{content:"";background:var(--nyx-violet);width:0;height:1px;transition:width .2s;position:absolute;bottom:0;left:0}.navbar__links a:hover{color:var(--text-primary);transform:translateY(-1px)}.navbar__links a:hover:after{width:100%}.navbar__cta{font-size:var(--text-xs);flex-shrink:0;padding:.55rem 1.1rem}@media (width<=900px){.navbar__links{gap:1.2rem}}@media (width<=720px){.navbar__inner{min-height:64px}.navbar__links{display:none}.navbar__cta{padding:.5rem .9rem}}.logo{width:auto;height:70px;display:block}.btn{font-family:var(--font-mono);font-size:var(--text-sm);border-radius:var(--radius-md);transition:background var(--transition-base), border-color var(--transition-base), transform var(--transition-fast), box-shadow var(--transition-base);align-items:center;gap:.4rem;padding:.85rem 1.5rem;display:inline-flex}.btn--primary{color:var(--text-primary);box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#7c3aed,#a855f7)}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 0 40px #a855f780}.btn--secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);border:1.5px solid var(--nyx-violet);background:#ffffff08}.btn--secondary:hover{background:#8b5cf626;transform:translateY(-2px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.hero{padding:var(--space-6) 0;align-items:center;min-height:90vh;display:flex;position:relative;overflow:hidden}.hero__inner{z-index:1;gap:var(--space-5);grid-template-columns:1.1fr .9fr;align-items:center;display:grid;position:relative}.hero__eyebrow{font-family:var(--font-body);color:var(--nyx-violet-glow);letter-spacing:.03em;margin-bottom:1rem;font-size:1.05rem;font-weight:700;line-height:1.5;display:block}.hero__title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text-primary);margin-bottom:var(--space-3)}.hero__subtitle{font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--text-muted);max-width:42ch;margin-bottom:var(--space-4)}.hero__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.hero__card{font-family:var(--font-mono);font-size:var(--text-sm)}.hero__card-bar{padding:var(--space-2) var(--space-2);background:var(--surface-dim);gap:.4rem;display:flex}.hero__card-dot{border-radius:var(--radius-full);background:var(--nyx-violet);opacity:.5;width:10px;height:10px}.hero__card-dot:nth-child(2){opacity:.3}.hero__card-dot:nth-child(3){opacity:.2}.hero__card-body{padding:var(--space-3);color:var(--text-primary);line-height:var(--leading-relaxed);white-space:pre}.hero__card-key{color:var(--nyx-violet-glow)}.hero__card-string{color:#4ade80}.hero__card-muted{color:var(--text-muted)}.hero__glow{z-index:0;pointer-events:none;width:480px;height:480px;position:absolute;top:50%;left:18%;transform:translate(-50%,-50%)}.hero__glow:before{content:"";background:radial-gradient(ellipse at center, var(--nyx-violet) 0%, transparent 70%);filter:blur(80px);opacity:.35;animation:6s ease-in-out infinite hero-breathe;position:absolute;inset:0}.hero__glow:after{content:"";background:var(--bg-void);border-radius:var(--radius-full);filter:blur(6px);opacity:.5;width:60%;height:14%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)}@keyframes hero-breathe{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.4;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.hero__glow:before{animation:none}}@media (width<=900px){.hero__inner{grid-template-columns:1fr}.hero__title{font-size:var(--text-4xl)}}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.card--padded{padding:var(--space-3)}.services{padding:var(--space-6) 0;width:100%;max-width:100%;overflow-x:hidden}.services__grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;width:100%;max-width:100%;display:grid}.services__card{color:var(--text-primary);border:1px solid var(--border-dim);min-width:0;transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);height:100%;padding:0;overflow:hidden}.services__card:hover{box-shadow:var(--shadow-glow);border-color:var(--nyx-violet);transform:translateY(-5px)}.services__card-content{min-width:0;height:100%;padding:var(--space-3);flex-direction:column;display:flex}.services__card-top{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;min-width:0;display:flex}.services__icon{border-radius:var(--radius-sm);width:50px;height:50px;color:var(--nyx-violet);background:color-mix(in srgb, var(--nyx-violet) 12%, transparent);border:1px solid color-mix(in srgb, var(--nyx-violet) 25%, transparent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.services__card-number{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);opacity:.6;flex-shrink:0}.services__card-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 var(--space-1);overflow-wrap:anywhere;font-size:1.2rem;font-weight:800;line-height:1.3}.services__card-description{font-family:var(--font-body);color:#c4bfd2;overflow-wrap:anywhere;flex:1;margin:0;font-size:1rem;font-weight:500;line-height:1.65}.services__summary{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-dim);font-family:var(--font-body);color:#aaa4b8;flex-wrap:wrap;align-items:center;gap:.45rem;min-width:0;font-size:.9rem;font-weight:600;line-height:1.5;display:flex}.services__summary strong{color:var(--nyx-violet)}.services__summary span{min-width:0}.services__summary span:last-child{align-items:center;gap:.3rem;display:inline-flex}.services__summary-separator{opacity:.5}.services__details-button{width:100%;max-width:100%;margin-top:var(--space-2);border:1px solid var(--border-dim);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;box-sizing:border-box;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem .9rem;font-size:.95rem;font-weight:700;display:flex}.services__details-button:hover{background:var(--nyx-violet);border-color:var(--nyx-violet);color:#fff}.services-modal{z-index:1000;box-sizing:border-box;-webkit-backdrop-filter:blur(8px);background:#0a0812c7;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;animation:.18s ease-out servicesModalFade;display:flex;position:fixed;inset:0;overflow:hidden}.services-modal__window{box-sizing:border-box;background:var(--surface);width:100%;max-width:900px;max-height:min(850px,90vh);color:var(--text-primary);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:0 25px 80px #0006, var(--shadow-glow);animation:.25s ease-out servicesModalOpen;overflow:hidden auto}.services-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border-dim);min-width:0;display:flex}.services-modal__header-info{align-items:center;gap:var(--space-2);min-width:0;display:flex}.services-modal__icon{border-radius:var(--radius-sm);width:62px;height:62px;color:var(--nyx-violet);background:color-mix(in srgb, var(--nyx-violet) 13%, transparent);border:1px solid color-mix(in srgb, var(--nyx-violet) 28%, transparent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.services-modal__eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--nyx-violet);letter-spacing:.08em;margin-bottom:.35rem;display:block}.services-modal__header h2{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2rem);font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:0}.services-modal__close{border:1px solid var(--border-dim);width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.services-modal__close:hover{background:var(--nyx-violet);border-color:var(--nyx-violet);color:#fff}.services-modal__body{padding:var(--space-4);min-width:0}.services-modal__intro{max-width:720px;font-family:var(--font-body);color:#c4bfd2;overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:500;line-height:1.75}.services-modal__separator{height:1px;margin:var(--space-3) 0;background:var(--border-dim)}.services-modal__columns{gap:var(--space-5);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);min-width:0;display:grid}.services-modal__columns>div{min-width:0}.services-modal__heading{margin-bottom:var(--space-2);color:var(--nyx-violet);align-items:center;gap:.55rem;display:flex}.services-modal__heading h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-primary);overflow-wrap:anywhere;margin:0}.services-modal__list,.services-modal__ideal{min-width:0;margin:0;padding:0;list-style:none}.services-modal__list{flex-direction:column;gap:.8rem;display:flex}.services-modal__list li{font-family:var(--font-body);color:#c4bfd2;align-items:flex-start;gap:.7rem;min-width:0;font-size:1rem;font-weight:500;line-height:1.65;display:flex}.services-modal__list li>span{width:23px;height:23px;color:var(--nyx-violet);background:color-mix(in srgb, var(--nyx-violet) 12%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.services-modal__list li p{overflow-wrap:anywhere;min-width:0;margin:0}.services-modal__ideal{flex-direction:column;gap:.8rem;display:flex}.services-modal__ideal li{font-family:var(--font-body);color:#c4bfd2;overflow-wrap:anywhere;padding-left:1.1rem;font-size:1rem;font-weight:500;line-height:1.6;position:relative}.services-modal__ideal li:before{content:"";background:var(--nyx-violet);border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}.services-modal__pricing{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.services-modal__price{min-width:0;padding:var(--space-2);border:1px solid var(--border-dim);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--nyx-violet) 5%, transparent);box-sizing:border-box;align-items:center;gap:.85rem;display:flex}.services-modal__price-icon{border-radius:var(--radius-sm);width:42px;height:42px;color:var(--nyx-violet);background:color-mix(in srgb, var(--nyx-violet) 10%, transparent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.services-modal__price div:last-child{flex-direction:column;gap:.25rem;min-width:0;display:flex}.services-modal__price span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.services-modal__price strong{font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-primary);overflow-wrap:anywhere}.services-modal__footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-dim);background:color-mix(in srgb, var(--nyx-violet) 4%, transparent);min-width:0;display:flex}.services-modal__footer>div{flex-direction:column;gap:.3rem;min-width:0;display:flex}.services-modal__footer strong{font-family:var(--font-display);font-size:var(--text-base);overflow-wrap:anywhere}.services-modal__footer span{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-muted);overflow-wrap:anywhere}.services-modal__footer button{white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.services__status{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-3)}.services__status--error{color:#e5484d}@keyframes servicesModalFade{0%{opacity:0}to{opacity:1}}@keyframes servicesModalOpen{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1100px){.services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.services{padding:var(--space-5) 0;width:100%;max-width:100%;overflow-x:hidden}.services__grid{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}.services__card{width:100%;max-width:100%}.services__card-content{padding:var(--space-3);box-sizing:border-box;width:100%}.services-modal{justify-content:center;align-items:center;width:100vw;max-width:100vw;padding:.75rem;overflow:hidden}.services-modal__window{border-radius:var(--radius-sm);width:100%;max-width:100%;max-height:94vh;overflow:hidden auto}.services-modal__header{padding:var(--space-3)}.services-modal__header-info{gap:.8rem}.services-modal__icon{width:50px;height:50px}.services-modal__body{padding:var(--space-3)}.services-modal__columns{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.services-modal__pricing{grid-template-columns:minmax(0,1fr)}.services-modal__footer{padding:var(--space-3);flex-direction:column;align-items:stretch}.services-modal__footer>div{text-align:center}.services-modal__footer button{width:100%}}.section-title{margin-bottom:var(--space-4)}.section-title--center{text-align:center}.section-title__eyebrow{font-family:var(--font-mono);color:var(--nyx-violet-glow);letter-spacing:.04em;margin-bottom:var(--space-1);font-size:1rem;font-weight:700;line-height:1.5;display:block}.section-title__title{font-family:var(--font-display);color:var(--text-primary);font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.15}.section-title__subtitle{font-family:var(--font-body);color:#c4bfd2;max-width:50ch;margin-top:var(--space-1);font-size:1.1rem;font-weight:500;line-height:1.7}.section-title--center .section-title__subtitle{margin-left:auto;margin-right:auto}.projects{padding:var(--space-6) 0}.projects__grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.projects__grid .project-card{border:1px solid var(--border-dim);height:100%;transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base)}.projects__grid .project-card:hover{border-color:var(--nyx-violet);box-shadow:var(--shadow-glow);transform:translateY(-5px)}.projects__cta{margin-top:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;display:flex}.projects__cta p{margin:0}.projects__cta a{color:var(--nyx-violet-glow);text-decoration:none;transition:color .2s,text-shadow .2s}.projects__cta a:hover{color:var(--text-primary);text-shadow:0 0 10px #8b5cf680}.projects__cta span{margin-left:.2rem;transition:transform .2s;display:inline-block}.projects__cta a:hover span{transform:translate(2px,-2px)}@media (width<=900px){.projects__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.projects__grid{grid-template-columns:1fr}.projects__cta{text-align:center;flex-direction:column;gap:.25rem}}.projects__cta{margin-top:var(--space-4);font-family:var(--font-body);color:#aaa4b8;justify-content:center;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;line-height:1.5;display:flex}.projects__cta a{color:var(--nyx-violet-glow);font-weight:700;text-decoration:none;transition:color .2s,text-shadow .2s}.projects__client-note{margin:var(--space-3) auto 0;text-align:center;max-width:760px;color:var(--text-muted);font-size:var(--text-sm);line-height:1.7}.project-card{overflow:hidden}.project-card__content{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.project-card__thumb{background:linear-gradient(135deg, var(--nyx-blue), var(--nyx-violet));height:160px;transition:filter .25s}.project-card__content:hover .project-card__thumb{filter:brightness(1.12)}.project-card__body{padding:var(--space-3);min-height:245px;color:var(--ink-dark);flex-direction:column;display:flex}.project-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-bottom:var(--space-1)}.project-card__description{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.65;display:-webkit-box;overflow:hidden}.project-card__tags{margin-top:var(--space-2);flex-wrap:wrap;gap:.4rem;padding:0;list-style:none;display:flex}.project-card__tags li{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);background:var(--surface-dim);color:var(--ink-dark);border-radius:var(--radius-full);padding:.25rem .65rem}.project-card__action{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--nyx-violet);align-items:center;gap:.45rem;margin-top:auto;transition:gap .2s,color .2s;display:inline-flex}.project-card__content:hover .project-card__action{gap:.7rem}.project-modal{z-index:1000;-webkit-backdrop-filter:blur(10px);background:#05050ac7;justify-content:center;align-items:center;padding:1.5rem;animation:.2s projectModalFadeIn;display:flex;position:fixed;inset:0}.project-modal__window{background:var(--surface,#fff);border:1px solid var(--border-soft);border-radius:var(--radius-lg);width:min(700px,100%);max-height:min(720px,90vh);animation:.25s projectModalSlideIn;overflow-y:auto;box-shadow:0 24px 80px #00000059}.project-modal__header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.project-modal__eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--nyx-violet);letter-spacing:.08em;margin-bottom:.35rem;display:block}.project-modal__header h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--ink-dark);margin:0}.project-modal__close{border:1px solid var(--border-soft);border-radius:var(--radius-full);width:40px;height:40px;color:var(--ink-dark);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:flex}.project-modal__close:hover{background:var(--surface-dim);color:var(--nyx-violet)}.project-modal__body{padding:1.5rem}.project-modal__intro{font-family:var(--font-body);font-size:var(--text-sm);color:#4f4a5d;margin:0;line-height:1.7}.project-modal__section{margin-top:1.5rem}.project-modal__section h3{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink-dark);margin:0 0 .8rem}.project-modal__heading{color:var(--nyx-violet);align-items:center;gap:.55rem;margin-bottom:.8rem;display:flex}.project-modal__heading h3{margin:0}.project-modal__tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.project-modal__tags li{border-radius:var(--radius-full);background:var(--surface-dim);color:var(--ink-dark);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);padding:.35rem .7rem}.project-modal__list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.project-modal__list li{align-items:flex-start;gap:.65rem;display:flex}.project-modal__list li>span{background:var(--surface-dim);width:22px;height:22px;color:var(--nyx-violet);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.project-modal__list p{font-family:var(--font-body);font-size:var(--text-sm);color:#4f4a5d;margin:0;line-height:1.55}.project-modal__footer{border-top:1px solid var(--border-soft);justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.project-modal__secondary,.project-modal__primary{border-radius:var(--radius-md);min-height:42px;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;justify-content:center;align-items:center;gap:.45rem;padding:.65rem 1rem;text-decoration:none;display:inline-flex}.project-modal__secondary{border:1px solid var(--border-soft);color:var(--ink-dark);background:0 0}.project-modal__secondary:hover{background:var(--surface-dim)}.project-modal__primary{border:1px solid var(--nyx-violet);background:var(--nyx-violet);color:#fff}.project-modal__primary:hover{filter:brightness(1.08)}@keyframes projectModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes projectModalSlideIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.project-modal{padding:.75rem}.project-modal__header,.project-modal__body{padding:1.25rem}.project-modal__footer{flex-direction:column-reverse;align-items:stretch;padding:1rem 1.25rem}.project-modal__secondary,.project-modal__primary{width:100%}}.quote{padding:var(--space-8) 0}.quote__card{max-width:760px;color:var(--text-primary);border:1px solid var(--border-soft);margin:0 auto;padding:clamp(1.25rem,3vw,2rem)}.quote__progress{justify-content:center;align-items:center;gap:.75rem;width:100%;max-width:520px;margin:0 auto 2.5rem;display:flex}.quote__progress-step{color:#ffffff73;width:38px;height:38px;font-family:var(--font-body);background:#ffffff0a;border:1px solid #ffffff29;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;transition:background-color .25s,border-color .25s,color .25s,transform .25s,box-shadow .25s;display:flex;position:relative}.quote__progress-step span{line-height:1}.quote__progress-step:not(:last-child):after{content:"";background:#ffffff1f;width:.75rem;height:2px;position:absolute;left:calc(100% + .75rem)}.quote__progress-step--active{border-color:var(--nyx-violet);background:var(--nyx-violet);color:#fff;transform:scale(1.05);box-shadow:0 0 18px #8b5cf640}.quote__progress-line{background:#ffffff1f;flex:1;width:100%;max-width:100px;height:2px;transition:background-color .3s,opacity .3s}.quote__progress-line--active{background:var(--nyx-violet)}.quote__intro{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.quote__intro-icon{border:1px solid var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-active);width:44px;height:44px;color:var(--nyx-violet-glow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.quote__step-number{font-family:var(--font-body);letter-spacing:.04em;color:var(--nyx-violet-glow);font-size:1rem;font-weight:700;line-height:1.5}.quote__step-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 .45rem;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;line-height:1.2}.quote__step-description{max-width:620px;font-family:var(--font-body);color:#c4bfd2;margin:0;font-size:1.1rem;font-weight:500;line-height:1.7}.quote__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.quote__option-content{flex-direction:column;align-items:flex-start;gap:.4rem;min-width:0;display:flex}.quote__options--stacked{grid-template-columns:1fr}.quote__option{border:1px solid var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-dim);width:100%;color:var(--text-primary);font-family:var(--font-body);text-align:left;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem 1.1rem;font-size:.95rem;display:flex}.quote__option:hover{border-color:var(--nyx-violet);background:var(--surface-active);transform:translateY(-2px)}.quote__option:focus-visible{border-color:var(--nyx-violet);outline:none;box-shadow:0 0 0 3px #8b5cf626,0 0 20px #8b5cf61f}.quote__option--active{border-color:var(--nyx-violet);background:var(--surface-active);box-shadow:0 0 20px #8b5cf62e}.quote__option-head{align-items:center;gap:.55rem;width:100%;display:flex}.quote__option-helper{display:block}.quote__option-head strong{font-family:var(--font-display);font-size:1rem;font-weight:700}.quote__option-arrow{color:var(--nyx-violet-glow);opacity:.7;flex-shrink:0;margin-left:auto}.quote__option-icon{color:var(--nyx-violet-glow);flex-shrink:0;display:flex}.quote__option-description{font-family:var(--font-body);color:#c4bfd2;font-size:.95rem;font-weight:500;line-height:1.6}.quote__option-more{font-family:var(--font-body);color:var(--nyx-violet-glow);margin-top:.1rem;font-size:.85rem;font-weight:700}.quote__educational-box{border:1px dashed var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-elevated);align-items:flex-start;gap:.75rem;margin-top:1.5rem;padding:1rem;display:flex}.quote__educational-box>svg{color:var(--nyx-violet-glow);flex-shrink:0;margin-top:.15rem}.quote__educational-box strong{font-family:var(--font-body);color:var(--text-primary);margin-bottom:.3rem;font-size:.95rem;font-weight:700;display:block}.quote__educational-box p{font-family:var(--font-body);color:#c4bfd2;margin:0;font-size:.95rem;font-weight:500;line-height:1.65}.quote__selected-project{border:1px solid var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-elevated);margin-bottom:1rem;padding:.85rem 1rem}.quote__selected-project span{font-family:var(--font-mono);letter-spacing:.07em;color:var(--text-muted);margin-bottom:.25rem;font-size:.68rem;font-weight:700;display:block}.quote__selected-project strong{font-family:var(--font-display);color:var(--text-primary);font-size:1rem}.quote__checkboxes{flex-direction:column;gap:.65rem;display:flex}.quote__checkbox{border:1px solid var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-dim);color:var(--text-primary);font-family:var(--font-body);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);align-items:flex-start;gap:.75rem;padding:.9rem;font-size:.95rem;display:flex}.quote__checkbox:hover{border-color:var(--nyx-violet)}.quote__checkbox:focus-within{border-color:var(--nyx-violet);box-shadow:0 0 0 3px #8b5cf61f}.quote__checkbox--active{border-color:var(--nyx-violet);background:var(--surface-active)}.quote__checkbox input{cursor:pointer;width:18px;height:18px;accent-color:var(--nyx-violet);flex-shrink:0;margin-top:.1rem}.quote__checkbox-content{flex-direction:column;gap:.2rem;display:flex}.quote__checkbox-content strong{font-weight:650}.quote__checkbox-content small{color:var(--text-muted);font-size:.85rem;font-weight:500;line-height:1.5}.quote__section-divider{background:var(--border-dim);height:1px;margin:1.75rem 0}.quote__modality-heading{margin-bottom:1rem}.quote__ownership-note{border:1px dashed var(--nyx-violet-glow);border-radius:var(--radius-sm);background:var(--surface-elevated);font-family:var(--font-body);color:var(--text-muted);align-items:flex-start;gap:.6rem;margin-top:1rem;padding:1rem;font-size:.9rem;font-weight:500;line-height:1.6;display:flex}.quote__ownership-icon{color:var(--nyx-violet-glow);flex-shrink:0;margin-top:.15rem}.quote__nav{justify-content:space-between;gap:.75rem;margin-top:1.75rem;display:flex}.quote__estimate-main{margin-top:var(--space-4);border:1px solid color-mix(in srgb, var(--nyx-violet) 35%, var(--border-dim));border-radius:var(--radius-md);background:linear-gradient(135deg, color-mix(in srgb, var(--nyx-violet) 10%, transparent), transparent 65%), var(--surface-dim);padding:1.5rem;box-shadow:0 0 0 1px #ffffff05,0 12px 40px #0000002e}.quote__estimate-main-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.quote__estimate-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--nyx-violet);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;display:block}.quote__estimate-main h4{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.quote__estimate-badge{border:1px solid color-mix(in srgb, var(--nyx-violet) 35%, transparent);background:color-mix(in srgb, var(--nyx-violet) 8%, transparent);color:var(--nyx-violet-glow);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;border-radius:999px;align-items:center;padding:.35rem .65rem;display:inline-flex}.quote__price-range{text-align:center;justify-content:center;align-items:baseline;gap:.75rem;margin:1.75rem 0 .75rem;display:flex}.quote__price-range strong{font-family:var(--font-display);font-size:clamp(1.7rem,4vw,2.6rem);font-weight:var(--weight-bold);letter-spacing:-.02em;color:var(--text-primary);line-height:1.1}.quote__price-range span{font-family:var(--font-display);color:var(--text-muted);font-size:1.5rem}.quote__price-description{max-width:650px;font-family:var(--font-body);text-align:center;color:var(--text-muted);margin:0 auto;font-size:1rem;font-weight:500;line-height:1.65}.quote__price-note{border:1px dashed var(--border-dim);border-radius:var(--radius-sm);background:#ffffff05;align-items:flex-start;gap:.75rem;margin-top:1.4rem;padding:1rem;display:flex}.quote__price-note svg{color:var(--nyx-violet-glow);flex-shrink:0;margin-top:.15rem}.quote__price-note p{font-family:var(--font-body);color:#c4bfd2;margin:0;font-size:.95rem;font-weight:500;line-height:1.65}.quote__price-info-button{color:var(--nyx-violet-glow);font-family:var(--font-body);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;margin-top:.85rem;font-size:.9rem;font-weight:600;display:inline-flex}.quote__price-info-button:hover{text-decoration:underline}.quote__price-info-button:focus-visible{outline:2px solid var(--nyx-violet);outline-offset:4px}.quote__price-info{border:1px dashed var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-elevated);align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:1rem;display:flex}.quote__price-info>svg{color:var(--nyx-violet-glow);flex-shrink:0;margin-top:.15rem}.quote__price-info strong{font-family:var(--font-body);color:var(--text-primary);margin-bottom:.4rem;font-size:.95rem;font-weight:700;display:block}.quote__price-info p{font-family:var(--font-body);color:var(--text-muted);margin:0 0 .5rem;font-size:.9rem;font-weight:500;line-height:1.6}.quote__price-info p:last-child{margin-bottom:0}.quote__estimate{border:1px solid var(--border-dim);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.quote__estimate div{border-bottom:1px solid var(--border-dim);font-family:var(--font-body);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;font-size:.95rem;display:flex}.quote__estimate div:last-child{border-bottom:0}.quote__estimate span{color:var(--text-muted);font-weight:500}.quote__estimate strong{color:var(--text-primary);text-align:right;font-weight:700}.quote__summary-card{margin-top:var(--space-3);border:1px solid var(--border-dim);border-radius:var(--radius-md);background:var(--surface-dim);padding:1.25rem}.quote__summary-header{border-bottom:1px solid var(--border-dim);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.quote__summary-header span,.quote__selected-modality-header>div>span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem;display:block}.quote__summary-header h4,.quote__selected-modality-header h4{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.quote__info-button{border:1px solid var(--border-dim);width:38px;height:38px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.quote__info-button:hover{color:var(--text-primary);border-color:var(--nyx-violet);background:color-mix(in srgb, var(--nyx-violet) 8%, transparent)}.quote__info-button:focus-visible{outline:2px solid var(--nyx-violet);outline-offset:3px}.quote__summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:.5rem;display:grid}.quote__summary-item{flex-direction:column;gap:.35rem;min-width:0;padding:1rem;display:flex}.quote__summary-item:nth-child(odd){border-right:1px solid var(--border-dim)}.quote__summary-item:nth-child(-n+2){border-bottom:1px solid var(--border-dim)}.quote__summary-item span{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted)}.quote__summary-item strong{overflow-wrap:anywhere;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.quote__selected-modality{margin-top:var(--space-3);border:1px solid var(--border-dim);border-radius:var(--radius-md);background:linear-gradient(135deg, color-mix(in srgb, var(--nyx-violet) 5%, transparent), transparent), var(--surface-dim);padding:1.25rem}.quote__selected-modality-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.quote__selected-modality-header div{flex-direction:column;gap:.25rem;display:flex}.quote__selected-modality>p{font-family:var(--font-body);color:var(--text-muted);margin:.9rem 0 0;font-size:1rem;font-weight:500;line-height:1.65}.quote__text-button,.quote__details-button{font-family:var(--font-body);font-weight:var(--weight-semibold);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast)}.quote__text-button{color:var(--nyx-violet-glow);font-size:var(--text-sm);background:0 0;border:0;padding:0}.quote__text-button:hover{color:var(--text-primary)}.quote__text-button:focus-visible{outline:2px solid var(--nyx-violet);outline-offset:4px}.quote__details-button{border:1px solid var(--border-dim);border-radius:var(--radius-sm);color:var(--nyx-violet-glow);background:0 0;padding:.55rem .8rem;font-size:.85rem}.quote__details-button:hover{background:var(--surface-active);border-color:var(--nyx-violet)}.quote__details-button:focus-visible{outline:2px solid var(--nyx-violet);outline-offset:3px}.quote__disclaimer{font-family:var(--font-body);color:#aaa4b8;align-items:flex-start;gap:.5rem;margin-top:1rem;font-size:.95rem;font-weight:500;line-height:1.6;display:flex}.quote__disclaimer svg{color:var(--nyx-violet-glow);flex-shrink:0;margin-top:.15rem}.quote__disclaimer p{margin:0}.quote__final-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.quote__final-summary>div{border:1px solid var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-elevated);flex-direction:column;gap:.35rem;padding:.9rem 1rem;display:flex}.quote__final-summary span{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.06em;margin-bottom:.3rem;font-size:.68rem;font-weight:700;display:block}.quote__final-summary strong{font-family:var(--font-display);color:var(--text-primary);font-size:.95rem;line-height:1.3}.quote__final-summary small{font-family:var(--font-body);color:#c4bfd2;margin-top:.2rem;font-size:1rem;font-weight:600;line-height:1.5;display:block}.quote__label{font-family:var(--font-body);color:var(--text-primary);flex-direction:column;gap:.4rem;margin-bottom:1rem;font-size:1rem;font-weight:600;line-height:1.5;display:flex}.quote__label>span{font-family:var(--font-body);color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.5}.quote__label b{color:var(--nyx-violet-glow);margin-left:.2rem}.quote__label small{font-family:var(--font-body);color:#aaa4b8;margin-top:.4rem;font-size:.95rem;font-weight:500;line-height:1.5;display:block}.quote__input{box-sizing:border-box;border:1px solid var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-dim);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);outline:none;padding:.8rem .9rem;font-size:1rem;font-weight:500;line-height:1.5}.quote__input::placeholder{color:var(--text-muted);opacity:.7}.quote__input:focus{border-color:var(--nyx-violet);box-shadow:0 0 0 3px #8b5cf626}.quote__input:disabled{opacity:.65;cursor:not-allowed}.quote__required-note{font-family:var(--font-body);color:var(--text-muted);margin:-.25rem 0 0;font-size:.85rem;font-weight:500;line-height:1.5}.quote__whatsapp-instructions{border-left:2px solid var(--nyx-violet);border-radius:var(--radius-sm);color:var(--text-secondary);background:#8b5cf614;margin:1rem 0 0;padding:.8rem 1rem;font-size:.9rem;line-height:1.5}.quote__error{border-radius:var(--radius-sm);font-family:var(--font-body);color:#ff6b70;background:#e5484d14;border:1px solid #e5484d59;margin-top:1rem;padding:.8rem 1rem;font-size:.95rem;font-weight:600;line-height:1.5}.quote__success{border:1px solid var(--border-soft);max-width:640px;color:var(--text-primary);text-align:center;margin:0 auto;padding:2rem}.quote__success-icon{border:1px solid var(--nyx-violet);background:var(--surface-active);width:56px;height:56px;color:var(--nyx-violet-glow);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.quote__success h3{font-family:var(--font-display);margin:0 0 .75rem;font-size:clamp(1.3rem,3vw,1.6rem)}.quote__success p{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:1rem;font-weight:500;line-height:1.65}.quote__success-note{margin-top:1rem!important;font-size:.9rem!important}.quote__success-restart{margin-top:1.5rem}.quote__modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000c2;justify-content:center;align-items:center;padding:1.5rem;animation:.2s quoteModalFadeIn;display:flex;position:fixed;inset:0}.quote__modal{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-elevated);overscroll-behavior:contain;width:min(760px,100%);max-height:min(850px,90vh);padding:2rem;animation:.25s quoteModalSlideUp;position:relative;overflow-y:auto;box-shadow:0 25px 70px #0000008c,0 0 35px #8b5cf624}.quote__modal-close{border:1px solid var(--border-dim);background:var(--surface-dim);width:40px;height:40px;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:1rem;right:1rem}.quote__modal-close:hover{color:var(--text-primary);border-color:var(--nyx-violet);background:var(--surface-active);transform:rotate(90deg)}.quote__modal-close:focus-visible{outline:2px solid var(--nyx-violet);outline-offset:3px}.quote__modal-header{align-items:center;gap:1rem;padding-right:3rem;display:flex}.quote__modal-icon{border:1px solid var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-active);width:56px;height:56px;color:var(--nyx-violet-glow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.quote__modal-eyebrow{font-family:var(--font-mono);color:var(--nyx-violet-glow);letter-spacing:.08em;margin-bottom:.3rem;font-size:.72rem;font-weight:700;display:block}.quote__modal-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:clamp(1.25rem,3vw,1.5rem)}.quote__modal-devices{border-bottom:1px solid var(--border-dim);color:var(--nyx-violet-glow);opacity:.65;gap:.5rem;margin-top:1.5rem;padding-bottom:1rem;display:flex}.quote__modal-body{padding-top:1.5rem}.quote__modal-body h4{font-family:var(--font-display);color:var(--text-primary);margin:0 0 .7rem;font-size:1.1rem}.quote__modal-body>p{max-width:680px;font-family:var(--font-body);color:#c4bfd2;margin:0;font-size:1rem;font-weight:500;line-height:1.75}.quote__modal-benefits{border-top:1px solid var(--border-dim);margin-top:1.7rem;padding-top:1.4rem}.quote__modal-benefit{font-family:var(--font-body);color:#c4bfd2;align-items:flex-start;gap:.7rem;margin-top:.8rem;font-size:1rem;font-weight:500;line-height:1.65;display:flex}.quote__modal-benefit svg{color:var(--nyx-violet-glow);flex-shrink:0;margin-top:.15rem}.quote__modal-note{border:1px dashed var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-dim);align-items:flex-start;gap:.7rem;margin-top:1.7rem;padding:1rem;display:flex}.quote__modal-note svg{color:var(--nyx-violet-glow);flex-shrink:0;margin-top:.15rem}.quote__modal-note p{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:.9rem;font-weight:500;line-height:1.65}.quote__modal-footer{border-top:1px solid var(--border-dim);justify-content:flex-end;gap:.7rem;margin-top:2rem;padding-top:1.2rem;display:flex}@keyframes quoteModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes quoteModalSlideUp{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.quote__option,.quote__progress-step,.quote__progress-line,.quote__checkbox,.quote__input,.quote__modal,.quote__modal-overlay,.quote__modal-close{transition:none;animation:none}}@media (width<=600px){.quote{padding:3rem 0}.quote__card{padding:1rem}.quote__progress{gap:.5rem;max-width:320px;margin-bottom:2rem}.quote__progress-step{width:34px;height:34px;font-size:.9rem}.quote__progress-step:not(:last-child):after{width:.5rem;left:calc(100% + .5rem)}.quote__progress-line{max-width:60px}.quote__intro{gap:.75rem}.quote__intro-icon{width:38px;height:38px}.quote__step-title{font-size:1.7rem}.quote__step-description{font-size:1rem}.quote__options{grid-template-columns:1fr}.quote__nav{flex-direction:column-reverse}.quote__nav button{width:100%}.quote__estimate-main{padding:1.15rem}.quote__estimate-main-header{align-items:flex-start}.quote__estimate-badge{font-size:.68rem}.quote__price-range{gap:.45rem;margin-top:1.5rem}.quote__price-range strong{font-size:1.55rem}.quote__price-range span{font-size:1.1rem}.quote__price-description{font-size:.95rem}.quote__price-note{padding:.85rem}.quote__estimate div{flex-direction:column;align-items:flex-start;gap:.25rem}.quote__estimate strong{text-align:left}.quote__summary-card,.quote__selected-modality{padding:1rem}.quote__summary-grid{grid-template-columns:1fr}.quote__summary-item{border-bottom:1px solid var(--border-dim);padding:.85rem 0;border-right:0!important}.quote__summary-item:last-child{border-bottom:0}.quote__selected-modality-header{flex-direction:column;align-items:flex-start}.quote__text-button{align-self:flex-start}.quote__details-button{width:100%}.quote__final-summary{grid-template-columns:1fr}.quote__modal-overlay{align-items:flex-end;padding:.75rem}.quote__modal{border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;max-height:94vh;padding:1.25rem}.quote__modal-header{padding-right:2.5rem}.quote__modal-footer{flex-direction:column-reverse}.quote__modal-footer button{width:100%}}@media (width<=380px){.quote__card{padding:.85rem}.quote__progress{gap:.35rem}.quote__progress-step{width:32px;height:32px;font-size:.85rem}.quote__progress-step:not(:last-child):after{width:.35rem;left:calc(100% + .35rem)}.quote__price-range{flex-direction:column;align-items:center;gap:.15rem}.quote__price-range strong{font-size:1.45rem}.quote__price-range span{font-size:1rem}.quote__modal-icon{width:48px;height:48px}}.contact{padding:var(--space-6) 0}.contact__grid{gap:var(--space-3);grid-template-columns:.9fr 1.1fr;align-items:stretch;display:grid}.contact__info{padding:var(--space-4);border:1px solid var(--border-dim);background:radial-gradient(circle at 10% 10%, #8b5cf614, transparent 45%), var(--surface-dim);flex-direction:column;display:flex}.contact__terminal{margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--nyx-violet-glow);display:inline-block}.contact__intro h3{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:1.1}.contact__intro h3 span{color:var(--nyx-violet-glow)}.contact__intro p{max-width:520px;font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-muted);margin:0}.contact__links{margin-top:var(--space-4);flex-direction:column;gap:.7rem;display:flex}.contact__link{border:1px solid var(--border-dim);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);align-items:center;gap:.8rem;padding:.8rem;text-decoration:none;display:flex}.contact__link:hover{border-color:var(--nyx-violet);background:#8b5cf60f;transform:translate(3px)}.contact__link-icon{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--nyx-violet-glow);border:1px solid #8b5cf64d;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact__link>span:nth-child(2){flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.contact__link small{font-family:var(--font-mono);color:var(--text-muted);font-size:.65rem}.contact__link strong{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contact__link>svg{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.contact__link:hover>svg{color:var(--nyx-violet-glow);transform:translate(2px,-2px)}.contact__quote{padding-top:var(--space-3);justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;display:flex}.contact__quote p{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin:0}.contact__quote a{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--nyx-violet-glow);align-items:center;gap:.25rem;text-decoration:none;display:inline-flex}.contact__quote a:hover{color:var(--text-primary)}.contact__form-card{padding:var(--space-4);border:1px solid var(--border-dim)}.contact__form{gap:var(--space-2);flex-direction:column;display:flex}.contact__form-header{margin-bottom:var(--space-1);align-items:center;gap:.7rem;display:flex}.contact__form-header span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--nyx-violet-glow)}.contact__form-header h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.contact__label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);flex-direction:column;gap:.35rem;display:flex}.contact__input{box-sizing:border-box;border:1px solid var(--border-dim);border-radius:var(--radius-sm);background:var(--surface-dim);width:100%;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);outline:none;padding:.75rem .85rem}.contact__input::placeholder{color:var(--text-muted);opacity:.7}.contact__input:focus{border-color:var(--nyx-violet);background:var(--surface-active);box-shadow:0 0 0 2px #8b5cf626}.contact__textarea{resize:vertical;min-height:140px;line-height:1.5}.contact__submit{justify-content:center;align-items:center;gap:.45rem;width:100%;margin-top:.25rem;display:flex}@media (width<=850px){.contact__grid{grid-template-columns:1fr}.contact__info{min-height:auto}.contact__quote{margin-top:var(--space-3)}}@media (width<=600px){.contact{padding:var(--space-6) 0}.contact__info,.contact__form-card{padding:var(--space-3)}.contact__intro h3{font-size:1.8rem}.contact__link strong{font-size:var(--text-xs)}.contact__quote{flex-direction:column;align-items:flex-start}}.contact__message{border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);margin:0;padding:.8rem .9rem;line-height:1.5}.contact__message--success{color:#86efac;background:#22c55e14;border:1px solid #22c55e4d}.contact__message--notice{color:var(--text-secondary);background:#8b5cf614;border:1px solid #8b5cf64d}.contact__message--error{color:#fca5a5;background:#ef444414;border:1px solid #ef44444d}.contact__input:disabled,.contact__submit:disabled{opacity:.65;cursor:not-allowed}
