*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--lav:#9B8FD9;--lav-dark:#7B6FC0;--plaster:#F5F2EF;--rose:#E8C4C4;--text:#4A4458}
html{scroll-behavior:smooth}body{font-family:'Lato',sans-serif;background:var(--plaster);color:var(--text);line-height:1.65}
h1,h2,h3,h4{font-family:'Outfit',sans-serif;font-weight:600}
.container{max-width:1100px;margin:0 auto;padding:0 1.25rem}
.site-header{background:var(--plaster);border-bottom:2px dashed var(--lav);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.logo{font-family:'Outfit',sans-serif;font-size:1.35rem;color:var(--lav);text-decoration:none;font-weight:700}
.main-nav{display:flex;gap:1.5rem}.main-nav a{color:var(--text);text-decoration:none;font-weight:500}
.main-nav a:hover,.main-nav a.active{color:var(--lav)}
.btn{display:inline-block;padding:.7rem 1.5rem;border-radius:16px;text-decoration:none;border:none;cursor:pointer;font-family:inherit;transition:.3s}
.btn-primary{background:var(--lav);color:#fff;font-weight:600}.btn-primary:hover{background:var(--rose);color:var(--text)}
.btn-nav{background:var(--lav);color:#fff}.btn-nav:hover{background:var(--rose);color:var(--text)}
.nav-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer}.nav-toggle span{width:22px;height:2px;background:var(--lav)}
.hero-collage{padding:3rem 0}.collage-wrap{position:relative;min-height:350px;display:flex;align-items:center;justify-content:center}
.collage-wrap img{position:absolute;border-radius:16px;box-shadow:0 8px 25px rgba(155,143,217,.3);object-fit:cover}
.c1{width:55%;top:10%;left:5%;transform:rotate(-3deg);z-index:1}.c2{width:40%;top:5%;right:10%;transform:rotate(4deg);z-index:2}
.c3{width:35%;bottom:5%;left:30%;transform:rotate(-2deg);z-index:3}
.collage-wrap h1{position:relative;z-index:10;text-align:center;font-size:clamp(1.5rem,3vw,2.25rem);background:rgba(245,242,239,.9);padding:1rem 2rem;border-radius:16px;max-width:80%}
.section{padding:3.5rem 0}.section-lav{background:linear-gradient(135deg,rgba(155,143,217,.1),rgba(232,196,196,.15))}
.masonry-grid{columns:3;column-gap:1.25rem}.masonry-tile{break-inside:avoid;margin-bottom:1.25rem;background:#fff;border:1px dashed var(--lav);border-radius:16px;padding:1rem;transition:transform .3s}
.masonry-tile img{width:100%;border-radius:12px;margin-bottom:.75rem}.rotate-0{transform:rotate(-2deg)}.rotate-1{transform:rotate(1.5deg)}.rotate-2{transform:rotate(-1deg)}
.masonry-tile:hover{transform:rotate(0)!important}.showcase-img{width:100%;border-radius:16px;margin-top:1rem}
.dashed-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.dash-card{background:#fff;border:1px dashed var(--lav);border-radius:16px;padding:1.5rem}
.process-steps{counter-reset:step;list-style:none;display:flex;flex-wrap:wrap;gap:1rem}.process-steps li{counter-increment:step;background:#fff;border:1px dashed var(--lav);border-radius:16px;padding:1rem 1.5rem;flex:1;min-width:150px}
.process-steps li::before{content:counter(step);color:var(--lav);font-weight:700;margin-right:.5rem}
.testi-stagger{display:grid;gap:1rem}.testi-stagger blockquote{background:#fff;border-radius:16px;padding:1.25rem;border-left:4px solid var(--lav)}
.blog-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.blog-preview article{background:#fff;padding:1.25rem;border-radius:16px;border:1px dashed var(--lav)}
.newsletter{text-align:center;padding:2rem;background:#fff;border-radius:16px;margin:2rem 0;border:1px dashed var(--lav)}
.newsletter input{padding:.75rem;border:1px dashed var(--lav);border-radius:16px;margin-right:.5rem;font-family:inherit}
.cta-lav{text-align:center;padding:3rem 0}
.product-grid{columns:2;column-gap:1.5rem}.product-card{break-inside:avoid;margin-bottom:1.5rem;background:#fff;border:1px dashed var(--lav);border-radius:16px;overflow:hidden}
.product-card img{width:100%;height:auto}.product-body{padding:1.25rem}.price{color:var(--lav);font-weight:700}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.filter-btn{padding:.45rem 1rem;border:1px dashed var(--lav);background:#fff;color:var(--lav);border-radius:16px;cursor:pointer}
.filter-btn.active,.filter-btn:hover{background:var(--lav);color:#fff}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.service-card{background:#fff;border:1px dashed var(--lav);border-radius:16px;padding:1.5rem}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.about-img{border-radius:16px;width:100%;transform:rotate(2deg)}
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column}.form-group.full{grid-column:1/-1}
.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px dashed var(--lav);border-radius:12px;background:#fff;font-family:inherit}
.error-msg{color:#c06060;font-size:.8rem}.form-group.error input,.form-group.error select{border-color:#c06060}
.form-success{background:var(--lav);color:#fff;padding:2rem;border-radius:16px;text-align:center}
.site-footer{background:#fff;border-top:2px dashed var(--lav);padding:3rem 0 0;margin-top:3rem}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.site-footer a{color:var(--lav)}.footer-bottom{padding:1rem 0;text-align:center;font-size:.85rem}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px dashed var(--lav);padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:200;flex-wrap:wrap}
.cookie-banner a{color:var(--lav)}.btn-cookie{background:var(--lav);color:#fff}
.legal-section h2{margin-top:2rem}.narrow{max-width:720px}
.io{opacity:0;transform:translateY(15px) rotate(1deg);transition:opacity .5s,transform .5s}.io.visible{opacity:1;transform:none}
@media(max-width:900px){.masonry-grid,.product-grid{columns:1}.dashed-grid,.blog-preview,.about-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
.contact-form{grid-template-columns:1fr}.collage-wrap{min-height:280px}.c1,.c2,.c3{position:relative;width:100%;transform:none;margin-bottom:1rem}
.collage-wrap{flex-direction:column}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--plaster);flex-direction:column;padding:1rem;border-bottom:2px dashed var(--lav)}
.main-nav.open{display:flex}.nav-toggle{display:flex}.btn-nav{display:none}}