html{scroll-behavior:smooth}.section{scroll-margin-top:60px;padding:80px 20px;width:100%;margin:0 auto;text-align:center;color:#111}.section-title{font-size:32px;font-weight:700;margin-bottom:24px;display:inline-block;padding-bottom:4px}.section-inner{max-width:960px;margin:0 auto;padding:0 20px}.hero{background:#fff;color:#111;padding:120px 20px 100px}.hero-title{font-size:clamp(32px,6vw,48px);font-weight:700;margin-bottom:16px}.hero-lead{font-size:clamp(16px,3vw,20px);color:#555;margin-bottom:32px}.cta-btn{display:inline-block;padding:12px 28px;font-size:16px;font-weight:700;color:white;background:#111;border-radius:999px;text-decoration:none;transition:background .3s,transform .2s}.cta-btn:hover{color:#ff6b6b;transform:scale(1.05)}.about{background:#111;color:white}.about p{font-size:16px;line-height:1.8;max-width:720px;margin:0 auto}.works{background:white;color:#111}.works-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));justify-content:center;gap:24px;margin-top:10px}.work-thumb{background:none;border:none;cursor:pointer;text-align:center}.thumb-img{border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s}.thumb-img:hover{transform:scale(1.03);box-shadow:0 6px 30px rgba(0,0,0,.12)}.thumb-title{margin-top:12px;margin-bottom:12px;font-weight:700;font-size:15px;color:#333}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:999}.modal-content{background:#fff;border-radius:16px;padding:24px;max-width:90%;max-height:90%;overflow-y:auto;box-shadow:0 4px 24px rgba(0,0,0,.2);text-align:center}.modal-content h3{font-size:27px;font-weight:700;margin-bottom:12px;color:#111}.modal-content p{font-size:16px;line-height:1.7;color:#444;margin-bottom:24px;padding:0 10px}.modal-img{display:block;margin:0 auto 16px;border-radius:12px;max-width:80%;height:auto}.modal-link{display:inline-block;margin-top:12px;margin-bottom:40px;padding:8px 22px;background:#111;color:#fff;font-weight:700;border-radius:999px;text-decoration:none;transition:background .3s,transform .2s}.modal-link:hover{color:red;transform:scale(1.05)}.close-btn{margin-top:30px;padding:8px 22px;border:none;background:#bbbbbb;border-radius:8px;cursor:pointer;transition:background .2s}.close-btn:hover{background:#a4a4a4}.modal-gallery{margin:8px auto 0;max-width:820px}.carousel-stage,.modal-gallery{position:relative}.gallery-img.modal-img{display:block;margin:0 auto 12px;max-width:80%;height:auto;border-radius:12px}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(0,0,0,.06);width:36px;height:36px;border-radius:999px;cursor:pointer;font-size:22px;line-height:36px;text-align:center;transition:background .2s,transform .1s;user-select:none}.carousel-nav:hover{background:rgba(0,0,0,.12)}.carousel-nav:active{transform:translateY(-50%) scale(.96)}.carousel-nav.prev{left:8px}.carousel-nav.next{right:8px}.carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:6px}.carousel-dots .dot{width:8px;height:8px;border-radius:50%;border:1px solid #bbb;background:#e9e9e9;opacity:.8;cursor:pointer;transition:transform .15s,opacity .15s,background .15s}.carousel-dots .dot.is-active{background:#111;border-color:#111;opacity:1}.carousel-dots .dot:hover{transform:scale(1.15)}.description{white-space:pre-line}.modal-languages{margin:16px 0;text-align:center}.modal-languages h4{font-size:16px;font-weight:700;margin-bottom:12px;color:#111}.modal-languages ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;padding:0;margin:0 auto;max-width:90%}.modal-languages li{background:#f3f3f3;color:#333;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid #ddd;white-space:nowrap;transition:background .2s,transform .2s}.modal-languages li:hover{background:#111;color:#fff;transform:scale(1.05)}.carousel-stage.uniform .img-frame{width:min(700px,70vw);aspect-ratio:10/10;margin:0 auto 12px;position:relative;overflow:hidden;border-radius:12px;border:1px solid #eee;background:#f7f7f8;box-shadow:0 2px 10px rgba(0,0,0,.06)}.carousel-stage.uniform .img-frame img{object-fit:contain;width:100%;height:100%}.profile{background:#111;color:#fff}.profile-grid{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;align-items:center;margin-top:32px}.profile-text{flex:1;min-width:280px;max-width:500px;font-size:16px;line-height:1.8;text-align:left;margin:0 auto}.profile-photo{flex-shrink:0;width:250px;height:250px;border-radius:50%;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.1)}.profile-photo img{width:100%;height:100%;object-fit:cover}.contact{background:#fff;color:#111}.contact p{margin-bottom:40px}.contact-form{max-width:600px;margin:0 auto;display:grid;gap:20px;text-align:left}.form-group{display:grid;gap:6px}.contact-form label{font-weight:700;color:#333}.contact-form input,.contact-form textarea{padding:10px;border:1px solid #ccc;border-radius:6px;font-size:16px}.submit-btn{display:inline-block;background:#111;color:#fff;padding:10px 20px;border:none;border-radius:6px;cursor:pointer;transition:background .3s ease}.submit-btn:hover{color:#ff6b6b;font-weight:700;transform:scale(1.03)}.section.thanks{text-align:center;padding:100px 20px;background-color:#fff}.section.thanks .section-title{font-size:32px;margin-bottom:30px;color:#111}.section.thanks p{font-size:18px;color:#111;line-height:1.6px}@media (max-width:480px){html{font-size:90%}.hero-title{font-size:32px}.hero-lead{font-size:14px;line-height:1.6;margin-bottom:24px}.cta-btn{padding:10px 20px;font-size:14px}.section{padding:60px 16px}.section-title{font-size:30px}.section-inner{padding:0 12px}.profile-text{text-align:center}.about p,.profile-text{font-size:14px;line-height:1.6}.profile-grid{flex-direction:column;gap:24px}.profile-photo{width:220px;height:220px}.works-grid{gap:16px}.thumb-title{font-size:16px}.contact-form{padding:0 8px}.submit-btn{font-size:14px;padding:10px 16px}.section.thanks{padding:80px 16px}.section.thanks .section-title{font-size:24px}.section.thanks p{font-size:15px;line-height:1.6}.modal-content{padding:20px 12px}.modal-content h3{font-size:23px}.modal-img{width:100%!important;height:auto!important}.modal-link{width:40%;padding:9px;font-size:15px}.close-btn{width:40%;font-size:14px;padding:10px}.gallery-img.modal-img{max-width:100%}.carousel-nav{display:none}.carousel-stage.uniform .img-frame{width:100%;aspect-ratio:16/10}}