:root,html[data-theme=light]{--bg: #f7f8fc;--surface: #ffffff;--surface-2: #f6f2ff;--text: #1d1830;--muted: #5f5777;--border: #e3d8f6;--shadow: 0 14px 32px rgba(55, 29, 85, .1);--header-overlay: rgba(255, 255, 255, .9);--header-shadow: 0 10px 24px rgba(50, 25, 77, .08);--header-height: 78px;--accent: #ff4fd8;--accent-2: #b14cff;--accent-soft: rgba(255, 79, 216, .14);--glow: rgba(255, 79, 216, .28);--nav-active-bg: rgba(255, 79, 216, .1);--text-on-accent: #ffffff;--overlay: rgba(16, 9, 30, .72)}html[data-theme=dark]{--bg: #0f0b19;--surface: #171126;--surface-2: #120f20;--text: #f7f2ff;--muted: #baafce;--border: #36284f;--shadow: 0 18px 40px rgba(8, 5, 15, .48);--header-overlay: rgba(15, 11, 25, .9);--header-shadow: 0 12px 24px rgba(0, 0, 0, .35);--accent: #ff4fd8;--accent-2: #b14cff;--accent-soft: rgba(255, 79, 216, .2);--glow: rgba(255, 79, 216, .45);--nav-active-bg: rgba(255, 79, 216, .2);--text-on-accent: #ffffff;--overlay: rgba(4, 2, 10, .78)}:root{--surface-muted: var(--surface-2);--text-muted: var(--muted)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);line-height:1.65}a{color:inherit;transition:background-color .16s,border-color .16s,transform .16s,box-shadow .16s,color .16s}a:hover{color:var(--accent)}img{max-width:100%;height:auto}button{font:inherit;transition:background-color .16s,border-color .16s,transform .16s,box-shadow .16s,color .16s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{width:min(1120px,92vw);margin:0 auto}main{min-height:100vh}.section{--section-accent-opacity: 0;padding:88px 0;scroll-margin-top:calc(var(--header-height) + 20px);background-image:linear-gradient(90deg,rgba(255,79,216,var(--section-accent-opacity)),#b14cff00 18%);box-shadow:inset 0 0 0 0 transparent;transition:background-color .16s,border-color .16s,transform .16s,box-shadow .16s,color .16s}.section--active{--section-accent-opacity: .08;background-image:linear-gradient(90deg,color-mix(in srgb,var(--accent-soft),transparent 35%),#b14cff00 28%);box-shadow:inset 5px 0 color-mix(in srgb,var(--accent),transparent 55%),inset 0 0 24px -12px var(--glow)}.section-muted{background:var(--surface-muted)}.section-hero{padding-top:120px}h1,h2,h3,h4,p{margin:0}h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.18}h2{margin-bottom:1.25rem;font-size:clamp(1.6rem,2.4vw,2.2rem)}p+p{margin-top:.9rem}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;margin-bottom:.9rem}.tagline{margin-top:.85rem;font-size:clamp(1.1rem,2.5vw,1.45rem);color:var(--text-muted)}.lead{max-width:66ch;margin:1rem 0 1.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:600;text-decoration:none;padding:.72rem 1.4rem;border:1px solid transparent;transition:background-color .16s,border-color .16s,transform .16s,box-shadow .16s,color .16s}.btn-primary{color:var(--text-on-accent);background:linear-gradient(120deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 10px 22px color-mix(in srgb,var(--glow),transparent 8%)}.btn-primary:hover{filter:brightness(1.06);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-soft),transparent 15%),0 14px 28px -10px var(--glow);transform:translateY(-1px)}.site-header{position:sticky;top:0;z-index:30;height:var(--header-height);background:var(--header-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:var(--header-shadow)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-actions{display:flex;align-items:center;margin-left:auto;gap:.6rem}.brand{text-decoration:none;font-weight:700}.brandmark{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.1rem .25rem}.brandmark__text{position:relative;z-index:1;font-size:1.1rem;letter-spacing:.03em;font-weight:800;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.brandmark__sparkles{position:absolute;inset:0;pointer-events:none}.brandmark__sparkle{position:absolute;color:var(--accent);opacity:.42;transform:scale(.88);transform-origin:center;animation:twinkle 3.4s ease-in-out infinite}.brandmark__sparkle svg{width:100%;height:100%;display:block;fill:currentColor;filter:drop-shadow(0 0 6px var(--glow))}.main-nav{display:flex;align-items:center;gap:.9rem}.navlink{position:relative;text-decoration:none;color:var(--muted);padding:.4rem .65rem;border-radius:9999px;border:1px solid transparent;background:#b14cff00;transition:background-color .16s,border-color .16s,transform .16s,box-shadow .16s,color .16s}.navlink:after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.12rem;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-2) 100%);transform:scaleX(.3);transform-origin:center;opacity:0;transition:background-color .16s,border-color .16s,transform .16s,box-shadow .16s,color .16s}.navlink:hover{color:var(--accent);background:var(--accent-soft)}.navlink:hover:after{transform:scaleX(.7);opacity:.65}.navlink--active{color:var(--accent);background:var(--nav-active-bg);border-color:color-mix(in srgb,var(--accent),transparent 70%);font-weight:600}.navlink--active:after{opacity:1;transform:scaleX(1)}.theme-toggle{width:42px;height:42px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface),var(--accent-soft) 32%);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent),transparent 80%);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.theme-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent),transparent 58%);box-shadow:0 0 0 2px var(--accent-soft),0 8px 18px -8px var(--glow)}.theme-toggle__icon{line-height:1;font-size:1rem}.menu-toggle{display:none;border:1px solid var(--border);background:var(--surface);border-radius:10px;width:42px;height:42px;padding:9px 8px;flex-direction:column;justify-content:space-between}.menu-toggle span{display:block;height:2px;width:100%;background:var(--text)}.stack{max-width:74ch}.service-grid,.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card,.gallery-card,.gallery-group{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.card-interactive{transition:background-color .16s,border-color .16s,transform .16s,box-shadow .16s,color .16s}.card-interactive:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent),var(--border) 55%);box-shadow:0 14px 28px -14px var(--glow),var(--shadow)}.card,.gallery-card{padding:1.1rem}.card h3,.gallery-group h3{margin-bottom:.45rem}.service-bullets{margin:.9rem 0 0;padding:0;list-style:none;display:grid;gap:.55rem}.service-bullets li{display:flex;align-items:flex-start;gap:.55rem;color:color-mix(in srgb,var(--text),var(--muted) 38%);line-height:1.55}.service-bullets__icon{color:var(--accent);font-weight:700;line-height:1.4;margin-top:.05rem}.gallery-groups{display:grid;gap:1.2rem}.gallery-group{padding:1rem}.gallery-group-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);padding:.2rem .65rem;font-size:.76rem;line-height:1.3;font-weight:600;white-space:nowrap}.gallery-card-button{width:100%;text-align:left;cursor:pointer}.gallery-card-button:hover{transform:scale(1.01)}.gallery-card-head{margin-bottom:.7rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}.gallery-card h4{margin:0;color:var(--text)}.gallery-media{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4 / 3}.gallery-card img{width:100%;height:100%;border-radius:12px;object-fit:cover;display:block;border:1px solid var(--border);background:color-mix(in srgb,var(--surface),var(--accent-soft) 28%)}.gallery-overlay{position:absolute;inset:0;padding:.85rem;display:flex;align-items:flex-end;justify-content:space-between;gap:.7rem;background:linear-gradient(180deg,color-mix(in srgb,var(--surface),transparent 88%) 12%,color-mix(in srgb,var(--surface),transparent 24%));opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}.gallery-overlay-title{color:var(--text)}.gallery-overlay__title{font-weight:600;font-size:.92rem}.gallery-overlay__icon{width:2rem;height:2rem;border-radius:999px;color:var(--text);border:1px solid color-mix(in srgb,var(--text),transparent 45%);background:color-mix(in srgb,var(--surface),transparent 42%);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1}.gallery-card-button:hover .gallery-overlay,.gallery-card-button:focus-visible .gallery-overlay,.gallery-card-button:focus .gallery-overlay{opacity:1;transform:translateY(0)}.gallery-placeholder{width:100%;height:100%;border-radius:12px;border:1px dashed color-mix(in srgb,var(--accent),var(--border) 55%);background:color-mix(in srgb,var(--surface),var(--accent-soft) 36%);color:var(--text-muted);display:grid;place-items:center;text-align:center;padding:.9rem;font-size:.92rem}.before-after-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}figcaption{margin-bottom:.35rem;color:var(--text-muted);font-size:.86rem}.more-link{margin-top:1rem;display:inline-block;text-decoration:none;color:var(--accent);font-weight:600}.lightbox-overlay{position:fixed;inset:0;background:var(--overlay);z-index:90;display:grid;place-items:center;padding:1rem}.lightbox-content{width:min(980px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:0 30px 50px #0a101d47;padding:1.2rem;position:relative}.lightbox-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.7rem;margin-right:2.1rem}.lightbox-caption{display:grid;gap:.35rem}.lightbox-caption p{color:var(--text-muted);font-size:.92rem}.lightbox-close{position:absolute;top:.6rem;right:.6rem;border:0;width:2rem;height:2rem;border-radius:999px;font-size:1.5rem;line-height:1;cursor:pointer;background:var(--accent-soft);color:var(--accent)}.lightbox-nav{display:flex;gap:.5rem}.lightbox-nav button{min-width:2.2rem;height:2.2rem;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface),var(--accent-soft) 30%);color:var(--text);cursor:pointer}.lightbox-nav button:disabled{opacity:.45;cursor:not-allowed}.lightbox-body{margin-top:.5rem;display:grid;gap:.8rem}.lightbox-before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.lightbox-single img,.lightbox-before-after img{width:100%;height:100%;border-radius:12px;object-fit:cover;border:1px solid var(--border)}.scroll-to-top{position:fixed;right:20px;bottom:20px;z-index:50;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .22s ease,transform .22s ease}.scroll-to-top--visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-to-top__btn{width:3rem;height:3rem;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--surface);background:linear-gradient(120deg,var(--accent) 0%,var(--accent-2) 100%);box-shadow:0 10px 20px color-mix(in srgb,var(--glow),transparent 10%)}.scroll-to-top__btn svg{width:1.35rem;height:1.35rem;fill:currentColor}.scroll-to-top__btn:hover{transform:translateY(-2px);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-soft),transparent 12%),0 14px 24px -12px var(--glow)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-item{display:flex;align-items:center;gap:.55rem}.contact-item__icon{width:1.45rem;height:1.45rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent),transparent 72%);background:var(--accent-soft)}.contact-item__icon svg{width:.9rem;height:.9rem;fill:currentColor}.contact-form{display:grid;gap:.8rem;width:100%}.contact-form label{font-weight:600}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:.75rem;font:inherit;color:var(--text);background:var(--surface)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:color-mix(in srgb,var(--accent),transparent 40%);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-soft),transparent 30%)}.contact-form__checkbox{display:flex;align-items:center;gap:.55rem;font-weight:500}.contact-form__checkbox input{width:auto}.contact-form__status{border-radius:10px;padding:.65rem .75rem;font-weight:500}.contact-form__status--success{color:color-mix(in srgb,var(--accent-2),var(--text) 20%);background:color-mix(in srgb,var(--accent-soft),var(--surface) 30%);border:1px solid color-mix(in srgb,var(--accent),transparent 60%)}.contact-form__status--error{color:var(--text);background:color-mix(in srgb,#ff6f7d,transparent 84%);border:1px solid color-mix(in srgb,#ff6f7d,transparent 58%)}.hidden{display:none}.site-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.footer-inner{padding:1.2rem 0}.about-stats{margin-top:1.5rem;display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem}.about-stat-card{min-width:0;display:grid;gap:.45rem;align-content:center;justify-items:start;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 24px #1b2b4e14;transition:background-color .16s,border-color .16s,transform .16s,box-shadow .16s,color .16s}.about-stat-card:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--surface),var(--accent-soft) 28%)}.about-stat-icon-wrap{width:2.75rem;height:2.75rem;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface),var(--accent-soft) 36%);color:var(--accent)}.about-stat-icon{width:1.4rem;height:1.4rem}.about-stat-card:hover .about-stat-icon,.about-stat-icon-wrap:hover .about-stat-icon{animation:icon-shake .42s ease 1}.about-stat-value{min-width:0;max-width:100%;font-size:1.6rem;line-height:1.2;font-weight:700;white-space:nowrap}.about-stat-label{min-width:0;max-width:100%;color:var(--text-muted);overflow-wrap:anywhere}@media(min-width:640px){.about-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.about-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.84)}50%{opacity:.78;transform:scale(1)}}@keyframes icon-shake{0%{transform:rotate(0)}30%{transform:rotate(-10deg)}55%{transform:rotate(8deg)}75%{transform:rotate(-5deg)}to{transform:rotate(0)}}@media(min-width:768px){.navlink{padding:.46rem .78rem}.navlink--active{background:color-mix(in srgb,var(--accent-soft),transparent 10%);border-color:color-mix(in srgb,var(--accent),transparent 68%)}.navlink:after{height:2.5px;bottom:.1rem}.section--active{--section-accent-opacity: .08;box-shadow:inset 6px 0 color-mix(in srgb,var(--accent),transparent 52%),inset 0 0 30px -14px var(--glow)}}@media(max-width:860px){.service-grid,.gallery-grid,.contact-layout,.lightbox-before-after{grid-template-columns:1fr}.menu-toggle{display:inline-flex}.header-actions{gap:.45rem}.main-nav{position:absolute;top:var(--header-height);left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:.65rem 4vw 1rem;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.navlink{width:100%}.contact-form{gap:.9rem}.contact-details,.contact-form{width:100%}.navlink--active{background:var(--nav-active-bg)}.lightbox-header{margin-right:0}.lightbox-nav{width:100%;justify-content:flex-end;margin-top:.35rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.about-stat-card,.about-stat-icon,.brandmark__sparkle,.navlink,.gallery-card-button,.gallery-overlay,.section,.theme-toggle,.btn-primary,.scroll-to-top,.scroll-to-top__btn{transition:none;animation:none!important;transform:none!important}}
