:root{--ink:#2a1930;--muted:#735f79;--pink:#ff4fa1;--purple:#8c5cff;--blue:#55c7ff;--paper:#fff9fd;--white:#fff;--shadow:0 28px 85px rgba(100,53,104,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 10% 8%,rgba(255,79,161,.09),transparent 30%),radial-gradient(circle at 88% 12%,rgba(85,199,255,.10),transparent 26%),linear-gradient(180deg,#fffafd,#fff 48%,#fff8fc);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 34px));margin:auto}h1,h2,h3{margin:0;line-height:.98}h1,h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.045em}h1{font-size:clamp(3.6rem,8vw,7.6rem)}h2{font-size:clamp(2.6rem,5vw,5.1rem)}p{color:var(--muted);line-height:1.75}.site-header{position:fixed;inset:0 0 auto;z-index:100;padding:15px 0;transition:.25s}.site-header.scrolled .nav-shell{background:rgba(255,255,255,.9);box-shadow:0 12px 40px rgba(82,39,78,.10);border-color:rgba(92,58,91,.08)}.nav-shell{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:10px 13px 10px 17px;border-radius:999px;border:1px solid transparent;backdrop-filter:blur(18px);transition:.3s}.brand{display:flex;align-items:center;gap:11px}.brand-orb{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;color:#d63884;background:white;border:3px solid transparent;background:linear-gradient(white,white) padding-box,conic-gradient(var(--pink),#ffd764,#76e7c4,var(--blue),var(--purple),var(--pink)) border-box;font-family:Georgia,serif;font-size:1.35rem;font-weight:700}.brand b{display:block;font-family:Georgia,serif;font-size:1.08rem}.brand small{display:block;text-transform:uppercase;letter-spacing:.08em;color:#987995;font-weight:800;font-size:.67rem;margin-top:2px}.nav-shell nav{display:flex;gap:22px;align-items:center;font-weight:850;font-size:.91rem}.nav-shell nav a{position:relative}.nav-shell nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;border-radius:9px;background:linear-gradient(90deg,var(--pink),var(--purple));transition:.25s}.nav-shell nav a:hover:after{right:0}.menu-btn{display:none;border:0;background:white;width:46px;height:46px;border-radius:50%;font-size:1.1rem;box-shadow:0 10px 30px rgba(70,40,70,.1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 24px;border-radius:999px;font-weight:900;transition:.25s}.btn:hover{transform:translateY(-3px)}.btn-primary{color:#fff;background:linear-gradient(100deg,var(--pink),#ec4dce 55%,var(--purple));box-shadow:0 15px 40px rgba(255,79,161,.26)}.btn-light{background:white;border:1px solid rgba(75,44,83,.11);box-shadow:0 12px 35px rgba(63,34,68,.07)}.btn-white{background:white;color:#6f2761}.pill{display:inline-flex;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(255,79,161,.14);font-weight:850;font-size:.87rem;box-shadow:0 8px 30px rgba(157,80,142,.07)}.gradient-text{background:linear-gradient(95deg,var(--pink),var(--purple),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:950;color:#b02c73;display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--pink),var(--purple));border-radius:9px}.hero{min-height:100vh;display:grid;align-items:center;padding:128px 0 78px}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:70px;align-items:center}.hero h1{margin-top:22px}.lead{font-size:1.15rem;max-width:700px;margin:28px 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.trust{margin-top:25px;color:#7e6783;font-weight:800;font-size:.86rem}.trust span{color:#f6b522;letter-spacing:2px;margin-right:8px}.hero-art{min-height:650px;position:relative}.hero-photo{position:absolute;inset:20px 0 28px 58px;border-radius:45px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(2.2deg);background:#f7d5e7}.hero-photo img{width:100%;height:100%;object-fit:cover}.float-card{position:absolute;z-index:3;padding:16px 19px;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.8);backdrop-filter:blur(18px);border-radius:22px;box-shadow:0 16px 45px rgba(78,46,77,.15);font-weight:900;animation:floaty 4.2s ease-in-out infinite}.f1{left:0;top:102px}.f2{right:-20px;bottom:84px;animation-duration:5.2s;animation-direction:reverse}.bubble{position:absolute;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,102,187,.15),rgba(101,200,255,.28));box-shadow:inset 0 0 22px rgba(255,255,255,.9)}.b1{width:105px;height:105px;right:-35px;top:60px;animation:drift 8s ease-in-out infinite}.b2{width:55px;height:55px;left:22px;bottom:52px;animation:drift 6s ease-in-out infinite reverse}@keyframes floaty{50%{transform:translateY(-14px) rotate(-1deg)}}@keyframes drift{50%{transform:translate(8px,-18px) scale(1.08)}}.marquee{overflow:hidden;border-block:1px solid rgba(99,55,94,.08);background:rgba(255,255,255,.58)}.marquee-track{display:flex;width:max-content;animation:marq 24s linear infinite;font-family:Georgia,serif;font-weight:700}.marquee-track span{padding:16px 18px;white-space:nowrap}@keyframes marq{to{transform:translateX(-50%)}}section{padding:110px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}.section-head p{max-width:520px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{min-height:300px;padding:28px;border-radius:30px;background:rgba(255,255,255,.84);border:1px solid rgba(97,57,95,.07);box-shadow:0 18px 50px rgba(75,43,72,.07);transition:.35s}.card:hover{transform:translateY(-8px)}.card>span{font-size:2.1rem;display:block;margin-bottom:76px}.card h3{font-size:1.25rem;margin-bottom:10px}.dark-section{background:#2d1735;color:#fff;overflow:hidden}.dark-section p{color:#d8c5dd}.dark-section .eyebrow{color:#ff94c6}.portfolio-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:280px;gap:16px}.portfolio-card{position:relative;border-radius:27px;overflow:hidden;background:#5b3860;color:white}.portfolio-card.featured{grid-row:span 2}.portfolio-card img,.masonry-image img{width:100%;height:100%;object-fit:cover;transition:.55s}.portfolio-card:hover img{transform:scale(1.06)}.portfolio-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(30,8,37,.7))}.image-label{position:absolute;z-index:2;top:16px;left:16px;padding:8px 11px;border-radius:999px;background:rgba(31,12,36,.45);backdrop-filter:blur(12px);font-size:.76rem;font-weight:900}.image-copy{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}.image-copy strong{display:block;font-size:1.05rem}.image-copy small{display:block;color:#eedff1;margin-top:5px}.placeholder{height:100%;display:grid;place-items:center;font-size:3rem;background:linear-gradient(135deg,#74447f,#b6478e)}.center-action{text-align:center;margin-top:34px}.empty-state{text-align:center;border:1px dashed rgba(120,82,125,.25);border-radius:30px;padding:58px 24px;background:rgba(255,255,255,.05)}.empty-state span{font-size:2.6rem}.empty-state h3{font-size:1.5rem;margin-top:14px}.dark-section .empty-state p{color:#d8c5dd}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.about-image{position:relative}.about-image>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:42px;box-shadow:var(--shadow);transform:rotate(-2deg)}.quote-note{position:absolute;right:-35px;bottom:34px;max-width:235px;background:white;border-radius:22px;padding:17px 19px;box-shadow:0 18px 50px rgba(61,35,62,.14);font-family:Georgia,serif;font-weight:700;transform:rotate(3deg)}.about-grid h2{margin:10px 0 24px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.mini-grid b{background:white;border:1px solid rgba(97,57,95,.08);border-radius:17px;padding:15px}.soft-section{background:#fff8fc}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-card{background:white;border-radius:28px;overflow:hidden;border:1px solid rgba(97,57,95,.07);box-shadow:0 18px 50px rgba(75,43,72,.07);transition:.3s}.blog-card:hover{transform:translateY(-7px)}.blog-image{height:235px;background:linear-gradient(135deg,#f7d8e9,#dcc9ff);display:grid;place-items:center;font-size:2.5rem}.blog-image img{width:100%;height:100%;object-fit:cover}.blog-copy{padding:24px}.blog-copy small{color:#9a7d98}.blog-copy h3{font-size:1.35rem;margin:9px 0}.blog-copy p{font-size:.95rem}.blog-copy b{color:#b02c73}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review{padding:27px;background:white;border-radius:28px;border:1px solid rgba(97,57,95,.07);box-shadow:0 16px 50px rgba(80,45,78,.07)}.review span{color:#f5b21b;letter-spacing:2px}.cta-section{padding-top:20px}.cta{min-height:400px;border-radius:44px;padding:56px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.35),transparent 20%),linear-gradient(125deg,#ff65aa,#dd62cf 55%,#7e69ff);color:white;box-shadow:0 30px 80px rgba(202,72,159,.24)}.cta .eyebrow{color:white}.cta h2{margin:8px 0 20px}.cta p{color:#fff0fb}.cta .btn{justify-self:end}.site-footer{padding:35px 0 48px;border-top:1px solid rgba(85,50,83,.08)}.footer-grid{display:flex;justify-content:space-between;gap:22px;align-items:center;color:#7d697f;font-size:.9rem}.page-hero{padding:180px 0 80px}.page-hero p{font-size:1.1rem;max-width:700px}.page-section{padding-top:20px;min-height:50vh}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.filter{border:1px solid rgba(92,55,90,.12);background:white;border-radius:999px;padding:11px 16px;font-weight:850;cursor:pointer}.filter.active{background:var(--ink);color:white}.masonry{columns:3 300px;column-gap:18px}.masonry-item{break-inside:avoid;background:white;border:1px solid rgba(97,57,95,.07);box-shadow:0 16px 50px rgba(80,45,78,.06);border-radius:27px;overflow:hidden;margin-bottom:18px}.masonry-item.hidden{display:none}.masonry-image{min-height:260px;max-height:520px}.masonry-image img{height:auto;min-height:260px}.masonry-item>div:last-child{padding:20px}.masonry-item small{color:#b02c73;font-weight:900}.masonry-item h3{margin:7px 0}.masonry-item p{font-size:.94rem;margin-bottom:0}.article-page{padding:170px 0 100px}.article-head{max-width:900px}.article-head h1{font-size:clamp(3rem,6vw,6rem);margin:16px 0}.article-head small{color:#9a7d98}.back-link{display:inline-block;margin-bottom:26px;font-weight:850;color:#b02c73}.article-image{max-width:1050px;margin-top:40px}.article-image img{width:100%;max-height:650px;object-fit:cover;border-radius:38px;box-shadow:var(--shadow)}.article-body{max-width:820px;padding-top:45px}.article-body p{font-family:Georgia,serif;font-size:1.15rem;color:#4d3d52}.center{text-align:center}.big-emoji{font-size:3.5rem}.reveal{opacity:0;transform:translateY(26px);transition:.8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}#cursorGlow{width:360px;height:360px;border-radius:50%;position:fixed;z-index:-2;pointer-events:none;background:radial-gradient(circle,rgba(255,96,177,.11),transparent 68%);transform:translate(-50%,-50%)}@media(max-width:980px){.nav-shell nav{display:none;position:absolute;top:84px;left:0;right:0;background:white;border-radius:24px;padding:22px;flex-direction:column;box-shadow:var(--shadow)}.nav-shell nav.open{display:flex}.menu-btn{display:block}.nav-cta{display:none}.hero-grid,.about-grid,.cta{grid-template-columns:1fr}.hero-art{min-height:540px}.service-grid{grid-template-columns:1fr 1fr}.portfolio-grid{grid-template-columns:1fr 1fr}.portfolio-card.featured{grid-row:auto;grid-column:span 2}.blog-grid,.reviews-grid{grid-template-columns:1fr}.cta .btn{justify-self:start}.footer-grid{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.container{width:min(100% - 24px,1180px)}.site-header{padding:8px 0}.brand small{display:none}.hero{padding-top:110px}.hero-grid{gap:28px}.hero-art{min-height:420px}.hero-photo{inset:14px 10px 10px 30px;border-radius:31px}.f1{top:65px;font-size:.75rem;padding:11px 13px}.f2{right:0;bottom:38px;font-size:.75rem;padding:11px 13px}section{padding:82px 0}.section-head{align-items:flex-start;flex-direction:column}.service-grid{grid-template-columns:1fr}.card{min-height:240px}.card>span{margin-bottom:38px}.portfolio-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.portfolio-card,.portfolio-card.featured{min-width:82vw;height:410px;grid-column:auto;scroll-snap-align:center}.quote-note{right:8px}.mini-grid{grid-template-columns:1fr}.cta{padding:34px 25px;border-radius:30px}.page-hero{padding-top:145px}.masonry{columns:1}.article-page{padding-top:145px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* ===== V3 Spectacular brand layer ===== */
body:before{
  content:"";position:fixed;inset:0;z-index:-4;pointer-events:none;opacity:.44;
  background-image:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.96) 0 1px,transparent 1.5px),
    radial-gradient(circle at 70% 40%,rgba(255,255,255,.82) 0 1px,transparent 1.4px);
  background-size:72px 72px,113px 113px;
}
.brand-logo-crop{
  width:52px;height:52px;border-radius:16px;overflow:hidden;position:relative;flex:0 0 auto;
  background:#fff7ef;box-shadow:0 8px 24px rgba(193,49,119,.20);
  border:2px solid rgba(255,255,255,.9);
}
.brand-logo-crop img{
  position:absolute;width:100%;height:216%;max-width:none;left:0;top:50%;transform:translateY(-50%);
  object-fit:cover;object-position:center;
}
.spectacular-hero{position:relative;isolation:isolate;overflow:hidden}
.hero-copy{position:relative;z-index:4}
.hero-brand-lockup{
  display:inline-flex;align-items:center;gap:14px;margin-bottom:18px;padding:9px 17px 9px 9px;
  border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.72);backdrop-filter:blur(18px);
  border-radius:24px;box-shadow:0 18px 60px rgba(123,51,105,.11);
}
.hero-logo-crop{
  width:108px;height:108px;border-radius:24px;overflow:hidden;display:block;position:relative;flex:0 0 auto;
  background:#fff7ef;box-shadow:0 14px 40px rgba(215,55,132,.19);
}
.hero-logo-crop:after{
  content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(92,44,77,.08);
  pointer-events:none;
}
.hero-logo-crop img{
  position:absolute;width:100%;height:216%;max-width:none;left:0;top:50%;transform:translateY(-50%);
  object-fit:cover;object-position:center;
}
.hero-brand-note b{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.67rem;color:#b02c73}
.hero-brand-note small{display:block;font-family:Georgia,serif;font-size:1.28rem;font-weight:800;margin-top:4px;color:var(--ink)}
.hero-aurora{position:absolute;border-radius:50%;filter:blur(12px);z-index:-2;opacity:.75;pointer-events:none}
.aurora-one{width:520px;height:520px;left:-220px;top:5%;background:radial-gradient(circle,rgba(255,76,164,.23),rgba(255,183,218,.08) 47%,transparent 70%);animation:auroraFloat 10s ease-in-out infinite}
.aurora-two{width:650px;height:650px;right:-270px;top:0;background:radial-gradient(circle,rgba(82,200,255,.20),rgba(137,91,255,.10) 45%,transparent 70%);animation:auroraFloat 12s ease-in-out infinite reverse}
@keyframes auroraFloat{50%{transform:translate(35px,-30px) scale(1.08)}}
.magic-stars{position:absolute;inset:0;z-index:0;pointer-events:none}
.magic-stars i{position:absolute;left:var(--x);top:var(--y);font-style:normal;color:#ff66ae;font-size:calc(1.1rem * var(--s));filter:drop-shadow(0 0 10px rgba(255,100,176,.55));animation:twinkle 3.5s ease-in-out infinite;animation-delay:var(--d)}
.magic-stars i:nth-child(even){color:#65bce9}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.65) rotate(0)}50%{opacity:1;transform:scale(1.25) rotate(28deg)}}
.rainbow-ring{position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.ring-one{
  width:530px;height:530px;right:-70px;top:65px;
  border:1px solid rgba(255,91,167,.20);box-shadow:0 0 0 22px rgba(140,92,255,.035),0 0 0 43px rgba(85,199,255,.028);
  animation:ringPulse 6s ease-in-out infinite;
}
.ring-two{
  width:320px;height:320px;left:6px;bottom:24px;border:1px dashed rgba(255,199,83,.32);
  animation:slowSpin 30s linear infinite;
}
@keyframes ringPulse{50%{transform:scale(1.05);opacity:.6}}
@keyframes slowSpin{to{transform:rotate(360deg)}}
.hero-photo{transition:transform .25s ease-out}
.hero-photo:before{
  content:"";position:absolute;inset:-2px;z-index:2;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.photo-shimmer{
  position:absolute;inset:-60% auto -60% -45%;width:28%;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:rotate(20deg);
  animation:photoShine 7s ease-in-out infinite;
}
@keyframes photoShine{0%,55%{left:-45%}75%,100%{left:130%}}
.f3{left:22%;bottom:-2px;animation-duration:4.8s;background:rgba(255,250,253,.91)}
.b3{width:32px;height:32px;right:90px;top:16px;animation:drift 5.3s ease-in-out infinite}
.sparkle-btn{position:relative;overflow:hidden}
.sparkle-btn:after{
  content:"";position:absolute;top:-140%;left:-28%;width:36%;height:380%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);transform:rotate(18deg);
  animation:btnShine 4.8s ease-in-out infinite;
}
@keyframes btnShine{0%,55%{left:-35%}72%,100%{left:125%}}
.scroll-cue{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;
  gap:8px;color:#92768f;font-weight:850;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;z-index:4
}
.scroll-cue span{width:26px;height:42px;border:1px solid rgba(94,54,91,.22);border-radius:999px;position:relative}
.scroll-cue span:after{content:"";width:4px;height:7px;border-radius:5px;background:var(--pink);position:absolute;left:50%;top:8px;transform:translateX(-50%);animation:scrollDot 2s ease-in-out infinite}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,17px)}}
.gradient-text-on-dark{
  background:linear-gradient(95deg,#ff88c0,#ffd970,#7edcff);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.portfolio-card{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.portfolio-card:hover{transform:translateY(-7px) rotate(.4deg);box-shadow:0 26px 60px rgba(0,0,0,.20)}
.portfolio-card:before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 48%,transparent 64%);
  transform:translateX(-120%);transition:transform .75s ease
}
.portfolio-card:hover:before{transform:translateX(120%)}
.card{position:relative;overflow:hidden}
.card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-68px;background:radial-gradient(circle,rgba(255,79,161,.13),transparent 68%);transition:.4s}
.card:hover:after{transform:scale(1.5)}
.blog-card{position:relative}
.blog-card:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
@media(max-width:980px){
  .hero-brand-lockup{margin-top:10px}
  .hero-logo-crop{width:88px;height:88px;border-radius:21px}
  .scroll-cue{display:none}
}
@media(max-width:640px){
  .brand-logo-crop{width:46px;height:46px;border-radius:14px}
  .brand b{font-size:.94rem}
  .hero-brand-lockup{width:100%;padding-right:12px}
  .hero-logo-crop{width:82px;height:82px;flex-basis:82px}
  .hero-brand-note small{font-size:1.08rem}
  .f3{left:14%;bottom:-6px;font-size:.72rem;padding:10px 12px}
}


