@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--bg:#111214;--panel:#191a1e;--text:#f5f5f2;--muted:#a5a7ad;--line:#2c2e34;--aqua:#42e6d1;--pink:#ff4d91;--yellow:#f5d85c;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100vw - var(--max))/2));background:rgba(17,18,20,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}.brand{font-weight:800;letter-spacing:-1px;font-size:20px}.brand span{color:var(--aqua)}.brand small{display:block;font-size:8px;letter-spacing:3px;color:var(--muted);margin-top:-3px}.nav{display:flex;gap:28px;align-items:center;font-size:14px;color:#ddd}.nav a:not(.nav-cta):hover{color:var(--aqua)}.nav-cta{background:var(--aqua);color:#07100e;padding:11px 17px;border-radius:999px;font-weight:700}.menu-toggle{display:none;background:none;color:white;border:0;font-size:24px}.hero,.section{max-width:var(--max);margin:auto;padding:96px 24px}.hero{min-height:700px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding-top:80px}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;color:var(--aqua);margin:0 0 18px}.hero h1,.section h2{font-size:clamp(42px,6vw,78px);line-height:1.03;letter-spacing:-3px;margin:0 0 24px}.hero h1 em{font-family:inherit;font-style:normal;font-weight:inherit;color:transparent;background:linear-gradient(90deg,#08b9ed 0%,#7656d8 27%,#ec168c 52%,#ff663b 76%,#ffd21a 100%);-webkit-background-clip:text;background-clip:text}.section h2 em{font-family:'Playfair Display',serif;font-weight:500;color:#fff}.lead{font-size:19px;color:var(--muted);max-width:610px}.hero-actions{display:flex;gap:12px;margin:32px 0}.btn{display:inline-flex;gap:20px;align-items:center;border:0;padding:14px 20px;border-radius:8px;font-weight:700;cursor:pointer;font-size:14px}.primary{background:var(--aqua);color:#07100e}.ghost{border:1px solid var(--line);color:white}.hero-points{display:flex;flex-wrap:wrap;gap:16px;color:#9ea0a6;font-size:12px}.hero-card{min-height:500px;border:1px solid #303238;background:#15161a;position:relative;overflow:hidden;border-radius:16px}.grid-art{position:absolute;inset:0;background-image:linear-gradient(rgba(66,230,209,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(66,230,209,.12) 1px,transparent 1px);background-size:42px 42px;transform:perspective(500px) rotateX(12deg) scale(1.15);filter:blur(.2px)}.grid-art:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,77,145,.42),transparent 65%);top:22%;left:25%;filter:blur(20px)}.hero-card-label{position:absolute;left:30px;bottom:30px;display:flex;flex-direction:column;gap:5px}.hero-card-label b{font-size:34px;letter-spacing:-1px}.hero-card-label span{color:#aeb0b5;font-size:13px}.section-head{display:grid;grid-template-columns:1fr .7fr;gap:80px;align-items:end;margin-bottom:44px}.section-head>p{color:var(--muted);margin:0}.services{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service{padding:30px 24px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px;transition:.25s}.service:hover{background:#17191c;transform:translateY(-3px)}.service:nth-child(3n){border-right:0}.service .num{color:#686a71;font-size:11px}.service h3{font-size:22px;margin:45px 0 10px}.service p{color:var(--muted);font-size:14px;max-width:310px}.service b{font-size:12px;color:var(--aqua)}.service.accent{background:linear-gradient(135deg,#1b2525,#191a1e)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.filters button{background:transparent;color:#9ea0a6;border:1px solid var(--line);padding:9px 15px;border-radius:999px;cursor:pointer}.filters button.active,.filters button:hover{background:#f2f2ee;color:#111;border-color:#f2f2ee}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-item{aspect-ratio:1/1;overflow:hidden;border-radius:8px}.gallery-item.tall{grid-row:span 2;aspect-ratio:auto}.placeholder{height:100%;min-height:230px;background:linear-gradient(135deg,#25272c,#121316);display:flex;flex-direction:column;justify-content:end;padding:22px;position:relative;overflow:hidden}.placeholder:before{content:'';position:absolute;width:170px;height:170px;border:1px solid rgba(66,230,209,.25);border-radius:50%;right:-30px;top:25px}.placeholder span{font-size:10px;letter-spacing:2px;color:var(--aqua)}.placeholder strong{font-size:19px;margin-top:6px}.trust{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.trust-copy p:not(.eyebrow){color:var(--muted)}.review-demo{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:35px}.stars{letter-spacing:4px;color:#ffd85c}.review-demo p{font-family:'Playfair Display',serif;font-size:25px;line-height:1.35}.review-demo span{font-size:11px;color:#777}.text-link{display:inline-block;margin-top:18px;color:var(--aqua);font-weight:700;font-size:13px}.quote{display:grid;grid-template-columns:.8fr 1fr;gap:90px;background:#151619}.quote-form{display:grid;gap:18px}.quote-form label{font-size:12px;color:#9ea0a6}.quote-form input,.quote-form textarea{display:block;width:100%;margin-top:7px;background:#0e0f11;border:1px solid var(--line);border-radius:7px;padding:14px;color:white;font:inherit;outline:none}.quote-form input:focus,.quote-form textarea:focus{border-color:var(--aqua)}.form-note{font-size:12px;color:var(--aqua)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-data{display:flex;flex-direction:column;gap:13px;justify-content:center}.contact-data a{font-size:25px;font-weight:700}.contact-data a:hover{color:var(--aqua)}.contact-data p{color:var(--muted)}footer{border-top:1px solid var(--line);padding:25px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;color:#777;font-size:12px}footer a:hover{color:var(--aqua)}@media(max-width:800px){.nav{display:none}.menu-toggle{display:block}.nav.open{position:absolute;display:flex;flex-direction:column;align-items:stretch;left:0;right:0;top:69px;background:#111214;padding:18px 24px;border-bottom:1px solid var(--line)}.hero,.trust,.quote,.contact,.section-head{grid-template-columns:1fr;gap:35px}.hero{padding-top:60px;min-height:auto}.hero-card{min-height:340px}.service-grid{grid-template-columns:1fr}.service,.service:nth-child(3n){border-right:0}.gallery{grid-template-columns:repeat(2,1fr)}.gallery-item.tall{grid-row:auto}.section{padding:70px 20px}.hero h1,.section h2{letter-spacing:-2px}.hero-points{flex-direction:column;gap:7px}}
/* Brand logo and real project gallery */
.brand{display:flex;align-items:center;flex:0 0 auto;letter-spacing:0;font-size:inherit}
.brand img{display:block;width:clamp(190px,22vw,285px);height:auto;max-height:58px;object-fit:contain;object-position:left center}
.gallery-item{position:relative;background:#191a1e;isolation:isolate}
.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.gallery-item:hover img{transform:scale(1.045)}
.gallery-caption{position:absolute;inset:auto 0 0;padding:40px 15px 14px;background:linear-gradient(transparent,rgba(0,0,0,.84));display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity .2s ease}
.gallery-item:hover .gallery-caption,.gallery-item:focus-within .gallery-caption{opacity:1}
.gallery-caption span{font-size:9px;letter-spacing:2px;color:var(--aqua);font-weight:700}
.gallery-caption strong{font-size:14px;color:white}
@media(max-width:800px){.brand img{width:190px;max-height:48px}.gallery-caption{opacity:1;padding:34px 10px 10px}.gallery-caption strong{font-size:12px}}

/* Hero realization slideshow */
.hero-showcase{isolation:isolate;background:#15161a}
.hero-showcase .grid-art{display:none}
.hero-slides,.hero-slide{position:absolute;inset:0;width:100%;height:100%}
.hero-slide{display:block;object-fit:cover;object-position:center;opacity:0;transition:opacity .9s ease;}
.hero-slide.is-active{opacity:1}
.hero-slide-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,9,11,.04) 30%,rgba(8,9,11,.82) 100%);z-index:1;pointer-events:none}
.hero-showcase .hero-card-label{z-index:2;left:30px;bottom:36px}
.hero-showcase .hero-card-label b{font-size:34px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero-showcase .hero-card-label span{color:#f0f0f0;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.hero-slide-dots{position:absolute;z-index:3;right:22px;bottom:24px;display:flex;gap:7px}
.hero-slide-dots button{width:7px;height:7px;padding:0;border:0;border-radius:10px;background:rgba(255,255,255,.55);cursor:pointer;transition:width .2s,background .2s}
.hero-slide-dots button.active{width:22px;background:var(--aqua)}
.hero-showcase:hover .hero-slide-dots button{background:rgba(255,255,255,.8)}
.hero-showcase:hover .hero-slide-dots button.active{background:var(--aqua)}
@media(max-width:800px){.hero-showcase{min-height:340px}.hero-showcase .hero-card-label{left:20px;bottom:27px}.hero-showcase .hero-card-label b{font-size:28px}.hero-slide-dots{right:18px;bottom:20px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

.review-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center}.review-actions .text-link{margin-top:18px}.review-actions .text-link span{margin-left:5px}

/* Google reviews */
.reviews-summary{margin:26px 0 8px;color:var(--muted)}.reviews-summary strong{font-size:30px;color:var(--text);margin-right:10px}.reviews-summary .stars{font-size:16px;letter-spacing:2px}.reviews-summary>span:last-child{font-size:13px}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.review-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}.review-card-head{display:flex;align-items:center;gap:11px}.review-card-head>div{min-width:0;flex:1}.review-card-head strong{font-size:14px;display:block;overflow-wrap:anywhere}.review-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#8124a5;color:white;font-size:18px}.review-avatar.blue{background:#0788c9}.review-avatar.navy{background:#075b9c}.review-avatar.violet{background:#7952bb}.review-card .stars{font-size:13px;letter-spacing:2px;margin-top:3px}.google-label{font-size:10px;color:var(--muted)}.review-card p{font-size:14px;line-height:1.6;margin:17px 0 0;color:#e6e6e6}.review-card p.review-no-text{font-size:12px;color:var(--muted);font-style:italic}.review-actions{gap:18px}@media(max-width:800px){.reviews-grid{grid-template-columns:1fr}.review-card{padding:18px}.reviews-summary strong{font-size:26px}}


/* Final coordinated section refinements */
.section h2 em{font-family:inherit;font-style:normal;font-weight:inherit;color:transparent;background:linear-gradient(90deg,#08b9ed 0%,#7656d8 27%,#ec168c 52%,#ff663b 76%,#ffd21a 100%);-webkit-background-clip:text;background-clip:text}
.services-head{align-items:center}
.services-head>p{font-size:clamp(16px,1.35vw,19px);line-height:1.65;align-self:center}
.works-head{grid-template-columns:1fr 1fr;align-items:center}
.works-head .works-intro{font-size:clamp(16px,1.35vw,19px);line-height:1.65;color:var(--muted);margin:0;max-width:620px}
.works-head>div{grid-column:2;grid-row:1}
.service{display:block;color:inherit;text-decoration:none;cursor:default}
.service:hover{background:#17191c;transform:translateY(-3px)}
.service h3{margin-top:45px}
.contact{align-items:start}
.contact-copy{align-self:center}
.contact-right{min-width:0;display:flex;flex-direction:column;gap:22px}
.contact-map-link{display:block;overflow:hidden;border:1px solid var(--line);border-radius:10px;line-height:0}
.contact-map{display:block;width:100%;height:auto;max-height:390px;object-fit:cover;transition:transform .25s ease}
.contact-map-link:hover .contact-map{transform:scale(1.015)}
.contact-data{gap:12px}
.contact-data a{font-size:clamp(17px,2vw,24px)}
.contact-data .contact-address{font-size:15px;line-height:1.65;font-weight:400;color:var(--muted);margin-top:2px}
.contact-address span{color:var(--aqua);white-space:nowrap}
@media(max-width:800px){.works-head>div{grid-column:auto;grid-row:auto}.works-head{grid-template-columns:1fr}.services-head>p{font-size:16px}.contact-map{max-height:none}.contact-data a{font-size:19px}}
