:root{--bg: #ffffff;--bg-soft: #fbf6ff;--ink: #251a3d;--ink-soft: #51416f;--ink-mute: #8478a0;--red: #ff3b5c;--coral: #ff6b3d;--orange: #ff8c1a;--amber: #ffb800;--lime: #8bcf2e;--green: #22c55e;--teal: #14b8a6;--cyan: #06b6d4;--sky: #2e8eff;--indigo: #6366f1;--violet: #8b5cf6;--magenta: #d946ef;--pink: #ec4899;--rose: #f43f5e;--pink-deep: #e0306f;--lilac-deep: #7c3aed;--mint-deep: #16a34a;--sky-deep: #1f6feb;--peach-deep: #ea580c;--rainbow: linear-gradient(100deg, #ec4c89 0%, #8b5cf6 100%);--rainbow-soft: linear-gradient(100deg, #ffd9e7 0%, #e3d6fc 100%);--grad-1: linear-gradient(135deg, #ff3b5c, #ff8c1a);--grad-2: linear-gradient(135deg, #ff8c1a, #ffb800);--grad-3: linear-gradient(135deg, #22c55e, #14b8a6);--grad-4: linear-gradient(135deg, #06b6d4, #2e8eff);--grad-5: linear-gradient(135deg, #6366f1, #d946ef);--grad-6: linear-gradient(135deg, #d946ef, #ff3b5c);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--shadow-soft: 0 14px 40px -18px rgba(120, 90, 200, .35);--shadow-card: 0 22px 55px -22px rgba(120, 90, 200, .45);--font-display: "Fraunces", Georgia, serif;--font-body: "Quicksand", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{margin:0;padding:0;background:var(--bg);scroll-behavior:smooth}.section,.hero{scroll-margin-top:80px}body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}img{max-width:100%;display:block}a{color:inherit}button{font-family:inherit;cursor:pointer}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.12;margin:0 0 .4em;color:var(--ink)}h1{font-size:clamp(2.6rem,7vw,5rem);font-weight:800}h2{font-size:clamp(1.9rem,4vw,2.8rem)}h3{font-size:clamp(1.2rem,2.2vw,1.5rem)}p{margin:0 0 1em;color:var(--ink-soft)}.container{max-width:1180px;margin:0 auto;padding:0 24px}.rainbow-text{background:var(--accent, var(--rainbow));-webkit-background-clip:text;background-clip:text;color:transparent}.accent-warm{--accent: linear-gradient(100deg, #ff3b5c, #ff8c1a);--accent-soft: linear-gradient(100deg, #ffe1e6, #ffe9d3);--accent-tint-a: #ffe4ea;--accent-tint-b: #ffe9d0;--accent-bubble-a: #ffb6c4;--accent-bubble-b: #ffd2a5}.accent-citrus{--accent: linear-gradient(100deg, #ff8c1a, #ffb800);--accent-soft: linear-gradient(100deg, #ffe9d3, #fff3c4);--accent-tint-a: #ffe9d0;--accent-tint-b: #fff3b8;--accent-bubble-a: #ffd2a5;--accent-bubble-b: #ffea8b}.accent-fresh{--accent: linear-gradient(100deg, #22c55e, #14b8a6);--accent-soft: linear-gradient(100deg, #d4f4dd, #cdf0ea);--accent-tint-a: #d8f3e1;--accent-tint-b: #cef0ea;--accent-bubble-a: #a3e6b8;--accent-bubble-b: #9ee0d4}.accent-ocean{--accent: linear-gradient(100deg, #06b6d4, #2e8eff);--accent-soft: linear-gradient(100deg, #ccecf2, #d4e7ff);--accent-tint-a: #cdeef5;--accent-tint-b: #d4e3ff;--accent-bubble-a: #9adcea;--accent-bubble-b: #a8c4ff}.accent-berry{--accent: linear-gradient(100deg, #d946ef, #8b5cf6);--accent-soft: linear-gradient(100deg, #f5d8fb, #e1d3fb);--accent-tint-a: #f5d8fb;--accent-tint-b: #e2d3fb;--accent-bubble-a: #eebcf7;--accent-bubble-b: #c5b1f5}.accent-sunset{--accent: linear-gradient(100deg, #f43f5e, #d946ef);--accent-soft: linear-gradient(100deg, #ffd6e0, #f5d8fb);--accent-tint-a: #ffd6e0;--accent-tint-b: #f5d8fb;--accent-bubble-a: #ffb6c8;--accent-bubble-b: #eebcf7}.accent-meadow{--accent: linear-gradient(100deg, #ffb800, #22c55e);--accent-soft: linear-gradient(100deg, #fff3c4, #d4f4dd);--accent-tint-a: #fff3b8;--accent-tint-b: #d8f3e1;--accent-bubble-a: #ffea8b;--accent-bubble-b: #a3e6b8}@keyframes rainbowShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(2deg)}}@keyframes floatSlow{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-22px) rotate(4deg)}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 50%}to{background-position:200% 50%}}@keyframes wiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid rgba(184,158,255,.18)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--ink)}.brand-logo-wrap{position:relative;width:44px;height:44px;display:inline-block;flex-shrink:0}.brand-logo-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff6;pointer-events:none}.brand-logo{width:100%;height:100%;object-fit:contain}.nav{display:flex;gap:4px;align-items:center}.nav a{position:relative;padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--ink-soft);font-weight:500;font-size:.95rem;transition:color .25s,background .25s}.nav a:hover{color:var(--ink);background:var(--bg-soft)}.nav a.active{color:var(--ink);background:var(--rainbow-soft)}.lang-switch{display:flex;background:var(--bg-soft);border:1px solid rgba(184,158,255,.25);border-radius:999px;padding:3px;gap:2px}.lang-switch button{border:none;background:transparent;padding:6px 12px;border-radius:999px;font-weight:600;font-size:.82rem;color:var(--ink-mute);transition:all .25s}.lang-switch button.active{background:var(--rainbow);color:#fff;box-shadow:0 4px 14px -6px #b482e699}.menu-btn{display:none;background:var(--bg-soft);border:1px solid rgba(184,158,255,.25);border-radius:12px;padding:8px 10px}.menu-btn span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;border-radius:2px;transition:transform .25s}.hero{position:relative;padding:clamp(60px,12vh,120px) 0 clamp(60px,10vh,100px);overflow:hidden;background:radial-gradient(ellipse 60% 50% at 15% 20%,#ffe1e9 0%,transparent 60%),radial-gradient(ellipse 50% 60% at 85% 30%,#e6dcff 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 50% 100%,#d6e7ff 0%,transparent 55%),linear-gradient(160deg,#fff6f8,#f3edff,#ecf3ff)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.hero-bg .deco{position:absolute;opacity:.85}.hero-bg .deco.d1{top:12%;left:6%;width:36px;color:var(--red)}.hero-bg .deco.d2{top:22%;right:12%;width:28px;color:var(--amber)}.hero-bg .deco.d3{bottom:25%;left:18%;width:24px;color:var(--green)}.hero-bg .deco.d4{bottom:30%;right:8%;width:32px;color:var(--violet)}.hero-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(30px,5vh,60px) 0}.hero-text{max-width:760px}.hero-text h1{margin-bottom:.4em}.hero-text .name{display:inline-block}.hero-text .subtitle{font-size:clamp(1.1rem,1.4vw,1.25rem);max-width:560px;margin:0 auto 36px;color:var(--ink-soft)}.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;border:none;text-decoration:none;font-weight:600;font-size:.98rem;transition:transform .25s,box-shadow .25s,filter .25s;white-space:nowrap}.btn-primary{color:#fff;background:var(--rainbow);box-shadow:0 12px 30px -14px #b482e6b3}.btn-primary:hover{transform:translateY(-2px);filter:saturate(1.1);box-shadow:0 18px 40px -14px #b482e6b3}.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid rgba(184,158,255,.35)}.btn-ghost:hover{transform:translateY(-2px);border-color:var(--lilac-deep);box-shadow:0 14px 28px -16px #b89eff80}.section{padding:clamp(70px,10vh,110px) 0;position:relative;background:radial-gradient(ellipse 55% 45% at 10% 0%,var(--accent-bubble-a, transparent) 0%,transparent 65%),radial-gradient(ellipse 55% 45% at 90% 100%,var(--accent-bubble-b, transparent) 0%,transparent 65%),linear-gradient(160deg,var(--accent-tint-a, var(--bg)) 0%,var(--accent-tint-b, var(--bg)) 100%)}.section+.section{margin-top:36px}.hero+.section,main>.section:first-child{margin-top:36px}.section-tag{display:inline-block;font-family:var(--font-display);font-style:italic;color:var(--ink-mute);font-size:1rem;margin-bottom:8px}.section-head{max-width:700px;margin:0 auto 50px;text-align:center}.section-head p{font-size:1.08rem}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center}.about-art{position:relative;aspect-ratio:4 / 5;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);background:var(--accent-soft, var(--rainbow-soft))}.about-art img{width:100%;height:100%;object-fit:cover;display:block}.about-text p{font-size:1.06rem}.about-text p+p{margin-top:1em}.about-text .lead{font-family:var(--font-display);font-size:clamp(1.2rem,1.6vw,1.45rem);color:var(--ink);font-style:italic;line-height:1.4}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-card{position:relative;aspect-ratio:1 / 1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .35s,box-shadow .35s;display:block;text-decoration:none;color:inherit;isolation:isolate;border:0;padding:0;font:inherit;cursor:pointer;width:100%}.gallery-card:focus-visible{outline:3px solid var(--lilac-deep);outline-offset:3px}.gallery-card.tint-1{background:var(--grad-warm)}.gallery-card.tint-2{background:var(--grad-sunset)}.gallery-card.tint-3{background:var(--grad-citrus)}.gallery-card.tint-4{background:var(--grad-leaf)}.gallery-card.tint-5{background:var(--grad-ocean)}.gallery-card.tint-6{background:var(--grad-berry)}.gallery-card:hover{transform:translateY(-8px) rotate(-.5deg);box-shadow:0 30px 60px -22px #785ac880}.gallery-card .gallery-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform .5s}.gallery-card:hover .gallery-img{transform:scale(1.05)}.gallery-card .placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;z-index:0}.gallery-card .placeholder svg{width:56px;color:#ffffffd9;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}.gallery-card .caption{position:absolute;inset:auto 0 0 0;padding:18px;background:linear-gradient(to top,#fffffff7,#fff0);font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:space-between;z-index:2}.gallery-more{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;margin:40px auto 0;padding:13px 24px;border-radius:999px;background:var(--accent, var(--rainbow));color:#fff;text-decoration:none;font-weight:600;font-size:.98rem;box-shadow:0 12px 28px -14px #22c55e8c;transition:transform .25s,box-shadow .25s,filter .25s}.gallery-more:hover{transform:translateY(-2px);filter:saturate(1.1);box-shadow:0 18px 34px -14px #22c55e99}.gallery-more svg{width:20px;height:20px}.custom-lead{font-family:var(--font-display);font-size:clamp(1.4rem,2.2vw,1.9rem);font-style:italic;text-align:center;max-width:720px;margin:0 auto 40px;color:var(--ink);line-height:1.3}.custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:40px}.compare-card{background:#fff;border-radius:var(--radius-lg);padding:18px;border:1.5px solid rgba(184,158,255,.2);box-shadow:var(--shadow-soft);transition:transform .3s}.compare-card:hover{transform:translateY(-4px)}.compare-card .img-wrap{aspect-ratio:1 / 1;border-radius:var(--radius-md);overflow:hidden;background:var(--accent-soft, var(--rainbow-soft));margin-bottom:14px}.compare-card .img-wrap img{width:100%;height:100%;object-fit:cover}.compare-card .label{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--ink)}.compare-card .label .badge{font-size:.75rem;padding:3px 10px;border-radius:999px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.compare-card.mine .label .badge{background:linear-gradient(100deg,#ffb6c9,#d4b8ff);color:#fff}.compare-card.real .label .badge{background:linear-gradient(100deg,#b5e8c7,#a8c9ff);color:#fff}.custom-body{max-width:760px;margin:0 auto;text-align:center}.custom-body p{font-size:1.05rem}.notes{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px;margin:40px auto 0}.note{background:#fff;border:1.5px solid rgba(184,158,255,.22);border-radius:var(--radius-md);padding:22px 24px;display:flex;gap:14px;align-items:flex-start}.note .dot{width:12px;height:12px;border-radius:50%;margin-top:8px;flex-shrink:0}.note.ship .dot{background:linear-gradient(135deg,#ffb6c9,#ffd8a8)}.note.pattern .dot{background:linear-gradient(135deg,#b5e8c7,#a8c9ff)}.note p{margin:0;color:var(--ink-soft);font-size:.98rem}.note strong{color:var(--ink)}.extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-card{background:#fff;border-radius:var(--radius-lg);padding:32px;position:relative;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .3s,box-shadow .3s;border:1.5px solid rgba(184,158,255,.18)}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card)}.service-card .glow{position:absolute;inset:-40% 50% auto auto;width:60%;height:60%;border-radius:50%;filter:blur(60px);opacity:.45;z-index:0}.service-card.web .glow{background:var(--green)}.service-card.mini .glow{background:var(--orange)}.service-card .content{position:relative;z-index:1}.service-card h3{margin-bottom:.4em}.service-card .icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.service-card.web .icon{background:linear-gradient(135deg,#22c55e,#14b8a6)}.service-card.mini .icon{background:linear-gradient(135deg,#ff3b5c,#ff8c1a)}.service-card .icon svg{width:30px;height:30px;color:#fff}.service-card .service-image{margin-top:18px;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16 / 10;background:var(--accent-soft, var(--rainbow-soft))}.service-card .service-image img{width:100%;height:100%;object-fit:cover}.contact{text-align:center}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:640px;margin:40px auto 0}.contact-card{position:relative;text-decoration:none;color:var(--ink);background:#fff;border-radius:var(--radius-lg);padding:28px 22px;border:1.5px solid rgba(184,158,255,.22);box-shadow:var(--shadow-soft);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;align-items:center;gap:12px;overflow:hidden}.contact-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-soft, var(--rainbow-soft));opacity:0;transition:opacity .3s;z-index:0}.contact-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card)}.contact-card:hover:before{opacity:1}.contact-card>*{position:relative;z-index:1}.contact-card .icon-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent, var(--rainbow));color:#fff}.contact-card .icon-circle svg{width:26px;height:26px}.contact-card .label-up{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);font-weight:700}.contact-card .value{font-family:var(--font-display);font-weight:600;font-size:1.08rem;word-break:break-word}.footer{padding:40px 0 50px;margin-top:36px;text-align:center;background:var(--bg)}.footer p{margin:0;color:var(--ink-mute);font-size:.92rem}.footer .heart{display:inline-block;width:14px;height:14px;vertical-align:-2px;color:var(--pink-deep)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:translateY(0)}.floating-stitch{position:absolute;pointer-events:none;opacity:.6}@media (max-width: 960px){.about-grid{grid-template-columns:1fr;gap:36px}.about-art{max-width:360px;margin:0 auto;aspect-ratio:1 / 1}.gallery-grid{grid-template-columns:repeat(2,1fr)}.extra-grid,.custom-grid,.notes,.contact-grid{grid-template-columns:1fr}.nav{display:none}.nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:20px;gap:4px;border-bottom:1px solid rgba(184,158,255,.2);box-shadow:0 14px 28px -16px #785ab44d}.nav.open a{width:100%}.menu-btn{display:block}.header{position:sticky}.header-inner{position:relative}}@media (max-width: 560px){.gallery-grid{grid-template-columns:1fr}.container{padding:0 18px}.section{padding:60px 0}.hero{padding:50px 0 60px}.btn{padding:12px 20px;font-size:.95rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.faq-item{background:#fff;border-radius:var(--radius-md);border:1.5px solid rgba(184,158,255,.2);box-shadow:var(--shadow-soft);overflow:hidden;transition:box-shadow .25s,transform .25s}.faq-item[open]{box-shadow:var(--shadow-card)}.faq-item:hover{transform:translateY(-2px)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:600;font-size:1.08rem;color:var(--ink);-webkit-user-select:none;user-select:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:focus-visible{outline:2px solid var(--lilac-deep);outline-offset:-2px}.faq-marker{width:30px;height:30px;border-radius:50%;background:var(--accent, var(--rainbow));color:#fff;font-size:1.25rem;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s}.faq-item[open] .faq-marker{transform:rotate(45deg)}.faq-a{padding:0 22px 20px;color:var(--ink-soft);line-height:1.65}@keyframes lightboxFade{0%{opacity:0}to{opacity:1}}@keyframes lightboxPop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1e1630d1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:80px 60px 60px;animation:lightboxFade .2s ease-out}.lightbox-figure{position:relative;max-width:min(90vw,1100px);max-height:100%;margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;animation:lightboxPop .25s ease-out}.lightbox-image{max-width:100%;max-height:calc(100vh - 220px);border-radius:14px;box-shadow:0 30px 60px -20px #00000080;background:#fff;object-fit:contain}.lightbox-caption{color:#ffffffeb;font-family:var(--font-display);font-size:1.15rem;letter-spacing:.01em;display:flex;align-items:center;gap:14px}.lightbox-counter{font-family:var(--font-body);font-size:.82rem;color:#fff9;padding:3px 10px;border:1px solid rgba(255,255,255,.25);border-radius:999px}.lightbox-nav,.lightbox-close{position:absolute;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;line-height:1;cursor:pointer;transition:background .2s,transform .2s;z-index:1}.lightbox-nav:hover,.lightbox-close:hover{background:#ffffff38;transform:scale(1.06)}.lightbox-nav.prev{left:20px;top:50%;transform:translateY(-50%)}.lightbox-nav.prev:hover{transform:translateY(-50%) scale(1.06)}.lightbox-nav.next{right:20px;top:50%;transform:translateY(-50%)}.lightbox-nav.next:hover{transform:translateY(-50%) scale(1.06)}.lightbox-close{top:20px;right:20px;width:44px;height:44px;font-size:1.6rem}.lightbox-nav:focus-visible,.lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:3px}@media (max-width: 720px){.lightbox-backdrop{padding:70px 12px 20px}.lightbox-nav{width:42px;height:42px;font-size:1.5rem}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-image{max-height:calc(100vh - 200px)}}