/* =====================================================
   V4 - MAGICAL / RESPONSIVE WOW LAYER
   ===================================================== */
:root{
  --hotpink:#f00772;
  --hotpink2:#ff4fa1;
  --sky:#79d6ff;
  --gold:#ffc846;
  --cream:#fffaf5;
  --glass:rgba(255,255,255,.82);
}
body{background:#fffafd}
.site-header{z-index:120;padding-top:max(10px,env(safe-area-inset-top))}
.nav-shell{
  max-width:1450px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.9);
  box-shadow:0 14px 50px rgba(96,52,88,.09);backdrop-filter:blur(22px)
}
.nav-shell nav{gap:19px;font-size:.84rem}
.nav-shell nav a{white-space:nowrap}
.brand-logo-crop{width:62px;height:54px;border-radius:15px;background:white}
.brand-logo-crop img{position:static;width:100%;height:100%;object-fit:contain;transform:none}
.brand span:last-child{display:none}
.nav-cta{min-width:128px}

.v4-hero{
  min-height:900px;padding:112px 0 80px;position:relative;isolation:isolate;overflow:hidden;
  background:
    radial-gradient(circle at 50% 32%,rgba(255,255,255,.94) 0 20%,rgba(255,248,252,.7) 38%,transparent 59%),
    linear-gradient(112deg,#ffb8d3 0%,#fff9ec 31%,#cdf4ff 66%,#f3b0e8 100%);
}
.v4-hero:before{
  content:"";position:absolute;inset:0;z-index:-3;opacity:.5;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.98) 0 1.4px,transparent 1.7px),
    radial-gradient(circle,rgba(255,105,180,.33) 0 1px,transparent 1.4px);
  background-size:48px 48px,76px 76px;background-position:0 0,20px 22px
}
.v4-bg-orb{position:absolute;border-radius:50%;filter:blur(22px);z-index:-2;animation:v4Orb 10s ease-in-out infinite}
.orb-pink{width:470px;height:470px;left:-190px;top:170px;background:rgba(255,34,143,.24)}
.orb-blue{width:480px;height:480px;right:-170px;top:110px;background:rgba(60,200,255,.25);animation-delay:-4s}
@keyframes v4Orb{50%{transform:translateY(-35px) scale(1.1)}}

