/* Small compatibility and accessibility fixes; existing visual identity retained. */
#preloader{display:none!important}
.reveal{opacity:1;transform:none}
.hero-service{font-size:clamp(1rem,2.6vw,1.5rem);line-height:1.5;max-width:760px;margin:1rem auto}
.booking-form{max-width:720px;margin:3rem auto 0;padding:clamp(20px,4vw,40px);border:1px solid var(--primary-cyan);border-radius:20px;background:var(--card-bg);text-align:left}
.booking-form h3{font-size:1.6rem;margin-bottom:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-group{min-width:0}
.form-status{margin:16px 0;line-height:1.6;color:var(--primary-cyan);min-height:1.6em}
.consent-label{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;line-height:1.6;margin:20px 0}
.consent-label input{margin-top:6px;flex:none}
.consent-label a,.service-links a,.service-body a{color:var(--primary-cyan);text-decoration:underline;text-underline-offset:4px}
.honey-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.calc-summary{padding:15px;border:1px solid var(--card-border);margin-bottom:15px;line-height:1.5}
.service-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:28px 0;line-height:1.8}
:focus-visible{outline:2px solid var(--primary-cyan);outline-offset:5px}
button:disabled{opacity:.6;cursor:wait}
.gallery-img{aspect-ratio:4/3;object-fit:cover}
.review-card-dynamic p{overflow-wrap:anywhere}
.service-shell{max-width:1100px;margin:auto;padding:30px 24px 70px}
.service-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:60px;flex-wrap:wrap}
.service-top a{color:var(--primary-cyan)}
.service-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;margin-bottom:50px}
.service-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1.12;margin:18px 0}
.service-hero p,.service-body p{color:var(--text-gray);line-height:1.8;margin:18px 0}
.service-hero img{width:100%;border-radius:24px;max-height:550px;object-fit:cover}
.service-eyebrow{color:var(--primary-cyan);letter-spacing:2px;text-transform:uppercase}
.service-body{max-width:850px}.service-body h2{font-size:clamp(1.5rem,3vw,2.3rem);margin:40px 0 20px;text-align:left}
.service-body li{line-height:1.8;margin:8px 0 8px 24px;list-style:disc}.service-price{color:var(--primary-cyan)!important;font-size:1.5rem}
.service-footer{margin-top:60px;border-top:1px solid var(--card-border);padding-top:24px;line-height:1.8}
@media(max-width:600px){.form-grid,.service-hero{grid-template-columns:1fr}.service-top{margin-bottom:30px}.booking-form{padding:20px}.service-shell{padding-inline:18px}.service-hero img{max-height:360px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.hero-3d-item,.parallax-card,.parallax-img{transform:none!important}#heroCanvas{display:none}}

@keyframes service-in{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.service-hero{animation:service-in .6s ease both}}

/* Services navigation: native details works with keyboard, touch and without JS. */
.services-menu{position:relative;text-align:left;font:700 .85rem Montserrat,sans-serif;letter-spacing:.04em}
.services-menu summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;color:#fff;padding:12px 16px;border:1px solid rgba(0,247,255,.35);border-radius:12px;background:rgba(0,247,255,.05);text-transform:uppercase}
.services-menu summary::-webkit-details-marker{display:none}.services-menu[open] summary{border-color:var(--primary-cyan);color:var(--primary-cyan);box-shadow:0 0 20px #00f7ff18}
.services-menu summary span{transition:transform .2s}.services-menu[open] summary span{transform:rotate(180deg)}
.services-dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:290px;padding:10px;border:1px solid #ffffff25;border-radius:18px;background:#131322;box-shadow:0 24px 70px #0009;z-index:1100}
.services-dropdown a,.nav-links .services-dropdown a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 12px!important;color:#fff!important;border-radius:10px;font-size:.83rem!important;text-decoration:none!important;text-transform:none!important}
.services-dropdown a:hover{background:linear-gradient(110deg,#00f7ff20,#bc13fe22)}.service-index{color:var(--primary-cyan);font-size:.7rem}.services-dropdown a::after{display:none!important}
.service-links{max-width:1100px;margin:35px auto;padding:0 20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.service-links a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:80px;padding:20px;border:1px solid #00f7ff50;border-radius:16px;background:linear-gradient(120deg,#00f7ff0d,#bc13fe17);color:#fff;text-decoration:none;font:700 .9rem Montserrat,sans-serif;transition:transform .2s,border-color .2s,box-shadow .2s}
.service-links a::after{display:none}.service-links a:hover{transform:translateY(-3px);border-color:var(--primary-cyan);box-shadow:0 8px 28px #00f7ff18}
.review-intro,.form-help,.reviews-policy-note{font-size:.86rem;line-height:1.7;color:var(--text-gray);margin:12px 0}.review-intro a,.form-help a,.reviews-policy-note a{color:var(--primary-cyan);text-decoration:underline}
#reviewModal .modal-content{max-height:90dvh;overflow-y:auto;padding:30px;overscroll-behavior:contain}
#reviewModal .lightbox-close{position:absolute;top:8px;right:12px;border:0;background:none;font-size:2rem;color:#fff;cursor:pointer}
#reviewForm>label{display:block;margin-top:18px}#reviewForm>label.consent-label{display:flex}#reviewForm .form-input{margin:8px 0 14px}
.consent-block{border:1px solid #ffffff30;border-radius:14px;padding:18px;margin:20px 0;text-align:left;min-width:0}.consent-block legend{font-weight:600;font-size:.9rem;padding:0 8px;color:var(--primary-cyan)}
.consent-block:disabled{opacity:.45}.publication-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:15px 0}.publication-fields label{display:flex;align-items:center;gap:8px}.publication-choice{border-left:3px solid var(--primary-cyan);padding-left:12px}
.review-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#ffffff08;padding:16px;margin-top:10px}.review-conditions{margin-top:15px;font-size:.8rem;line-height:1.5}.review-conditions summary{cursor:pointer;color:var(--primary-cyan)}
#withdrawalReceipt{padding:18px;border:1px solid var(--primary-cyan);border-radius:12px;margin:20px 0;overflow-wrap:anywhere}#withdrawalReceipt a{color:var(--primary-cyan);text-decoration:underline}
.legal-document{max-width:960px;padding-top:50px}.legal-document h1{font-size:clamp(1.6rem,4vw,2.8rem);margin:35px 0 20px;overflow-wrap:anywhere}.legal-document h2{font-size:1.2rem;margin:26px 0 12px;text-align:left}.legal-document p,.legal-document li{line-height:1.8;color:#c8c8d3;margin:12px 0}.legal-document a{color:var(--primary-cyan);text-decoration:underline}.legal-version{font-size:.8rem}.legal-draft{padding:15px;border:1px solid #ffd166;border-radius:12px}.admin-card{padding:24px;border:1px solid #ffffff30;border-radius:16px;margin:25px 0}.admin-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem}.admin-card blockquote{white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0;padding:15px;border-left:2px solid var(--primary-cyan)}.admin-card button{margin:12px 0}
@media(max-width:1100px){.service-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:992px){.services-nav-item{width:min(90vw,360px)}.services-dropdown{position:static;margin-top:8px;min-width:0;width:100%;box-shadow:none}.nav-links.active{overflow-y:auto;max-height:calc(100dvh - 75px);padding-block:25px}.services-menu summary{justify-content:center}.nav-links .services-dropdown a{font-size:.85rem!important}}
@media(max-width:500px){.service-links{padding:0 14px;gap:10px}.service-links a{padding:15px 12px;font-size:.78rem;min-height:78px}.publication-fields{grid-template-columns:1fr}#reviewModal .modal-content{padding:25px 18px;width:95%}.consent-block{padding:12px}.legal-document{padding-inline:18px}.service-top .services-menu{order:3;width:100%}}

.reviews-empty{width:min(900px,calc(100vw - 90px));white-space:normal;line-height:1.8;margin:0 auto;text-align:center}

/* Uploaded portfolio: native video controls, stable media geometry. */
.portfolio-feed{margin:70px 0}.portfolio-heading{margin-bottom:30px}.portfolio-heading h2{text-align:left;font-size:clamp(1.8rem,4vw,3rem);margin:15px 0}.portfolio-heading p{color:var(--text-gray)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.portfolio-card{margin:0;min-width:0;overflow:hidden;border-radius:20px;border:1px solid #ffffff22;background:linear-gradient(145deg,#12121e,#1b1428);transition:transform .25s,border-color .25s;scroll-margin-top:110px}.portfolio-card:hover{transform:translateY(-4px);border-color:var(--primary-cyan)}.portfolio-card>a{display:block;overflow:hidden}.portfolio-card img,.portfolio-card video{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#08080f}.portfolio-card img{object-fit:cover;transition:transform .4s}.portfolio-card a:hover img{transform:scale(1.025)}.portfolio-card figcaption{padding:20px}.portfolio-kind{font:700 .65rem Montserrat,sans-serif;letter-spacing:.15em;color:var(--primary-cyan)}.portfolio-card p{margin:12px 0 0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;color:#dddde8}.portfolio-more{text-align:center;margin:30px 0 45px}.portfolio-home{margin:35px 0}.portfolio-card a:focus-visible,.portfolio-card video:focus-visible{outline:3px solid var(--primary-cyan);outline-offset:-4px}
@media(max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card figcaption{padding:18px}.portfolio-feed{margin:45px 0}}
@media(prefers-reduced-motion:reduce){.portfolio-card:hover,.portfolio-card a:hover img{transform:none}}

/* Consistent service navigation and portfolio presentation. */

.services-menu{font:700 .85rem Montserrat,sans-serif;letter-spacing:.5px}
.services-menu summary{border:0;border-radius:0;background:none;box-shadow:none;padding:12px 0;gap:9px}
.services-menu[open] summary{border:0;background:none;box-shadow:none;color:var(--primary-cyan)}
.services-menu summary:hover{color:var(--primary-cyan)}
.services-menu summary span{font-size:0;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.services-menu[open] summary span{transform:translateY(2px) rotate(225deg)}
.services-dropdown::before{content:'';position:absolute;left:0;right:0;top:-12px;height:12px}
.services-dropdown a,.nav-links .services-dropdown a{justify-content:flex-start}
.service-top .nav-phone-link{font:700 1rem Montserrat,sans-serif;letter-spacing:1px;color:var(--text-light)}.service-top .nav-phone-link:hover{color:var(--primary-cyan)}.service-top .nav-phone-link span{display:inline}.service-top .nav-phone-link svg{width:18px;height:18px}
.service-links a{justify-content:center;text-align:center}.service-links a::after{display:none}
.portfolio-body{max-width:none}.portfolio-body>p{max-width:850px}
.portfolio-archive{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}
.portfolio-archive figure{margin:0;min-width:0}.portfolio-archive img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.portfolio-archive figcaption{padding-top:14px;color:#dddde8;font-size:.9rem;line-height:1.5}
.service-actions{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-top:40px;padding:28px;border:1px solid #ffffff20;border-radius:20px;background:linear-gradient(120deg,#00f7ff09,#bc13fe13)}
.service-actions .service-eyebrow{font-size:.65rem;letter-spacing:1.6px}.service-actions strong{display:block;font:700 clamp(1.1rem,2vw,1.5rem) Montserrat,sans-serif;color:#fff;margin-top:10px}.service-actions p{font-size:.85rem;line-height:1.6;margin:10px 0 0}
.service-actions-buttons{display:flex;flex-direction:column;gap:12px}.service-actions .btn-neon{padding:16px 22px;font-size:.78rem;letter-spacing:.7px;text-decoration:none;white-space:normal}
.btn-quiet{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid #ffffff32;border-radius:8px;color:#eee;font:700 .78rem Montserrat,sans-serif;text-decoration:none;transition:background .2s,border-color .2s}.btn-quiet:hover{border-color:var(--primary-cyan);background:#00f7ff0c;color:var(--primary-cyan)}
@media(max-width:1000px){.portfolio-archive{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.portfolio-archive{grid-template-columns:1fr}.service-actions{grid-template-columns:1fr;padding:22px;gap:22px}.service-actions-buttons{width:100%}.service-actions .btn-neon{width:100%}.service-top .nav-phone-link{font-size:.85rem}.service-top .services-menu summary{justify-content:flex-start}.service-links{padding-inline:0}}

.service-actions .btn-quiet{color:#eee;text-decoration:none}.service-actions .btn-quiet:hover{color:var(--primary-cyan)}

/* Main navigation, readable benefits and complete contact/legal footer. */
#navbar .nav-links{align-items:center}#navbar .nav-links>li{display:flex;align-items:center}#navbar .nav-links>li>a,#navbar .nav-links summary{line-height:1.2;padding-top:12px;padding-bottom:12px}
#features .features-grid{align-items:stretch}#features .feature-card{padding:34px 28px;min-width:0;border-radius:16px}#features .feature-card h3{font-size:clamp(1rem,1.45vw,1.2rem);line-height:1.45;overflow-wrap:anywhere;hyphens:none;margin:0 0 16px}#features .feature-card h3::before{margin-bottom:26px;width:46px;height:46px}#features .feature-card p{margin:0;line-height:1.7}.feature-number{position:absolute;right:28px;top:36px;font:700 .75rem Montserrat,sans-serif;letter-spacing:2px;color:#a8a8bf}
#contacts .contacts-groups-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;width:100%}#contacts .contacts-divider{display:none}#contacts .contact-group{min-width:0}#contacts .group-label{font-size:1rem;text-align:center;min-height:24px}#contacts .contact-phone{font-family:Montserrat,sans-serif;font-weight:700;white-space:nowrap}.contact-phone svg{width:20px;height:20px;stroke:var(--primary-cyan)}
.legal-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px;text-align:left}.legal-footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0}.legal-footer-grid h3{font-size:.78rem;letter-spacing:1px;color:#fff;margin:0 0 8px}.legal-footer-grid a{display:inline-block;font:400 .82rem/1.6 Roboto,sans-serif;color:#b8b8c7;text-decoration:none;overflow-wrap:anywhere;transition:color .2s}.legal-footer-grid a:hover{color:var(--primary-cyan);text-decoration:underline}
@media(max-width:900px){#contacts .contacts-groups-container{grid-template-columns:1fr;gap:32px}#features .feature-card{padding:30px 24px}.feature-number{right:24px}}
@media(max-width:600px){.legal-footer-grid{grid-template-columns:1fr;gap:30px}.legal-footer-grid a{font-size:.85rem}#features .feature-card h3{font-size:1.05rem}}
@media(max-width:1150px){#navbar .nav-links>li{justify-content:center}#navbar .services-menu{width:100%}#navbar .services-menu summary{justify-content:center;font-size:1.2rem}}
/* Shared site frame: identical navigation and footer across public pages. */
.interior-page>.service-shell{padding-top:140px;min-height:65vh}
#navbar .hamburger{background:none;border:0;padding:8px;cursor:pointer;color:inherit}
#navbar .nav-links .mobile-only-phone-item{display:none}
.site-footer{padding:50px 0 28px;background:var(--darker-bg);border-top:1px solid var(--card-border)}
.site-footer .service-links{max-width:none;padding:0;margin:0 0 44px}
.footer-brand{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:30px;border-bottom:1px solid #ffffff14}
.footer-brand .logo{font-size:1.6rem}.footer-brand p{font-size:.9rem;color:var(--text-gray)}
.site-footer .legal-footer-grid{margin-top:32px}
.footer-bottom{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #ffffff14;margin-top:38px;padding-top:24px;color:var(--text-gray);font-size:.78rem;line-height:1.7}
.site-footer a:focus-visible{outline:2px solid var(--primary-cyan);outline-offset:4px}
@media(max-width:1150px){#navbar .nav-links.active{overflow-y:auto;max-height:calc(100dvh - 70px);padding:24px 20px 40px;gap:16px}#navbar .services-nav-item{width:min(100%,360px)}#navbar .services-dropdown{position:static;width:100%;min-width:0;margin-top:8px;box-shadow:none}#navbar .nav-links>li{flex-shrink:0}#navbar .nav-links .mobile-only-phone-item{display:flex}.interior-page>.service-shell{padding-top:115px}}
@media(max-width:600px){.footer-brand,.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}.site-footer{padding-top:32px}.site-footer .service-links{padding:0;gap:10px;margin-bottom:32px}.footer-brand p{font-size:.8rem}}
@media(max-width:1150px){#navbar .nav-links>li{margin:0}#navbar .nav-links.active{gap:8px}#navbar .nav-links .mobile-only-phone-item{margin-top:16px}}
/* Telegram media: complete previews and an accessible full-screen viewer. */
.portfolio-card .portfolio-open{position:relative;display:block;cursor:zoom-in;background:#08080f;text-decoration:none}
.portfolio-card .portfolio-open img,.portfolio-card .portfolio-open video{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;transform:none!important;background:radial-gradient(ellipse at center,#292139,#08080f)}
.portfolio-open video{pointer-events:none}.portfolio-open-label{position:absolute;left:12px;bottom:12px;padding:6px 11px;border:1px solid #ffffff30;border-radius:30px;background:#08080fe0;color:#fff;font:600 .7rem/1.4 Montserrat,sans-serif;pointer-events:none}
.portfolio-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--primary-cyan);border-radius:50%;background:#08080fbb;color:var(--primary-cyan);font-size:24px;padding-left:4px;pointer-events:none}
.media-viewer{position:fixed;inset:0;margin:auto;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:16px 70px;border:0;color:#fff;background:rgba(8,8,15,.97);overflow:hidden}
.media-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}.media-viewer::backdrop{background:#000d}
.media-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:46px}.media-viewer-counter{font:600 .8rem Montserrat,sans-serif;color:#c9c6d5;letter-spacing:2px}
.media-viewer button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff35;border-radius:50%;background:#171522;color:#fff;font-size:30px;cursor:pointer;transition:background .2s,border-color .2s}.media-viewer button:hover{border-color:var(--primary-cyan);background:#253239}.media-viewer button[hidden]{display:none}
.media-viewer-stage{min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-viewer-content{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px}.media-viewer video{width:100%;height:100%;background:#000}
.media-viewer-prev,.media-viewer-next{position:absolute;top:50%;transform:translateY(-50%)}.media-viewer-prev{left:12px}.media-viewer-next{right:12px}.media-viewer-caption{text-align:center;color:#dddde8;max-height:15dvh;overflow:auto;margin:0;font-size:.9rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.media-viewer{padding:10px 12px 64px}.media-viewer-prev,.media-viewer-next{top:auto;bottom:10px;transform:none}.media-viewer-prev{left:calc(50% - 52px)}.media-viewer-next{right:calc(50% - 52px)}.media-viewer-caption{font-size:.8rem}.portfolio-open-label{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.media-viewer button{transition:none}}
