
*{box-sizing:border-box}
:root{--bg:#f7f7f5;--ink:#111;--muted:#666;--card:#fff}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;line-height:1.6}
.hero{padding:16px 0 8px;text-align:center;border-bottom:1px solid #e4e4e0;background:linear-gradient(180deg,#fff,#faf9f7)}
.logo{width:95%;max-width:1600px;height:auto;display:block;margin:0 auto 12px}
.tagline{margin:0 auto 12px;color:var(--muted);max-width:1000px;padding:0 12px}
.tabs{display:inline-flex;gap:8px;background:#fff;border:1px solid #ddd;border-radius:999px;padding:6px}
.tab{border:0;background:transparent;padding:10px 16px;border-radius:999px;cursor:pointer;font-weight:600}
.tab.active{background:#111;color:#fff}
.tab.link{text-decoration:none;display:inline-block;color:var(--ink)}
main{max-width:1200px;margin:0 auto;padding:18px 12px}
h2{font-size:28px;margin:10px 0 8px}
.section-note{color:var(--muted);margin-bottom:14px}
.masonry{column-count:1;column-gap:16px}
@media(min-width:700px){.masonry{column-count:2}}
@media(min-width:1100px){.masonry{column-count:3}}
figure{break-inside:avoid;background:var(--card);border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.06);margin:0 0 16px;padding:10px;border:1px solid #eee}
figure img{width:100%;height:auto;border-radius:8px;display:block}
figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.pricing{background:#fff;border:1px solid #eee;border-radius:16px;padding:16px;box-shadow:0 3px 10px rgba(0,0,0,.05);margin-top:22px}
.table-wrap{overflow:auto;border:1px solid #eee;border-radius:12px}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #eee;text-align:left}
th{background:#fafafa}
.terms{margin:10px 0 0 18px}
.footer{padding:20px;text-align:center;color:var(--muted)}
.panel{display:none}
.panel.active{display:block}


/* Lightbox overlay */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:20px;z-index:1000}
.lightbox.open{display:flex}
.lightbox img{max-width:95vw;max-height:80vh;display:block;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.lightbox .close{position:absolute;top:14px;right:18px;background:#fff;border:0;border-radius:999px;width:36px;height:36px;font-size:24px;line-height:36px;cursor:pointer}

/* Hover micro-interaction */
figure img{transition:transform .25s ease;transform-origin:center}
figure img:hover{transform:scale(1.01)}


/* Lightbox carousel controls */
.lightbox .nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);border:0;border-radius:999px;width:44px;height:44px;font-size:30px;line-height:44px;text-align:center;cursor:pointer;user-select:none}
.lightbox .prev{left:18px}
.lightbox .next{right:18px}
.lightbox .nav:focus,.lightbox .close:focus{outline:3px solid #000}


/* Contact form */
.contact{max-width:900px;margin:22px auto 0;padding:18px 12px;background:#fff;border:1px solid #eee;border-radius:16px;box-shadow:0 3px 10px rgba(0,0,0,.05)}
.contact form{display:grid;gap:12px;max-width:560px}
.contact label{display:grid;gap:6px;font-size:15px;color:#333}
.contact input,.contact textarea{padding:12px;border:1px solid #ddd;border-radius:8px;background:#fff}
.contact button{padding:12px 16px;border:1px solid #111;border-radius:8px;background:#111;color:#fff;font-weight:700;cursor:pointer}
.contact .hidden{display:none}
.contact-note{color:#666;margin-top:10px}


/* About section */
.about{max-width:1000px;margin:20px auto;padding:18px 12px;text-align:center;color:#333}
.about h2{font-size:30px;margin-bottom:10px}
.about p{font-size:16px;line-height:1.6;color:#555}
