.section{padding:110px 0}.section-heading{margin-bottom:52px}.section-heading h2{letter-spacing:-.6px}.hero{padding-top:110px;padding-bottom:145px;min-height:760px}.hero-layout{gap:75px}.hero-copy{order:1}.hero-visual{order:2}.hero h1{font-size:clamp(36px,4.3vw,64px);max-width:680px;line-height:1.3}.hero-visual>img{aspect-ratio:4/4.5;border-radius:120px 24px 120px 24px;border:9px solid #ffffff12}.hero-visual:before{content:'';position:absolute;inset:25px -20px -20px 25px;border:1px solid #ffffff33;border-radius:120px 24px 120px 24px;z-index:-1}.hero:after{content:'';position:absolute;width:500px;height:500px;border:1px solid #ffffff15;border-radius:50%;top:-260px;inset-inline-start:-180px;box-shadow:0 0 0 65px #ffffff04,0 0 0 130px #ffffff03;animation:orb 12s ease-in-out infinite}.floating-badge{animation:float 6s ease-in-out infinite}.floating-badge.bottom{animation-delay:-3s;bottom:45px;left:-30px;padding:20px 30px}.eyebrow i{box-shadow:0 0 0 5px #ffffff0d;animation:pulse 3s infinite}.hero-copy>p{line-height:2}.hero-actions{margin-top:34px}.hero .button{min-height:58px}.service-grid{gap:28px}.service-card{position:relative;border-radius:26px;box-shadow:0 8px 36px #0b223908;transition:transform .35s,box-shadow .35s;border-color:#e8eef3}.service-card:hover{transform:translateY(-9px);box-shadow:0 25px 60px #0b223914}.service-card>img{aspect-ratio:16/10;transition:transform .6s}.service-card:hover>img{transform:scale(1.035)}.service-index{position:absolute;top:18px;inset-inline-end:18px;background:#ffffffeb;border-radius:12px;padding:4px 12px;color:var(--primary);font-size:14px;font-weight:800;z-index:1}.service-body{padding:0 27px 28px}.service-icon{margin-top:-26px;z-index:1;background:var(--primary);color:#fff;border:5px solid #fff;width:64px;height:64px;border-radius:19px;margin-bottom:15px}.service-body h3{font-size:24px}.service-body p{line-height:1.9}.service-body>.button{width:100%;background:var(--surface);box-shadow:none;color:var(--primary);border-radius:13px;min-height:47px}.service-body>.button:hover{background:var(--gradient);color:#fff}.about{background:linear-gradient(120deg,var(--surface),#fff)}.about-layout{gap:80px}.about-visual{padding:20px}.about-visual:before{content:'';position:absolute;inset:0 55px 55px 0;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:30px}.about-visual>img{position:relative;border-radius:28px;aspect-ratio:1;box-shadow:none}.about-seal{bottom:0;left:0;max-width:85%;border:7px solid #fff;border-radius:22px;font-size:15px}.about-copy>p{font-size:18px;line-height:2.1;max-width:620px}.about-features{grid-template-columns:repeat(3,1fr);gap:12px}.about-features>div{flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;font-size:14px}.about-features>div>span{border-radius:12px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.project-card{position:relative;border-radius:24px;box-shadow:none;text-align:inherit}.project-image{aspect-ratio:16/11}.project-meta{background:var(--primary);color:#fff;padding:25px 28px}.project-meta h3{color:#fff;font-size:23px}.project-meta>.icon{width:42px;height:42px;padding:10px;background:#ffffff12;border-radius:50%}.project-image img{transition:transform .8s}.project-card:hover img{transform:scale(1.07)}.steps-grid article{border-radius:24px;padding:42px 24px}.testimonials{background:var(--surface);overflow:hidden}.review-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 2px 25px;scroll-behavior:smooth}.review-track::-webkit-scrollbar{display:none}.review-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;min-width:0}.review-quote{position:absolute;top:0;inset-inline-end:23px;font-size:90px;color:color-mix(in srgb,var(--accent) 17%,transparent);line-height:1.2}.review-stars{color:#d6a348;letter-spacing:3px;font-size:19px;margin-bottom:22px}.review-card>p{line-height:2;min-height:115px;font-size:16px;color:var(--muted)}.review-person{display:flex;gap:13px;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.review-person>span{display:grid;place-items:center;width:48px;height:48px;background:var(--surface);color:var(--accent);border-radius:50%}.review-person strong,.review-person small{display:block}.review-person small{color:var(--muted);font-size:13px}.review-controls{display:flex;align-items:center;justify-content:center;gap:15px;font-size:13px;color:var(--muted)}.review-controls button{border:1px solid var(--line);background:#fff;border-radius:50%;width:42px;height:42px;color:var(--primary)}.review-controls .review-pause{width:auto;border-radius:40px;padding:0 15px;font-size:12px}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.faq-intro{background:var(--surface);padding:38px;border-radius:26px;position:sticky;top:120px}.faq-symbol{display:grid;place-items:center;width:64px;height:64px;background:#fff;color:var(--accent);border-radius:20px;margin-bottom:26px}.faq-intro h3{font-size:27px;line-height:1.6;color:var(--primary)}.faq-intro p{color:var(--muted);margin:15px 0 28px}.faq-list{width:100%;gap:18px}.faq-list details{box-shadow:none;border-radius:18px;overflow:hidden}.faq-list details[open]{border-color:color-mix(in srgb,var(--accent) 45%,#fff);background:var(--surface)}.faq-list summary{padding:25px;font-size:18px}.faq-list summary span{display:grid;place-items:center;background:var(--surface);width:34px;height:34px;border-radius:50%;flex-shrink:0}.faq-list details>p{padding:0 25px 25px;line-height:2}.contact-layout{gap:0;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:0 20px 65px #0b223909}.contact-info{background:var(--primary);padding:42px;gap:18px}.contact-item{border:1px solid #ffffff15;background:#ffffff05;padding:22px;transition:background .2s;border-radius:18px}.contact-item:hover{background:#ffffff0e}.contact-item small{color:#ffffff8f}.contact-item strong{color:#fff;font-weight:500}.contact-item>span{background:#ffffff0d;color:var(--accent);border-radius:50%}.quote-form{box-shadow:none;border:0;border-radius:0;padding:42px;gap:22px}.quote-form h3{font-size:28px}.quote-form input,.quote-form textarea{background:#f8fafc;border-radius:12px;padding:15px}.quote-form>.button{width:100%;justify-self:stretch;min-height:58px;border-radius:13px}.footer-grid{grid-template-columns:1.4fr .8fr 1fr 1.1fr;gap:44px}.footer-grid h3{font-size:19px;position:relative;padding-bottom:12px}.footer-grid h3:after{content:'';position:absolute;bottom:0;inset-inline-start:0;width:25px;height:2px;background:var(--accent)}.footer-grid>div>a:not(.footer-brand){font-size:15px;margin:11px 0}.footer-grid>div>a:hover{color:#fff}.footer-sign{display:flex;gap:9px;color:var(--accent);margin-top:25px;font-size:13px}.footer-contact{display:flex!important;gap:10px;align-items:center;font-size:15px}.footer-grid p.footer-contact{margin-top:15px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;text-align:start}.footer-bottom strong{color:var(--accent);font-weight:800}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.section-label{letter-spacing:.3px}@keyframes float{50%{transform:translateY(-12px)}}@keyframes orb{50%{transform:translate(30px,25px) rotate(15deg)}}@keyframes pulse{50%{box-shadow:0 0 0 9px #ffffff03}}
@media(max-width:1000px){.hero{min-height:0}.hero-layout{gap:45px}.hero-visual{max-width:620px}.hero-visual>img{aspect-ratio:16/11;border-radius:60px 20px 60px 20px}.hero-visual:before{border-radius:60px 20px 60px 20px;inset:20px 0 -15px 20px}.about-layout{gap:40px}.about-visual{max-width:560px}.faq-layout{gap:30px;grid-template-columns:1fr 1.3fr}.review-card{flex-basis:calc((100% - 24px)/2)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.section{padding:70px 0}.hero{padding:55px 0 100px}.hero h1{font-size:38px}.hero-layout{gap:38px}.hero .button{min-height:50px}.hero-visual:before{inset:15px 0 -12px 15px}.floating-badge.bottom{left:0;bottom:20px;padding:12px 16px}.service-body{padding-inline:22px}.service-grid{gap:25px}.about-features{grid-template-columns:1fr}.about-features>div{flex-direction:row;align-items:center;padding:14px}.about-copy>p{font-size:16px}.about-visual{padding:12px}.about-seal{font-size:12px;padding:15px}.project-grid{grid-template-columns:1fr}.review-card{flex-basis:88%;padding:25px}.review-controls{gap:9px;flex-wrap:wrap}.faq-layout{grid-template-columns:1fr;gap:25px}.faq-intro{position:static;padding:26px}.faq-intro h3{font-size:23px}.faq-list summary{font-size:16px;padding:20px}.contact-layout{border-radius:23px}.contact-info,.quote-form{padding:24px}.contact-item{padding:17px}.quote-form h3{font-size:24px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;text-align:center;align-items:center}.footer-grid h3{margin-bottom:15px}}
.container.footer-bottom{display:block;text-align:center;width:min(calc(100% - 40px),1340px);margin-inline:auto}.container.footer-bottom>span{display:block;width:100%;text-align:center}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{perspective:1200px;overflow:visible;border:0;border-radius:20px;background:transparent;box-shadow:none;min-width:0}.project-flipper{position:relative;height:350px;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.project-card.is-flipped .project-flipper{transform:rotateY(180deg)}.project-front,.project-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:#fff;box-shadow:0 8px 28px #0b223909}.project-open{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;background:transparent;text-align:inherit;color:inherit;border-radius:20px;overflow:hidden}.project-open:focus-visible{outline-offset:-4px}.project-card .project-image{position:relative;aspect-ratio:auto;flex:1;width:100%;min-height:0;background:var(--surface)}.project-category{position:absolute;top:14px;inset-inline-start:14px;max-width:calc(100% - 28px);padding:4px 12px;border-radius:30px;background:#fffffff0;color:var(--primary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card .project-meta{display:block;width:100%;padding:18px 20px;background:#fff;text-align:start;min-height:106px}.project-card .project-meta h3{font-size:19px;line-height:1.5;color:var(--primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.project-hint{display:flex;align-items:center;justify-content:space-between;color:var(--accent);font-size:12px;margin-top:9px}.project-hint .icon{width:18px;height:18px}.project-back{transform:rotateY(180deg);background:var(--primary);color:#fff;padding:24px;display:flex;flex-direction:column;gap:12px;text-align:start}.project-back-label{color:var(--accent);font-size:12px;overflow-wrap:anywhere}.project-back h3{font-size:21px;line-height:1.5;overflow-wrap:anywhere;max-height:96px;overflow:auto;flex-shrink:0}.project-description{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;line-height:1.9;font-size:14px;overflow-wrap:anywhere;color:#ffffffce}.project-back-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:10px;border-top:1px solid #ffffff20;flex-shrink:0}.project-close,.project-visit{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ffffff30;background:#ffffff0c;color:#fff;border-radius:10px;padding:9px 12px;font-size:12px;min-height:42px}.project-visit{background:var(--accent);border-color:transparent}.project-close .icon,.project-visit .icon{width:16px;height:16px}.project-front[aria-hidden=true],.project-back[aria-hidden=true]{pointer-events:none}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.project-grid{grid-template-columns:1fr;gap:20px;max-width:400px;margin-inline:auto}.project-flipper{height:310px}.project-card .project-meta{padding:15px 18px;min-height:100px}.project-card .project-meta h3{font-size:18px}.project-back{padding:20px}.project-back h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}.reveal{opacity:1;transform:none}.review-track{scroll-behavior:auto}.project-flipper{transition:none}}
