:root{--ink:#242028;--muted:#716b75;--cream:#fffaf4;--lav:#ebe2fb;--purple:#baa0ed;--purple-dark:#7458a8;--pink:#ffdce9;--lime:#daefb9;--line:#e6dfe8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:'DM Sans',sans-serif;color:var(--ink);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button{font:inherit;cursor:pointer}.container{width:min(1190px,calc(100% - 48px));margin-inline:auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Outfit,sans-serif;line-height:1.11;letter-spacing:-.035em}h1{font-size:clamp(45px,5.6vw,82px);font-weight:700}h2{font-size:clamp(35px,4.3vw,60px);font-weight:650}h3{font-size:24px}em{font-style:normal;color:var(--purple-dark)}p{color:var(--muted)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--purple-dark)}.announcement{background:var(--ink);color:#fff;display:flex;justify-content:center;gap:24px;padding:7px 16px;text-align:center;font-size:11px;font-weight:650;letter-spacing:.035em}.announcement a{color:#d5efb1}.site-header{background:#fffaf4;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(40,20,60,.07)}.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-icon{font-family:Outfit;font-size:40px;color:var(--purple-dark);line-height:1}.brand-type strong{font:800 33px/.9 Outfit;display:block;letter-spacing:-.08em}.brand-dot{color:#a77ce0}.brand-type small{font-size:8px;letter-spacing:.17em;font-weight:800;display:block;margin-top:7px}.custom-logo{max-width:180px;height:auto}.nav-list{display:flex;align-items:center;gap:29px;list-style:none;margin:0;padding:0}.nav-list a{font-size:13px;font-weight:700;transition:color .2s}.nav-list a:hover,.nav-list .current-menu-item>a{color:var(--purple-dark)}.nav-actions{display:flex;gap:12px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:13px 23px;border-radius:50px;font-size:13px;font-weight:800;line-height:1.25;gap:11px;border:1px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--purple-dark);color:#fff}.btn-outline{border-color:var(--ink);background:transparent}.btn-cream{background:#fffaf4;color:var(--ink)}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-block}.text-link:hover{color:var(--purple-dark)}.menu-toggle{display:none;background:transparent;border:0;padding:7px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px}.hero{background:#e8ddf6;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;align-items:center;min-height:626px;gap:35px;padding-top:36px;padding-bottom:63px}.hero-copy{position:relative;z-index:2}.capsule{display:inline-block;background:#faf5ff;padding:9px 15px;border-radius:30px;margin-bottom:20px;color:#675086;letter-spacing:.12em}.hero-copy h1{max-width:680px;margin-bottom:23px}.hero-copy p{font-size:17px;max-width:450px;color:#5c5364;line-height:1.85}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:27px 0 38px}.hero-tags{display:flex;gap:23px;flex-wrap:wrap;font-size:12px;font-weight:800}.hero-art{height:525px;position:relative;display:grid;place-items:center}.hero-image{width:90%;height:93%;background-size:cover;background-position:center;border-radius:46% 46% 35% 35%;border:11px solid #fff4e8;box-shadow:18px 25px 0 rgba(145,112,193,.24)}.floating-sticker{position:absolute;text-align:center;z-index:3;font:800 15px/1.2 Outfit;border-radius:50%;width:115px;height:115px;display:grid;place-content:center;transform:rotate(-13deg)}.sticker-top{top:23px;right:-9px;background:#dbefb7}.sticker-bottom{bottom:18px;left:-5px;background:#ffd2e4;transform:rotate(10deg)}.hero-dot{position:absolute;width:21px;height:21px;border-radius:100%;background:#8d74c6}.hero-dot-one{top:55px;left:22px}.hero-dot-two{bottom:62px;right:0;background:#ffdce9}.feature-strip{background:#dcedbe}.feature-inner{display:flex;justify-content:space-between;gap:15px;padding:16px 0;font-size:11px;letter-spacing:.12em;font-weight:800}.section{padding:107px 0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:38px}.section-top h2{margin:12px 0 0}.section-top-side{max-width:310px}.section-top-side p,.section-top>p{max-width:350px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;border:1px solid #efe8ec;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 22px rgba(49,27,63,.03)}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px rgba(49,27,63,.09)}.service-card>img{width:100%;height:220px;object-fit:cover}.service-icon{height:165px;background:#f1eaf8;display:grid;place-items:center;font-size:78px}.service-card:nth-child(2) .service-icon{background:#fff0f3}.service-card:nth-child(3) .service-icon{background:#e8f3d4}.service-body{padding:29px;display:flex;flex-direction:column;flex:1}.service-body h3{margin:11px 0}.service-body p{font-size:14px}.service-summary{font-size:14px;flex:1}.service-details{display:flex;justify-content:space-between;gap:10px;padding:17px 0;border-top:1px solid var(--line);margin-top:auto;margin-bottom:18px;font-size:12px;color:var(--muted)}.service-details strong{color:var(--ink);font-size:17px}.service-body>.text-link{align-self:start}.demo-note{font-size:12px;color:#827981;font-style:italic;margin-top:19px}.about-section{background:#f1e9f8}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.about-image-wrap{position:relative}.about-image-wrap img{width:100%;height:530px;object-fit:cover;border-radius:210px 210px 22px 22px;display:block}.about-stamp{position:absolute;right:-43px;bottom:55px;background:#dcefbf;border-radius:50%;height:126px;width:126px;display:grid;place-content:center;text-align:center;line-height:1.2;font:800 17px Outfit;transform:rotate(14deg)}.about-copy h2{margin:12px 0 25px}.about-copy>p{font-size:16px;line-height:1.95}.pill-list{display:flex;flex-direction:column;gap:12px;margin:30px 0}.pill-list span{font-size:14px;font-weight:700}.center-title{text-align:center;max-width:640px;margin:0 auto 40px}.center-title h2{margin:12px 0 12px}.gallery-section{background:#fffaf4}.gallery-placeholder{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:45px;background:#f3edf7;padding:40px;border-radius:30px}.placeholder-images{display:flex;gap:10px;align-items:center}.placeholder-images img{width:32%;height:250px;object-fit:cover;border-radius:115px 115px 15px 15px}.placeholder-images img:nth-child(2){height:300px}.gallery-placeholder h3{font-size:32px;margin-top:14px}.center-action{text-align:center;margin-top:35px}.transformation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.transform-card{background:#fff;border-radius:22px;overflow:hidden;padding:12px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:8px}.comparison>div{position:relative}.comparison img{height:300px;width:100%;object-fit:cover;border-radius:12px}.comparison span{position:absolute;left:12px;bottom:15px;background:#fff;padding:5px 12px;border-radius:40px;font-size:12px;font-weight:800}.transform-card h3{margin:15px 12px}.review-section{background:#e9f2d9}.review-shell{display:grid;grid-template-columns:110px 1fr;gap:30px;align-items:center;background:white;padding:48px;border-radius:25px}.google-mark{width:100px;height:100px;border-radius:30px;background:#f7f3fb;display:grid;place-items:center;font:800 65px Outfit;color:#4285f4}.review-shell h3{font-size:32px;margin:12px 0}.review-shell p{max-width:690px}.faq-section{background:#faf3f6}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-grid>div:first-child p{margin:20px 0}.faq-list details{border-bottom:1px solid #dcd3de;padding:20px 2px}.faq-list details:first-child{border-top:1px solid #dcd3de}.faq-list summary{font-size:16px;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;font-weight:400;color:var(--purple-dark)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:14px;margin:13px 0 0}.contact-info p{margin:6px 0;font-size:14px}.map-frame,.map-empty{border-radius:25px;overflow:hidden;display:block}.map-empty{min-height:330px;background:linear-gradient(135deg,#ece1f6,#eff4e6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.map-empty span{font-size:50px}.map-empty h3{margin:9px 0}.map-empty p{max-width:520px}.cta-band{background:#8060b0;color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:62px 0}.cta-inner h2{font-size:45px;margin:9px 0}.cta-inner p{margin:0;color:#f0e6fc}.cta-inner .eyebrow{color:#e8f8c3}.site-footer{background:#26212b;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr;gap:45px;padding:65px 0}.footer-grid p{font-size:13px;color:#c9c1cb}.footer-grid h4{font-size:15px;margin-bottom:22px;letter-spacing:0}.footer-grid>div>a:not(.brand){display:block;color:#c9c1cb;font-size:13px;margin-bottom:12px}.footer-grid>div>a:hover{color:#fff}.footer-brand{margin-bottom:20px}.footer-brand .brand-icon{color:#dbc2ff}.footer-brand .brand-dot{color:#d5f1af}.social-links{display:flex;gap:14px;font-size:12px}.footer-bottom{border-top:1px solid #473f4b;display:flex;justify-content:space-between;gap:20px;padding:23px 0;color:#aaa0af;font-size:11px}.floating-wa{position:fixed;right:22px;bottom:22px;z-index:80;background:#29bd69;color:white;padding:13px 20px;border-radius:35px;box-shadow:0 8px 28px #0003;font-size:14px;font-weight:800}.subhero{background:#e9def7;text-align:center;padding:90px 0 78px}.subhero h1{font-size:clamp(40px,5vw,70px);margin:12px 0 15px}.subhero p{margin:0}.page-content{min-height:400px}.editor-content{max-width:900px;margin:0 auto 35px}.editor-content h2{font-size:35px}.editor-content a{text-decoration:underline}.content-module{margin-top:60px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0 75px}.contact-box{background:#f2eaf7;padding:37px;border-radius:24px}.contact-box h2{font-size:35px}.about-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:60px}.about-page-grid img{height:410px;width:100%;object-fit:cover;border-radius:28px}.about-page-grid h2{font-size:41px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.post-card{background:#fff;padding:24px;border-radius:18px}.post-card img{width:100%;border-radius:12px}.post-card h2{font-size:24px;margin-top:18px}.single-content img{max-width:100%;height:auto}
@media(max-width:1080px){.nav-list{gap:15px}.nav-list a{font-size:12px}.hero-grid{min-height:540px}.hero-art{height:450px}.about-grid{gap:45px}.about-stamp{right:-12px}}@media(max-width:820px){.nav-wrap{height:76px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);box-shadow:0 16px 20px #0002;padding:18px 24px}.primary-nav.is-open{display:block}.nav-list{flex-direction:column;align-items:stretch;gap:0}.nav-list a{display:block;padding:13px 0;font-size:15px}.hero-grid{grid-template-columns:1fr;text-align:center;gap:0;padding-top:70px}.hero-copy p{margin-inline:auto}.hero-tags,.hero-buttons{justify-content:center}.hero-art{height:500px;width:min(560px,100%);margin:auto}.feature-inner{flex-wrap:wrap;justify-content:center}.section{padding:72px 0}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.faq-grid{grid-template-columns:1fr;gap:40px}.about-image-wrap{max-width:580px}.footer-grid{grid-template-columns:repeat(2,1fr)}.gallery-placeholder{grid-template-columns:1fr}.cta-inner{align-items:start;flex-direction:column}.contact-grid{grid-template-columns:1fr}.about-page-grid{grid-template-columns:1fr}}@media(max-width:560px){.container{width:min(100% - 32px,1190px)}.announcement{font-size:10px;gap:5px;flex-direction:column;line-height:1.3}.nav-book{display:none}.brand-type strong{font-size:27px}.brand-icon{font-size:34px}.brand-type small{font-size:7px}.hero-grid{padding-top:48px;padding-bottom:34px}.hero-copy h1{font-size:45px}.hero-copy p{font-size:15px}.hero-art{height:345px}.hero-image{border-width:7px;box-shadow:9px 12px 0 #9270c13d}.floating-sticker{width:79px;height:79px;font-size:11px}.sticker-top{right:-2px}.sticker-bottom{left:0}.hero-tags{gap:12px;font-size:10px}.feature-inner{font-size:9px}.section-top{display:block}.section-top-side{margin-top:20px}.service-grid,.transformation-grid,.post-grid{grid-template-columns:1fr}.service-card>img{height:200px}.about-image-wrap img{height:350px}.about-stamp{height:90px;width:90px;font-size:12px}.placeholder-images img{height:155px}.placeholder-images img:nth-child(2){height:185px}.gallery-placeholder{padding:22px}.review-shell{grid-template-columns:1fr;padding:25px}.google-mark{height:70px;width:70px;font-size:47px}.faq-grid{gap:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-bottom{flex-direction:column}.cta-inner h2{font-size:36px}.floating-wa{right:12px;bottom:12px;padding:12px 16px}}
.booking-modal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:20px}.booking-modal.is-open{display:flex}.booking-backdrop{position:absolute;inset:0;background:#17121acb}.booking-dialog{position:relative;width:min(540px,100%);max-height:94vh;overflow:auto;background:var(--cream);border-radius:25px;padding:32px;box-shadow:0 24px 70px #0005}.booking-dialog h2{font-size:34px;margin:8px 0}.booking-dialog p{font-size:14px}.booking-close{position:absolute;right:18px;top:13px;font-size:30px;background:none;border:0}.booking-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.booking-dialog label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:800}.booking-dialog input,.booking-dialog select{width:100%;border:1px solid #d7cddd;border-radius:12px;background:white;padding:11px;font:inherit;font-size:14px;color:var(--ink)}.booking-dialog form .btn{grid-column:1/-1;margin-top:5px}.booking-dialog small{font-size:11px;color:var(--muted)}@media(max-width:560px){.booking-dialog{padding:23px}.booking-dialog h2{font-size:28px}.booking-dialog form{grid-template-columns:1fr}}
