*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--void);color:var(--ink);margin:0}body:before{content:"";pointer-events:none;z-index:1;mix-blend-mode:overlay;background-image:repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 3px);position:fixed;inset:0}.container{max-width:1280px;padding:0 var(--sp-5);z-index:2;margin:0 auto;position:relative}.container.narrow{max-width:720px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{z-index:50;-webkit-backdrop-filter:blur(16px)saturate(160%);border-bottom:1px solid var(--ink-08);height:var(--header-h);background:#08080bb8;align-items:center;display:flex;position:sticky;top:0}.app-header .container{justify-content:space-between;align-items:center;gap:var(--sp-5);width:100%;display:flex}.nav{gap:var(--sp-6);display:flex}.nav-link{color:var(--ink-72);cursor:pointer;font-size:13px;font-family:var(--font-sans);transition:color var(--dur-base) var(--ease-out);background:0 0;border:0;padding:4px 0;position:relative}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link.active:after{content:"";background:var(--lime);width:4px;height:4px;box-shadow:0 0 12px var(--lime);border-radius:999px;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.eyebrow-row{align-items:center;gap:var(--sp-3);color:var(--fg3);display:flex}.eyebrow-row .num{font-family:var(--font-mono);letter-spacing:.14em;color:var(--lime);white-space:nowrap;font-size:11px}.eyebrow-row .rule{background:linear-gradient(90deg, var(--ink-12), transparent);flex:1;height:1px}.eyebrow-row .label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-56);white-space:nowrap;font-size:11px}.btn{font-family:var(--font-sans);border-radius:var(--r-md);cursor:pointer;white-space:nowrap;transition:all var(--dur-base) var(--ease-out);border:1px solid #0000;align-items:center;gap:10px;padding:12px 20px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--lime);color:var(--void);font-weight:600;box-shadow:0 0 0 1px #b8ff3d66,0 8px 24px -8px #b8ff3d80}.btn-primary:hover{background:var(--lime);color:var(--void);transform:translateY(-1px);box-shadow:0 0 0 1px #b8ff3d99,0 12px 32px -8px #b8ff3db3}.btn-accent{background:var(--cyan);color:var(--void);font-weight:600;box-shadow:0 0 0 1px #00e5ff66,0 8px 24px -8px #00e5ff80}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #00e5ff99,0 12px 32px -8px #00e5ffb3}.btn-ghost{border-color:var(--ink-24);color:var(--ink);background:#ffffff05}.btn-ghost:hover{border-color:var(--ink-40);color:var(--ink);background:#ffffff0f}.btn-sm{padding:8px 14px;font-size:13px}.btn-lg{padding:14px 24px;font-size:15px}.hero{padding:96px 0 120px;position:relative;overflow:hidden}.hero:before{content:"";z-index:0;background:var(--aurora);filter:blur(8px);animation:aurora-drift 18s var(--ease-out) infinite;position:absolute;inset:-10%}.hero:after{content:"";z-index:1;pointer-events:none;background-image:linear-gradient(90deg,#f5f5f80a 1px,#0000 1px),linear-gradient(#f5f5f80a 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 80%);mask-image:radial-gradient(#000 30%,#0000 80%)}.hero .container{z-index:3;position:relative}.hero h1.display{font-family:var(--font-display);letter-spacing:-.05em;margin:24px 0 0;font-size:clamp(64px,9vw,132px);font-weight:700;line-height:.94}.hero h1 em{color:var(--ink);font-style:normal}.hero h1 .hl{color:var(--lime);text-shadow:0 0 32px #b8ff3d80}.hero h1 .hl-c{color:var(--cyan);text-shadow:0 0 32px #00e5ff99}.hero-meta{grid-template-columns:1fr 1fr;align-items:end;gap:64px;margin-top:56px;display:grid}.hero-meta p{color:var(--ink-72);max-width:56ch;margin:0;font-size:18px;line-height:1.5}.hero-cta{flex-wrap:wrap;gap:12px;display:flex}.readout{background:var(--ink-08);border-top:1px solid var(--ink-12);border-bottom:1px solid var(--ink-12);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:80px;display:grid}.readout .cell{background:var(--void);flex-direction:column;gap:6px;padding:24px;display:flex;position:relative}.readout .cell .k{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-56);font-size:10px}.readout .cell .v{font-family:var(--font-sans);letter-spacing:-.03em;color:var(--ink);font-size:32px;font-weight:700}.readout .cell .v .unit{color:var(--lime);margin-left:4px;font-size:18px;font-weight:500}.project-grid{gap:var(--sp-5);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=980px){.project-grid{grid-template-columns:repeat(2,1fr)}}.project-card{border:1px solid var(--ink-12);border-radius:var(--r-lg);cursor:pointer;transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);background:linear-gradient(#ffffff08,#ffffff01);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--dur-base) var(--ease-out);background:linear-gradient(#b8ff3d00,#00e5ff00);position:absolute;inset:0}.project-card:hover{border-color:var(--ink-24);transform:translateY(-3px);box-shadow:0 24px 48px -16px #0009,0 0 0 1px #00e5ff26}.project-card .thumb{aspect-ratio:4/3;background:var(--surface-2);position:relative;overflow:hidden}.project-card .thumb:after{content:"";pointer-events:none;background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.project-card .mock-art{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.05em;text-shadow:0 0 40px #0006;justify-content:center;align-items:center;font-size:52px;font-weight:700;display:flex;position:absolute;inset:0}.project-card .body{flex-direction:column;gap:8px;padding:18px 20px 20px;display:flex}.project-card .ttl{letter-spacing:-.015em;color:var(--ink);font-size:17px;font-weight:600}.project-card .sub{color:var(--ink-56);font-size:13px;line-height:1.4}.project-card .meta{border-top:1px solid var(--ink-08);justify-content:space-between;align-items:baseline;margin-top:6px;padding-top:12px;display:flex}.project-card .price{font-family:var(--font-mono);color:var(--lime);font-size:17px;font-weight:600}.project-card .upd{font-family:var(--font-mono);color:var(--ink-40);letter-spacing:.04em;font-size:11px}.project-card .top-row{justify-content:space-between;align-items:center;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--ink-24);color:var(--ink-72);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.tag:hover{color:var(--ink);border-color:var(--ink-40)}.tag.active{background:var(--ink);color:var(--void);border-color:#0000}.tag.bone{color:var(--ink);background:#ffffff0f;border-color:#0000}.tag.lime{background:var(--lime);color:var(--void);border-color:#0000;font-weight:600}.tag.clay{background:var(--pink);color:var(--void);border-color:#0000;font-weight:600}.tag.cyan{background:var(--cyan);color:var(--void);border-color:#0000;font-weight:600}.stack-chip{font-family:var(--font-mono);border:1px solid var(--ink-12);color:var(--ink-72);background:#ffffff0a;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 6px;font-size:11px;display:inline-flex}.stack-chip img{filter:invert()opacity(.9);width:14px;height:14px}section{padding:112px 0;position:relative}section.tight{padding:64px 0}.section-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:16px 0 0;font-size:clamp(40px,5.5vw,72px);font-weight:700;line-height:1.04}.section-title em{font-style:normal}.section-title .hl-c{color:var(--cyan);text-shadow:0 0 24px #00e5ff80}.section-title .hl{color:var(--lime);text-shadow:0 0 24px #b8ff3d80}.services-section{background:var(--bg);border-top:1px solid var(--ink-08);border-bottom:1px solid var(--ink-08);position:relative;overflow:hidden}.services-section:before{content:"";z-index:0;filter:blur(20px);background:radial-gradient(50% 50% at 80% 30%,#8a6cff2e 0%,#0000 60%),radial-gradient(50% 50% at 10% 80%,#00e5ff1f 0%,#0000 60%);position:absolute;inset:-20% -10%}.services-section .container{z-index:2;position:relative}.process{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px;display:grid}.process .step{border:1px solid var(--ink-12);border-radius:var(--r-lg);transition:border-color var(--dur-base), transform var(--dur-base);background:linear-gradient(#ffffff0a,#ffffff03);flex-direction:column;gap:14px;padding:28px 24px 36px;display:flex;position:relative}.process .step:hover{border-color:var(--cyan);transform:translateY(-2px)}.process .step .n{font-family:var(--font-mono);letter-spacing:.14em;color:var(--lime);align-items:center;gap:8px;font-size:11px;display:inline-flex}.process .step .n:before{content:"";background:var(--lime);width:6px;height:6px;box-shadow:0 0 10px var(--lime);border-radius:999px}.process .step .h{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.02em;font-size:22px;font-weight:700}.process .step .d{color:var(--ink-56);font-size:14px;line-height:1.5}.detail-hero{grid-template-columns:1.4fr 1fr;gap:64px;padding-top:32px;display:grid}.detail-hero .gallery{background:var(--surface-2);border:1px solid var(--ink-12);border-radius:var(--r-xl);aspect-ratio:4/3;position:relative;overflow:hidden}.detail-hero .gallery .mock-art{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.05em;text-shadow:0 0 80px #00e5ff4d;justify-content:center;align-items:center;font-size:96px;font-weight:700;display:flex;position:absolute;inset:0}.detail-hero .gallery .grid-overlay{pointer-events:none;background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(#ffffff0a 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.thumbs{gap:8px;margin-top:12px;display:flex}.thumbs .thumb{background:var(--surface-2);border:1px solid var(--ink-12);cursor:pointer;width:80px;height:60px;transition:border-color var(--dur-fast);border-radius:6px}.thumbs .thumb.active{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}.detail-side h1{font-family:var(--font-display);letter-spacing:-.045em;margin:12px 0 16px;font-size:64px;font-weight:700;line-height:1}.detail-side h1 em{font-style:normal}.detail-side .lead{color:var(--ink-72);margin:0 0 24px;font-size:18px;line-height:1.5}.detail-side .price-row{align-items:baseline;gap:12px;display:flex}.detail-side .price-row .price{font-family:var(--font-mono);color:var(--lime);text-shadow:0 0 24px #b8ff3d4d;font-size:40px;font-weight:700}.detail-side .price-row .lic{font-family:var(--font-mono);color:var(--ink-56);letter-spacing:.04em;font-size:13px}.detail-side .buy-row{gap:12px;margin-top:24px;display:flex}.detail-side .tags-row{flex-wrap:wrap;gap:6px;margin:24px 0;display:flex}.included{background:var(--ink-08);border:1px solid var(--ink-12);border-radius:var(--r-lg);grid-template-columns:repeat(2,1fr);gap:1px;display:grid;overflow:hidden}.included .item{background:var(--bg);transition:background var(--dur-fast);align-items:flex-start;gap:14px;padding:22px 24px;display:flex}.included .item:hover{background:var(--surface-1)}.included .item svg{color:var(--lime);flex-shrink:0;margin-top:1px}.included .item .t{color:var(--ink);font-size:14px;font-weight:600}.included .item .d{color:var(--ink-56);margin-top:4px;font-size:13px;line-height:1.5}.quote-form{border:1px solid var(--ink-12);border-radius:var(--r-xl);background:linear-gradient(#ffffff05,#ffffff01);grid-template-columns:1fr 1fr;gap:16px;padding:32px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field.full{grid-column:1/-1}.field label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-56);font-size:10px}.field input,.field textarea,.field select{font-family:var(--font-sans);border:1px solid var(--ink-12);border-radius:var(--r-md);color:var(--ink);transition:border-color var(--dur-fast), box-shadow var(--dur-fast), background var(--dur-fast);background:#ffffff08;outline:none;padding:12px 14px;font-size:15px}.field input::placeholder,.field textarea::placeholder{color:var(--ink-40)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--cyan);background:#ffffff0d;box-shadow:0 0 0 3px #00e5ff33}.field textarea{resize:vertical;min-height:120px}.budget-row{flex-wrap:wrap;gap:8px;display:flex}.app-footer{background:var(--void);color:var(--ink);padding:120px 0 48px;position:relative;overflow:hidden}.app-footer:before{content:"";z-index:0;background:radial-gradient(60% 80% at 50% 100%,#b8ff3d1a 0%,#0000 70%),radial-gradient(40% 50% at 10% 30%,#00e5ff14 0%,#0000 70%);position:absolute;inset:0}.app-footer .container{flex-direction:column;gap:64px;display:flex}.app-footer .big-mark{font-family:var(--font-display);letter-spacing:-.06em;color:var(--ink);background:linear-gradient(180deg, var(--ink) 0%, var(--ink-40) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(80px,16vw,220px);font-weight:700;line-height:.85}.app-footer .big-mark .dot{color:var(--lime);-webkit-text-fill-color:var(--lime);text-shadow:0 0 32px #b8ff3d99}.app-footer .cols{border-top:1px solid var(--ink-12);grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-top:48px;display:grid}.app-footer .col h4{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-40);margin:0 0 16px;font-size:11px;font-weight:500}.app-footer .col a{color:var(--ink-72);border-bottom:0;padding:4px 0;font-size:14px;display:block}.app-footer .col a:hover{color:var(--cyan);border-bottom:0}.app-footer .col p{color:var(--ink-72);max-width:38ch;margin:0;font-size:14px;line-height:1.55}.app-footer .bottom{border-top:1px solid var(--ink-12);font-family:var(--font-mono);color:var(--ink-40);letter-spacing:.06em;justify-content:space-between;align-items:center;padding-top:24px;font-size:11px;display:flex}.app-footer .legal-links{gap:18px;display:flex}.app-footer .legal-links a{color:var(--ink-40);text-decoration:none}.app-footer .legal-links a:hover{color:var(--ink)}.spacer-lg{height:64px}.spacer-md{height:32px}.featured-head{justify-content:space-between;align-items:end;gap:32px;margin-bottom:40px;display:flex}.featured-head .right{gap:12px;display:flex}.testimonial{grid-template-columns:1fr 1fr;align-items:end;gap:96px;display:grid}.testimonial blockquote{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(28px,3.4vw,44px);font-weight:600;line-height:1.2}.testimonial blockquote em{color:var(--lime);text-shadow:0 0 24px #b8ff3d66;font-style:normal}.testimonial .who{align-items:center;gap:14px;display:flex}.testimonial .avatar{background:linear-gradient(135deg, var(--cyan), var(--violet));border:1px solid var(--ink-24);width:48px;height:48px;font-family:var(--font-mono);color:var(--void);border-radius:999px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.testimonial .who .n{color:var(--ink);font-size:14px;font-weight:600}.testimonial .who .r{color:var(--ink-56);font-size:13px}.crumbs{font-family:var(--font-mono);color:var(--ink-40);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;padding-top:16px;font-size:11px;display:flex}.crumbs button{cursor:pointer;color:var(--ink-40);font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0}.crumbs button:hover{color:var(--cyan)}.success{border:1px solid var(--lime);border-radius:var(--r-xl);text-align:center;background:linear-gradient(135deg,#b8ff3d26,#00e5ff1a);padding:40px;box-shadow:0 0 64px -16px #b8ff3d66}.success h3{font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);margin:0 0 8px;font-size:40px;font-weight:700}.success p{color:var(--ink-72);margin:0}.success p .mono{color:var(--cyan);font-family:var(--font-mono)}@media (width<=1100px){.detail-hero{grid-template-columns:1fr;gap:40px}.hero-meta{gap:40px}.testimonial{gap:48px}.app-footer .cols{grid-template-columns:1fr 1fr;gap:40px}}@media (width<=980px){.process,.readout{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.hero{padding:64px 0 72px}.hero h1.display{font-size:clamp(44px,11vw,72px)}.hero-meta{grid-template-columns:1fr;align-items:start;gap:32px;margin-top:36px}.hero-meta p{font-size:16.5px}.readout{margin-top:56px}.testimonial{grid-template-columns:1fr;align-items:start;gap:32px}.detail-side h1{font-size:clamp(34px,8vw,52px)}.featured-head{flex-direction:column;align-items:flex-start;gap:20px}.app-footer{padding:72px 0 40px}.app-footer .container{gap:40px}}@media (width<=720px){.container{padding:0 18px}.project-grid,.process,.included{grid-template-columns:1fr}.quote-form{grid-template-columns:1fr;padding:24px 20px}.app-footer .cols{grid-template-columns:1fr;gap:32px}.app-footer .bottom{flex-direction:column;align-items:flex-start;gap:10px}.detail-side .buy-row{flex-direction:column}.detail-side .buy-row .btn{justify-content:center;width:100%}.success{padding:28px 20px}.success h3{font-size:28px}.hero-cta .btn{justify-content:center;width:100%}}@media (width<=480px){.readout{grid-template-columns:1fr}.readout .cell{padding:18px}}
