:root{--primary:#6b21a8;--primary-light:#e9d5ff;--secondary:#fbbf24;--bg:#f8fafc;--text:#232323;--gray:#e5e7eb;--radius:.75rem;--shadow:0 4px 24px 0 #6b21a812}html{background:var(--bg);color:var(--text);scroll-behavior:smooth;font-family:Inter,Arial,sans-serif;font-size:18px}body{min-height:100vh;margin:0;padding:0}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.site-header{background:var(--primary-light);box-shadow:var(--shadow);padding:.5rem 0}.header-flex{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--primary);letter-spacing:1px;font-size:1.6rem;font-weight:700;text-decoration:none}.logo span{color:var(--secondary)}.nav-list{gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.nav-list a{color:var(--primary);border-radius:var(--radius);padding:.25rem .5rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s}.nav-list a:hover,.nav-list a:focus{background:var(--primary);color:#fff}main{background:var(--bg);min-height:60vh}.site-footer{background:var(--primary);color:#fff;margin-top:3rem;padding:2rem 0 1rem}.footer-flex{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.footer-links{flex-direction:column;gap:.5rem;display:flex}.footer-links a{color:#fff;opacity:.9;text-decoration:none;transition:opacity .2s}.footer-links a:hover{opacity:1;text-decoration:underline}.hero{background:linear-gradient(90deg, var(--primary-light) 60%, #fff 100%);text-align:left;box-shadow:var(--shadow);padding:4rem 0 3rem}.hero-content{max-width:700px;margin:0 auto}.hero h1{color:var(--primary);margin-bottom:1rem;font-size:2.7rem;font-weight:800}.hero p{color:#3b0764;margin-bottom:2rem;font-size:1.25rem}.cta-btn{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.9rem 2.2rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s;display:inline-block;box-shadow:0 2px 12px #6b21a81a}.cta-btn:hover,.cta-btn:focus{background:var(--secondary);color:var(--primary);transform:translateY(-2px)scale(1.03)}section{padding:3rem 0 2rem}.section-title{color:var(--primary);text-align:center;margin-bottom:1.5rem;font-size:2rem;font-weight:700}.section-desc{color:#6b7280;text-align:center;margin-bottom:2.5rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin-top:2rem;display:grid}.service-card{border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;background:#fff;padding:2rem 1.5rem 1.5rem;transition:transform .15s,box-shadow .15s}.service-card:hover{transform:translateY(-6px)scale(1.03);box-shadow:0 8px 32px #6b21a821}.service-card img{object-fit:cover;background:var(--primary-light);border-radius:50%;width:80px;height:80px;margin-bottom:1rem}.service-card h3{color:var(--primary);margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.service-card p{color:#6b7280;font-size:1rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.gallery-item{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;transition:transform .15s,box-shadow .15s;overflow:hidden}.gallery-item:hover{transform:scale(1.02);box-shadow:0 8px 32px #6b21a821}.gallery-item img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.contact-form{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;max-width:480px;margin:0 auto;padding:2.5rem 2rem 2rem}.contact-form label{color:var(--primary);margin-bottom:.4rem;font-weight:600;display:block}.contact-form input,.contact-form textarea{border:1.5px solid var(--gray);border-radius:var(--radius);resize:vertical;background:#f4f3ff;width:100%;margin-bottom:1.2rem;padding:.7rem;font-family:inherit;font-size:1rem;transition:border .2s}.contact-form input:focus,.contact-form textarea:focus{border:1.5px solid var(--primary);outline:none}.contact-form button{background:var(--primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.8rem 2rem;font-size:1.1rem;font-weight:600;transition:background .2s}.contact-form button:hover{background:var(--secondary);color:var(--primary)}@media (width<=700px){.header-flex,.footer-flex{flex-direction:column;align-items:flex-start;gap:1rem}.hero h1{font-size:2rem}.container{padding:0 .8rem}.services-grid,.gallery-grid{grid-template-columns:1fr}}
