body,html{height:100%;scroll-behavior:smooth}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}*{box-sizing:border-box}:root{--bg:#ffffff;--bg2:#faf7fb;--card:rgba(255,255,255,0.95);--text:#111827;--muted:rgba(17,24,39,0.72);--line:rgba(17,24,39,0.1);--brand:#6a2c70;--brand2:#a0449f;--shadow:0 18px 50px rgba(17,24,39,0.1);--radius:22px}.page{min-height:100vh;background:radial-gradient(900px 520px at 10% -10%,rgba(160,68,159,.18),transparent 60%),radial-gradient(900px 520px at 95% 0,rgba(106,44,112,.14),transparent 60%),linear-gradient(180deg,var(--bg),var(--bg2));color:var(--text)}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.muted{color:var(--muted)}.header{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,255,255,.84);border-bottom:1px solid var(--line)}.headerInner{justify-content:space-between;padding:12px 0}.brand,.headerInner{display:flex;align-items:center;gap:12px}.brand{border:0;background:transparent;color:inherit;padding:6px 0;cursor:pointer}.brandLogoWrap{width:62px;height:62px;border-radius:999px;border:1px solid rgba(106,44,112,.14);overflow:hidden;background:#ffffff;box-shadow:0 10px 24px rgba(106,44,112,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:6px}.brandLogo{width:100%!important;height:100%!important;object-fit:contain;padding:2px;background:#fff}.brandText{display:grid;grid-gap:2px;gap:2px;text-align:left}.navDesktop{display:none;align-items:center;gap:8px}.navDesktop button{border:0;background:transparent;color:var(--muted);padding:10px;cursor:pointer;border-radius:12px}.navDesktop button:hover{background:rgba(17,24,39,.04);color:var(--text)}.navToggle{display:inline-flex;flex-direction:column;gap:5px;border:1px solid var(--line);background:rgba(255,255,255,.9);padding:10px;border-radius:12px;cursor:pointer}.navToggle span{width:18px;height:2px;background:rgba(17,24,39,.75);border-radius:2px}.navMobile{border-top:1px solid var(--line);background:rgba(255,255,255,.94)}.navMobileInner{display:grid;grid-gap:10px;gap:10px;padding:14px 0 18px}.navMobileInner button{text-align:left;width:100%;border:1px solid var(--line);background:rgba(255,255,255,.9);color:var(--text);padding:12px 14px;border-radius:14px;cursor:pointer}.btn{border:1px solid rgba(106,44,112,.25);background:linear-gradient(135deg,rgba(106,44,112,.98),rgba(160,68,159,.98));color:#fff;padding:12px 16px;border-radius:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 28px rgba(17,24,39,.15);text-decoration:none}.btn:hover{filter:brightness(1.03)}.btnGhost{border:1px solid var(--line);background:rgba(255,255,255,.95);color:var(--text);padding:12px 16px;border-radius:14px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btnGhost:hover{background:rgba(17,24,39,.03)}.btnSmall{border:0;background:linear-gradient(135deg,rgba(106,44,112,.98),rgba(160,68,159,.98));color:#fff;padding:10px 14px;border-radius:12px;font-weight:800;cursor:pointer}.hero{padding:50px 0 28px}.heroGrid{display:grid;grid-gap:20px;gap:20px}.heroGrid,.pill{align-items:center}.pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(106,44,112,.06);border:1px solid rgba(106,44,112,.14);color:rgba(106,44,112,.92);font-weight:800}.hero h1{margin:16px 0 10px;font-size:clamp(34px,4vw,58px);line-height:1.03;letter-spacing:-.02em}.lead{color:var(--muted);font-size:1.05rem;max-width:58ch}.heroCtas{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.heroMeta{margin-top:18px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr;max-width:620px}.metaLabel{color:var(--muted);font-weight:800;font-size:.88rem}.metaValue{font-weight:700}.heroVisual{border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;min-height:320px;display:flex;align-items:center;justify-content:center}.heroVisual img{width:100%!important;height:auto!important;display:block;object-fit:contain;background:#fff;padding:10px}.section{padding:60px 0}.section.alt{background:rgba(106,44,112,.04);border-top:1px solid rgba(106,44,112,.1);border-bottom:1px solid rgba(106,44,112,.1)}.sectionTitle{display:grid;grid-gap:8px;gap:8px;margin-bottom:22px}.eyebrow{font-weight:900;color:rgba(106,44,112,.95);letter-spacing:.02em}.sectionTitle h2{margin:0;font-size:clamp(26px,2.5vw,38px);letter-spacing:-.01em}.grid{display:grid;grid-gap:14px;gap:14px}.card{border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card h3{margin:0 0 8px}.twoCols{display:grid;grid-gap:14px;gap:14px}.servicesGrid{display:grid;grid-gap:18px;gap:18px}.serviceCard{border:1px solid var(--line);background:var(--card);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.serviceImageWrap{height:250px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}.serviceImage{width:100%!important;height:100%!important;display:block;object-fit:contain;padding:8px;transition:transform .35s ease}.serviceCard:hover .serviceImage{transform:scale(1.02)}.serviceContent{padding:18px;display:grid;grid-gap:10px;gap:10px}.list{margin:0;padding-left:18px;display:grid;grid-gap:8px;gap:8px}.actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.sliderWrap{position:relative}.sliderViewport{overflow:hidden;border-radius:24px}.sliderTrack{display:flex;transition:transform .5s ease;will-change:transform}.slide{min-width:100%;padding:8px;flex:0 0 100%}.galleryCard{margin:0;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);cursor:pointer;height:100%}.galleryCard,.galleryImageBox{background:#fff;overflow:hidden}.galleryImageBox{height:320px;display:flex;align-items:center;justify-content:center}.galleryImageBox img,.galleryVideo{width:100%;height:100%;object-fit:contain;padding:8px;display:block}.galleryCard:hover .galleryImageBox img,.galleryCard:hover .galleryVideo{transform:scale(1.02);transition:transform .35s ease}.videoThumbWrap{position:relative;width:100%;height:100%;background:#000}.videoPlayBadge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:54px;color:#fff;background:rgba(0,0,0,.18);pointer-events:none}.galleryCard figcaption{padding:14px 16px;font-weight:700;color:var(--muted)}.sliderArrow{position:absolute;top:45%;transform:translateY(-50%);z-index:3;border:0;width:46px;height:46px;border-radius:999px;background:rgba(106,44,112,.92);color:#fff;font-size:30px;cursor:pointer;box-shadow:0 12px 26px rgba(17,24,39,.18)}.sliderArrow.left{left:-10px}.sliderArrow.right{right:-10px}.sliderDots{display:flex;justify-content:center;gap:8px;margin-top:18px}.dot{width:11px;height:11px;border-radius:999px;border:0;background:rgba(106,44,112,.25);cursor:pointer}.dot.active{background:rgba(106,44,112,.95)}.lightbox{position:fixed;inset:0;background:rgba(10,10,20,.82);z-index:9999;justify-content:center;padding:20px}.lightbox,.lightboxContent{display:flex;align-items:center}.lightboxContent{max-width:1000px;width:100%;max-height:90vh;flex-direction:column}.lightboxMedia{width:100%;max-height:80vh;object-fit:contain;border-radius:18px;background:#fff;padding:10px}.lightboxCaption{color:#fff;margin-top:12px;text-align:center;font-weight:700}.lightboxClose{top:16px;right:22px;width:48px;height:48px;font-size:32px}.lightboxClose,.lightboxNav{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:999px;cursor:pointer}.lightboxNav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:34px}.lightboxPrev{left:16px}.lightboxNext{right:16px}.form input,.form select,.form textarea{width:100%;margin-top:8px;padding:12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.96);color:var(--text);outline:none}.form input:focus,.form select:focus,.form textarea:focus{border-color:rgba(106,44,112,.35);box-shadow:0 0 0 4px rgba(160,68,159,.12)}.row2{display:grid;grid-gap:12px;gap:12px}label{font-weight:800}.req{color:var(--brand)}.consent{display:flex;align-items:flex-start;gap:10px;margin-top:10px}.consent input{margin-top:4px}.notice{margin-top:12px;border:1px solid rgba(25,135,84,.25);background:rgba(25,135,84,.08);padding:12px;border-radius:14px;font-weight:800}.aside .kv{display:grid;grid-template-columns:120px 1fr;grid-gap:8px;gap:8px;padding:10px 0;border-bottom:1px dashed rgba(17,24,39,.12)}.k{color:var(--muted)}.k,.v a{font-weight:900}.v a{color:rgba(106,44,112,.95);text-decoration:none}.v a:hover{text-decoration:underline}.sep{margin:0 8px;color:rgba(17,24,39,.35)}.divider{margin:16px 0;height:1px;background:var(--line)}.footer{border-top:1px solid var(--line);padding:28px 0;background:rgba(255,255,255,.9)}.footerInner{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.footerInfo{display:flex;flex-direction:column;gap:4px;max-width:420px}.footerBrand{font-weight:900;font-size:1.1rem;color:var(--brand)}.footerSlogan{font-size:.95rem}.footerCopy{font-size:.9rem}.footerCredit{margin-top:6px;font-size:.85rem;color:var(--muted)}.footerCredit a{text-decoration:none}.footerCredit strong{color:var(--brand)}.footerCredit a:hover strong{text-decoration:underline}.footerLinks{display:flex;gap:10px;flex-wrap:wrap}.footerLinks a,.footerLinks button{border:0;background:transparent;cursor:pointer;text-decoration:none;color:rgba(106,44,112,.95);font-weight:900;padding:6px 4px}.footerLinks a:hover,.footerLinks button:hover{text-decoration:underline}@media (min-width:768px){.slide{min-width:33.3333%;flex:0 0 33.3333%}}@media (min-width:860px){.navDesktop{display:flex}.navToggle{display:none}.heroGrid{grid-template-columns:1.1fr .95fr}.heroMeta{grid-template-columns:1fr 1fr}.grid,.twoCols{grid-template-columns:repeat(2,minmax(0,1fr))}.row2{grid-template-columns:1fr 1fr}.servicesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.container{width:min(1180px,calc(100% - 20px))}.brandText strong{font-size:.95rem}.brandText .muted{font-size:.82rem}.hero{padding:34px 0 20px}.section{padding:42px 0}.sliderArrow.left{left:6px}.sliderArrow.right{right:6px}.galleryImageBox{height:260px}.lightboxNav{width:44px;height:44px}.videoPlayBadge{font-size:42px}.aside .kv{grid-template-columns:1fr}.footerInner{flex-direction:column;align-items:flex-start}}