.v4-spark-field{position:absolute;inset:0;pointer-events:none;z-index:-1}
.v4-spark-field i{position:absolute;left:var(--x);top:var(--y);font-style:normal;color:white;text-shadow:0 0 18px #fff,0 0 25px #ff6ab5;font-size:1.7rem;animation:v4Twinkle 3.1s ease-in-out infinite;animation-delay:var(--d)}
@keyframes v4Twinkle{0%,100%{opacity:.15;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(35deg)}}

.v4-hero-inner{
  width:min(1460px,calc(100% - 30px));display:grid;grid-template-columns:minmax(230px,1fr) minmax(500px,1.5fr) minmax(230px,1fr);
  gap:14px;align-items:end;min-height:710px
}
.hero-center{text-align:center;align-self:center;z-index:5;padding-top:12px}
.hero-logo-stage{position:relative;width:min(610px,100%);margin:0 auto 4px}
.hero-main-logo{
  position:relative;z-index:4;width:min(560px,92%);max-height:380px;object-fit:contain;margin:auto;
  filter:drop-shadow(0 18px 26px rgba(168,67,116,.12));
  animation:logoBreathe 6s ease-in-out infinite
}
@keyframes logoBreathe{50%{transform:translateY(-7px) scale(1.012)}}
.hero-rainbow{position:absolute;border-radius:50%;z-index:0;left:50%;top:44%;transform:translate(-50%,-50%)}
.rainbow-a{width:470px;height:270px;border:18px solid rgba(255,72,154,.12);box-shadow:0 0 0 18px rgba(255,158,68,.10),0 0 0 36px rgba(255,215,75,.09),0 0 0 54px rgba(89,211,198,.08),0 0 0 72px rgba(67,174,229,.08)}
.rainbow-b{width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.72),transparent 68%);filter:blur(5px)}
.hero-butterfly,.hero-heart,.hero-star{position:absolute;z-index:7;filter:drop-shadow(0 8px 10px rgba(134,50,110,.18))}
.hero-butterfly{left:3%;top:1%;font-size:3.2rem;animation:butterfly 5s ease-in-out infinite}
.hero-heart{color:#f82472;font-size:2.1rem;animation:heartBeat 3.3s ease-in-out infinite}
.h1{right:6%;top:10%}.h2{right:14%;top:24%;font-size:1.25rem;animation-delay:-1s}
.hero-star{color:#ffc642;font-size:1.8rem;animation:v4Twinkle 3s ease-in-out infinite}
.hs1{left:14%;top:28%}.hs2{right:2%;top:42%;animation-delay:-1.2s}
@keyframes butterfly{50%{transform:translate(10px,-10px) rotate(6deg)}}
@keyframes heartBeat{50%{transform:scale(1.18)}}

.paint-slogan{
  width:max-content;max-width:92%;margin:-6px auto 14px;padding:9px 37px 11px;color:white;
  font-family:"Comic Sans MS","Segoe Print",cursive;font-weight:800;font-size:clamp(1.08rem,2vw,1.65rem);line-height:1.05;
  background:linear-gradient(90deg,transparent 0,#ef4c98 10%,#f65eac 90%,transparent 100%);
  transform:rotate(-1deg);text-shadow:0 2px 6px rgba(120,25,84,.24)
}
.occasion-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:8px auto 20px;max-width:800px}
.occasion{width:105px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.73rem;line-height:1.15}
.occasion span{
  width:57px;height:57px;display:grid;place-items:center;background:white;border-radius:50%;font-size:1.7rem;
  box-shadow:0 10px 28px rgba(129,64,112,.13);transition:.3s
}
.occasion:hover span{transform:translateY(-6px) rotate(4deg);box-shadow:0 16px 32px rgba(240,7,114,.2)}
.v4-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.mega-btn{min-width:245px;min-height:61px;font-size:1rem}
.btn-primary{background:linear-gradient(110deg,#f10870,#fa2e8c 56%,#e847d5)}
.sparkle-btn{box-shadow:0 16px 40px rgba(231,22,119,.28)}

.hero-person{position:relative;align-self:end;z-index:3;min-width:0}
.hero-person-frame{
  position:relative;height:645px;overflow:hidden;border-radius:48% 48% 17% 17%/22% 22% 13% 13%;
  filter:drop-shadow(0 22px 36px rgba(93,46,84,.12))
}
.hero-person-frame:after{
  content:"";position:absolute;inset:0;box-shadow:inset 0 -90px 70px rgba(255,247,252,.93),inset 0 0 0 1px rgba(255,255,255,.4);border-radius:inherit
}
.hero-person img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s ease}
.hero-person:hover img{transform:scale(1.025)}
.glitter-wash{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(circle at 15% 80%,rgba(255,25,142,.40) 0 2px,transparent 2.7px),
    radial-gradient(circle at 35% 70%,rgba(255,213,54,.48) 0 1.5px,transparent 2.2px),
    radial-gradient(circle at 80% 40%,rgba(255,255,255,.9) 0 1.3px,transparent 2px);
  background-size:24px 24px,36px 36px,52px 52px;mix-blend-mode:screen;opacity:.75
}
.hand-note{
  position:absolute;z-index:6;color:white;font-family:"Comic Sans MS","Segoe Print",cursive;font-size:1.65rem;font-weight:800;
  line-height:1.05;text-shadow:0 3px 12px rgba(154,26,107,.38);transform:rotate(-6deg)
}
.left-note{left:8%;bottom:55px}.right-note{right:3%;top:280px;transform:rotate(5deg)}
.gold-heart{
  position:absolute;z-index:7;right:0;bottom:60px;width:150px;height:140px;display:grid;place-items:center;text-align:center;
  color:#6b3a00;font-family:"Comic Sans MS","Segoe Print",cursive;font-size:1.15rem;line-height:1;font-weight:900;
  background:radial-gradient(circle at 40% 30%,#fff5a5,#ffc343 55%,#ec9c16);clip-path:path("M75 135 C55 110 8 80 8 42 C8 15 42 3 75 31 C108 3 142 15 142 42 C142 80 95 110 75 135 Z");
  filter:drop-shadow(0 14px 22px rgba(177,97,14,.24));animation:heartBeat 4s ease-in-out infinite
}
.hero-wave{position:absolute;bottom:-1px;left:-4%;width:108%;height:76px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}

.quick-panels{padding:24px 0 46px;background:white}
.quick-panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.quick-panel{
  min-height:118px;display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:20px 22px;border-radius:24px;
  color:var(--ink);background:white;border:1px solid rgba(96,57,94,.08);box-shadow:0 15px 44px rgba(91,54,88,.09);transition:.35s
}
.quick-panel:hover{transform:translateY(-7px);box-shadow:0 24px 54px rgba(116,53,100,.15)}
.quick-panel h3{font-size:1.32rem;margin-bottom:3px}.quick-panel p{margin:0;font-size:.88rem;line-height:1.35}
.quick-icon{font-size:2.25rem}.quick-icon.star{color:#ffc23c}.quick-icon.heart{color:#fa4b96}.quick-icon.calendar{color:#f10870}
.round-arrow{width:38px;height:38px;border:2px solid #ff42a0;border-radius:50%;display:grid;place-items:center;color:#f10870;font-weight:900}

.magic-services{background:linear-gradient(180deg,#fff,#fff8fc)}
.v4-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.v4-service-card{
  position:relative;overflow:hidden;min-height:390px;padding:26px;border-radius:30px;background:rgba(255,255,255,.95);
  border:1px solid rgba(136,71,120,.08);box-shadow:0 20px 54px rgba(97,55,89,.08);transition:.38s
}
.v4-service-card:before{
  content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-80px;top:-90px;
  background:radial-gradient(circle,rgba(255,90,170,.18),transparent 70%);transition:.4s
}
.v4-service-card:hover{transform:translateY(-10px) rotate(.4deg);box-shadow:0 28px 64px rgba(127,61,109,.15)}
.v4-service-card:hover:before{transform:scale(1.5)}
.service-art{height:125px;display:flex;align-items:center;gap:8px;font-size:4.4rem;position:relative}
.service-art span{font-size:1.5rem;color:#ffbb2b;animation:v4Twinkle 2.8s infinite}
.v4-service-card small{color:#d82f80;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem}
.v4-service-card h3{font-size:1.35rem;margin:7px 0 9px}.v4-service-card p{font-size:.94rem}
.v4-service-card a{font-weight:900;color:#e92b84}

.v4-portfolio-section{position:relative;overflow:hidden;background:linear-gradient(132deg,#2b1535,#4b1e55 60%,#253c61);color:white}
.v4-portfolio-section:before{
  content:"";position:absolute;inset:0;opacity:.19;
  background-image:radial-gradient(circle,white 0 1px,transparent 1.4px);background-size:35px 35px
}
.portfolio-stars{position:absolute;right:3%;top:6%;font-size:2.1rem;color:#ffd75a;opacity:.55;letter-spacing:14px;animation:v4Twinkle 4s infinite}
.v4-portfolio-section .section-head p{color:#e5d6e8}.v4-portfolio-section .eyebrow{color:#ff8fc5}
.v4-portfolio-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:310px;gap:15px}
.v4-portfolio-card{position:relative;border-radius:28px;overflow:hidden;background:#57375e;box-shadow:0 16px 45px rgba(0,0,0,.18)}
.v4-portfolio-card.v4-featured{grid-row:span 2}
.v4-portfolio-card img{width:100%;height:100%;object-fit:cover;transition:.7s}
.v4-portfolio-card:hover img{transform:scale(1.06)}
.v4-card-shine{position:absolute;inset:-40% auto -40% -42%;width:23%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:rotate(18deg);transition:.7s}
.v4-portfolio-card:hover .v4-card-shine{left:125%}
.v4-placeholder{height:100%;display:grid;place-items:center;font-size:5rem}
.v4-portfolio-card .image-copy{z-index:4}

.v4-about{background:linear-gradient(180deg,#fff,#fffaf4)}
.about-spark{position:absolute;z-index:6;font-size:2rem;animation:v4Twinkle 3s infinite}
.about-spark.s1{left:-14px;top:10%;color:#ffbe32}.about-spark.s2{right:-17px;top:27%;color:#ff4a98;animation-delay:-1s}

.v4-blog-section{background:linear-gradient(145deg,#fff8fc,#f4fbff)}
.v4-blog-section .blog-card{transition:.35s}.v4-blog-section .blog-card:hover{transform:translateY(-8px) rotate(.3deg)}

.reviews-v4{background:white}
.faq-v4{background:#fff8fc}
.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px}
.faq-title{align-self:start;position:sticky;top:120px}
.faq-list details{background:white;border:1px solid rgba(110,61,101,.08);border-radius:20px;padding:0 20px;margin-bottom:11px;box-shadow:0 10px 30px rgba(84,47,80,.05)}
.faq-list summary{list-style:none;cursor:pointer;padding:20px 34px 20px 0;font-weight:900;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);color:#f10870;font-size:1.35rem}
.faq-list details[open] summary:after{content:"×"}
.faq-list details p{margin:0 0 20px;font-size:.94rem}

.v4-contact{padding-bottom:115px;background:#fff8fc}
.v4-contact-card{
  position:relative;overflow:hidden;min-height:405px;padding:58px;border-radius:42px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:40px;
  color:white;background:
    radial-gradient(circle at 86% 25%,rgba(255,255,255,.3),transparent 17%),
    linear-gradient(125deg,#f10a72,#ed55bd 58%,#7768ff);
  box-shadow:0 28px 75px rgba(210,45,147,.25)
}
.v4-contact-card h2{font-size:clamp(2.8rem,5vw,5.1rem);margin:10px 0}.v4-contact-card p{color:#fff0fa}
.v4-contact-card .eyebrow{color:white}
.contact-sparkle{position:absolute;right:6%;top:8%;font-size:3rem;animation:v4Twinkle 3s infinite}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.text-link{color:white;font-weight:900}

.mobile-book-bar{display:none}

/* Tablet */
@media(max-width:1180px){
  .nav-shell nav{gap:12px;font-size:.75rem}
  .v4-hero-inner{grid-template-columns:.8fr 1.35fr .8fr}
  .hero-person-frame{height:580px}
  .gold-heart{width:125px;height:120px;font-size:.95rem}
  .hand-note{font-size:1.35rem}
  .v4-service-grid{grid-template-columns:1fr 1fr}
}

/* Real mobile/tablet adaptation - not just shrinking desktop */
@media(max-width:980px){
  body{padding-bottom:78px}
  .site-header{padding:8px 0}
  .nav-shell{width:calc(100% - 18px);min-height:66px;padding:6px 8px 6px 12px}
  .brand-logo-crop{width:70px;height:52px}
  .nav-shell nav{
    display:none;position:fixed;z-index:150;top:78px;left:12px;right:12px;max-height:calc(100dvh - 100px);overflow:auto;
    background:rgba(255,255,255,.97);border:1px solid rgba(103,59,96,.08);border-radius:27px;padding:20px;
    flex-direction:column;align-items:stretch;gap:0;box-shadow:0 25px 70px rgba(84,42,80,.18);backdrop-filter:blur(22px)
  }
  .nav-shell nav.open{display:flex}
  .nav-shell nav a{padding:13px 8px;border-bottom:1px solid rgba(103,59,96,.07);font-size:.95rem}
  .nav-shell nav a:last-child{border-bottom:0}
  .menu-btn{display:block;width:48px;height:48px;font-size:1.3rem}
  .nav-cta{display:none}

  .v4-hero{min-height:auto;padding:94px 0 54px}
  .v4-hero-inner{display:flex;flex-direction:column;align-items:center;gap:12px;min-height:0}
  .hero-center{order:1;width:100%;padding:0}
  .hero-person-left{order:2}.hero-person-right{order:3}
  .hero-logo-stage{width:min(560px,96vw)}
  .hero-main-logo{width:min(520px,96%)}
  .rainbow-a{width:72%;height:55%;border-width:11px;box-shadow:0 0 0 11px rgba(255,158,68,.10),0 0 0 22px rgba(255,215,75,.09),0 0 0 33px rgba(89,211,198,.08),0 0 0 44px rgba(67,174,229,.08)}
  .paint-slogan{margin-top:-4px}
  .occasion-row{
    width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 8px 12px;
    scrollbar-width:none
  }
  .occasion-row::-webkit-scrollbar{display:none}
  .occasion{min-width:92px;scroll-snap-align:center}
  .v4-actions{padding:0 8px}
  .mega-btn{min-width:0;width:100%;max-width:430px}

  .hero-person{width:min(560px,94vw);margin-top:-4px}
  .hero-person-frame{height:430px;border-radius:35px}
  .hero-person-left .hero-person-frame{object-position:center top}
  .hero-person-right{margin-top:-115px;transform:translateX(16%) scale(.78);transform-origin:center top;margin-bottom:-90px}
  .hero-person-left{transform:translateX(-16%) scale(.78);transform-origin:center top;margin-bottom:-105px}
  .hand-note{font-size:1.45rem}
  .left-note{left:7%;bottom:55px}
  .right-note{right:1%;top:165px}
  .gold-heart{right:3%;bottom:50px}
  .hero-wave{height:45px}

  .quick-panel-grid{grid-template-columns:1fr}
  .quick-panel{min-height:92px}

  .v4-service-grid{grid-template-columns:1fr 1fr}
  .faq-layout{grid-template-columns:1fr;gap:32px}
  .faq-title{position:static}
  .v4-contact-card{grid-template-columns:1fr;padding:40px 30px}

  .mobile-book-bar{
    display:grid;position:fixed;z-index:130;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));
    min-height:60px;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;padding:9px 17px;
    color:white;background:linear-gradient(105deg,#f00670,#f63b9b,#8f61ff);border:1px solid rgba(255,255,255,.4);border-radius:999px;
    box-shadow:0 14px 42px rgba(218,26,129,.35);backdrop-filter:blur(14px)
  }
  .mobile-book-bar span{font-size:1.2rem}.mobile-book-bar strong{font-size:1rem}.mobile-book-bar small{justify-self:end;color:#fff2fa;font-size:.7rem}
  .site-footer{padding-bottom:95px}
}

/* Phones */
@media(max-width:640px){
  .container{width:min(100% - 22px,1180px)}
  section{padding:75px 0}
  h2{font-size:clamp(2.55rem,13vw,4rem)}
  .v4-hero{padding-top:84px;background:linear-gradient(145deg,#ffc4da,#fff9ef 45%,#ccf2ff 79%,#f3bee8)}
  .v4-hero-inner{width:100%}
  .hero-logo-stage{margin-top:8px}
  .hero-main-logo{max-height:310px}
  .hero-butterfly{font-size:2.2rem}
  .hero-heart{font-size:1.4rem}
  .paint-slogan{font-size:1.13rem;padding-inline:22px;max-width:96%}
  .occasion{min-width:82px;font-size:.67rem}.occasion span{width:50px;height:50px;font-size:1.45rem}
  .v4-actions{display:grid;width:100%}.mega-btn{max-width:none}
  .hero-person{width:100vw}
  .hero-person-frame{height:360px;border-radius:0}
  .hero-person-left{transform:translateX(-18%) scale(.72);margin-top:-28px;margin-bottom:-130px}
  .hero-person-right{transform:translateX(20%) scale(.72);margin-top:-115px;margin-bottom:-112px}
  .hand-note{font-size:1.25rem}
  .gold-heart{width:110px;height:105px;font-size:.82rem}
  .hero-wave{height:34px}

  .quick-panels{padding-top:14px}
  .quick-panel{padding:17px 18px;grid-template-columns:auto 1fr auto}.quick-panel h3{font-size:1.1rem}
  .quick-icon{font-size:1.8rem}

  .v4-service-grid{grid-template-columns:1fr}
  .v4-service-card{min-height:315px}
  .service-art{height:90px;font-size:3.5rem}

  .mobile-snap{
    display:flex!important;overflow-x:auto!important;gap:12px!important;scroll-snap-type:x mandatory!important;
    padding:4px 10px 17px 0!important;margin-right:-11px;scrollbar-width:none
  }
  .mobile-snap::-webkit-scrollbar{display:none}
  .v4-portfolio-card,.v4-portfolio-card.v4-featured{
    min-width:84vw!important;height:430px!important;grid-row:auto!important;scroll-snap-align:center
  }
  .blog-grid.mobile-snap .blog-card{min-width:84vw;scroll-snap-align:center}
  .blog-grid.mobile-snap{grid-template-columns:none}

  .about-grid{gap:45px}
  .about-image img{max-height:510px}
  .quote-note{right:8px;bottom:14px;max-width:215px}
  .mini-grid{grid-template-columns:1fr}

  .faq-list details{padding-inline:17px}
  .v4-contact-card{padding:33px 23px;border-radius:30px}.v4-contact-card h2{font-size:2.75rem}

  .mobile-book-bar{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));min-height:57px}
  .mobile-book-bar small{display:none}
}

@media(max-width:400px){
  .brand-logo-crop{width:62px;height:47px}
  .hero-main-logo{width:98%}
  .paint-slogan{font-size:1rem}
  .occasion{min-width:77px}
  .hero-person-frame{height:320px}
  .hero-person-left{margin-bottom:-125px}
  .hero-person-right{margin-bottom:-105px}
}

/* Accessibility: respect people who disable animation */
@media(prefers-reduced-motion:reduce){
  .v4-bg-orb,.v4-spark-field i,.hero-main-logo,.hero-butterfly,.hero-heart,.hero-star,.service-art span,.contact-sparkle,.about-spark,.gold-heart{
    animation:none!important
  }
  .hero-person img,.v4-service-card,.quick-panel,.occasion span{transition:none!important}
}


/* ===== V5: contact + collaborations + clean hero ===== */
.hero-person-left .hero-person-frame img{object-position:center 42%}
.hero-person-right .hero-person-frame img{object-position:center 38%}

.collab-section{
  background:
    radial-gradient(circle at 10% 12%,rgba(255,82,164,.10),transparent 24%),
    radial-gradient(circle at 90% 14%,rgba(87,197,255,.12),transparent 25%),
    #fff;
}
.collab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.collab-card{
  display:block;overflow:hidden;border-radius:28px;background:white;border:1px solid rgba(112,61,103,.08);
  box-shadow:0 18px 50px rgba(90,50,84,.08);transition:.35s;color:var(--ink)
}
.collab-card:hover{transform:translateY(-7px);box-shadow:0 25px 62px rgba(116,56,102,.15)}
.collab-image{height:230px;background:linear-gradient(145deg,#fff0f8,#eefaff);display:grid;place-items:center;font-size:4rem;overflow:hidden}
.collab-image img{width:100%;height:100%;object-fit:cover;transition:.5s}
.collab-card:hover .collab-image img{transform:scale(1.035)}
.collab-copy{padding:22px}
.collab-copy small{display:block;color:#dd2d82;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem}
.collab-copy h3{font-size:1.35rem;margin:6px 0 8px}.collab-copy p{font-size:.92rem;margin:0 0 10px}
.collab-copy b{color:#df2f84;font-size:.88rem}
.collab-empty{display:flex;align-items:center;gap:20px;background:white;border:1px dashed rgba(113,64,103,.2);border-radius:25px;padding:28px}
.collab-empty>span{font-size:2.5rem}.collab-empty b{font-size:1.1rem}.collab-empty p{margin:4px 0 0}

.contact-heading{text-align:center;max-width:790px;margin:0 auto 38px}
.contact-heading .eyebrow{justify-content:center}
.contact-heading p{max-width:670px;margin:15px auto 0}
.contact-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:16px}
.contact-info-card{
  min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:7px;
  padding:22px;background:white;border-radius:25px;border:1px solid rgba(110,60,102,.08);
  box-shadow:0 15px 45px rgba(91,51,85,.07);transition:.3s;color:var(--ink)
}
a.contact-info-card:hover{transform:translateY(-6px);box-shadow:0 23px 55px rgba(123,54,105,.14)}
.contact-ico{font-size:2rem}.contact-info-card small{text-transform:uppercase;letter-spacing:.12em;color:#d93082;font-weight:900;font-size:.65rem}
.contact-info-card b{font-size:1.05rem;overflow-wrap:anywhere}
.contact-info-card em{font-style:normal;color:var(--muted);font-size:.82rem;line-height:1.4}
.social-contact-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0 42px}
.social-btn{
  min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 23px;border-radius:999px;
  font-weight:900;background:white;border:1px solid rgba(102,55,96,.10);box-shadow:0 12px 35px rgba(86,49,80,.08);transition:.3s
}
.social-btn:hover{transform:translateY(-4px)}
.social-btn.whatsapp{background:#20c76b;color:white;border-color:transparent}
.social-btn.instagram{background:linear-gradient(115deg,#7b3fd5,#e63592,#ff8b43);color:white;border-color:transparent}
.social-btn.facebook{background:#1877f2;color:white;border-color:transparent}
.contact-book-card{margin-top:0}

.footer-grid{grid-template-columns:1fr!important;gap:12px!important;text-align:center;justify-items:center}
.footer-contact,.footer-socials,.footer-links{line-height:1.8}
.footer-contact a,.footer-socials a{font-weight:800}

@media(max-width:980px){
  .collab-grid{grid-template-columns:1fr 1fr}
  .contact-info-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .collab-grid.mobile-snap{display:flex!important}
  .collab-card{min-width:84vw;scroll-snap-align:center}
  .collab-image{height:225px}
  .contact-info-card{min-height:150px}
  .social-contact-row{display:grid;grid-template-columns:1fr;width:100%}
  .social-btn{width:100%}
}
\n\n/* ===== V6 reviews + FAQ ===== */\n.reviews-v6{background:linear-gradient(180deg,#fff,#fff7fc)}\n.review-summary-block{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:center;min-width:250px;padding:14px 18px;border-radius:20px;background:white;box-shadow:0 12px 35px rgba(90,50,83,.08)}\n.review-summary-block b{font-size:1.25rem;color:#f0a700}.review-summary-block span{font-size:.78rem;color:var(--muted)}.review-summary-block .google-score{margin-top:6px;color:#f0a700}\n.review small{display:block;margin-top:5px;color:#9b879e;font-size:.72rem}\n.google-reviews-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:44px 0 17px}.google-reviews-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.google-reviews-head small{grid-column:2;color:var(--muted)}.google-reviews-head>a{font-weight:900;color:#d92f83}\n.google-g{grid-row:span 2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:white;box-shadow:0 8px 24px rgba(50,50,50,.12);font-weight:900;color:#4285f4}\n.google-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.google-review-card{background:white;border:1px solid rgba(96,58,91,.08);border-radius:25px;padding:21px;box-shadow:0 15px 45px rgba(80,45,75,.07)}\n.google-author{display:flex;align-items:center;gap:10px}.google-author img,.avatar-fallback{width:42px;height:42px;border-radius:50%;object-fit:cover}.avatar-fallback{display:grid;place-items:center;background:#edf4ff;color:#4285f4;font-weight:900}.google-author>div{min-width:0;flex:1}.google-author b,.google-author small{display:block}.google-author small{color:var(--muted);font-size:.72rem}.google-badge{font-size:.65rem;color:#5f6368;background:#f5f5f5;padding:5px 7px;border-radius:999px}.review-stars{color:#f7b31a;margin:14px 0 6px}.google-review-card p{font-size:.9rem;margin:0}.google-review-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.google-review-links a{font-size:.73rem;font-weight:850;color:#5271b8}\n.review-submit-wrap{margin-top:50px;display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;padding:36px;border-radius:32px;background:linear-gradient(125deg,#fff,#fff0f8 58%,#edfaff);border:1px solid rgba(106,60,99,.08)}.review-submit-copy h3{font-family:Georgia,serif;font-size:2rem;margin:9px 0}.review-thanks{margin-top:18px;padding:12px 15px;border-radius:15px;background:#eafbf0;color:#187943;font-weight:800}.review-submit-form{display:grid;gap:12px}.review-submit-form label{display:grid;gap:6px;font-weight:850;font-size:.82rem}.review-submit-form input,.review-submit-form select,.review-submit-form textarea{width:100%;border:1px solid rgba(96,58,91,.14);border-radius:15px;background:white;padding:13px 14px;color:var(--ink)}.review-submit-form textarea{resize:vertical}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important}.google-write-link{font-size:.82rem;font-weight:850;color:#4f6fae}\n@media(max-width:980px){.google-review-grid{grid-template-columns:1fr 1fr}.review-submit-wrap{grid-template-columns:1fr}}\n@media(max-width:640px){.review-summary-block{width:100%}.google-reviews-head{align-items:flex-start;flex-direction:column}.review-snap{display:flex!important;overflow-x:auto!important;gap:12px!important;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none}.review-snap::-webkit-scrollbar{display:none}.review-snap>.review,.review-snap>.google-review-card{min-width:84vw;scroll-snap-align:center}.review-submit-wrap{padding:25px 18px}}\n

/* =====================================================
   V7 MOBILE WOW UPGRADE
   ===================================================== */

/* Better mobile viewport and smoother anchored navigation */
html{scroll-padding-top:92px}
body{-webkit-tap-highlight-color:transparent}

/* Premium glass header on touch screens */
@media(max-width:980px){
  .site-header{
    padding-top:max(7px,env(safe-area-inset-top));
    transition:transform .35s ease,opacity .35s ease;
  }
  .nav-shell{
    background:rgba(255,255,255,.82)!important;
    box-shadow:0 14px 45px rgba(121,47,101,.14)!important;
    border:1px solid rgba(255,255,255,.95)!important;
    backdrop-filter:blur(24px) saturate(1.25)!important;
  }
  .brand-logo-crop{
    box-shadow:0 8px 26px rgba(242,18,120,.18);
    animation:mobileLogoGlow 4s ease-in-out infinite;
  }
  @keyframes mobileLogoGlow{
    0%,100%{box-shadow:0 8px 26px rgba(242,18,120,.14)}
    50%{box-shadow:0 8px 34px rgba(242,18,120,.30)}
  }

  /* Mobile hero gets its own composition rather than a squeezed desktop view */
  .v4-hero{
    min-height:100svh;
    padding-top:92px;
    padding-bottom:42px;
    overflow:hidden;
    background:
      radial-gradient(circle at 50% 24%,rgba(255,255,255,.98) 0 16%,rgba(255,255,255,.78) 28%,transparent 55%),
      radial-gradient(circle at 11% 42%,rgba(255,67,154,.30),transparent 34%),
      radial-gradient(circle at 88% 40%,rgba(74,201,255,.28),transparent 35%),
      linear-gradient(155deg,#ffb9d4 0%,#fff5e8 43%,#d1f3ff 78%,#efc0ea 100%)!important;
  }
  .v4-hero:after{
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
    background:
      radial-gradient(circle at 12% 14%,rgba(255,255,255,.98) 0 1.5px,transparent 2px),
      radial-gradient(circle at 75% 12%,rgba(255,255,255,.85) 0 1px,transparent 1.5px),
      radial-gradient(circle at 28% 72%,rgba(255,255,255,.8) 0 1px,transparent 1.5px);
    background-size:46px 46px,68px 68px,83px 83px;
    animation:mobileSparkDrift 18s linear infinite;
  }
  @keyframes mobileSparkDrift{
    to{background-position:46px 92px,-68px 68px,83px -83px}
  }

  .hero-center{
    position:relative;
    width:100%;
    padding-inline:8px;
  }
  .hero-logo-stage{
    width:min(96vw,590px)!important;
    margin-top:4px!important;
  }
  .hero-main-logo{
    width:96%!important;
    max-height:315px!important;
    filter:drop-shadow(0 18px 32px rgba(185,55,121,.16));
  }
  .hero-butterfly{animation:mobileButterfly 4.5s ease-in-out infinite!important}
  @keyframes mobileButterfly{
    0%,100%{transform:translate(0,0) rotate(-5deg)}
    50%{transform:translate(11px,-13px) rotate(8deg)}
  }

  .paint-slogan{
    max-width:94%;
    border-radius:18px;
    box-shadow:0 12px 35px rgba(222,48,138,.16);
    background:linear-gradient(90deg,rgba(240,60,148,.03),#ef4c98 11%,#f867b2 89%,rgba(240,60,148,.03))!important;
  }

  /* Mobile occasion chips feel more like an app carousel */
  .occasion-row{
    margin-top:12px!important;
    gap:11px!important;
    padding:9px 14px 16px!important;
    scroll-padding-left:14px;
    mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);
  }
  .occasion{
    min-width:92px!important;
    padding:9px 7px 10px;
    border-radius:22px;
    background:rgba(255,255,255,.52);
    border:1px solid rgba(255,255,255,.76);
    backdrop-filter:blur(13px);
    box-shadow:0 10px 28px rgba(105,54,97,.08);
  }
  .occasion span{
    box-shadow:0 10px 28px rgba(231,40,132,.12)!important;
  }

  /* Hero CTAs stay easy to hit */
  .v4-actions{
    position:relative;
    z-index:6;
    margin-top:3px;
  }
  .v4-actions .btn{
    min-height:62px;
    border-radius:22px!important;
    font-size:.98rem;
    box-shadow:0 15px 38px rgba(196,42,133,.18);
  }
  .v4-actions .btn-primary{
    animation:mobileCtaPulse 3.8s ease-in-out infinite;
  }
  @keyframes mobileCtaPulse{
    0%,100%{transform:scale(1);box-shadow:0 15px 38px rgba(221,28,126,.22)}
    50%{transform:scale(1.018);box-shadow:0 19px 46px rgba(221,28,126,.34)}
  }

  /* Cleaner child photos, intentionally pushed behind the center content */
  .hero-person{
    pointer-events:none;
    filter:saturate(1.05);
  }
  .hero-person-frame{
    box-shadow:0 26px 60px rgba(110,56,101,.18);
  }
  .hero-person-left{
    margin-top:-6px!important;
    margin-bottom:-116px!important;
  }
  .hero-person-right{
    margin-top:-124px!important;
    margin-bottom:-102px!important;
  }

  /* Quick links as elevated mobile cards */
  .quick-panels{
    position:relative;
    z-index:8;
    padding-top:6px!important;
    background:linear-gradient(180deg,#fff 0%,#fff8fc 100%);
  }
  .quick-panel{
    border-radius:24px!important;
    background:rgba(255,255,255,.94)!important;
    box-shadow:0 16px 40px rgba(102,53,92,.11)!important;
    transform:translateZ(0);
  }
  .quick-panel:active{transform:scale(.985)}

  /* Add little depth to all main cards */
  .v4-service-card,.collab-card,.review,.blog-card,.contact-info-card,.faq-list details{
    box-shadow:0 14px 38px rgba(96,49,90,.10)!important;
  }

  /* Fixed mobile booking action upgraded */
  .mobile-book-bar{
    min-height:64px!important;
    padding:10px 19px!important;
    border-radius:22px!important;
    left:9px!important;right:9px!important;
    background:linear-gradient(108deg,#ef0670,#ff3b9c 56%,#8f61ff)!important;
    box-shadow:0 18px 48px rgba(220,25,131,.38)!important;
    border:1px solid rgba(255,255,255,.44)!important;
  }
  .mobile-book-bar:before{
    content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.18) 50%,transparent 75%);
    background-size:230% 100%;
    animation:mobileBarShine 5s ease-in-out infinite;
  }
  @keyframes mobileBarShine{
    0%,55%{background-position:200% 0}
    80%,100%{background-position:-100% 0}
  }

  /* Mobile section headers breathe more */
  .section-head{
    gap:14px!important;
    margin-bottom:30px!important;
  }
  .section-head h2{
    line-height:.98;
  }

  /* Swipe hint on horizontal carousels */
  .mobile-snap{
    position:relative;
  }
  .mobile-snap > *{
    scroll-snap-stop:always;
  }
}

/* Small phones */
@media(max-width:640px){
  .v4-hero{
    min-height:100svh;
    padding-top:80px!important;
  }
  .hero-main-logo{max-height:280px!important}
  .paint-slogan{
    margin-top:-9px!important;
    font-size:1.04rem!important;
    padding:10px 20px 12px!important;
  }
  .occasion-row{
    margin-inline:-11px;
    width:calc(100% + 22px)!important;
  }
  .occasion{min-width:84px!important}
  .v4-actions .btn{
    min-height:60px;
    font-size:.95rem;
  }

  .hero-person-frame{height:335px!important}
  .hero-person-left{
    transform:translateX(-22%) scale(.76)!important;
    margin-top:-34px!important;
    margin-bottom:-128px!important;
  }
  .hero-person-right{
    transform:translateX(22%) scale(.76)!important;
    margin-top:-112px!important;
    margin-bottom:-108px!important;
  }

  .quick-panel{
    min-height:94px!important;
    padding:16px 17px!important;
  }
  .quick-panel .round-arrow{
    width:40px;height:40px;
  }

  .v4-service-card{
    border-radius:26px!important;
    padding:24px!important;
  }

  .v4-portfolio-card,.blog-grid.mobile-snap .blog-card,.collab-card{
    min-width:88vw!important;
  }

  .contact-info-card{
    border-radius:24px!important;
  }

  .mobile-book-bar strong{font-size:1.02rem}
}

/* Tiny screens */
@media(max-width:390px){
  .hero-main-logo{max-height:250px!important}
  .occasion{min-width:80px!important}
  .mobile-book-bar{min-height:60px!important}
}

/* Keep motion respectful */
@media(prefers-reduced-motion:reduce){
  .brand-logo-crop,.v4-hero:after,.v4-actions .btn-primary,.mobile-book-bar:before{
    animation:none!important
  }
}
