@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Oswald:wght@400;500;600&display=swap');
:root{--max:1180px;--radius:24px;--radius-sm:16px;--transition:.25s ease;--font:'Manrope',Arial,sans-serif;--display:'Oswald','Arial Narrow',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(100px);pointer-events:none;opacity:var(--ambient-opacity)}.ambient-one{width:380px;height:380px;left:-170px;top:15%;background:var(--red)}.ambient-two{width:420px;height:420px;right:-210px;top:35%;background:var(--blue)}.section-shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.section-block{padding-top:110px;padding-bottom:110px}.site-header{width:min(calc(100% - 32px),1240px);height:82px;margin:18px auto 0;position:sticky;top:14px;z-index:50;display:flex;align-items:center;gap:28px;padding:0 22px;border:1px solid var(--line);border-radius:22px;background:var(--header-bg);box-shadow:var(--shadow);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:11px;flex:none}.brand img{width:47px;height:47px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font-family:var(--display);font-size:19px;letter-spacing:.08em}.brand small{font-size:10px;letter-spacing:.38em;margin-top:5px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:24px;margin-right:auto}.main-nav a{font-size:14px;font-weight:600;color:var(--muted);padding:10px 0;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:linear-gradient(90deg,var(--red),var(--blue));transition:var(--transition)}.main-nav a:hover,.main-nav a.active{color:var(--text)}.main-nav a:hover:after,.main-nav a.active:after{right:0}.header-actions{display:flex;align-items:center;gap:13px}.theme-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}.theme-switch a{font-size:11px;font-weight:700;padding:6px 9px;border-radius:999px;color:var(--muted)}.theme-switch a.selected{background:var(--text);color:var(--bg)}.phone-link{font-weight:800;font-size:14px;white-space:nowrap}.menu-toggle{display:none}.hero{min-height:690px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:70px;padding-top:60px}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--accent-text)}.eyebrow span{width:30px;height:2px;background:linear-gradient(90deg,var(--red),var(--blue))}h1,h2,h3,p{margin-top:0}.hero h1,.page-hero h1{font-family:var(--display);font-weight:500;text-transform:uppercase;letter-spacing:-.02em;line-height:.98}.hero h1{font-size:clamp(56px,6vw,90px);margin:25px 0}.hero h1 em{display:block;font-style:normal;color:transparent;-webkit-text-stroke:1px var(--outline);text-shadow:var(--text-glow)}.hero-copy>p{max-width:650px;color:var(--muted);font-size:18px}.hero-buttons{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:13px;border:1px solid transparent;font-weight:800;font-size:14px;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition)}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--primary-gradient);color:white;box-shadow:var(--primary-shadow)}.button-secondary{border-color:var(--line-strong);background:var(--surface);color:var(--text)}.button-ghost{background:transparent;border-color:var(--line);color:var(--muted)}.button.compact{min-height:40px;padding:0 15px;font-size:12px}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;border-top:1px solid var(--line);padding-top:26px;gap:20px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-size:17px}.hero-stats span{font-size:12px;color:var(--muted);margin-top:4px}.hero-visual{position:relative;display:grid;place-items:center;min-height:520px}.hero-visual img{width:min(90%,520px);filter:drop-shadow(0 0 28px var(--image-glow))}.hero-orbit{position:absolute;width:88%;aspect-ratio:1;border-radius:50%;border:1px solid var(--line);animation:spin 18s linear infinite}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 20px var(--red)}.hero-orbit:before{left:15%;top:9%}.hero-orbit:after{right:12%;bottom:15%;background:var(--blue);box-shadow:0 0 20px var(--blue)}@keyframes spin{to{transform:rotate(360deg)}}.temperature-card{position:absolute;padding:13px 18px;border:1px solid var(--line-strong);border-radius:15px;background:var(--glass);backdrop-filter:blur(16px);box-shadow:var(--shadow);display:flex;flex-direction:column}.temperature-card span{font-size:11px;color:var(--muted)}.temperature-card strong{font-size:24px}.temperature-card.hot{left:0;top:24%}.temperature-card.cold{right:0;bottom:22%}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.trust-strip span{font-size:12px;text-align:center;color:var(--muted);border-right:1px solid var(--line)}.trust-strip span:last-child{border:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}.section-heading.vertical{display:block;margin:0}.section-heading h2,.process-layout h2,.contact-banner h2,.selection-layout h2,.brand-note h2{font-family:var(--display);font-size:clamp(38px,5vw,64px);font-weight:500;line-height:1.05;text-transform:uppercase;margin:13px 0 0}.section-heading.vertical p{color:var(--muted);max-width:420px;margin-top:22px}.text-link{font-size:13px;font-weight:800;color:var(--accent-text)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{min-height:330px;padding:27px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.service-card:hover{transform:translateY(-6px);border-color:var(--line-strong);box-shadow:var(--shadow)}.service-card.featured{background:var(--featured-bg);border-color:var(--featured-line)}.service-number{font-family:var(--display);font-size:54px;color:var(--number);line-height:1}.service-card h3{font-size:24px;margin:55px 0 12px}.service-card p{font-size:14px;color:var(--muted)}.service-card a{margin-top:auto;font-size:12px;font-weight:800;color:var(--accent-text)}.process-section,.selection-form-section{background:var(--band-bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:110px;padding-bottom:110px}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:grid;grid-template-columns:78px 1fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.process-list li:first-child{padding-top:0}.process-list>li>span{font-family:var(--display);font-size:34px;color:var(--number)}.process-list h3{margin:0 0 7px;font-size:19px}.process-list p{margin:0;color:var(--muted);font-size:14px}.contact-banner{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:56px;border:1px solid var(--featured-line);border-radius:32px;background:var(--featured-bg);margin-bottom:110px}.contact-banner p{color:var(--muted);margin:16px 0 0;max-width:700px}.contact-banner-actions{display:flex;gap:10px;flex:none}.site-footer{width:min(calc(100% - 40px),var(--max));margin:0 auto;padding:45px 0 55px;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px;border-top:1px solid var(--line)}.footer-brand{font-family:var(--display);font-size:24px;letter-spacing:.08em}.site-footer p,.site-footer span{font-size:12px;color:var(--muted)}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.footer-links a{font-size:13px}.footer-contact{display:flex;flex-direction:column;align-items:flex-end}.footer-contact a{font-size:18px;font-weight:800}.page-hero{padding-top:130px;padding-bottom:85px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(54px,7vw,96px);max-width:1000px;margin:20px 0 28px}.page-hero p{font-size:18px;color:var(--muted);max-width:760px}.service-detail-list{padding-top:70px;padding-bottom:110px}.service-detail{display:grid;grid-template-columns:90px 1fr 230px;gap:45px;padding:55px 0;border-bottom:1px solid var(--line)}.detail-index{font-family:var(--display);font-size:54px;color:var(--number)}.service-detail h2,.product-family h2{font-family:var(--display);font-size:42px;line-height:1.05;text-transform:uppercase;margin:12px 0 18px}.service-detail p{color:var(--muted);max-width:650px}.service-detail ul,.product-family ul{padding-left:18px;color:var(--muted);font-size:14px}.service-detail aside{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);height:max-content}.service-detail aside strong{font-size:20px}.service-detail aside span{font-size:11px;color:var(--muted);margin-bottom:15px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-grid details{border:1px solid var(--line);background:var(--surface);padding:22px;border-radius:16px}.faq-grid summary{font-weight:800;cursor:pointer}.faq-grid p{color:var(--muted);font-size:14px;margin:15px 0 0}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:70px;padding-bottom:110px}.product-family{padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;min-height:530px}.product-family.featured{background:var(--featured-bg);border-color:var(--featured-line);transform:translateY(-18px)}.product-icon{font-family:var(--display);font-size:70px;color:var(--number);margin-bottom:40px}.product-family p,.product-family li{color:var(--muted)}.product-family .button{margin-top:auto}.selection-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-top:100px;padding-bottom:100px}.selection-layout p{color:var(--muted);max-width:500px}.selection-checklist{display:grid;grid-template-columns:1fr 1fr;gap:13px}.selection-checklist span{padding:17px 18px;border:1px solid var(--line);border-radius:13px;background:var(--surface);font-size:13px;font-weight:700}.selection-checklist span:before{content:"✓";color:var(--accent-text);margin-right:9px}.brand-note{display:grid;grid-template-columns:140px 1fr auto;gap:40px;align-items:center;border:1px solid var(--line);border-radius:30px;padding:40px;margin-bottom:110px}.brand-note img{width:140px}.brand-note p{color:var(--muted);margin:14px 0 0}.portfolio-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;padding-top:35px;padding-bottom:28px}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.filter-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:9px 15px;cursor:pointer;font-size:12px;font-weight:700}.filter-tabs button.active{color:white;background:var(--primary-gradient);border-color:transparent}.portfolio-toolbar>span{font-size:12px;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:110px}.portfolio-item{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface);box-shadow:var(--card-shadow)}.portfolio-media{aspect-ratio:4/3;background:var(--surface-soft);overflow:hidden}.portfolio-media img,.portfolio-media video{width:100%;height:100%;object-fit:cover}.portfolio-content{padding:20px}.portfolio-content span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-text);font-weight:800}.portfolio-content h3{font-size:17px;margin:7px 0}.portfolio-content p{font-size:13px;color:var(--muted);margin:0}.portfolio-loading,.empty-state{grid-column:1/-1;padding:70px 30px;text-align:center;border:1px dashed var(--line-strong);border-radius:20px;color:var(--muted)}.admin-body{min-height:100vh;background:var(--bg)}.admin-login-shell{min-height:100vh;display:grid;place-items:center;padding:25px}.admin-login-card{width:min(100%,480px);border:1px solid var(--line);background:var(--surface);border-radius:28px;padding:42px;box-shadow:var(--shadow)}.admin-login-card>img{width:95px;margin:0 auto 25px}.admin-login-card h1{font-family:var(--display);font-size:48px;line-height:1;text-transform:uppercase;margin:12px 0}.admin-login-card p{color:var(--muted);font-size:14px}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.admin-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:800;color:var(--muted)}.admin-form input,.admin-form textarea,.admin-form select{width:100%;border:1px solid var(--line);background:var(--input-bg);color:var(--text);border-radius:12px;padding:13px;outline:none}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:var(--blue)}.admin-login-card .admin-form{grid-template-columns:1fr}.full-width{grid-column:1/-1}.form-error{padding:11px 13px;border:1px solid rgba(255,70,70,.45);background:rgba(255,0,0,.08);border-radius:11px;font-size:13px;color:#ff8b8b}.admin-header{width:min(calc(100% - 30px),1280px);margin:16px auto;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--header-bg);border-radius:20px;padding:15px 20px}.admin-header>div{display:flex;gap:8px}.admin-header form{display:inline-flex}.admin-shell{width:min(calc(100% - 30px),1280px);margin:0 auto 60px;display:grid;grid-template-columns:400px 1fr;gap:18px}.admin-panel{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:28px}.upload-panel{position:sticky;top:16px;height:max-content}.upload-panel h1{font-family:var(--display);font-size:42px;text-transform:uppercase;line-height:1.05;margin:12px 0}.upload-panel .admin-form{grid-template-columns:1fr}.file-drop{padding:28px;border:1px dashed var(--line-strong);border-radius:16px;text-align:center;cursor:pointer;align-items:center}.file-drop input{display:none}.file-drop strong{color:var(--text);font-size:14px}.file-drop span{font-size:11px;font-weight:500}.upload-actions{display:flex;align-items:center;gap:14px}.upload-actions span{font-size:12px;color:var(--muted)}.admin-section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.admin-section-title h2{margin:8px 0 0;font-size:26px}.admin-section-title>span{font-size:12px;color:var(--muted)}.admin-media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-media-item{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface-soft)}.admin-media-preview{aspect-ratio:16/10;overflow:hidden}.admin-media-preview img,.admin-media-preview video{width:100%;height:100%;object-fit:cover}.admin-media-info{padding:14px}.admin-media-info h3{font-size:14px;margin:0 0 4px}.admin-media-info p{font-size:11px;color:var(--muted);margin:0}.admin-media-actions{display:flex;justify-content:space-between;align-items:center;padding:0 14px 14px}.delete-button{border:1px solid rgba(255,70,70,.35);background:rgba(255,70,70,.08);color:#ff8080;border-radius:9px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}.reveal{animation:fadeUp .8s ease both}.delay-one{animation-delay:.15s}@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.site-header{gap:15px}.main-nav{gap:14px}.theme-switch{display:none}.hero{grid-template-columns:1fr;padding-top:90px}.hero-copy{text-align:center}.hero-copy>p{margin-inline:auto}.hero-buttons{justify-content:center}.hero-visual{min-height:440px}.service-grid{grid-template-columns:1fr 1fr}.process-layout,.selection-layout{grid-template-columns:1fr;gap:50px}.catalog-grid{grid-template-columns:1fr}.product-family.featured{transform:none}.service-detail{grid-template-columns:65px 1fr}.service-detail aside{grid-column:2}.portfolio-grid{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.upload-panel{position:static}.brand-note{grid-template-columns:100px 1fr}.brand-note .button{grid-column:2}.brand-note img{width:100px}}
@media(max-width:760px){.section-shell{width:min(calc(100% - 26px),var(--max))}.section-block{padding-top:75px;padding-bottom:75px}.site-header{height:68px;margin-top:8px;top:7px;padding:0 13px}.brand img{width:40px;height:40px}.brand strong{font-size:16px}.brand small{font-size:8px}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:8px 11px;font-size:12px}.main-nav{display:none;position:absolute;left:0;right:0;top:76px;padding:14px;flex-direction:column;align-items:stretch;border:1px solid var(--line);border-radius:16px;background:var(--header-bg);box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:10px}.header-actions{display:none}.hero{min-height:auto;gap:20px;padding-top:75px}.hero h1{font-size:52px}.hero-copy>p{font-size:15px}.hero-stats{grid-template-columns:1fr;gap:12px}.hero-stats div{padding-bottom:12px;border-bottom:1px solid var(--line)}.hero-visual{min-height:350px}.temperature-card{padding:10px 12px}.temperature-card strong{font-size:18px}.trust-strip{grid-template-columns:1fr 1fr;gap:0}.trust-strip span{padding:12px;border-bottom:1px solid var(--line)}.service-grid,.faq-grid,.portfolio-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}.process-layout{padding-top:75px;padding-bottom:75px}.contact-banner{margin-bottom:75px;padding:28px;align-items:flex-start;flex-direction:column}.contact-banner-actions{width:100%;flex-direction:column}.contact-banner-actions .button{width:100%}.site-footer{grid-template-columns:1fr;padding-bottom:35px}.footer-contact{align-items:flex-start}.page-hero{padding-top:95px;padding-bottom:60px}.page-hero h1{font-size:52px}.page-hero p{font-size:15px}.service-detail{grid-template-columns:1fr;gap:15px;padding:40px 0}.service-detail aside{grid-column:auto;width:100%}.catalog-grid{padding-top:50px;padding-bottom:75px}.product-family{min-height:auto}.selection-checklist{grid-template-columns:1fr}.brand-note{grid-template-columns:70px 1fr;padding:25px;gap:20px;margin-bottom:75px}.brand-note img{width:70px}.brand-note .button{grid-column:1/-1}.portfolio-hero{align-items:flex-start;flex-direction:column}.portfolio-toolbar{align-items:flex-start;gap:20px;flex-direction:column}.admin-login-card{padding:28px}.admin-header{align-items:flex-start;gap:15px}.admin-header>div{flex-direction:column}.admin-shell{width:min(calc(100% - 20px),1280px)}.admin-panel{padding:20px}.admin-media-grid{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}.full-width{grid-column:auto}}


/* Custom updates */

.button-with-icon { display:inline-flex; align-items:center; gap:10px; }
.button-with-icon img { width:18px; height:18px; object-fit:contain; }
.brand img { object-fit:contain; }
.service-grid.five-up { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.service-grid.five-up .service-number { display:none; }
.filter-tabs button { min-width: 156px; }
.portfolio-address { margin: 0.4rem 0 0.5rem; opacity: .82; font-size: .95rem; }
.admin-media-info.editable { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; }
.admin-media-info.editable label { display:flex; flex-direction:column; gap:6px; font-size:.95rem; }
.admin-media-info.editable .full-line { grid-column:1/-1; }
.save-button { border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:inherit; padding:10px 14px; border-radius:12px; cursor:pointer; }
.settings-panel { margin-bottom: 24px; }
@media (max-width: 1200px) { .service-grid.five-up { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 860px) { .service-grid.five-up { grid-template-columns: repeat(2, minmax(0,1fr)); } .admin-media-info.editable { grid-template-columns:1fr; } }
@media (max-width: 560px) { .service-grid.five-up { grid-template-columns: 1fr; } .filter-tabs button { min-width: auto; flex:1 1 calc(50% - 8px); } }

/* Contact choice modal */
body.modal-open{overflow:hidden}.contact-choice-modal[hidden]{display:none}.contact-choice-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}.contact-choice-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}.contact-choice-card{position:relative;width:min(100%,510px);padding:34px;border:1px solid var(--line-strong);border-radius:26px;background:var(--header-bg);box-shadow:0 24px 90px rgba(0,0,0,.55)}.contact-choice-card h2{font-family:var(--display);font-size:42px;line-height:1.05;text-transform:uppercase;margin:12px 0}.contact-choice-card>p{color:var(--muted);margin-bottom:24px}.contact-choice-close{position:absolute;right:17px;top:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);font-size:24px;cursor:pointer}.contact-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-choice-actions .button{min-height:76px;justify-content:flex-start;text-align:left;gap:12px}.contact-choice-actions .button>span:not(.contact-choice-icon){display:flex;flex-direction:column}.contact-choice-actions small{font-size:11px;opacity:.75}.contact-choice-actions strong{font-size:14px}.contact-choice-icon{font-size:25px}.contact-choice-actions img{width:28px;height:28px}

/* Correct anchor positioning below sticky header */
.service-detail[id]{scroll-margin-top:115px}

/* Work cards with Instagram-style carousel */
.works-grid{align-items:start}.work-card{overflow:hidden}.work-carousel{position:relative;aspect-ratio:4/3;touch-action:pan-y;background:#05060a}.work-slides,.work-slide{position:absolute;inset:0}.work-slide{opacity:0;pointer-events:none;transition:opacity .22s ease}.work-slide.active{opacity:1;pointer-events:auto}.work-slide img,.work-slide video{width:100%;height:100%;object-fit:cover}.work-slide-empty{display:grid;place-items:center;color:var(--muted)}.work-carousel-dots{position:absolute;z-index:5;left:50%;bottom:13px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.32);backdrop-filter:blur(8px)}.work-carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:.2s ease}.work-carousel-dots button.active{width:18px;border-radius:999px;background:rgba(255,255,255,.95)}.work-carousel-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(0,0,0,.36);color:white;font-size:27px;line-height:1;opacity:0;cursor:pointer;backdrop-filter:blur(8px);transition:.2s ease}.work-carousel:hover .work-carousel-arrow{opacity:1}.work-carousel-arrow.prev{left:12px}.work-carousel-arrow.next{right:12px}.portfolio-address{font-size:13px;font-weight:600;color:var(--text);margin:8px 0}.work-card .portfolio-content p{white-space:pre-line}

/* Admin dashboard and project editor */
.admin-dashboard-layout{grid-template-columns:430px minmax(0,1fr);align-items:start}.admin-sidebar{display:grid;gap:18px}.admin-sidebar .upload-panel{position:static}.admin-panel h1,.admin-panel h2{font-family:var(--display);text-transform:uppercase;line-height:1.05}.settings-panel h1{font-size:42px;margin:12px 0}.upload-panel h2{font-size:38px;margin:12px 0 20px}.admin-form.single-column{grid-template-columns:1fr}.admin-panel-note{margin:-6px 0 22px;color:var(--muted);font-size:13px}.admin-works-list{display:grid;gap:12px}.admin-work-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:18px;padding:13px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.admin-work-cover{width:150px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--surface)}.admin-work-cover img,.admin-work-cover video{width:100%;height:100%;object-fit:cover}.admin-work-placeholder{height:100%;display:grid;place-items:center;color:var(--muted);font-size:12px}.admin-work-summary span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);font-weight:800}.admin-work-summary h3{font-size:18px;margin:6px 0}.admin-work-summary p,.admin-work-summary small{display:block;font-size:12px;color:var(--muted);margin:0 0 4px}.upload-order-editor{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface-soft)}.upload-order-editor[hidden]{display:none}.upload-order-heading{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px}.upload-order-heading span{font-size:11px;color:var(--muted)}.upload-file-queue{display:grid;gap:9px}.upload-file-item{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:grab}.upload-file-item.dragging,.existing-media-item.dragging{opacity:.45}.upload-file-preview{position:relative;width:78px;aspect-ratio:4/3;border-radius:9px;overflow:hidden;background:#05060a}.upload-file-preview img,.upload-file-preview video{width:100%;height:100%;object-fit:cover}.upload-file-position{position:absolute;left:5px;bottom:5px;min-width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.62);color:white;font-size:11px}.upload-file-meta{min-width:0;display:flex;flex-direction:column}.upload-file-meta strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-file-meta span{font-size:10px;color:var(--muted)}.upload-file-actions,.existing-media-actions{display:flex;gap:5px}.upload-file-actions button,.existing-media-actions button{min-width:31px;height:31px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--text);cursor:pointer}.admin-edit-shell{width:min(calc(100% - 30px),1280px);margin:0 auto 60px;display:grid;grid-template-columns:420px minmax(0,1fr);gap:18px;align-items:start}.work-edit-details{position:sticky;top:16px}.work-edit-details h1{font-size:42px;margin:12px 0}.work-media-editor{grid-column:2;grid-row:1 / span 2}.add-media-panel{grid-column:1}.existing-media-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.existing-media-item{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--surface-soft);cursor:grab}.existing-media-preview{position:relative;aspect-ratio:4/3;background:#05060a}.existing-media-preview img,.existing-media-preview video{width:100%;height:100%;object-fit:cover}.existing-media-preview>span{position:absolute;left:8px;bottom:8px;min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.65);color:white;font-size:12px}.existing-media-meta{display:flex;justify-content:space-between;padding:11px 12px 7px}.existing-media-meta strong{font-size:12px}.existing-media-meta small{font-size:10px;color:var(--muted)}.existing-media-actions{padding:0 12px 12px}.existing-media-actions .delete-button{margin-left:auto;width:auto;padding-inline:10px}.media-order-actions{margin-top:18px}.delete-work-button{margin-top:10px;width:100%;min-height:44px;border:1px solid rgba(255,70,70,.4);border-radius:12px;background:rgba(255,70,70,.08);color:#ff8c8c;font-weight:800;cursor:pointer}

@media(max-width:1100px){.admin-dashboard-layout,.admin-edit-shell{grid-template-columns:1fr}.work-edit-details{position:static}.work-media-editor,.add-media-panel{grid-column:auto;grid-row:auto}.existing-media-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.contact-choice-actions{grid-template-columns:1fr}.contact-choice-card{padding:28px 22px}.contact-choice-card h2{font-size:36px}.work-carousel-arrow{opacity:1;width:34px;height:34px}.admin-work-row{grid-template-columns:92px minmax(0,1fr)}.admin-work-cover{width:92px}.admin-work-row>.button{grid-column:1/-1;width:100%}.upload-file-item{grid-template-columns:64px minmax(0,1fr)}.upload-file-preview{width:64px}.upload-file-actions{grid-column:1/-1;justify-content:flex-end}.existing-media-list{grid-template-columns:1fr}}


/* Admin V5: separate mobile-first pages */
.admin-header-v5{margin-bottom:10px}.admin-header-v5 .brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.22em;margin-top:3px}.admin-header-actions{display:flex;align-items:center;gap:9px}.admin-header-actions form{margin:0}.admin-section-nav{width:min(calc(100% - 30px),1280px);margin:0 auto 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;position:sticky;top:10px;z-index:30;padding:8px;border:1px solid var(--line);border-radius:18px;background:rgba(10,11,18,.9);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.admin-section-nav a{min-height:50px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;color:var(--muted);font-size:13px;font-weight:800;text-decoration:none}.admin-section-nav a span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-size:11px}.admin-section-nav a.active{color:white;background:linear-gradient(110deg,rgba(255,32,70,.26),rgba(59,104,255,.25));box-shadow:inset 0 0 0 1px rgba(106,126,255,.35)}.admin-section-nav a.active span{background:linear-gradient(135deg,#ff244a,#376dff);border-color:transparent}.admin-page-shell{width:min(calc(100% - 30px),1280px);margin:0 auto 70px}.admin-page-heading{padding:28px 4px 24px}.admin-page-heading h1{font-family:var(--display);font-size:clamp(44px,6vw,74px);line-height:.95;text-transform:uppercase;margin:10px 0 14px}.admin-page-heading p{max-width:720px;color:var(--muted);margin:0;line-height:1.6}.admin-page-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.admin-page-heading-row>.button{flex:0 0 auto}.admin-page-card{padding:clamp(20px,4vw,38px)}.admin-mobile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-form-section-title{grid-column:1/-1;padding:2px 0 4px;display:flex;flex-direction:column;gap:4px}.admin-form-section-title strong{font-size:18px}.admin-form-section-title span{color:var(--muted);font-size:12px}.admin-save-bar{display:flex;align-items:center;gap:14px;position:sticky;bottom:12px;z-index:10;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(10,11,18,.92);backdrop-filter:blur(16px)}.admin-save-bar .button{min-width:200px}.admin-list-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.admin-search{width:min(100%,480px);display:flex;flex-direction:column;gap:7px}.admin-search span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.admin-search input{width:100%;min-height:46px;border-radius:12px}.admin-works-list-v5{gap:14px}.admin-work-row-link{text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease}.admin-work-row-link:hover{transform:translateY(-2px);border-color:rgba(116,137,255,.5)}.admin-work-open{font-size:12px;font-weight:800;color:var(--accent-text);white-space:nowrap}.admin-create-card{max-width:980px;margin:0 auto}.admin-file-drop{min-height:150px}.admin-edit-shell-v5{width:100%;margin:0;grid-template-columns:400px minmax(0,1fr)}
@media(max-width:900px){.admin-page-heading-row{align-items:flex-start;flex-direction:column}.admin-page-heading-row>.button{width:100%}.admin-mobile-form{grid-template-columns:1fr}.admin-form-section-title,.admin-mobile-form .full-width{grid-column:auto}.admin-edit-shell-v5{grid-template-columns:1fr}.admin-edit-shell-v5 .work-media-editor,.admin-edit-shell-v5 .add-media-panel{grid-column:auto;grid-row:auto}.admin-edit-shell-v5 .work-edit-details{position:static}}
@media(max-width:760px){.admin-body{padding-bottom:88px}.admin-header-v5{min-height:62px;padding:10px 13px;align-items:center}.admin-header-v5 .brand img{width:42px;height:42px}.admin-header-v5 .brand strong{max-width:145px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-header-actions{flex-direction:row!important}.admin-open-site{display:none}.admin-header-actions .button{min-height:38px;padding:8px 12px}.admin-section-nav{position:fixed;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));top:auto;width:auto;margin:0;z-index:100;gap:5px;padding:6px;border-radius:18px;background:rgba(8,9,15,.96)}.admin-section-nav a{min-height:58px;flex-direction:column;gap:3px;font-size:10px}.admin-section-nav a span{width:23px;height:23px}.admin-page-shell{width:min(calc(100% - 20px),1280px);margin-bottom:20px}.admin-page-heading{padding:22px 2px 18px}.admin-page-heading h1{font-size:42px}.admin-page-heading p{font-size:13px}.admin-page-card{padding:17px;border-radius:18px}.admin-mobile-form{gap:14px}.admin-mobile-form label{font-size:13px}.admin-mobile-form input,.admin-mobile-form select,.admin-mobile-form textarea{font-size:16px;min-height:48px}.admin-save-bar{bottom:82px;flex-direction:column;align-items:stretch;padding:9px}.admin-save-bar .button{width:100%;min-width:0}.admin-save-bar span{text-align:center;font-size:12px}.admin-list-toolbar{align-items:stretch;flex-direction:column}.admin-search{width:100%}.admin-work-row-link{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:10px}.admin-work-row-link .admin-work-cover{width:88px}.admin-work-row-link .admin-work-summary h3{font-size:15px}.admin-work-row-link .admin-work-summary p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.admin-work-open{grid-column:1/-1;padding:10px 12px;border-radius:10px;text-align:center;background:var(--surface);border:1px solid var(--line)}.upload-file-item{grid-template-columns:70px minmax(0,1fr);padding:8px}.upload-file-preview{width:70px}.upload-file-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.upload-file-actions button{height:38px}.existing-media-list{grid-template-columns:1fr 1fr}.existing-media-actions{display:grid;grid-template-columns:1fr 1fr}.existing-media-actions .delete-button{grid-column:1/-1;margin:0}.site-footer .footer-links{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.existing-media-list{grid-template-columns:1fr}.admin-header-v5 .brand strong{max-width:110px}.admin-page-heading h1{font-size:38px}}


/* V6: two quality statements only, editable service prices and four admin sections */
.quality-promises{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.quality-promises article{min-height:104px;display:flex;align-items:center;gap:18px;padding:22px 26px;border:1px solid var(--line-strong);border-radius:18px;background:var(--featured-bg);box-shadow:var(--card-shadow)}.quality-promises article:first-child{border-color:rgba(255,49,86,.55)}.quality-promises article:last-child{border-color:rgba(65,111,255,.55)}.quality-promises strong{font-size:17px;line-height:1.45}.quality-mark{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:13px;color:white;background:var(--primary-gradient);font-size:20px;font-weight:900;box-shadow:var(--primary-shadow)}
.service-detail aside{min-height:208px}.service-price{display:flex;align-items:baseline;gap:9px;margin:4px 0 16px;color:var(--text)}.service-price small{font-size:15px;font-weight:800;text-transform:lowercase;color:var(--text)}.service-price b{font-size:clamp(25px,2.8vw,38px);line-height:1;white-space:nowrap}.service-detail aside>.button{width:100%}
.admin-prices-card{max-width:980px;margin:0 auto}.prices-form label small{font-size:10px;font-weight:600;color:var(--muted)}
@media(max-width:760px){.quality-promises{grid-template-columns:1fr;margin-top:14px}.quality-promises article{min-height:88px;padding:18px}.quality-promises strong{font-size:15px}.quality-mark{width:38px;height:38px;flex-basis:38px}.service-detail aside{min-height:0}.service-price{margin-top:6px}.service-price b{font-size:32px}.admin-section-nav{gap:3px}.admin-section-nav a{font-size:9px}}

/* V6.2: fullscreen portfolio viewer and manageable promotional prices */
.work-slide[data-media-type="image"]{cursor:zoom-in}.work-slide[data-media-type="image"]::after{content:"↗";position:absolute;z-index:4;right:13px;top:13px;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(5,6,12,.48);color:#fff;font-size:17px;opacity:0;transform:translateY(-5px);backdrop-filter:blur(10px);transition:opacity .2s ease,transform .2s ease}.work-carousel:hover .work-slide.active[data-media-type="image"]::after{opacity:1;transform:none}
body.lightbox-open{overflow:hidden}.work-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .26s ease,visibility .26s ease}.work-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}.work-lightbox-backdrop{position:absolute;inset:0;background:rgba(2,3,8,.72);backdrop-filter:blur(18px) saturate(.78);-webkit-backdrop-filter:blur(18px) saturate(.78)}.work-lightbox-window{position:relative;z-index:1;width:min(94vw,1480px);height:min(92vh,980px);display:grid;grid-template-rows:minmax(0,1fr) auto;border:1px solid rgba(124,143,255,.32);border-radius:26px;background:rgba(8,9,16,.82);box-shadow:0 36px 120px rgba(0,0,0,.65),-18px 0 80px rgba(255,31,75,.08),18px 0 80px rgba(55,104,255,.1);overflow:hidden;opacity:0;transform:translateY(16px) scale(.94);transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .24s ease}.work-lightbox.is-open .work-lightbox-window{opacity:1;transform:none}.work-lightbox-stage{position:relative;min-height:0;display:grid;place-items:center;padding:34px 70px 18px;background:radial-gradient(circle at 25% 15%,rgba(255,37,75,.09),transparent 35%),radial-gradient(circle at 75% 85%,rgba(55,104,255,.11),transparent 38%),#05060a;overflow:hidden;touch-action:pan-y}.work-lightbox-media{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:13px;box-shadow:0 24px 80px rgba(0,0,0,.5);animation:lightboxMediaIn .28s ease both}@keyframes lightboxMediaIn{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:none}}.work-lightbox-close,.work-lightbox-arrow{position:absolute;z-index:5;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(9,10,17,.62);color:#fff;backdrop-filter:blur(12px);cursor:pointer;transition:background .2s ease,transform .2s ease,border-color .2s ease}.work-lightbox-close:hover,.work-lightbox-arrow:hover{background:rgba(30,32,45,.9);border-color:rgba(255,255,255,.38)}.work-lightbox-close{right:18px;top:18px;width:44px;height:44px;border-radius:50%;font-size:29px;line-height:1}.work-lightbox-arrow{top:50%;width:48px;height:64px;border-radius:18px;font-size:38px;transform:translateY(-65%)}.work-lightbox-arrow:hover{transform:translateY(-65%) scale(1.04)}.work-lightbox-arrow.prev{left:18px}.work-lightbox-arrow.next{right:18px}.work-lightbox.single-media .work-lightbox-arrow{display:none}.work-lightbox-footer{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;border-top:1px solid var(--line);background:rgba(12,13,22,.94)}.work-lightbox-footer>div{min-width:0;display:flex;flex-direction:column}.work-lightbox-footer [data-lightbox-category]{margin:0 0 3px;color:var(--accent-text);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.work-lightbox-footer strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.work-lightbox-counter{flex:none;margin:0!important;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted)!important;font-size:12px!important;font-weight:800;background:var(--surface-soft)}

.service-price.has-discount{position:relative;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}.service-price span{margin:0}.service-price-values{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.service-price-values del{font-size:14px;line-height:1;color:var(--muted);text-decoration-color:var(--red);text-decoration-thickness:2px;white-space:nowrap}.service-price.has-discount .service-price-values b{color:var(--discount-price,#fff);text-shadow:var(--discount-price-shadow,0 0 22px rgba(255,46,101,.26))}.discount-badge{display:inline-flex!important;align-items:center;justify-content:center;margin:0!important;padding:5px 8px;border:1px solid rgba(255,64,102,.42);border-radius:999px;background:linear-gradient(120deg,rgba(255,33,73,.2),rgba(61,103,255,.18));color:#ff7894!important;font-size:10px!important;font-weight:900;line-height:1;white-space:nowrap}

.prices-form{display:grid;gap:14px}.admin-price-row{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft);transition:border-color .2s ease,box-shadow .2s ease}.admin-price-row.discount-active{border-color:rgba(255,58,95,.42);box-shadow:inset 0 0 0 1px rgba(70,104,255,.12)}.admin-price-row-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-price-row-heading>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.admin-price-row-heading h2{margin:0;font-size:18px}.admin-price-number{width:34px;height:34px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:11px;font-weight:800}.admin-price-fields{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:14px}.admin-price-fields>label:not(.discount-toggle){display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.admin-price-fields input[type="number"]{width:100%;min-height:46px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--text);outline:none}.admin-price-fields input[type="number"]:focus{border-color:var(--blue)}.admin-price-fields input:disabled{opacity:.45;cursor:not-allowed}.admin-price-fields small{display:block;color:var(--muted);font-size:10px;font-weight:600;line-height:1.4}.discount-toggle{min-height:68px;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer}.discount-toggle>input{position:absolute;opacity:0;pointer-events:none}.discount-toggle-ui{position:relative;width:44px;height:25px;flex:none;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-soft);transition:.2s ease}.discount-toggle-ui::after{content:"";position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:var(--muted);transition:.2s ease}.discount-toggle input:checked+.discount-toggle-ui{border-color:transparent;background:var(--primary-gradient);box-shadow:var(--primary-shadow)}.discount-toggle input:checked+.discount-toggle-ui::after{transform:translateX(19px);background:#fff}.discount-toggle>span:last-child{display:flex;flex-direction:column;gap:2px}.discount-toggle strong{color:var(--text);font-size:12px}.admin-price-preview{min-height:40px;display:flex;align-items:baseline;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-price-preview small{color:var(--muted);font-size:11px}.admin-price-preview strong{font-size:20px;white-space:nowrap}.admin-price-preview del{color:var(--muted);font-size:12px;text-decoration-color:var(--red);text-decoration-thickness:2px}.admin-price-preview span{padding:4px 7px;border-radius:999px;background:rgba(255,47,87,.12);color:#ff7894;font-size:9px;font-weight:900}.prices-save-bar{grid-column:auto;margin-top:4px}

@media(max-width:900px){.admin-price-fields{grid-template-columns:1fr 1fr}.discount-toggle{grid-column:1/-1;grid-row:2}.discount-price-field{grid-column:2;grid-row:1}.work-lightbox-window{width:96vw;height:92vh}.work-lightbox-stage{padding-inline:58px}}
@media(max-width:760px){.work-slide[data-media-type="image"]::after{opacity:1;transform:none;width:32px;height:32px;right:10px;top:10px}.work-lightbox{padding:0}.work-lightbox-window{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}.work-lightbox-stage{padding:72px 12px 12px}.work-lightbox-media{max-height:calc(100dvh - 160px);border-radius:9px}.work-lightbox-close{right:12px;top:12px}.work-lightbox-arrow{top:auto;bottom:87px;width:43px;height:43px;border-radius:50%;font-size:30px;transform:none}.work-lightbox-arrow:hover{transform:scale(1.04)}.work-lightbox-arrow.prev{left:12px}.work-lightbox-arrow.next{right:12px}.work-lightbox-footer{min-height:76px;padding:12px 64px 12px 16px}.work-lightbox-footer strong{font-size:13px}.work-lightbox-counter{position:absolute;right:14px;bottom:18px}.admin-price-row{padding:16px}.admin-price-row-heading{align-items:flex-start;flex-direction:column}.admin-price-preview{justify-content:flex-start}.admin-price-fields{grid-template-columns:1fr}.discount-toggle,.discount-price-field{grid-column:auto;grid-row:auto}.service-price.has-discount{gap:8px}.service-price-values del{font-size:13px}.discount-badge{font-size:9px!important}}


/* V6.3: clickable media previews, adaptive video and polished player */
.work-slide[data-media-type="image"]::after{display:none!important}
.work-media-trigger{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;padding:0;border:0;background:#05060a;color:#fff;overflow:hidden;cursor:pointer;text-align:inherit}
.work-media-trigger img,.work-media-trigger video{width:100%;height:100%;display:block;transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .3s ease}
.work-image-trigger{cursor:zoom-in}
.work-image-trigger img{object-fit:cover}
.work-video-trigger{cursor:pointer;background:radial-gradient(circle at 50% 50%,rgba(56,73,160,.13),transparent 55%),#03040a}
.work-video-trigger video{object-fit:contain!important;background:#03040a}
.work-media-trigger::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent 52%,rgba(2,3,8,.42));opacity:.7;transition:opacity .25s ease}
.work-image-trigger:hover img,.work-image-trigger:focus-visible img{transform:scale(1.035);filter:brightness(.83)}
.work-image-trigger:hover::before,.work-image-trigger:focus-visible::before{opacity:1;background:linear-gradient(180deg,rgba(3,4,9,.08),rgba(3,4,9,.38))}
.work-media-trigger:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
.work-media-zoom{position:absolute;z-index:4;right:13px;top:13px;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:rgba(5,6,12,.58);box-shadow:0 12px 30px rgba(0,0,0,.28);color:#fff;font-size:18px;opacity:0;transform:translateY(-6px) scale(.94);backdrop-filter:blur(12px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,background .22s ease}
.work-image-trigger:hover .work-media-zoom,.work-image-trigger:focus-visible .work-media-zoom{opacity:1;transform:none;background:linear-gradient(135deg,rgba(255,38,77,.76),rgba(57,101,255,.76))}
.work-video-shade{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;pointer-events:none;background:radial-gradient(circle at center,rgba(7,8,17,.08),rgba(3,4,9,.28));transition:background .25s ease}
.work-video-play{width:72px;height:72px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:linear-gradient(135deg,rgba(255,38,77,.9),rgba(57,101,255,.9));box-shadow:0 16px 42px rgba(0,0,0,.38),-8px 0 30px rgba(255,38,77,.2),8px 0 30px rgba(57,101,255,.22);backdrop-filter:blur(10px);transition:transform .25s ease,box-shadow .25s ease}
.work-video-play>span{width:0;height:0;margin-left:5px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
.work-video-label{padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(5,6,12,.58);font-size:11px;font-weight:900;letter-spacing:.04em;backdrop-filter:blur(10px);opacity:.88;transition:transform .25s ease,opacity .25s ease}
.work-video-trigger:hover .work-video-play,.work-video-trigger:focus-visible .work-video-play{transform:scale(1.09);box-shadow:0 20px 55px rgba(0,0,0,.44),-10px 0 36px rgba(255,38,77,.3),10px 0 36px rgba(57,101,255,.32)}
.work-video-trigger:hover .work-video-label,.work-video-trigger:focus-visible .work-video-label{transform:translateY(2px);opacity:1}
.work-video-trigger:hover video,.work-video-trigger:focus-visible video{transform:scale(1.015);filter:brightness(.78)}
.work-lightbox-stage.showing-video{padding:22px 72px 18px;background:radial-gradient(circle at 20% 15%,rgba(255,37,75,.08),transparent 34%),radial-gradient(circle at 80% 85%,rgba(55,104,255,.1),transparent 38%),#020308}
.work-lightbox-media.is-video{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;background:#000;border-radius:12px}
.work-lightbox-media.is-image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.service-price-values del{display:inline-flex;align-items:baseline;gap:4px}
.service-price-values del .old-price-prefix{font-size:.86em;font-weight:800;text-decoration:none}
.admin-price-preview del{display:inline-flex;align-items:baseline;gap:3px}
@media(max-width:760px){.work-media-zoom{opacity:1;transform:none;width:34px;height:34px;right:10px;top:10px}.work-video-play{width:62px;height:62px}.work-video-label{font-size:10px}.work-lightbox-stage.showing-video{padding:64px 6px 8px}.work-lightbox-media.is-video{border-radius:8px}.service-price-values del .old-price-prefix{font-size:.82em}}

/* V6.4: reliable video previews and aspect-ratio-safe desktop/mobile playback */
.work-video-trigger{isolation:isolate;background:linear-gradient(135deg,#080913,#020308)}
.work-video-preview-frame{position:absolute;inset:0;z-index:1;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(68,85,180,.17),transparent 58%),#03040a}
.work-video-preview-frame::before{content:"";position:absolute;inset:-12%;background:linear-gradient(135deg,rgba(255,34,74,.06),rgba(53,98,255,.08));filter:blur(22px);opacity:.85}
.work-video-preview{position:relative;z-index:1;width:100%!important;height:100%!important;max-width:100%;max-height:100%;object-fit:contain!important;background:transparent!important;pointer-events:none!important}
.work-video-preview::-webkit-media-controls,.work-video-preview::-webkit-media-controls-enclosure,.work-video-preview::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none!important;opacity:0!important}
.work-video-preview-frame:not(.is-ready) .work-video-preview{opacity:.18}
.work-video-shade{z-index:3;background:linear-gradient(180deg,rgba(3,4,9,.06),rgba(3,4,9,.34))}
.work-video-trigger::before{z-index:2}
.work-video-trigger:hover .work-video-preview,.work-video-trigger:focus-visible .work-video-preview{transform:scale(1.012);filter:brightness(.72)}

.work-lightbox-stage.showing-video{display:flex;align-items:center;justify-content:center;padding:22px 76px 18px;overflow:hidden}
.work-lightbox-video-shell{width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.work-lightbox-media.is-video{display:block;flex:none;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain!important;background:#000;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.58)}
.work-lightbox-media.is-video:fullscreen{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;object-fit:contain!important;border-radius:0}
.work-lightbox-media.is-video::-webkit-media-controls-panel{background-image:linear-gradient(transparent,rgba(0,0,0,.72))}

@media (min-width:761px){
  .work-lightbox-window{height:min(92vh,980px)}
  .work-lightbox-stage.showing-video{min-height:0}
}
@media (max-width:760px){
  .work-lightbox-stage.showing-video{padding:64px 8px 8px}
  .work-lightbox-video-shell{width:100%;height:100%}
  .work-lightbox-media.is-video{border-radius:8px}
}

/* V6.5: удобная админ-панель без наложений */
.admin-edit-shell-v65{
  display:grid;
  grid-template-columns:minmax(330px,400px) minmax(0,1fr);
  grid-template-areas:
    "details media"
    "add add";
  gap:20px;
  align-items:start;
}
.admin-edit-shell-v65>*{min-width:0}
.admin-edit-shell-v65 .work-edit-details{grid-area:details;position:static!important;top:auto!important}
.admin-edit-shell-v65 .work-media-editor{grid-area:media;grid-column:auto;grid-row:auto;min-width:0}
.admin-edit-shell-v65 .add-media-panel{grid-area:add;grid-column:auto;min-width:0}
.admin-edit-shell-v65 .admin-save-bar,
.admin-create-card-v65 .admin-save-bar{position:static!important;bottom:auto!important}
.admin-edit-shell-v65 .work-edit-details>.admin-form-section-title{margin-bottom:16px}
.admin-edit-form-v65{grid-template-columns:1fr 1fr;gap:14px}
.admin-edit-form-v65 input,
.admin-edit-form-v65 select,
.admin-edit-form-v65 textarea{width:100%;min-width:0}
.admin-edit-form-v65 textarea{resize:vertical;min-height:170px}
.admin-edit-shell-v65 .admin-section-title{align-items:flex-start;gap:16px}
.admin-edit-shell-v65 .admin-section-title h2{font-size:clamp(30px,3vw,44px);line-height:1;margin:8px 0 0}
.admin-edit-shell-v65 .admin-panel-note{margin-bottom:18px}
.admin-edit-shell-v65 .existing-media-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:12px;
  align-items:start;
}
.admin-edit-shell-v65 .existing-media-item{min-width:0}
.admin-edit-shell-v65 .existing-media-preview{overflow:hidden;isolation:isolate}
.admin-edit-shell-v65 .existing-media-preview img,
.admin-edit-shell-v65 .existing-media-preview video{pointer-events:none;user-select:none}
.admin-edit-shell-v65 .existing-media-meta{gap:10px;min-width:0}
.admin-edit-shell-v65 .existing-media-meta strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-edit-shell-v65 .existing-media-actions{display:grid;grid-template-columns:42px 42px minmax(88px,1fr);gap:7px}
.admin-edit-shell-v65 .existing-media-actions button{width:100%;height:38px}
.admin-edit-shell-v65 .existing-media-actions .delete-button{margin:0;width:100%;padding-inline:10px}
.admin-edit-shell-v65 .media-order-actions{margin-top:18px}
.admin-edit-shell-v65 .add-media-panel>.admin-form-section-title{margin-bottom:18px}
.admin-edit-shell-v65 .add-media-panel>.admin-form-section-title h2{font-family:var(--display);font-size:clamp(32px,4vw,50px);line-height:1;text-transform:uppercase;margin:8px 0 5px}
.admin-add-media-form-v65{
  display:grid!important;
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);
  grid-template-areas:
    "drop queue"
    "actions queue";
  gap:16px!important;
  align-items:start;
}
.admin-add-media-form-v65 .admin-file-drop{grid-area:drop;min-height:175px}
.admin-add-media-form-v65 .upload-order-editor{grid-area:queue;min-width:0}
.admin-add-media-form-v65>.admin-save-bar{grid-area:actions;align-self:start}
.admin-add-media-form-v65 .upload-file-queue{max-height:500px;overflow:auto;padding-right:4px;scrollbar-width:thin}
.admin-add-media-form-v65 .upload-file-item{min-width:0}

/* Создание карточки: данные слева, файлы справа */
.admin-create-card-v65{max-width:1180px!important;margin:0 auto}
.admin-create-layout-v65{
  display:grid;
  grid-template-columns:minmax(330px,420px) minmax(0,1fr);
  grid-template-areas:
    "fields media"
    "submit submit";
  gap:22px;
  align-items:start;
}
.admin-create-layout-v65>*{min-width:0}
.admin-create-fields-v65{grid-area:fields;display:grid;gap:15px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}
.admin-create-media-v65{grid-area:media;display:grid;gap:15px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}
.admin-create-submit-v65{grid-area:submit;margin-top:0}
.admin-create-fields-v65 label,
.admin-create-media-v65 label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:700}
.admin-create-fields-v65 input,
.admin-create-fields-v65 select,
.admin-create-fields-v65 textarea{width:100%;min-width:0}
.admin-create-fields-v65 textarea{resize:vertical;min-height:190px}
.admin-create-fields-row-v65{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-create-media-v65 .admin-file-drop{min-height:190px}
.admin-create-order-v65{min-width:0}
.admin-create-order-v65 .upload-file-queue{max-height:560px;overflow:auto;padding-right:4px;scrollbar-width:thin}
.admin-create-layout-v65 .admin-form-section-title{padding:0;margin-bottom:2px}
.admin-create-layout-v65 .admin-form-section-title strong{font-size:18px;color:var(--text)}
.admin-create-layout-v65 .admin-save-bar{justify-content:flex-start}

/* Видео в админке — только аккуратное превью, без встроенных контролов */
.admin-video-thumb{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at center,rgba(64,85,190,.18),transparent 58%),#04050a}
.admin-video-thumb-media{width:100%!important;height:100%!important;object-fit:cover!important;display:block;pointer-events:none;background:#04050a}
.admin-video-thumb-media::-webkit-media-controls,
.admin-video-thumb-media::-webkit-media-controls-enclosure,
.admin-video-thumb-media::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none!important;opacity:0!important}
.admin-video-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(2,3,8,.5));pointer-events:none}
.admin-video-thumb-badge{position:absolute!important;z-index:2!important;left:50%!important;bottom:10px!important;transform:translateX(-50%)!important;width:auto!important;min-width:0!important;height:auto!important;padding:5px 9px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;background:rgba(5,6,12,.72)!important;color:#fff!important;font-size:10px!important;font-weight:900!important;white-space:nowrap!important;backdrop-filter:blur(10px)!important}
.upload-file-preview .admin-video-thumb-badge{bottom:5px!important;font-size:8px!important;padding:3px 6px!important}

@media(max-width:1100px){
  .admin-edit-shell-v65{grid-template-columns:1fr;grid-template-areas:"details" "media" "add"}
  .admin-edit-shell-v65 .existing-media-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
  .admin-create-layout-v65{grid-template-columns:1fr;grid-template-areas:"fields" "media" "submit"}
}
@media(max-width:760px){
  .admin-edit-shell-v65{gap:14px}
  .admin-edit-form-v65{grid-template-columns:1fr}
  .admin-edit-form-v65 .full-width{grid-column:auto}
  .admin-edit-shell-v65 .existing-media-list{grid-template-columns:1fr 1fr}
  .admin-edit-shell-v65 .existing-media-actions{grid-template-columns:1fr 1fr}
  .admin-edit-shell-v65 .existing-media-actions .delete-button{grid-column:1/-1}
  .admin-add-media-form-v65{grid-template-columns:1fr;grid-template-areas:"drop" "queue" "actions"}
  .admin-add-media-form-v65 .upload-file-queue,
  .admin-create-order-v65 .upload-file-queue{max-height:none;overflow:visible;padding-right:0}
  .admin-create-card-v65{padding:14px!important}
  .admin-create-layout-v65{gap:14px}
  .admin-create-fields-v65,.admin-create-media-v65{padding:14px;border-radius:15px}
  .admin-create-fields-row-v65{grid-template-columns:1fr}
  .admin-create-submit-v65{position:static!important;bottom:auto!important}
}
@media(max-width:480px){
  .admin-edit-shell-v65 .existing-media-list{grid-template-columns:1fr}
}

/* V6.6: compact work forms, independent categories and touch-friendly media ordering */
.admin-section-nav-v66{grid-template-columns:repeat(5,minmax(0,1fr))}
.admin-create-card-v66{max-width:980px;margin-inline:auto}
.admin-create-form-v66,.admin-edit-form-v66{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:0}
.admin-create-form-v66 label,.admin-edit-form-v66 label,.category-create-form label{min-width:0;display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:12px;font-weight:800}
.admin-create-form-v66 input,.admin-create-form-v66 textarea,.admin-create-form-v66 select,.admin-edit-form-v66 input,.admin-edit-form-v66 textarea,.admin-edit-form-v66 select,.category-create-form input{width:100%;min-width:0;border:1px solid var(--line);background:var(--input-bg);color:var(--text);border-radius:12px;padding:13px;outline:none}
.admin-create-form-v66 input:focus,.admin-create-form-v66 textarea:focus,.admin-create-form-v66 select:focus,.admin-edit-form-v66 input:focus,.admin-edit-form-v66 textarea:focus,.admin-edit-form-v66 select:focus,.category-create-form input:focus{border-color:var(--blue)}
.admin-create-form-v66 textarea,.admin-edit-form-v66 textarea{resize:vertical;min-height:140px}
.admin-create-media-title-v66{margin-top:5px}
.admin-create-actions-v66{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:4px}
.admin-create-actions-v66 span{font-size:12px;color:var(--muted)}
.admin-create-form-v66 .admin-file-drop,.admin-add-media-form-v66 .admin-file-drop{display:flex;justify-content:center;min-height:142px;width:100%}

.admin-edit-shell-v66{width:100%;display:grid;gap:16px;margin:0}
.admin-edit-shell-v66>*{min-width:0}
.work-edit-details-v66,.work-media-editor-v66,.add-media-panel-v66{position:static!important;grid-column:auto!important;grid-row:auto!important}
.work-edit-details-v66 .admin-form-section-title{margin-bottom:16px}
.work-media-editor-v66 .admin-section-title{align-items:flex-start;gap:16px}
.work-media-editor-v66 .admin-section-title h2{font-size:clamp(30px,4vw,48px);line-height:1;margin:8px 0 0}
.admin-add-media-form-v66{display:grid!important;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:16px!important;align-items:start;margin:0!important}
.admin-add-media-form-v66 .upload-order-editor{min-width:0}
.admin-edit-actions-v66{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:4px 10px 14px}
.admin-edit-actions-v66>.button,.admin-edit-actions-v66>.delete-work-button{width:auto;min-width:190px;min-height:48px;margin:0}
.admin-edit-statuses-v66{flex-basis:100%;display:flex;justify-content:center;gap:18px;min-height:20px;color:var(--muted);font-size:12px;text-align:center}

.media-drag-handle{min-width:40px;width:40px;min-height:44px;align-self:stretch;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-soft);color:var(--accent-text);font-size:18px;font-weight:900;letter-spacing:-3px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.media-drag-handle:active{cursor:grabbing}
body.media-reordering{user-select:none;-webkit-user-select:none;overscroll-behavior:none}
.upload-file-item{grid-template-columns:40px 78px minmax(0,1fr) auto;cursor:default;touch-action:pan-y}
.upload-file-item .media-drag-handle{grid-column:1;grid-row:1}
.upload-file-item .upload-file-preview{grid-column:2;grid-row:1}
.upload-file-item .upload-file-meta{grid-column:3;grid-row:1}
.upload-file-item .upload-file-actions{grid-column:4;grid-row:1}
.upload-file-actions button,.existing-media-actions button{min-width:42px;height:42px;font-size:17px}

.existing-media-list-v66{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:12px;align-items:start}
.existing-media-list-v66 .existing-media-item{min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:10px;overflow:hidden;cursor:default;touch-action:pan-y}
.existing-media-list-v66 .media-drag-handle{grid-column:1;grid-row:1/4}
.existing-media-list-v66 .existing-media-preview{grid-column:2;grid-row:1;min-width:0;border-radius:10px;overflow:hidden;isolation:isolate}
.existing-media-list-v66 .existing-media-meta{grid-column:2;grid-row:2;min-width:0;padding:0;gap:8px}
.existing-media-list-v66 .existing-media-meta strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.existing-media-list-v66 .existing-media-actions{grid-column:2;grid-row:3;display:grid;grid-template-columns:44px 44px minmax(92px,1fr);gap:7px;padding:0}
.existing-media-list-v66 .existing-media-actions .delete-button{width:100%;height:42px;margin:0;padding-inline:9px}
.admin-video-thumb-media{width:100%!important;height:100%!important;object-fit:contain!important;background:#04050a}

.admin-categories-card{max-width:980px;margin-inline:auto}
.category-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:30px}
.category-create-form>span{grid-column:1/-1;min-height:18px;color:var(--muted);font-size:12px}
.category-list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.category-list-heading span{color:var(--muted);font-size:12px}
.category-admin-list{display:grid;gap:9px;margin-top:12px}
.category-admin-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.category-admin-number{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent-text);font-size:11px;font-weight:900}
.category-admin-item>div{min-width:0;display:flex;flex-direction:column}
.category-admin-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.category-admin-item small{color:var(--muted)}
.category-delete-button{border-color:rgba(255,70,70,.35)!important;color:#ff8c8c!important}

/* Real video proportions: fixed card footprint, no cropping, dvh-safe fullscreen viewer. */
.work-video-preview{width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important}
.work-video-preview[data-orientation="portrait"]{width:auto!important;height:100%!important}
.work-video-preview[data-orientation="landscape"]{width:100%!important;height:auto!important}
.work-lightbox-window{height:min(92dvh,980px)}
.work-lightbox-stage.showing-video{min-width:0;min-height:0}
.work-lightbox-video-shell{width:auto;height:auto;max-width:92vw;max-height:86dvh;min-width:0;min-height:0}
.work-lightbox-media.is-video{width:auto;height:auto;max-width:92vw!important;max-height:86dvh!important;object-fit:contain!important}

@media(max-width:760px){
  .admin-section-nav-v66{grid-template-columns:repeat(5,minmax(0,1fr))}
  .admin-section-nav-v66 a{min-width:0;padding-inline:2px}
  .admin-section-nav-v66 a strong{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .admin-create-form-v66,.admin-edit-form-v66{grid-template-columns:1fr;gap:13px}
  .admin-create-form-v66 .full-width,.admin-edit-form-v66 .full-width,.admin-create-form-v66 .admin-form-section-title,.admin-edit-form-v66 .admin-form-section-title{grid-column:auto}
  .admin-create-form-v66 input,.admin-create-form-v66 textarea,.admin-create-form-v66 select,.admin-edit-form-v66 input,.admin-edit-form-v66 textarea,.admin-edit-form-v66 select,.category-create-form input{min-height:48px;font-size:16px}
  .admin-create-form-v66 textarea,.admin-edit-form-v66 textarea{min-height:130px}
  .admin-create-actions-v66{align-items:stretch;flex-direction:column}
  .admin-create-actions-v66 .button{width:100%}
  .admin-edit-shell-v66{gap:12px}
  .admin-edit-shell-v66 .admin-panel{padding:16px;border-radius:18px}
  .work-media-editor-v66 .admin-section-title{flex-direction:column;align-items:flex-start;margin-bottom:12px}
  .work-media-editor-v66 .admin-panel-note{font-size:12px;margin-bottom:14px}
  .existing-media-list-v66{grid-template-columns:1fr}
  .admin-add-media-form-v66{grid-template-columns:1fr;gap:12px!important}
  .admin-add-media-form-v66 .upload-file-queue{max-height:none;overflow:visible}
  .admin-edit-actions-v66{align-items:stretch;flex-direction:column;padding:2px 0 12px}
  .admin-edit-actions-v66>.button,.admin-edit-actions-v66>.delete-work-button{width:100%;min-width:0}
  .admin-edit-statuses-v66{flex-direction:column;gap:2px}
  .upload-file-item{grid-template-columns:40px 70px minmax(0,1fr);gap:8px}
  .upload-file-item .media-drag-handle{grid-column:1;grid-row:1/3}
  .upload-file-item .upload-file-preview{grid-column:2;grid-row:1}
  .upload-file-item .upload-file-meta{grid-column:3;grid-row:1}
  .upload-file-item .upload-file-actions{grid-column:2/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));gap:7px}
  .upload-file-actions button,.existing-media-actions button{height:44px}
  .category-create-form{grid-template-columns:1fr;align-items:stretch}
  .category-create-form>span{grid-column:auto}
  .category-admin-item{grid-template-columns:34px minmax(0,1fr)}
  .category-admin-item .category-delete-button{grid-column:1/-1;width:100%}
  .work-lightbox{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}
  .work-lightbox-window{width:100%;height:min(96dvh,980px);border-radius:16px}
  .work-lightbox-stage.showing-video{padding:58px 6px 6px}
  .work-lightbox-video-shell,.work-lightbox-media.is-video{max-width:92vw!important;max-height:82dvh!important}
  .work-lightbox-close{right:10px;top:10px}
}

@media(max-width:430px){
  .admin-page-shell{width:calc(100% - 16px)}
  .admin-header-v5{width:calc(100% - 16px);margin:8px auto}
  .admin-section-nav-v66{left:8px;right:8px}
  .admin-section-nav-v66 a{font-size:8.5px}
  .admin-section-nav-v66 a span{width:22px;height:22px}
  .admin-create-card-v66,.admin-categories-card{padding:14px}
  .upload-order-editor{padding:10px}
  .upload-order-heading{align-items:flex-start;flex-direction:column;gap:2px}
  .upload-file-item{grid-template-columns:38px 64px minmax(0,1fr);padding:7px}
  .upload-file-preview{width:64px}
  .media-drag-handle{min-width:38px;width:38px}
  .existing-media-list-v66 .existing-media-item{grid-template-columns:38px minmax(0,1fr);padding:8px}
  .existing-media-list-v66 .existing-media-actions{grid-template-columns:1fr 1fr}
  .existing-media-list-v66 .existing-media-actions .delete-button{grid-column:1/-1}
  .category-admin-item{padding:10px}
}

/* V6.7 refinements */
html,body{max-width:100%;overflow-x:clip}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,.section-shell,.page-hero,.catalog-grid,.selection-layout,.brand-note{min-width:0}

/* Catalog/mobile scaling: no wide word or inner grid may shift the page sideways. */
.page-catalog main,.page-catalog section,.page-catalog article,.page-catalog div{min-width:0}
.page-catalog .page-hero h1,.page-catalog .product-family h2,.page-catalog .selection-layout h2,.page-catalog .brand-note h2{max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.page-catalog .product-family,.page-catalog .selection-checklist,.page-catalog .brand-note{width:100%;max-width:100%}
.page-catalog .product-family .button,.page-catalog .brand-note .button{max-width:100%;white-space:normal;text-align:center}
.page-catalog .selection-checklist span,.page-catalog .product-family li,.page-catalog .product-family p,.page-catalog .brand-note p{overflow-wrap:anywhere}

/* Password block on the Site page. */
.admin-password-card{max-width:980px;margin:18px auto 0}
.admin-password-card>.admin-form-section-title{margin-bottom:18px}
.admin-password-form{grid-template-columns:1fr 1fr}
.admin-password-form .full-width{grid-column:1/-1}
.admin-password-card input{width:100%}

/* Category order controls. */
.category-list-heading>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.category-list-heading small{font-size:11px;color:var(--muted);font-weight:500}
.category-admin-item{grid-template-columns:42px 34px minmax(0,1fr) auto}
.category-admin-item.dragging{opacity:.5;border-color:var(--line-strong)}
.category-drag-handle{width:42px;min-height:48px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--accent-text);font-size:18px;font-weight:900;letter-spacing:-3px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.category-drag-handle:active{cursor:grabbing}
.category-admin-copy{min-width:0;display:flex;flex-direction:column}
.category-admin-actions{display:flex;align-items:center;gap:7px}
.category-admin-actions>button:not(.category-delete-button){width:42px;height:42px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:18px;font-weight:800;cursor:pointer}
.category-admin-actions>button:disabled{opacity:.35;cursor:not-allowed}
body.media-reordering{cursor:grabbing}

@media(max-width:760px){
  .page-catalog .page-hero{width:calc(100% - 26px);padding-top:82px;padding-bottom:52px}
  .page-catalog .page-hero h1{font-size:clamp(38px,12vw,50px);line-height:1.01;margin:16px 0 22px}
  .page-catalog .page-hero p{font-size:15px;line-height:1.55}
  .page-catalog .catalog-grid{width:calc(100% - 26px);grid-template-columns:minmax(0,1fr);gap:14px;padding-top:42px;padding-bottom:68px}
  .page-catalog .product-family{padding:24px 20px;border-radius:20px}
  .page-catalog .product-family h2{font-size:clamp(30px,9.5vw,40px);line-height:1.04;margin:10px 0 15px}
  .page-catalog .product-family ul{padding-left:20px}
  .page-catalog .product-family .button{width:100%;padding-inline:14px}
  .page-catalog .selection-layout{width:calc(100% - 26px);grid-template-columns:minmax(0,1fr);gap:30px;padding-top:68px;padding-bottom:68px}
  .page-catalog .selection-layout h2,.page-catalog .brand-note h2{font-size:clamp(32px,10vw,44px)}
  .page-catalog .brand-note{width:calc(100% - 26px);grid-template-columns:56px minmax(0,1fr);gap:14px;padding:20px;margin-bottom:68px}
  .page-catalog .brand-note img{width:56px}
  .page-catalog .brand-note .button{grid-column:1/-1;width:100%}

  .admin-password-form{grid-template-columns:1fr}
  .admin-password-form .full-width{grid-column:auto}
  .admin-password-card{padding:16px}
  .admin-password-card input{min-height:48px;font-size:16px}

  .category-list-heading{align-items:flex-start}
  .category-admin-item{grid-template-columns:42px 34px minmax(0,1fr)}
  .category-admin-actions{grid-column:1/-1;display:grid;grid-template-columns:48px 48px minmax(0,1fr)}
  .category-admin-actions>button:not(.category-delete-button){width:48px;height:44px}
  .category-admin-item .category-delete-button{grid-column:auto;width:100%;min-height:44px}
}

@media(max-width:430px){
  .page-catalog .page-hero,.page-catalog .catalog-grid,.page-catalog .selection-layout,.page-catalog .brand-note{width:calc(100% - 20px)}
  .page-catalog .page-hero h1{font-size:clamp(36px,11.7vw,48px)}
  .page-catalog .product-family{padding:21px 17px}
  .page-catalog .product-family h2{font-size:clamp(29px,9.2vw,37px)}
  .page-catalog .brand-note{grid-template-columns:48px minmax(0,1fr);padding:17px;gap:12px}
  .page-catalog .brand-note img{width:48px}
  .category-admin-item{grid-template-columns:38px 30px minmax(0,1fr);gap:8px}
  .category-drag-handle{width:38px;min-height:44px}
  .category-admin-number{width:28px;height:28px}
}
.category-admin-item>.category-admin-actions{display:flex;flex-direction:row;align-items:center;gap:7px}
@media(max-width:760px){.category-admin-item>.category-admin-actions{display:grid;grid-template-columns:48px 48px minmax(0,1fr);flex-direction:initial}}
.admin-password-card .admin-save-bar{position:static;bottom:auto;padding:0;border:0;background:transparent;backdrop-filter:none}


/* V6.7.2: consistent service cards on desktop and different phone widths. */
.service-grid.five-up{
  align-items:stretch;
}
.service-grid.five-up .service-card{
  min-width:0;
  min-height:338px;
  padding:27px;
}
.service-grid.five-up .service-card h3{
  display:block;
  height:auto;
  min-height:61px;
  margin:0 0 16px;
  font-size:24px;
  line-height:1.28;
  overflow-wrap:normal;
}
.service-grid.five-up .service-card p{
  margin:0 0 20px;
  line-height:1.55;
}
.service-grid.five-up .service-card a{
  margin-top:auto;
  line-height:1.35;
}

/* Three-column layout: titles fit naturally, while cards remain balanced. */
@media (min-width:861px) and (max-width:1200px){
  .service-grid.five-up .service-card{
    min-height:310px;
    padding:25px;
  }
  .service-grid.five-up .service-card h3{
    min-height:0;
    margin-bottom:14px;
  }
}

/* Two-column phone/tablet layout: reserve two title lines only where needed. */
@media (min-width:561px) and (max-width:860px){
  .service-grid.five-up .service-card{
    min-height:300px;
    padding:24px;
  }
  .service-grid.five-up .service-card h3{
    min-height:58px;
    margin-bottom:14px;
    font-size:23px;
  }
}

/* Phones: one fluid column with no forced heights, independent of screen height. */
@media (max-width:560px){
  .service-grid.five-up{
    gap:12px;
  }
  .service-grid.five-up .service-card{
    min-height:0;
    padding:22px 20px 20px;
    border-radius:20px;
  }
  .service-grid.five-up .service-card h3{
    min-height:0;
    margin:0 0 11px;
    font-size:clamp(21px,6.2vw,24px);
    line-height:1.25;
  }
  .service-grid.five-up .service-card p{
    margin-bottom:18px;
    font-size:14px;
    line-height:1.55;
  }
  .service-grid.five-up .service-card a{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    margin-top:0;
  }
}

/* Very narrow phones: preserve comfortable gutters without browser zoom. */
@media (max-width:380px){
  .service-grid.five-up .service-card{
    padding:20px 18px 18px;
  }
  .service-grid.five-up .service-card h3{
    font-size:21px;
  }
}

/* V6.7.3: complete mobile polish, themed gallery and high-contrast light mode. */
.mobile-theme-switch{display:none}

/* MAX logo inherits the button text color, so it stays visible in both themes. */
.max-logo-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;background:currentColor;-webkit-mask-image:url("/static/assets/max-logo.svg");mask-image:url("/static/assets/max-logo.svg");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;opacity:.96}

/* The fullscreen viewer must use the selected site theme. */
.work-lightbox-backdrop{background:var(--lightbox-backdrop)}
.work-lightbox-window{background:var(--lightbox-window);border-color:var(--lightbox-border)}
.work-lightbox-stage,.work-lightbox-stage.showing-video{background:var(--lightbox-stage)}
.work-lightbox-footer{background:var(--lightbox-footer);border-top-color:var(--line)}
.work-lightbox-media{box-shadow:var(--lightbox-media-shadow)}
.work-lightbox-close,.work-lightbox-arrow{background:var(--lightbox-control-bg);border-color:var(--lightbox-control-border);color:var(--lightbox-control-text)}
.work-lightbox-close:hover,.work-lightbox-arrow:hover{background:var(--lightbox-control-hover);border-color:var(--line-strong)}

/* Promotional price remains readable on a white card, on desktop and mobile. */
html[data-theme="light"] .service-price.has-discount .service-price-values b{color:var(--discount-price);text-shadow:var(--discount-price-shadow);font-weight:900}
html[data-theme="light"] .discount-badge{color:#b81243!important;border-color:rgba(190,18,67,.34);background:linear-gradient(120deg,rgba(225,29,72,.13),rgba(36,91,219,.10))}

@media(max-width:760px){
  /* Theme selection is available in the opened phone menu. */
  .main-nav .mobile-theme-switch{display:flex;align-self:flex-start;gap:0;margin-top:5px;padding:3px}
  .main-nav .mobile-theme-switch a{padding:7px 11px}
  .main-nav .mobile-theme-switch a::after{display:none}

  /* Perfectly symmetric 2x2 advantages grid. */
  .trust-strip{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;padding:0}
  .trust-strip span{display:grid;place-items:center;min-width:0;min-height:82px;padding:14px 12px;text-align:center;line-height:1.42;text-wrap:balance;overflow-wrap:break-word;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .trust-strip span:nth-child(2n){border-right:0}
  .trust-strip span:nth-last-child(-n+2){border-bottom:0}

  /* Use the real visual viewport. This prevents the viewer from collapsing to
     a thin strip on different phone aspect ratios and browser toolbar heights. */
  .work-lightbox{inset:0;display:block;width:100vw;height:var(--lightbox-viewport-height,100vh);height:var(--lightbox-viewport-height,100dvh);padding:0;overflow:hidden}
  .work-lightbox-window{position:absolute;inset:0!important;width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;border:0;border-radius:0!important;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}
  .work-lightbox-stage,.work-lightbox-stage.showing-video{width:100%;height:100%;min-width:0;min-height:0;padding:max(60px,calc(env(safe-area-inset-top) + 52px)) 12px 12px;display:flex;align-items:center;justify-content:center;overflow:hidden}
  .work-lightbox-video-shell{display:flex;align-items:center;justify-content:center;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0;min-height:0;overflow:hidden}
  .work-lightbox-media.is-image,.work-lightbox-media.is-video{display:block;flex:none;width:auto;height:auto;max-width:100%!important;max-height:100%!important;margin:auto;object-fit:contain!important}
  .work-lightbox-media.is-video{border-radius:8px}
  .work-lightbox-footer{position:relative;z-index:3;min-height:76px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .work-lightbox-close{right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top))}
}

@media(max-width:380px){
  .trust-strip span{min-height:78px;padding:12px 9px;font-size:11px}
}


/* V6.8 — пользователи, статистика, дополнительные услуги */
.admin-section-nav-v68{grid-template-columns:repeat(var(--admin-nav-count,8),minmax(108px,1fr));overflow-x:auto;scrollbar-width:thin}
.admin-header-user{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}
.admin-header-user strong{color:var(--text)}
.admin-page-shell{width:min(1240px,calc(100% - 32px))}
.footer-link-editor{display:grid;grid-template-columns:110px 1fr 1fr;gap:14px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.footer-link-editor>strong{align-self:center;color:var(--text)}
.footer-link-editor label{margin:0}

.permission-fieldset{margin:0;padding:15px;border:1px solid var(--line);border-radius:16px;min-width:0}
.permission-fieldset legend{padding:0 8px;color:var(--text);font-size:13px;font-weight:900}
.permission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.permission-check{position:relative;display:block!important;cursor:pointer}
.permission-check input{position:absolute;opacity:0;pointer-events:none}
.permission-check span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--muted);font-size:12px;font-weight:900;transition:.18s ease}
.permission-check input:checked+span{border-color:#ff2b68;background:linear-gradient(135deg,rgba(255,38,90,.2),rgba(70,86,255,.18));color:#fff;box-shadow:0 8px 24px rgba(255,30,100,.12)}
.user-create-form{grid-template-columns:1fr 1fr}
.users-admin-list{display:grid;gap:12px;max-height:680px;overflow:auto;padding-right:5px;scrollbar-width:thin}
.user-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.user-admin-main{min-width:0;display:grid;gap:14px}
.user-admin-identity{display:flex;align-items:center;gap:12px}
.user-admin-identity>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(98,112,255,.12);color:#9fb7ff;font-weight:900}
.user-admin-identity div{display:grid;gap:2px}
.user-admin-identity strong{font-size:17px;color:var(--text)}
.user-admin-identity small{color:var(--muted)}
.user-permissions-row{display:flex;flex-wrap:wrap;gap:7px}
.user-permission-dot{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:10px;font-weight:900;cursor:pointer}
.user-permission-dot span{width:9px;height:9px;border:2px solid #667085;border-radius:50%;background:transparent}
.user-permission-dot.allowed{color:#fff;border-color:rgba(255,42,102,.5);background:rgba(255,38,91,.09)}
.user-permission-dot.allowed span{border-color:#ff315f;background:#ff315f;box-shadow:0 0 12px rgba(255,45,100,.65)}
.user-permission-dot:disabled{cursor:default;opacity:.8}
.user-admin-actions{display:flex;align-items:center;gap:10px}
.user-delete-button{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,70,90,.34);border-radius:12px;background:rgba(255,45,70,.08);color:#ff6b80;font-size:25px;cursor:pointer}
.owner-lock{padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}
.admin-modal[hidden]{display:none!important}
.admin-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}
.admin-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}
.admin-modal-card{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:0 28px 90px rgba(0,0,0,.55)}
.admin-modal-card.small{width:min(500px,100%)}
.admin-modal-card h2{font-family:var(--display);font-size:clamp(34px,5vw,54px);line-height:1;text-transform:uppercase;margin:8px 0 18px}
.admin-modal-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface-soft);color:var(--text);font-size:24px;cursor:pointer}
.current-login-note{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(91,111,255,.28);border-radius:13px;background:rgba(79,97,255,.08);color:var(--muted)}
.current-login-note strong{color:var(--text)}
.current-login-note.large{font-size:16px}
.admin-profile-card{max-width:720px;margin-inline:auto}

.statistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.statistic-metric-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}
.statistic-metric-heading h2{margin:6px 0 16px;font-size:22px}
.statistic-period-list{display:grid;gap:8px}
.statistic-period-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--input-bg)}
.statistic-period-row>div{display:grid;gap:3px}
.statistic-period-row span{font-size:11px;color:var(--muted);font-weight:800}
.statistic-period-row strong{font-size:25px;color:var(--text)}
.statistic-reset-button{padding:8px 11px;border:1px solid rgba(255,76,95,.3);border-radius:10px;background:rgba(255,49,75,.08);color:#ff7486;font-size:10px;font-weight:900;cursor:pointer}
.statistics-timezone{margin:15px 0 0;color:var(--muted);font-size:11px}

.service-section-create-form{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;align-items:end}
.service-section-create-form label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:800}
.service-section-create-form input{width:100%;border:1px solid var(--line);background:var(--input-bg);color:var(--text);border-radius:12px;padding:13px;outline:none}
.service-section-create-form>span{grid-column:1/-1;color:var(--muted);font-size:12px}
.service-sections-list{display:grid;gap:11px;max-height:640px;overflow:auto;padding-right:5px;scrollbar-width:thin}
.service-section-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}
.service-section-summary{display:flex;align-items:center;gap:12px;min-width:0}
.service-section-summary>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,40,100,.1);color:#ff658d;font-weight:900}
.service-section-summary div{display:grid;gap:3px;min-width:0}
.service-section-summary strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.service-section-summary small{color:var(--muted)}
.service-section-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.button-danger{border-color:rgba(255,70,90,.35)!important;background:rgba(255,40,65,.08)!important;color:#ff7184!important}
.admin-back-link{display:inline-flex;margin-bottom:14px;color:#aab8ff;font-weight:800}
.service-item-form{grid-template-columns:1fr 1fr}
.bullet-editor{padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.bullet-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.bullet-fields{display:grid;gap:8px}
.bullet-field-row{display:grid;grid-template-columns:20px minmax(0,1fr) 38px;gap:8px;align-items:center}
.bullet-field-row>span{color:#ff4c82;font-size:20px;text-align:center}
.bullet-field-row input{width:100%;border:1px solid var(--line);background:var(--input-bg);color:var(--text);border-radius:11px;padding:11px}
.bullet-field-row button{height:38px;border:1px solid rgba(255,70,90,.28);border-radius:10px;background:rgba(255,40,70,.07);color:#ff7184;font-size:20px;cursor:pointer}
.discount-switch-label{display:grid!important;grid-template-columns:auto auto 1fr!important;align-items:center;justify-content:start!important;gap:10px!important;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
.discount-switch-label input{width:20px!important;height:20px}
.discount-switch-label b{color:var(--text);font-size:12px}
#discountAmountLabel.disabled{opacity:.45}
.service-items-admin-list{display:grid;gap:11px}
.service-item-admin-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.service-item-admin-index{font-family:var(--display);font-size:28px;color:rgba(255,255,255,.18)}
.service-item-admin-content{min-width:0}
.service-item-admin-content>strong{display:block;margin-bottom:7px;font-size:17px}
.service-item-admin-content ul{margin:0;padding-left:18px;color:var(--muted);font-size:12px}
.service-item-admin-content small{color:var(--muted)}
.admin-service-price{display:flex;align-items:center;gap:8px;white-space:nowrap}
.admin-service-price del{color:var(--muted);font-size:11px}
.admin-service-price strong{font-size:16px}
.admin-service-price span{padding:4px 6px;border:1px solid #ff4071;border-radius:999px;color:#ff668b;font-size:9px;font-weight:900}
.service-item-admin-actions{display:flex;gap:7px}

.additional-services-public{padding-top:34px}
.additional-service-sections{display:grid;gap:34px}
.additional-service-group{padding:22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,var(--surface-soft),transparent)}
.additional-service-group-heading{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.additional-service-group-heading>span{font-family:var(--display);font-size:34px;color:rgba(255,255,255,.18)}
.additional-service-group-heading h3{margin:0;font-family:var(--display);font-size:clamp(26px,3vw,38px);text-transform:uppercase}
.additional-service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.additional-service-card{display:flex;flex-direction:column;min-height:220px;padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 14px 32px rgba(0,0,0,.12)}
.additional-service-card-top{display:flex;align-items:flex-start;gap:10px}
.additional-service-card-index{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid rgba(255,45,105,.4);border-radius:9px;color:#ff5785;font-size:10px;font-weight:900}
.additional-service-card h4{margin:3px 0 12px;font-size:17px;line-height:1.25}
.additional-service-card ul{margin:0 0 18px;padding-left:18px;color:var(--muted);font-size:12px;line-height:1.6}
.additional-service-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.additional-service-card-bottom>a{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;color:var(--text);font-size:18px}
.additional-public-price{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
.additional-public-price small,.additional-public-price del{color:var(--muted);font-size:10px}
.additional-public-price strong{font-size:18px}
.additional-public-price span{padding:3px 6px;border:1px solid #ff3e71;border-radius:999px;color:#ff6489;font-size:8px;font-weight:900}
.additional-public-price.has-discount{display:grid;grid-template-columns:auto auto;gap:3px 7px}
.additional-public-price.has-discount span{grid-column:2}

@media(max-width:1050px){
  .admin-header-user{display:none}
  .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .additional-service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-item-admin-row{grid-template-columns:40px minmax(0,1fr) auto}
  .service-item-admin-actions{grid-column:2/-1;justify-content:flex-end}
}
@media(max-width:760px){
  .admin-section-nav-v68{grid-template-columns:repeat(var(--admin-nav-count,8),minmax(100px,1fr));padding-bottom:5px}
  .admin-page-shell{width:min(100% - 20px,1240px)}
  .footer-link-editor{grid-template-columns:1fr;padding:13px}
  .user-create-form,.service-item-form{grid-template-columns:1fr}
  .permission-grid{grid-template-columns:1fr 1fr}
  .user-admin-row{grid-template-columns:1fr;padding:13px}
  .user-admin-actions{justify-content:space-between}
  .users-admin-list,.service-sections-list{max-height:none;overflow:visible;padding-right:0}
  .admin-modal{padding:10px}
  .admin-modal-card{padding:22px 15px;border-radius:20px}
  .statistics-grid{grid-template-columns:1fr}
  .service-section-create-form{grid-template-columns:1fr}
  .service-section-create-form>span{grid-column:auto}
  .service-section-row{align-items:flex-start;flex-direction:column}
  .service-section-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .service-section-actions .button-danger{grid-column:1/-1}
  .service-item-admin-row{grid-template-columns:34px minmax(0,1fr);align-items:start}
  .admin-service-price{grid-column:2}
  .service-item-admin-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .additional-service-group{padding:14px;border-radius:18px}
  .additional-service-card-grid{grid-template-columns:1fr}
  .additional-service-card{min-height:0}
}
@media(max-width:430px){
  .permission-grid{grid-template-columns:1fr}
  .user-admin-actions{align-items:stretch;flex-direction:column}
  .owner-lock{text-align:center}
  .statistic-period-row strong{font-size:22px}
}

/* V6.8.1: visibility controls for additional services. */
.additional-services-master-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:rgba(91,111,255,.28)}
.additional-services-master-card.is-disabled{border-color:rgba(255,80,100,.25);background:linear-gradient(145deg,rgba(255,58,83,.045),var(--surface))}
.additional-services-master-copy{min-width:0}
.additional-services-master-copy h2{margin:7px 0 8px;font-size:clamp(24px,3vw,36px)}
.additional-services-master-copy p{margin:0;color:var(--muted);line-height:1.5}
.additional-services-master-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.visibility-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 9px;border:1px solid rgba(71,218,146,.32);border-radius:999px;background:rgba(46,201,126,.08);color:#65dba6;font-size:9px;font-style:normal;font-weight:900;line-height:1.1;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.visibility-status-badge.is-off{border-color:rgba(255,86,108,.3);background:rgba(255,56,82,.08);color:#ff7b8c}
.service-section-row.is-disabled,.service-item-admin-row.is-disabled{opacity:.64;border-style:dashed}
.service-section-title-line,.service-item-title-line{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}
.service-section-title-line strong,.service-item-title-line strong{min-width:0}
.service-item-title-line{margin-bottom:7px}
.service-item-title-line>strong{display:block;margin:0!important;font-size:17px}
.service-visible-switch{align-self:stretch}

@media(max-width:760px){
  .additional-services-master-card{align-items:stretch;flex-direction:column;padding:16px}
  .additional-services-master-actions{display:grid;grid-template-columns:1fr;justify-items:stretch}
  .additional-services-master-actions .visibility-status-badge{justify-self:start}
  .additional-services-master-actions .button{width:100%}
  .service-section-actions{grid-template-columns:1fr 1fr}
  .service-section-actions a{width:100%}
  .service-section-actions .button-danger{grid-column:1/-1}
  .service-item-admin-actions{grid-template-columns:1fr 1fr}
  .service-item-admin-actions .button-danger{grid-column:1/-1}
}

/* V6.8.1: prevent long main-service headings from widening narrow phones. */
.service-detail,.service-detail>*{min-width:0;max-width:100%}
.service-detail h2{max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
@media(max-width:760px){
  .service-detail h2{font-size:clamp(30px,8.4vw,38px)}
  .service-detail p,.service-detail li{overflow-wrap:anywhere}
}

/* V6.8.1: password toggles, reorder controls, and refined additional-services layout. */
.password-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.password-field input{margin:0}
.password-toggle{height:44px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);color:var(--text);font-weight:700;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.password-toggle:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.password-toggle:focus-visible{outline:2px solid rgba(120,137,255,.75);outline-offset:2px}
.service-order-buttons{display:flex;gap:7px}
.service-order-buttons .button{min-width:42px}
.additional-service-main-heading{margin-bottom:20px}
.additional-service-main-heading h2{margin:0;font-size:clamp(34px,5vw,72px);line-height:.96;text-transform:uppercase}
.additional-service-sections{gap:22px}
.additional-service-group{padding:22px 24px;border-radius:26px}
.additional-service-group-heading{margin-bottom:18px;padding-bottom:14px}
.additional-service-group-heading h3{font-size:clamp(28px,3.4vw,48px)}
.additional-service-group-heading>span,.additional-service-card-index{display:none!important}
.additional-service-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.additional-service-card{min-height:230px}
.additional-service-card h4{margin:0 0 12px;font-size:16px;line-height:1.35}
@media(max-width:1050px){
  .password-field{grid-template-columns:1fr}
  .password-toggle{height:42px}
  .additional-service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .service-section-actions,.service-item-admin-actions{gap:8px}
  .service-order-buttons{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .service-order-buttons .button{width:100%}
  .additional-service-main-heading h2{font-size:clamp(28px,10vw,46px)}
  .additional-service-card-grid{grid-template-columns:1fr}
}


/* V6.8.2: compact additional services, robust buttons, inline password eye and touch sorting. */
.button,
button.button{
  position:relative;
  isolation:isolate;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  background-clip:padding-box;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:center;
}
.button-primary{background-size:100% 100%;background-repeat:no-repeat}
.contact-choice-card,.contact-choice-actions,.contact-choice-actions>*{min-width:0;max-width:100%}
.contact-choice-card{overflow:hidden}
.contact-choice-actions .button>span{min-width:0}
.contact-choice-actions strong,.contact-choice-actions small{overflow-wrap:anywhere}

.site-footer{grid-template-columns:minmax(260px,1.1fr) minmax(340px,1.25fr) minmax(210px,.7fr)}
.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 28px}
.footer-link-column{display:flex;flex-direction:column;gap:8px;min-width:0}
.footer-link-column a{min-width:0;overflow-wrap:anywhere}

.service-detail-list.has-additional-services{padding-bottom:20px}
.additional-services-public{padding-top:0;padding-bottom:88px}
.additional-service-main-heading{margin:0 0 8px;padding-top:0}
.additional-service-main-heading h2{margin:0;font-family:var(--display);font-size:clamp(30px,3.2vw,44px);font-weight:500;line-height:1;text-transform:uppercase;letter-spacing:-.01em}
.additional-service-sections{display:grid;gap:18px}
.additional-service-group{padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.additional-service-group>h3{margin:0;padding:0 0 7px;border-bottom:1px solid var(--line);color:var(--accent-text);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.additional-service-list{display:grid}
.additional-service-item{border-bottom:1px solid var(--line)}
.additional-service-item>summary{list-style:none;display:grid;grid-template-columns:24px minmax(170px,.9fr) minmax(220px,1.7fr) auto 24px;align-items:center;gap:14px;min-height:46px;padding:8px 2px;cursor:pointer}
.additional-service-item>summary::-webkit-details-marker{display:none}
.additional-service-marker{position:relative;display:block;width:18px;height:12px}
.additional-service-marker::before,.additional-service-marker::after{content:"";position:absolute;left:0;width:18px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--red),var(--blue));box-shadow:0 0 7px rgba(255,49,112,.22)}
.additional-service-marker::before{top:2px}.additional-service-marker::after{bottom:2px}
.markers-disabled .additional-service-item>summary{grid-template-columns:minmax(170px,.9fr) minmax(220px,1.7fr) auto 24px}
.markers-disabled .additional-service-marker{display:none}
.additional-service-title{min-width:0;color:var(--text);font-size:13px;font-weight:700;overflow-wrap:anywhere}
.additional-service-summary{min-width:0;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.additional-service-price{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;white-space:nowrap}
.additional-service-price small,.additional-service-price del{color:var(--muted);font-size:9px}
.additional-service-price strong{font-size:13px}
.additional-service-price em{padding:2px 5px;border:1px solid rgba(255,58,111,.45);border-radius:999px;color:#ff668f;font-size:7px;font-style:normal;font-weight:900}
.additional-service-price.has-discount{display:grid;grid-template-columns:auto auto;gap:1px 6px}
.additional-service-price.has-discount em{grid-column:2;justify-self:start}
.additional-service-arrow{display:grid;place-items:center;width:24px;height:24px;color:var(--muted);font-size:18px;transition:transform .2s ease,color .2s ease}
.additional-service-item[open] .additional-service-arrow{transform:rotate(90deg);color:var(--accent-text)}
.additional-service-expanded{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:2px 40px 16px 38px}
.markers-disabled .additional-service-expanded{padding-left:2px}
.additional-service-expanded ul{margin:0;padding-left:17px;color:var(--muted);font-size:11px;line-height:1.65}
.additional-service-expanded .text-link{flex:none;white-space:nowrap}

.additional-services-markers-card{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:rgba(91,111,255,.2)}
.additional-services-markers-card h2{margin:7px 0 8px;font-size:clamp(22px,3vw,32px)}
.additional-services-markers-card p{margin:0;color:var(--muted)}

.password-field{position:relative;display:block;width:100%}
.password-field input{width:100%;margin:0!important;padding-right:50px!important}
.password-toggle{position:absolute;z-index:2;top:50%;right:6px;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;overflow:visible}
.password-toggle:hover{background:rgba(255,255,255,.05);color:var(--text)}
.password-toggle:focus-visible{outline:2px solid rgba(120,137,255,.75);outline-offset:1px}
.password-eye-icon{position:relative;display:block;width:20px;height:14px;border:2px solid currentColor;border-radius:70% 20% 70% 20%;transform:rotate(45deg)}
.password-eye-icon::before{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:currentColor;transform:translate(-50%,-50%)}
.password-toggle[aria-pressed="true"]::after{content:"";position:absolute;width:23px;height:2px;border-radius:999px;background:currentColor;transform:rotate(-45deg)}

.service-section-row,.service-item-admin-row{position:relative}
.service-drag-handle{display:grid;grid-template-columns:repeat(2,4px);grid-template-rows:repeat(3,4px);gap:3px;place-content:center;flex:0 0 34px;width:34px;height:42px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);cursor:grab;touch-action:none}
.service-drag-handle::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;box-shadow:7px 0 currentColor,0 7px currentColor,7px 7px currentColor,0 14px currentColor,7px 14px currentColor}
.service-drag-handle:active{cursor:grabbing}
.service-section-row.is-dragging,.service-item-admin-row.is-dragging{z-index:5;opacity:.72;border-color:var(--blue);box-shadow:0 18px 42px rgba(0,0,0,.28)}
.admin-sorting,.admin-sorting *{user-select:none!important}
.admin-sorting{cursor:grabbing!important}
.service-section-summary{flex:1}
.service-item-admin-row{grid-template-columns:34px 48px minmax(0,1fr) auto auto}

@media(max-width:1000px){
  .site-footer{grid-template-columns:1fr 1fr}
  .footer-contact{grid-column:2;align-items:flex-end}
  .footer-links{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr))}
  .additional-service-item>summary{grid-template-columns:24px minmax(150px,1fr) minmax(180px,1.25fr) auto 24px}
  .markers-disabled .additional-service-item>summary{grid-template-columns:minmax(150px,1fr) minmax(180px,1.25fr) auto 24px}
}
@media(max-width:760px){
  .contact-choice-actions{grid-template-columns:1fr}
  .contact-choice-actions .button{width:100%}
  .site-footer{grid-template-columns:1fr}
  .footer-links{grid-column:auto;grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
  .footer-extra-links{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-contact{grid-column:auto;align-items:flex-start}
  .additional-services-public{padding-bottom:62px}
  .additional-service-main-heading h2{font-size:clamp(28px,9vw,38px)}
  .additional-service-item>summary,.markers-disabled .additional-service-item>summary{grid-template-columns:22px minmax(0,1fr) auto 22px;gap:8px;padding:10px 0}
  .markers-disabled .additional-service-item>summary{grid-template-columns:minmax(0,1fr) auto 22px}
  .additional-service-summary{display:none}
  .additional-service-title{font-size:12px}
  .additional-service-price strong{font-size:12px}
  .additional-service-expanded,.markers-disabled .additional-service-expanded{display:block;padding:0 0 14px 30px}
  .markers-disabled .additional-service-expanded{padding-left:0}
  .additional-service-expanded .text-link{display:inline-flex;margin-top:9px}
  .additional-services-markers-card{align-items:stretch;flex-direction:column;padding:16px}
  .service-section-summary{width:100%}
  .service-section-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start}
  .service-section-actions{grid-column:1/-1}
  .service-item-admin-row{grid-template-columns:34px 34px minmax(0,1fr)}
  .service-item-admin-content{grid-column:3}
  .admin-service-price{grid-column:3}
  .service-item-admin-actions{grid-column:1/-1}
}
@media(max-width:430px){
  .footer-links{grid-template-columns:1fr 1fr}
  .additional-service-price.has-discount del,.additional-service-price.has-discount em{display:none}
  .additional-service-item>summary,.markers-disabled .additional-service-item>summary{gap:6px}
  .service-drag-handle{width:32px;height:40px}
}


/* V6.8.3: final responsive polish for additional services and admin mobile UI. */
.additional-service-main-heading{margin-bottom:18px}
.additional-service-group>h3{font-size:11px}
.additional-service-item>summary{
  grid-template-columns:24px minmax(190px,.95fr) minmax(260px,1.55fr) auto 32px;
  gap:16px;
  min-height:54px;
  padding:10px 2px;
}
.markers-disabled .additional-service-item>summary{
  grid-template-columns:minmax(190px,.95fr) minmax(260px,1.55fr) auto 32px;
}
.additional-service-title{font-size:15px;line-height:1.35}
.additional-service-summary{font-size:13px;line-height:1.4}
.additional-service-price strong{font-size:15px}
.additional-service-price small,.additional-service-price del{font-size:10px}
.additional-service-price em{font-size:8px}
.additional-service-arrow{
  position:relative;
  width:30px;
  height:30px;
  border:1px solid var(--line-strong);
  border-radius:9px;
  color:var(--text);
  font-size:0;
  transform:none!important;
}
.additional-service-arrow::before,
.additional-service-arrow::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:1.5px;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
  transition:opacity .18s ease,transform .18s ease;
}
.additional-service-arrow::after{transform:translate(-50%,-50%) rotate(90deg)}
.additional-service-item[open] .additional-service-arrow{color:var(--accent-text);border-color:rgba(110,132,255,.45)}
.additional-service-item[open] .additional-service-arrow::after{opacity:0;transform:translate(-50%,-50%) rotate(90deg) scale(.4)}
.additional-service-expanded .text-link{font-size:13px}

@media(max-width:1000px){
  .additional-service-item>summary{
    grid-template-columns:24px minmax(160px,1fr) minmax(190px,1.2fr) auto 32px;
  }
  .markers-disabled .additional-service-item>summary{
    grid-template-columns:minmax(160px,1fr) minmax(190px,1.2fr) auto 32px;
  }
}

@media(max-width:760px){
  .site-footer{grid-template-columns:1fr;gap:26px;padding-bottom:calc(42px + env(safe-area-inset-bottom))}
  .footer-links{display:flex;flex-direction:column;gap:8px;grid-column:auto;grid-row:auto}
  .footer-link-column,.footer-extra-links{display:flex;flex-direction:column;gap:8px;grid-column:auto}
  .footer-contact{grid-column:auto;align-items:flex-start}

  .additional-service-main-heading{margin-bottom:18px}
  .additional-service-main-heading h2{font-size:clamp(31px,9.2vw,40px)}
  .additional-service-sections{gap:18px}
  .additional-service-group>h3{font-size:10px;padding-bottom:8px}
  .additional-service-item>summary{
    grid-template-columns:22px minmax(0,1fr) auto 36px;
    grid-template-rows:auto auto;
    column-gap:10px;
    row-gap:2px;
    min-height:64px;
    padding:11px 0;
  }
  .markers-disabled .additional-service-item>summary{
    grid-template-columns:minmax(0,1fr) auto 36px;
  }
  .additional-service-marker{grid-column:1;grid-row:1 / span 2;align-self:center}
  .additional-service-title{grid-column:2;grid-row:1;font-size:14px;line-height:1.3}
  .additional-service-summary{display:block;grid-column:2;grid-row:2;font-size:11px;line-height:1.35;white-space:normal;overflow:visible;text-overflow:clip}
  .additional-service-price{grid-column:3;grid-row:1 / span 2;align-self:center}
  .additional-service-price strong{font-size:13px}
  .additional-service-arrow{grid-column:4;grid-row:1 / span 2;align-self:center;width:34px;height:34px}
  .markers-disabled .additional-service-title,.markers-disabled .additional-service-summary{grid-column:1}
  .markers-disabled .additional-service-price{grid-column:2}
  .markers-disabled .additional-service-arrow{grid-column:3}
  .additional-service-expanded,.markers-disabled .additional-service-expanded{padding:0 0 15px 32px}
  .markers-disabled .additional-service-expanded{padding-left:0}
  .additional-service-expanded .text-link{display:inline-flex;margin-top:10px;font-size:13px}

  .admin-body{overflow-x:hidden;padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .admin-header-v5{
    width:calc(100% - 16px);
    min-height:68px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    padding:10px 12px;
  }
  .admin-header-v5 .brand{min-width:0;gap:8px;overflow:hidden}
  .admin-header-v5 .brand img{flex:0 0 42px}
  .admin-header-v5 .brand span{min-width:0;overflow:hidden}
  .admin-header-v5 .brand strong{display:block;max-width:100%;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .admin-header-actions{display:flex!important;align-items:center;justify-content:flex-end;min-width:0}
  .admin-header-actions form{display:block;width:auto;min-width:0;margin:0}
  .admin-header-actions .button{width:auto;min-width:72px;max-width:96px;min-height:40px;padding:8px 11px;white-space:nowrap;overflow-wrap:normal;line-height:1.1}

  .admin-page-shell{width:calc(100% - 20px);margin-bottom:22px}
  .admin-page-card{min-width:0;overflow:hidden}
  .admin-form,.admin-form label,.admin-form fieldset,.admin-form input,.admin-form textarea,.admin-form select{min-width:0;max-width:100%}
  .admin-form input,.admin-form textarea,.admin-form select{width:100%}
  .admin-save-bar{
    position:static!important;
    bottom:auto!important;
    z-index:auto;
    width:100%;
    margin-top:6px;
    padding:9px;
    flex-direction:column;
    align-items:stretch;
  }
  .admin-save-bar .button{width:100%;min-width:0;max-width:100%;min-height:50px}
  .admin-save-bar span{text-align:center}
  .admin-modal{place-items:start center;overflow-y:auto;padding:8px}
  .admin-modal-card,.admin-modal-card.small{
    width:100%;
    max-width:100%;
    max-height:none;
    min-height:0;
    margin:8px 0 calc(100px + env(safe-area-inset-bottom));
    padding:20px 14px;
    overflow:visible;
  }
  .admin-modal-card h2{padding-right:46px;font-size:clamp(34px,10vw,46px);overflow-wrap:anywhere}
  .admin-modal-close{top:10px;right:10px}
}

@media(max-width:430px){
  .additional-service-item>summary{
    grid-template-columns:20px minmax(0,1fr) auto 34px;
    column-gap:8px;
  }
  .markers-disabled .additional-service-item>summary{grid-template-columns:minmax(0,1fr) auto 34px}
  .additional-service-title{font-size:13px}
  .additional-service-summary{font-size:10.5px}
  .additional-service-price.has-discount del,.additional-service-price.has-discount em{display:none}
  .additional-service-price strong{font-size:12px}
  .additional-service-arrow{width:32px;height:32px}
  .service-section-actions,.service-item-admin-actions{grid-template-columns:1fr}
  .service-section-actions .button-danger,.service-item-admin-actions .button-danger{grid-column:auto}
}

@media(max-width:760px){
  .admin-header-v5 .admin-header-user{display:none!important}
}
@media(max-width:430px){
  .admin-modal-card h2{font-size:32px;line-height:.98;overflow-wrap:normal;word-break:normal;hyphens:none}
}
@media(max-width:430px){
  .admin-modal-card,.admin-modal-card.small{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;overflow-x:hidden}
  .admin-modal-card h2{padding-right:34px;font-size:30px}
}


/* V6.8.4: final footer rebuild, simplified additional services and stable responsive admin controls. */

/* Public containers share one axis so the header, content and footer no longer look shifted. */
.site-header,
.site-footer,
.section-shell{
  width:min(calc(100% - 40px),var(--max));
}

/* Footer: three balanced blocks on desktop, one strict left-aligned column on phones. */
.site-footer{
  display:grid;
  grid-template-columns:minmax(260px,1.1fr) minmax(330px,1fr) minmax(220px,.75fr);
  align-items:center;
  gap:clamp(36px,6vw,88px);
  padding:48px 0 56px;
}
.footer-brand-block,
.footer-menu-groups,
.footer-contact{min-width:0}
.footer-brand-block{display:grid;gap:8px}
.footer-brand-block p{max-width:360px;margin:0;line-height:1.6}
.footer-menu-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(130px,1fr));
  gap:clamp(28px,4vw,54px);
}
.footer-menu-group{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.footer-menu-group h3{
  margin:0 0 5px;
  color:var(--accent-text);
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.footer-menu-group a{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  color:var(--text);
  font-size:13px;
  line-height:1.35;
  transition:color .2s ease,transform .2s ease;
}
.footer-menu-group a:hover{color:var(--accent-text);transform:translateX(2px)}
.footer-contact{justify-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.footer-contact a{font-size:18px;font-weight:800;white-space:nowrap}
.footer-contact span{line-height:1.5}

/* Additional services: no middle teaser column and no duplicated contact CTA. */
.additional-services-public{padding-bottom:34px}
.additional-services-public + .faq-section{padding-top:62px}
.additional-service-item>summary{
  grid-template-columns:24px minmax(0,1fr) auto 32px;
  gap:16px;
}
.markers-disabled .additional-service-item>summary{
  grid-template-columns:minmax(0,1fr) auto 32px;
}
.additional-service-expanded,
.markers-disabled .additional-service-expanded{
  display:block;
  padding:2px 46px 16px 40px;
}
.markers-disabled .additional-service-expanded{padding-left:0}
.additional-service-expanded ul{max-width:780px;font-size:12px}
.additional-service-expanded .text-link{display:none!important}

/* Keep every admin control inside its own rounded box. */
.admin-body .button,
.admin-body button.button,
.admin-section-nav a,
.admin-save-bar,
.discount-toggle-ui{
  isolation:isolate;
  overflow:hidden;
}
.admin-body .button-primary{
  background-size:100% 100%;
  background-repeat:no-repeat;
  box-shadow:0 7px 18px rgba(55,89,255,.14),0 5px 14px rgba(255,39,39,.11);
}
.admin-save-bar{
  max-width:100%;
  background:rgba(10,11,18,.97);
  box-shadow:none;
}
.admin-save-bar .button{max-width:100%;margin:0}
.admin-save-bar .button-primary{box-shadow:0 5px 14px rgba(55,89,255,.12)}
.admin-section-nav a.active{box-shadow:inset 0 0 0 1px rgba(106,126,255,.35)}
.discount-toggle input:checked+.discount-toggle-ui{box-shadow:0 4px 12px rgba(66,91,255,.16)}
.admin-header-actions,
.admin-header-actions form{min-width:0}
.admin-header-actions .button{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  white-space:nowrap!important;
}
.admin-modal-card .admin-save-bar{position:static!important;bottom:auto!important;margin-top:14px}

@media(max-width:1000px){
  .site-footer{
    grid-template-columns:minmax(230px,1fr) minmax(300px,1.2fr);
    align-items:center;
    gap:34px 48px;
  }
  .footer-contact{grid-column:2;justify-self:end}
  .footer-menu-groups{grid-column:1/-1;grid-row:2}
}

@media(max-width:760px){
  .site-header,
  .site-footer,
  .section-shell{width:calc(100% - 26px)}

  .site-footer{
    grid-template-columns:1fr;
    align-items:start;
    gap:30px;
    padding:38px 0 calc(42px + env(safe-area-inset-bottom));
  }
  .footer-brand-block,
  .footer-menu-groups,
  .footer-contact{
    grid-column:auto;
    grid-row:auto;
    width:100%;
    justify-self:stretch;
    align-items:flex-start;
    text-align:left;
  }
  .footer-menu-groups{grid-template-columns:1fr;gap:24px}
  .footer-menu-group{width:100%;gap:4px}
  .footer-menu-group h3{margin-bottom:7px}
  .footer-menu-group a{
    width:100%;
    min-height:42px;
    padding:8px 0;
    font-size:14px;
  }
  .footer-contact{gap:4px}
  .footer-contact a{font-size:19px}

  .additional-services-public{padding-bottom:24px}
  .additional-services-public + .faq-section{padding-top:54px}
  .additional-service-item>summary{
    grid-template-columns:22px minmax(0,1fr) auto 36px;
    grid-template-rows:auto;
    column-gap:10px;
    min-height:58px;
  }
  .markers-disabled .additional-service-item>summary{
    grid-template-columns:minmax(0,1fr) auto 36px;
  }
  .additional-service-marker{grid-column:1;grid-row:1;align-self:center}
  .additional-service-title{grid-column:2;grid-row:1;align-self:center}
  .additional-service-price{grid-column:3;grid-row:1;align-self:center}
  .additional-service-arrow{grid-column:4;grid-row:1;align-self:center}
  .markers-disabled .additional-service-title{grid-column:1}
  .markers-disabled .additional-service-price{grid-column:2}
  .markers-disabled .additional-service-arrow{grid-column:3}
  .additional-service-expanded,
  .markers-disabled .additional-service-expanded{padding:0 0 15px 32px}
  .markers-disabled .additional-service-expanded{padding-left:0}

  .admin-save-bar{
    position:static!important;
    bottom:auto!important;
    width:100%;
    margin-top:10px;
    padding:8px;
    border-radius:14px;
  }
  .admin-save-bar .button{width:100%;min-height:50px}
  .admin-header-actions{flex:0 0 auto}
  .admin-header-actions form{display:flex!important;width:auto!important}
  .admin-header-actions .button{min-width:70px!important;max-width:none!important;padding:8px 12px!important}
}

@media(max-width:430px){
  .site-header,
  .site-footer,
  .section-shell{width:calc(100% - 20px)}
  .footer-brand{font-size:22px}
  .additional-service-item>summary{grid-template-columns:20px minmax(0,1fr) auto 34px;column-gap:8px}
  .markers-disabled .additional-service-item>summary{grid-template-columns:minmax(0,1fr) auto 34px}
  .admin-header-v5{grid-template-columns:minmax(0,1fr) auto!important}
  .admin-header-v5 .brand strong{max-width:118px}
  .admin-header-actions .button{min-width:68px!important;padding-inline:10px!important;font-size:11px!important}
}

/* V6.8.4 final: contain neon accents on the home standards cards and portfolio filters. */
.quality-promises{
  align-items:stretch;
}
.quality-promises article{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:0;
  background-clip:padding-box;
  box-shadow:inset 0 0 0 1px var(--line-strong);
  transform:translateZ(0);
}
.quality-promises article:first-child{
  border:0;
  box-shadow:inset 0 0 0 1px rgba(255,49,86,.55);
}
.quality-promises article:last-child{
  border:0;
  box-shadow:inset 0 0 0 1px rgba(65,111,255,.55);
}
.quality-mark{
  overflow:hidden;
  background-clip:padding-box;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 7px 18px rgba(55,89,255,.12);
}

.filter-tabs{
  align-items:center;
  padding:1px 0;
}
.filter-tabs button{
  -webkit-appearance:none;
  appearance:none;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:0;
  min-height:40px;
  border:0;
  background:var(--surface);
  background-clip:padding-box;
  box-shadow:inset 0 0 0 1px var(--line);
  line-height:1.2;
  transform:translateZ(0);
}
.filter-tabs button.active{
  border:0;
  background:var(--primary-gradient);
  background-size:100% 100%;
  background-repeat:no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.filter-tabs button:focus-visible{
  outline:2px solid var(--accent-text);
  outline-offset:2px;
}

/* V6.8.5: selectable service markers, settings backups and full text descriptions. */

/* Decorative marker variants share the same layout and only change the small accent. */
.additional-service-marker{
  flex:none;
  align-self:center;
}
.marker-style-double-lines .additional-service-marker{
  width:18px;
  height:12px;
}
.marker-style-double-lines .additional-service-marker::before,
.marker-style-double-lines .additional-service-marker::after{
  display:block;
}
.marker-style-vertical-line .additional-service-marker{
  width:18px;
  height:22px;
}
.marker-style-vertical-line .additional-service-marker::before{
  display:block;
  left:7px;
  top:0;
  bottom:auto;
  width:3px;
  height:22px;
  background:linear-gradient(180deg,var(--red),var(--blue));
  box-shadow:0 0 8px rgba(77,102,255,.25);
}
.marker-style-vertical-line .additional-service-marker::after{display:none}
.marker-style-capsule .additional-service-marker{
  width:18px;
  height:22px;
}
.marker-style-capsule .additional-service-marker::before{
  display:block;
  left:4px;
  top:2px;
  width:10px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--red),var(--blue));
  box-shadow:0 0 9px rgba(89,91,255,.28);
}
.marker-style-capsule .additional-service-marker::after{display:none}
.marker-style-horizontal-line .additional-service-marker{
  width:18px;
  height:14px;
}
.marker-style-horizontal-line .additional-service-marker::before{
  display:block;
  left:0;
  top:6px;
  width:18px;
  height:3px;
  background:linear-gradient(90deg,var(--red),var(--blue));
}
.marker-style-horizontal-line .additional-service-marker::after{display:none}
.marker-style-corner .additional-service-marker{
  width:18px;
  height:18px;
}
.marker-style-corner .additional-service-marker::before{
  display:block;
  left:3px;
  top:2px;
  width:3px;
  height:13px;
  background:linear-gradient(180deg,var(--red),#bd2ba4 65%,var(--blue));
  border-radius:999px 999px 2px 2px;
}
.marker-style-corner .additional-service-marker::after{
  display:block;
  left:3px;
  bottom:3px;
  width:15px;
  height:3px;
  background:linear-gradient(90deg,#bd2ba4,var(--blue));
  border-radius:2px 999px 999px 2px;
}
.marker-style-none .additional-service-marker{display:none!important}

.additional-services-markers-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,480px);
  align-items:center;
}
.marker-style-copy{min-width:0}
.marker-style-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  min-width:0;
}
.marker-style-form label{
  display:grid;
  gap:7px;
  min-width:0;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.marker-style-form select{
  width:100%;
  min-height:48px;
  padding:0 42px 0 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--input-bg);
  color:var(--text);
  outline:none;
}
.marker-style-live-preview{
  grid-column:1/-1;
  min-height:52px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-soft);
  color:var(--text);
  font-size:13px;
  font-weight:800;
}
.marker-style-live-preview.marker-style-none{padding-left:14px}
.marker-style-live-preview .additional-service-marker[hidden]{display:none!important}
.marker-style-form .button{min-height:48px}
.marker-style-status{grid-column:1/-1;min-height:18px;color:var(--muted);font-size:12px}

/* The backup launcher and modal live only on the owner account's Site page. */
.settings-backup-launch-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-top:18px;
}
.settings-backup-launch-card h2{margin:7px 0 8px;font-size:clamp(24px,3vw,34px)}
.settings-backup-launch-card p{max-width:760px;margin:0;color:var(--muted)}
.settings-backup-launch-card>.button{flex:none}
.settings-backups-card{width:min(880px,100%);display:flex;flex-direction:column}
.settings-backups-intro{max-width:760px;margin:-4px 0 18px;color:var(--muted);line-height:1.65}
.settings-backups-create{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-soft);
}
.settings-backups-create span{color:var(--muted);font-size:12px}
.settings-backups-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:24px 0 10px;
}
.settings-backups-heading>span{
  min-width:34px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
}
.settings-backups-list{display:grid;gap:10px;min-height:110px}
.settings-backups-empty{padding:34px 20px}
.settings-backup-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface-soft);
}
.settings-backup-row.is-invalid{border-color:rgba(255,74,91,.35)}
.settings-backup-main{min-width:0;display:grid;gap:3px}
.settings-backup-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.settings-backup-title-line strong{min-width:0;overflow-wrap:anywhere}
.settings-backup-main>span,.settings-backup-main>small{color:var(--muted);font-size:11px}
.settings-backup-main>em{color:#ff8190;font-size:11px;font-style:normal}
.settings-backup-badge{
  padding:3px 7px;
  border:1px solid rgba(88,116,255,.35);
  border-radius:999px;
  color:var(--accent-text);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.settings-backup-badge.is-error{border-color:rgba(255,74,91,.45);color:#ff8190}
.settings-backup-actions{display:flex;align-items:center;gap:8px}

/* Portfolio cards stay aligned while the complete text opens separately. */
.works-grid{align-items:stretch}
.work-card{display:flex;flex-direction:column;height:100%;min-width:0}
.work-card .portfolio-media{flex:none}
.work-card .portfolio-content{display:flex;flex:1;flex-direction:column;min-width:0}
.work-description-block{position:relative;margin-top:auto;padding-top:8px}
.work-description-fade{position:relative;min-width:0}
.work-description-preview{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  line-clamp:5;
  white-space:pre-line;
  line-height:1.55;
}
.work-description-block.is-truncated .work-description-fade::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2.8em;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,var(--surface) 88%);
}
.work-description-more{
  position:relative;
  z-index:1;
  margin-top:9px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--accent-text);
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.work-description-more:hover{text-decoration:underline}
.work-description-more[hidden]{display:none!important}
.description-modal-open{overflow:hidden}
.work-description-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:20px;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,visibility .2s ease;
}
.work-description-modal.is-open{opacity:1;visibility:visible}
.work-description-backdrop{position:absolute;inset:0;background:var(--lightbox-backdrop);backdrop-filter:blur(13px)}
.work-description-window{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  max-height:min(82dvh,850px);
  overflow:auto;
  padding:clamp(24px,4vw,42px);
  border:1px solid var(--lightbox-border);
  border-radius:26px;
  background:var(--lightbox-window);
  box-shadow:var(--shadow);
  transform:translateY(12px) scale(.985);
  transition:transform .22s ease;
}
.work-description-modal.is-open .work-description-window{transform:none}
.work-description-close{
  position:sticky;
  z-index:2;
  top:0;
  float:right;
  width:42px;
  height:42px;
  margin:-8px -8px 8px 16px;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--lightbox-control-bg);
  color:var(--lightbox-control-text);
  font-size:26px;
  cursor:pointer;
}
.work-description-window h2{
  clear:left;
  margin:10px 0 12px;
  padding-right:8px;
  font-family:var(--display);
  font-size:clamp(34px,5vw,54px);
  line-height:1;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.work-description-address{margin-bottom:20px;color:var(--accent-text);font-size:13px;font-weight:800}
.work-description-full{color:var(--text);font-size:15px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}

@media(max-width:900px){
  .additional-services-markers-card{grid-template-columns:1fr;align-items:stretch}
  .settings-backup-launch-card{align-items:stretch;flex-direction:column}
  .settings-backup-launch-card>.button{align-self:flex-start}
}

@media(max-width:760px){
  .marker-style-form{grid-template-columns:1fr}
  .marker-style-live-preview,.marker-style-status{grid-column:auto}
  .marker-style-form .button{width:100%}
  .settings-backup-launch-card>.button{width:100%;align-self:stretch}
  .settings-backups-card{max-height:calc(100dvh - 16px)}
  .settings-backups-create{align-items:stretch;flex-direction:column}
  .settings-backups-create .button{width:100%}
  .settings-backup-row{grid-template-columns:1fr;align-items:stretch}
  .settings-backup-actions{display:grid;grid-template-columns:1fr 1fr}
  .settings-backup-actions .button{width:100%;min-height:44px}
  .work-description-modal{padding:8px}
  .work-description-window{width:100%;max-height:calc(100dvh - 16px);padding:24px 18px;border-radius:20px}
  .work-description-window h2{font-size:clamp(31px,10vw,44px)}
  .work-description-full{font-size:14px;line-height:1.7}
}

@media(max-width:430px){
  .additional-services-markers-card{padding:16px}
  .marker-style-live-preview{min-height:50px}
  .settings-backup-actions{grid-template-columns:1fr}
}


/* V6.8.6: continuous marker, universal announcement, centred work excerpts and light-theme polish. */
.additional-services-public.marker-style-vertical-line .additional-service-list{position:relative;padding-left:26px}.additional-services-public.marker-style-vertical-line .additional-service-list::before{content:"";position:absolute;z-index:0;left:7px;top:11px;bottom:11px;width:3px;border-radius:999px;background:linear-gradient(180deg,var(--red) 0%,#bd2ba4 48%,var(--blue) 100%);box-shadow:0 0 10px rgba(77,102,255,.24);pointer-events:none}.additional-services-public.marker-style-vertical-line .additional-service-item{position:relative;z-index:1}.additional-services-public.marker-style-vertical-line .additional-service-marker{display:none!important}.additional-services-public.marker-style-vertical-line .additional-service-item>summary{grid-template-columns:minmax(0,1fr) auto 32px}.additional-services-public.marker-style-vertical-line .additional-service-expanded{padding-left:0}
.work-card .portfolio-content>h3{min-height:2.65em;display:flex;align-items:flex-start}.work-card .portfolio-address{min-height:2.9em}.work-description-block{min-height:156px;margin-top:8px;padding-top:0;display:grid;grid-template-rows:minmax(0,1fr) 28px}.work-description-fade{min-height:0;display:flex;align-items:center}.work-description-preview{width:100%;margin:0}.work-description-more{align-self:end;justify-self:start;margin-top:7px}.work-description-more[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.site-tool-launch-card{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:18px}.site-tool-launch-card>div{min-width:0}.site-tool-launch-card h2{margin:7px 0 8px;font-size:clamp(24px,3vw,34px)}.site-tool-launch-card p{max-width:760px;margin:0;color:var(--muted)}.site-tool-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.site-tool-title-row h2{margin-right:auto}.announcement-settings-card{width:min(920px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto}.announcement-settings-intro{color:var(--muted);max-width:760px}.announcement-form{display:grid;gap:18px;margin-top:22px}.announcement-enable-row{display:flex!important;flex-direction:row!important;align-items:center;gap:13px!important;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);color:var(--text)!important;cursor:pointer}.announcement-enable-row input{width:20px!important;height:20px;flex:none;margin:0}.announcement-enable-row span{display:grid;gap:2px}.announcement-enable-row small{color:var(--muted);font-weight:500}.announcement-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.announcement-form-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.announcement-form-grid input,.announcement-form-grid textarea,.announcement-form-grid select{width:100%;border:1px solid var(--line);background:var(--input-bg);color:var(--text);border-radius:12px;padding:13px;outline:none}.announcement-form-grid textarea{resize:vertical;min-height:150px;line-height:1.6}.announcement-form-grid input:focus,.announcement-form-grid textarea:focus,.announcement-form-grid select:focus{border-color:var(--blue)}.announcement-pages-fieldset{margin:0;padding:16px;border:1px solid var(--line);border-radius:16px}.announcement-pages-fieldset legend{padding:0 8px;color:var(--muted);font-size:12px;font-weight:800}.announcement-page-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.announcement-page-options label{cursor:pointer}.announcement-page-options input{position:absolute;opacity:0;pointer-events:none}.announcement-page-options span{min-height:43px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:800;transition:.2s ease}.announcement-page-options input:checked+span{border-color:rgba(91,111,255,.52);background:linear-gradient(110deg,rgba(255,39,65,.16),rgba(55,106,255,.18));color:var(--text);box-shadow:inset 0 0 0 1px rgba(100,121,255,.18)}.announcement-schedule-note{display:flex;flex-direction:column;justify-content:center;padding:10px 14px;border:1px dashed var(--line-strong);border-radius:12px;color:var(--text)}.announcement-schedule-note span{color:var(--muted);font-size:11px}.announcement-mini-preview{--ann-accent:#477cff;--ann-accent-2:#7fa2ff;min-height:72px;display:flex;align-items:center;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.10);border-radius:17px;background:#0d0f17;color:#fff;box-shadow:0 0 30px rgba(71,124,255,.18)}.announcement-mini-preview>span{width:8px;height:32px;border-radius:999px;background:linear-gradient(180deg,var(--ann-accent),var(--ann-accent-2));box-shadow:0 0 16px var(--ann-accent)}.announcement-mini-preview[data-glow="cyan"]{--ann-accent:#24c7ff;--ann-accent-2:#3777ff;box-shadow:0 0 30px rgba(36,199,255,.18)}.announcement-mini-preview[data-glow="yellow"]{--ann-accent:#ffd43b;--ann-accent-2:#ff9f1c;box-shadow:0 0 30px rgba(255,212,59,.16)}.announcement-mini-preview[data-glow="orange"]{--ann-accent:#ff9f1c;--ann-accent-2:#ff4d35;box-shadow:0 0 30px rgba(255,122,28,.18)}.announcement-mini-preview[data-glow="pink"]{--ann-accent:#ff2f68;--ann-accent-2:#d42bcb;box-shadow:0 0 30px rgba(255,47,104,.18)}.announcement-mini-preview[data-glow="violet"]{--ann-accent:#a765ff;--ann-accent-2:#4f6cff;box-shadow:0 0 30px rgba(167,101,255,.18)}.announcement-mini-preview[data-glow="none"]{--ann-accent:#687082;--ann-accent-2:#3b414e;box-shadow:none}.announcement-save-bar{position:static!important;display:flex;flex-wrap:wrap}.announcement-save-bar .button{min-width:190px}.announcement-save-bar>span{min-width:160px;color:var(--muted);font-size:12px}
.announcement-modal-open{overflow:hidden}.site-announcement-modal{position:fixed;inset:0;z-index:1450;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.site-announcement-modal.is-open{opacity:1;visibility:visible}.site-announcement-backdrop{position:absolute;inset:0;background:rgba(2,3,8,.70);backdrop-filter:blur(15px) saturate(.82);-webkit-backdrop-filter:blur(15px) saturate(.82)}.site-announcement-card{--ann-accent:#477cff;--ann-accent-2:#7fa2ff;--ann-rgb:71,124,255;position:relative;z-index:1;width:min(720px,100%);max-height:min(84dvh,860px);overflow:auto;padding:clamp(26px,5vw,46px);border:1px solid rgba(255,255,255,.12);border-radius:26px;background:linear-gradient(145deg,rgba(18,20,30,.98),rgba(9,10,17,.98));color:#f7f8ff;box-shadow:0 30px 95px rgba(0,0,0,.55),0 0 80px rgba(var(--ann-rgb),.26);transform:translateY(14px) scale(.975);transition:transform .23s ease,box-shadow .23s ease}.site-announcement-modal.is-open .site-announcement-card{transform:none}.site-announcement-card::before{content:"";position:absolute;left:28px;right:74px;top:0;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--ann-accent),var(--ann-accent-2),transparent);box-shadow:0 0 18px var(--ann-accent)}.site-announcement-card[data-glow="cyan"]{--ann-accent:#24c7ff;--ann-accent-2:#3777ff;--ann-rgb:36,199,255}.site-announcement-card[data-glow="yellow"]{--ann-accent:#ffd43b;--ann-accent-2:#ff9f1c;--ann-rgb:255,212,59}.site-announcement-card[data-glow="orange"]{--ann-accent:#ff9f1c;--ann-accent-2:#ff4d35;--ann-rgb:255,122,28}.site-announcement-card[data-glow="pink"]{--ann-accent:#ff2f68;--ann-accent-2:#d42bcb;--ann-rgb:255,47,104}.site-announcement-card[data-glow="violet"]{--ann-accent:#a765ff;--ann-accent-2:#4f6cff;--ann-rgb:167,101,255}.site-announcement-card[data-glow="none"]{--ann-accent:#687082;--ann-accent-2:#3b414e;--ann-rgb:0,0,0;box-shadow:0 30px 95px rgba(0,0,0,.55)}.site-announcement-card[data-glow="none"]::before{opacity:.3;box-shadow:none}.site-announcement-close{position:sticky;z-index:2;top:0;float:right;width:42px;height:42px;margin:-10px -10px 8px 18px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(255,255,255,.045);color:#c9cedd;font-size:27px;cursor:pointer;transition:.2s ease}.site-announcement-close:hover{border-color:var(--ann-accent);color:var(--ann-accent);box-shadow:0 0 18px rgba(var(--ann-rgb),.24)}.site-announcement-kicker{display:block;color:var(--ann-accent);font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.site-announcement-card h2{clear:left;margin:12px 0 16px;padding-right:4px;color:#fff;font-family:var(--display);font-size:clamp(38px,6vw,64px);font-weight:500;line-height:1;text-transform:uppercase;overflow-wrap:anywhere}.site-announcement-body{color:#bbc1d0;font-size:15px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.site-announcement-action{margin-top:24px;background:linear-gradient(110deg,var(--ann-accent),var(--ann-accent-2));box-shadow:0 12px 30px rgba(var(--ann-rgb),.22)}.announcement-admin-preview{z-index:1600}
[data-theme="light"] .button-primary{filter:saturate(.90) contrast(.98);box-shadow:0 8px 20px rgba(36,91,219,.13),0 4px 12px rgba(223,38,53,.08)}[data-theme="light"] .button-primary:hover{box-shadow:0 10px 24px rgba(36,91,219,.16),0 5px 14px rgba(223,38,53,.10)}[data-theme="light"] .site-announcement-card .button-primary{filter:none;box-shadow:0 12px 30px rgba(var(--ann-rgb),.22)}
@media(max-width:900px){.site-tool-launch-card{align-items:stretch;flex-direction:column}.site-tool-launch-card>.button{align-self:flex-start}.announcement-page-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.additional-services-public.marker-style-vertical-line .additional-service-list{padding-left:22px}.additional-services-public.marker-style-vertical-line .additional-service-list::before{left:6px;top:12px;bottom:12px}.additional-services-public.marker-style-vertical-line .additional-service-item>summary{grid-template-columns:minmax(0,1fr) auto 36px}.work-card .portfolio-content>h3{min-height:auto}.work-card .portfolio-address{min-height:auto}.work-description-block{min-height:138px}.site-tool-launch-card>.button{width:100%;align-self:stretch}.announcement-settings-card{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:22px 16px}.announcement-form-grid{grid-template-columns:1fr}.announcement-page-options{grid-template-columns:1fr 1fr}.announcement-save-bar{display:grid;grid-template-columns:1fr}.announcement-save-bar .button{width:100%;min-width:0}.announcement-save-bar>span{min-width:0}.site-announcement-modal{padding:8px}.site-announcement-card{width:100%;max-height:calc(100dvh - 16px);padding:28px 19px;border-radius:21px}.site-announcement-card h2{font-size:clamp(34px,11vw,48px)}.site-announcement-body{font-size:14px;line-height:1.7}.site-announcement-action{width:100%}}
@media(max-width:430px){.announcement-page-options{grid-template-columns:1fr}.site-announcement-close{width:40px;height:40px}}

/* ========================================================================
   CLIMATRIX V6.8.7 — instant themes, softer modal blur and winter mode
   ======================================================================== */
.theme-switch button{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  line-height:1;
  padding:6px 9px;
  border-radius:999px;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.theme-switch button.selected{
  background:var(--text);
  color:var(--bg);
  box-shadow:0 2px 9px rgba(0,0,0,.12);
}
.theme-switch button:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:2px;
}
html.theme-switching body{transition:background-color .2s ease,color .2s ease}

/* Keep the page readable behind text-only and announcement dialogs. */
.work-description-backdrop{
  background:rgba(2,3,8,.74)!important;
  backdrop-filter:blur(7px) saturate(.88)!important;
  -webkit-backdrop-filter:blur(7px) saturate(.88)!important;
}
.site-announcement-backdrop{
  background:rgba(2,3,8,.72)!important;
  backdrop-filter:blur(7px) saturate(.88)!important;
  -webkit-backdrop-filter:blur(7px) saturate(.88)!important;
}

/* Winter mode: all elements are dormant unless the server marks the mode active. */
.winter-aurora,
.winter-brand-crystal,
.winter-hero-frame,
.winter-circuit-crystal,
.winter-digital-particles{display:none}

html.winter-mode{
  --winter-ice:#63c9ff;
  --winter-ice-soft:#a8e5ff;
  --winter-violet:#7e78ff;
  --winter-line:rgba(99,201,255,.42);
  --winter-glow:rgba(57,151,255,.22);
}
html.winter-mode .winter-aurora{
  display:block;
  position:fixed;
  z-index:-1;
  inset:-18vh -12vw;
  pointer-events:none;
  opacity:.43;
  background:
    radial-gradient(ellipse at 18% 8%,rgba(72,190,255,.18),transparent 34%),
    radial-gradient(ellipse at 82% 18%,rgba(101,91,255,.13),transparent 36%),
    radial-gradient(ellipse at 58% 88%,rgba(30,114,255,.08),transparent 34%);
  filter:blur(42px) saturate(1.08);
  transform:translateZ(0);
}
html.winter-mode.winter-intensity-minimal .winter-aurora{display:none}
html.winter-mode.winter-intensity-expressive .winter-aurora{opacity:.62;filter:blur(48px) saturate(1.18)}

html.winter-mode .winter-brand-crystal{
  display:block;
  position:relative;
  flex:0 0 auto;
  width:12px;
  height:12px;
  margin-left:-4px;
  color:var(--winter-ice);
  filter:drop-shadow(0 0 5px rgba(99,201,255,.65));
}
html.winter-mode .winter-brand-crystal::before,
html.winter-mode .winter-brand-crystal::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:1px;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
}
html.winter-mode .winter-brand-crystal::after{transform:translate(-50%,-50%) rotate(60deg);box-shadow:0 0 0 currentColor}
html.winter-mode .winter-brand-crystal{
  background:linear-gradient(currentColor,currentColor) center/1px 12px no-repeat;
}

html.winter-mode .site-header::after{
  content:"";
  position:absolute;
  pointer-events:none;
  left:20px;
  right:20px;
  bottom:-1px;
  height:1px;
  opacity:.62;
  background:linear-gradient(90deg,transparent 0%,rgba(99,201,255,.18) 20%,rgba(99,201,255,.72) 50%,rgba(126,120,255,.28) 72%,transparent 100%);
  background-size:220% 100%;
}
html.winter-mode.winter-animations .site-header::after{animation:winterHeaderShimmer 13s ease-in-out infinite}
@keyframes winterHeaderShimmer{
  0%,70%,100%{background-position:120% 0;opacity:.32}
  80%{background-position:50% 0;opacity:.78}
  92%{background-position:-40% 0;opacity:.38}
}

html.winter-mode .hero-visual .hero-logo{position:relative;z-index:2}
html.winter-mode .winter-hero-frame{
  display:block;
  position:absolute;
  z-index:1;
  width:min(76%,440px);
  aspect-ratio:1;
  padding:1.5px;
  clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%);
  background:conic-gradient(from 24deg,transparent 0 9%,rgba(99,201,255,.82) 17%,rgba(126,120,255,.58) 27%,transparent 39% 58%,rgba(99,201,255,.55) 70%,transparent 84% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 16px rgba(74,182,255,.30));
  opacity:.78;
}
html.winter-mode.winter-animations .winter-hero-frame{animation:winterFrameFlow 10s ease-in-out infinite}
@keyframes winterFrameFlow{
  0%,100%{transform:scale(.985);opacity:.54;filter:drop-shadow(0 0 10px rgba(74,182,255,.18))}
  48%{transform:scale(1.012);opacity:.92;filter:drop-shadow(0 0 22px rgba(74,182,255,.42))}
}
html.winter-mode .winter-circuit-crystal{
  display:block;
  position:absolute;
  z-index:3;
  right:5.5%;
  bottom:19%;
  width:clamp(54px,8vw,92px);
  color:var(--winter-ice);
  opacity:.72;
  filter:drop-shadow(0 0 9px rgba(99,201,255,.48));
  transform:rotate(-7deg);
  pointer-events:none;
}
html.winter-mode.winter-animations .winter-circuit-crystal{animation:winterCrystalBreathe 9s ease-in-out infinite}
@keyframes winterCrystalBreathe{
  0%,100%{transform:rotate(-7deg) scale(.98);opacity:.52}
  50%{transform:rotate(-5deg) scale(1.025);opacity:.86}
}

html.winter-mode .winter-digital-particles{
  position:absolute;
  z-index:4;
  inset:8% 3% 9%;
  pointer-events:none;
}
html.winter-mode.winter-intensity-expressive .winter-digital-particles{display:block}
html.winter-mode .winter-digital-particles span{
  position:absolute;
  width:4px;
  height:4px;
  border:1px solid rgba(143,224,255,.7);
  transform:rotate(45deg);
  opacity:.35;
  box-shadow:0 0 8px rgba(99,201,255,.55);
}
html.winter-mode .winter-digital-particles span:nth-child(1){left:11%;top:22%}
html.winter-mode .winter-digital-particles span:nth-child(2){left:22%;bottom:13%;width:3px;height:3px}
html.winter-mode .winter-digital-particles span:nth-child(3){right:16%;top:13%;width:5px;height:5px}
html.winter-mode .winter-digital-particles span:nth-child(4){right:8%;bottom:29%}
html.winter-mode .winter-digital-particles span:nth-child(5){left:45%;top:3%;width:3px;height:3px}
html.winter-mode .winter-digital-particles span:nth-child(6){right:39%;bottom:2%;width:3px;height:3px}
html.winter-mode.winter-animations .winter-digital-particles span{animation:winterParticle 7s ease-in-out infinite}
html.winter-mode.winter-animations .winter-digital-particles span:nth-child(2){animation-delay:-1.6s}
html.winter-mode.winter-animations .winter-digital-particles span:nth-child(3){animation-delay:-3.1s}
html.winter-mode.winter-animations .winter-digital-particles span:nth-child(4){animation-delay:-4.4s}
html.winter-mode.winter-animations .winter-digital-particles span:nth-child(5){animation-delay:-2.3s}
html.winter-mode.winter-animations .winter-digital-particles span:nth-child(6){animation-delay:-5.2s}
@keyframes winterParticle{
  0%,100%{opacity:.08;transform:translateY(5px) rotate(45deg) scale(.8)}
  45%{opacity:.58;transform:translateY(-7px) rotate(70deg) scale(1.05)}
  70%{opacity:.22;transform:translateY(-11px) rotate(90deg) scale(.9)}
}

html.winter-mode .button-primary{position:relative;overflow:hidden;isolation:isolate}
html.winter-mode .button-primary::after{
  content:"";
  position:absolute;
  z-index:1;
  top:-70%;
  bottom:-70%;
  left:-34%;
  width:24%;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(210,246,255,.52),transparent);
  opacity:0;
  pointer-events:none;
}
html.winter-mode.winter-animations .button-primary:hover::after{animation:winterButtonSweep .72s ease-out 1}
@keyframes winterButtonSweep{0%{left:-34%;opacity:0}18%{opacity:.72}100%{left:118%;opacity:0}}
html.winter-mode .button-secondary:hover{border-color:rgba(99,201,255,.52);box-shadow:inset 0 0 0 1px rgba(99,201,255,.08),0 0 20px rgba(59,159,255,.08)}
html.winter-mode .service-card,
html.winter-mode .portfolio-item,
html.winter-mode .faq-grid details{position:relative}
html.winter-mode .service-card:hover,
html.winter-mode .portfolio-item:hover,
html.winter-mode .faq-grid details[open]{border-color:rgba(99,201,255,.30);box-shadow:var(--shadow),inset 0 1px 0 rgba(155,229,255,.08)}
html.winter-mode .kicker::before{
  content:"";
  width:6px;
  height:6px;
  flex:0 0 auto;
  border:1px solid rgba(99,201,255,.75);
  transform:rotate(45deg);
  box-shadow:0 0 8px rgba(99,201,255,.34);
}

/* Light winter palette keeps the page clean instead of turning it blue. */
html.winter-mode[data-theme="light"] .winter-aurora{
  opacity:.34;
  background:
    radial-gradient(ellipse at 16% 4%,rgba(76,172,235,.14),transparent 34%),
    radial-gradient(ellipse at 86% 14%,rgba(100,117,235,.09),transparent 38%),
    radial-gradient(ellipse at 55% 92%,rgba(115,197,238,.07),transparent 35%);
  filter:blur(48px) saturate(.92);
}
html.winter-mode[data-theme="light"].winter-intensity-expressive .winter-aurora{opacity:.46}
html.winter-mode[data-theme="light"] .site-header::after{opacity:.48}
html.winter-mode[data-theme="light"] .winter-hero-frame{opacity:.63;filter:drop-shadow(0 0 10px rgba(53,136,213,.17))}
html.winter-mode[data-theme="light"] .winter-circuit-crystal{color:#2f8fe0;opacity:.58;filter:drop-shadow(0 0 6px rgba(53,136,213,.20))}
html.winter-mode[data-theme="light"] .winter-brand-crystal{color:#2f8fe0;filter:drop-shadow(0 0 3px rgba(53,136,213,.25))}
html.winter-mode[data-theme="light"] .button-primary{box-shadow:0 8px 20px rgba(36,91,219,.12),0 4px 12px rgba(223,38,53,.07),inset 0 0 0 1px rgba(201,243,255,.22)}

@media(max-width:760px){
  .work-description-backdrop,
  .site-announcement-backdrop{
    backdrop-filter:blur(4px) saturate(.9)!important;
    -webkit-backdrop-filter:blur(4px) saturate(.9)!important;
  }
  .mobile-theme-switch button{width:100%;min-height:42px;text-align:left;padding:10px 12px}
  .mobile-theme-switch button.selected{text-align:center}
  html.winter-mode .winter-aurora{opacity:.25;filter:blur(34px)}
  html.winter-mode .winter-brand-crystal{width:10px;height:10px;margin-left:-5px}
  html.winter-mode .winter-brand-crystal::before,
  html.winter-mode .winter-brand-crystal::after{width:10px}
  html.winter-mode .winter-brand-crystal{background-size:1px 10px}
  html.winter-mode .winter-hero-frame{width:min(72%,290px);opacity:.58;filter:drop-shadow(0 0 9px rgba(74,182,255,.20))}
  html.winter-mode .winter-circuit-crystal{right:4%;bottom:20%;width:54px;opacity:.52}
  html.winter-mode .winter-digital-particles{display:none!important}
  html.winter-mode .site-header::after{left:12px;right:12px}
  html.winter-mode.winter-animations .button-primary::after{animation:winterButtonMobile 1.1s ease-out 1}
  @keyframes winterButtonMobile{0%{left:-34%;opacity:0}20%{opacity:.48}100%{left:118%;opacity:0}}
}

@media(prefers-reduced-motion:reduce){
  html.winter-mode .winter-hero-frame,
  html.winter-mode .winter-circuit-crystal,
  html.winter-mode .winter-digital-particles span,
  html.winter-mode .site-header::after,
  html.winter-mode .button-primary::after{animation:none!important}
}

/* V6.8.7 admin controls for seasonal winter mode */
.winter-mode-settings-card{width:min(920px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto}
.winter-mode-settings-intro{max-width:760px;color:var(--muted)}
.winter-mode-form{display:grid;gap:18px;margin-top:22px}
.winter-mode-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.winter-mode-form-grid>label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}
.winter-mode-form-grid select,.winter-mode-form-grid input[type="datetime-local"]{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--text);padding:12px;outline:none}
.winter-mode-form-grid select:focus,.winter-mode-form-grid input:focus{border-color:var(--blue)}
.winter-animations-row{display:flex!important;flex-direction:row!important;align-items:center;gap:13px!important;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);cursor:pointer}
.winter-animations-row input{width:20px;height:20px;flex:none;margin:0}
.winter-animations-row span{display:grid;gap:2px;color:var(--text)}
.winter-animations-row small{color:var(--muted);font-weight:500}
.winter-mode-explainer{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid rgba(86,170,255,.24);border-radius:17px;background:linear-gradient(135deg,rgba(50,105,255,.07),rgba(47,204,255,.04));box-shadow:inset 0 1px 0 rgba(176,230,255,.05)}
.winter-mode-explainer>div{min-width:0}.winter-mode-explainer strong{display:block;margin-bottom:4px}.winter-mode-explainer p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.winter-mode-explainer-crystal{position:relative;width:40px;height:40px;flex:0 0 auto;color:#60c9ff;background:linear-gradient(currentColor,currentColor) center/2px 38px no-repeat;filter:drop-shadow(0 0 8px rgba(76,189,255,.45))}
.winter-mode-explainer-crystal::before,.winter-mode-explainer-crystal::after{content:"";position:absolute;left:50%;top:50%;width:38px;height:2px;border-radius:999px;background:currentColor;transform:translate(-50%,-50%) rotate(30deg)}
.winter-mode-explainer-crystal::after{transform:translate(-50%,-50%) rotate(-30deg)}
.winter-mode-save-bar{position:static!important;display:flex;flex-wrap:wrap;gap:10px}
.winter-mode-save-bar .button{min-width:180px}.winter-mode-save-bar>span{min-width:180px;color:var(--muted);font-size:12px}
.winter-preview-card{width:min(1080px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto}
.winter-preview-stage{--preview-bg:#06080f;--preview-surface:rgba(13,16,27,.9);--preview-line:rgba(142,161,214,.2);--preview-text:#f8f9ff;--preview-muted:#929bb1;--preview-accent:#63c9ff;position:relative;min-height:520px;margin-top:18px;padding:20px;border:1px solid var(--preview-line);border-radius:24px;background:var(--preview-bg);color:var(--preview-text);overflow:hidden;isolation:isolate}
.winter-preview-stage[data-theme="light"]{--preview-bg:#f4f7fc;--preview-surface:rgba(255,255,255,.82);--preview-line:rgba(37,54,91,.14);--preview-text:#111827;--preview-muted:#68758d;--preview-accent:#2f8fe0}
.winter-preview-aurora{position:absolute;z-index:-1;inset:-20%;background:radial-gradient(ellipse at 18% 8%,rgba(69,190,255,.22),transparent 34%),radial-gradient(ellipse at 82% 24%,rgba(104,91,255,.17),transparent 38%);filter:blur(34px);opacity:.62}
.winter-preview-stage[data-theme="light"] .winter-preview-aurora{opacity:.35;background:radial-gradient(ellipse at 18% 8%,rgba(74,171,231,.18),transparent 34%),radial-gradient(ellipse at 82% 24%,rgba(94,110,223,.1),transparent 38%)}
.winter-preview-stage[data-intensity="minimal"] .winter-preview-aurora{display:none}.winter-preview-stage[data-intensity="expressive"] .winter-preview-aurora{opacity:.82}
.winter-preview-header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border:1px solid var(--preview-line);border-radius:17px;background:var(--preview-surface);backdrop-filter:blur(12px)}
.winter-preview-header::after{content:"";position:absolute;left:40px;right:40px;top:87px;height:1px;background:linear-gradient(90deg,transparent,var(--preview-accent),transparent);opacity:.52}
.winter-preview-logo{display:flex;align-items:center;gap:10px}.winter-preview-logo>span{width:38px;height:38px;border-radius:50%;background:url('/static/assets/climatrix-logo.png') center/contain no-repeat}.winter-preview-logo strong{font-family:var(--display);letter-spacing:.08em}.winter-preview-logo i{position:relative;width:10px;height:10px;color:var(--preview-accent);background:linear-gradient(currentColor,currentColor) center/1px 10px no-repeat;filter:drop-shadow(0 0 5px currentColor)}
.winter-preview-logo i::before,.winter-preview-logo i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1px;background:currentColor;transform:translate(-50%,-50%) rotate(60deg)}.winter-preview-logo i::after{transform:translate(-50%,-50%) rotate(-60deg)}
.winter-preview-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--preview-line);border-radius:999px;background:rgba(120,140,180,.07)}.winter-preview-switch b,.winter-preview-switch span{padding:6px 9px;border-radius:999px;font-size:10px}.winter-preview-switch b{background:var(--preview-text);color:var(--preview-bg)}.winter-preview-switch span{color:var(--preview-muted)}
.winter-preview-hero{min-height:400px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:28px;padding:38px 28px 18px}.winter-preview-copy small{color:var(--preview-accent);font-size:10px;font-weight:900;letter-spacing:.16em}.winter-preview-copy>strong{display:block;margin:15px 0;font-family:var(--display);font-size:clamp(38px,5vw,64px);font-weight:500;line-height:.98}.winter-preview-copy p{max-width:520px;color:var(--preview-muted);font-size:13px}.winter-preview-copy button{min-height:44px;padding:0 18px;border:0;border-radius:12px;background:linear-gradient(110deg,#ff284d,#3d6cff);color:#fff;font-weight:900;box-shadow:0 10px 28px rgba(50,104,255,.19)}
.winter-preview-symbol{position:relative;display:grid;place-items:center;min-height:290px}.winter-preview-symbol img{position:relative;z-index:2;width:min(78%,270px);filter:drop-shadow(0 0 22px rgba(64,159,255,.24))}.winter-preview-symbol>span{position:absolute;z-index:1;width:min(82%,286px);aspect-ratio:1;padding:1.5px;clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%);background:conic-gradient(from 24deg,transparent 0 9%,var(--preview-accent) 18%,#7774ff 29%,transparent 41% 59%,var(--preview-accent) 72%,transparent 86% 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 15px rgba(74,182,255,.35))}
.winter-preview-stage[data-animations="true"] .winter-preview-symbol>span{animation:winterPreviewFrame 6s ease-in-out infinite}.winter-preview-stage[data-animations="true"] .winter-preview-logo i{animation:winterPreviewCrystal 4s ease-in-out infinite}
@keyframes winterPreviewFrame{0%,100%{transform:scale(.98);opacity:.55}50%{transform:scale(1.015);opacity:.95}}@keyframes winterPreviewCrystal{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:760px){.winter-mode-settings-card,.winter-preview-card{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:22px 16px}.winter-mode-form-grid{grid-template-columns:1fr}.winter-mode-save-bar{display:grid;grid-template-columns:1fr}.winter-mode-save-bar .button{width:100%;min-width:0}.winter-mode-save-bar>span{min-width:0}.winter-preview-stage{min-height:500px;padding:12px;border-radius:18px}.winter-preview-header{height:58px;padding:0 11px}.winter-preview-logo>span{width:32px;height:32px}.winter-preview-logo strong{font-size:13px}.winter-preview-switch{display:none}.winter-preview-hero{grid-template-columns:1fr;padding:28px 14px 14px;text-align:center}.winter-preview-copy p{margin-inline:auto}.winter-preview-symbol{min-height:190px;grid-row:1}.winter-preview-symbol img{width:150px}.winter-preview-symbol>span{width:170px}.winter-preview-copy>strong{font-size:38px}.winter-preview-aurora{opacity:.3}.winter-mode-explainer{align-items:flex-start}.winter-mode-explainer-crystal{width:30px;height:30px;background-size:2px 28px}.winter-mode-explainer-crystal::before,.winter-mode-explainer-crystal::after{width:28px}}
@media(max-width:760px){
  .main-nav .mobile-theme-switch button{width:auto;min-height:auto;padding:7px 11px;text-align:center}
}

/* V6.8.8 — geography, reviews and refined seasonal UI */
.hero-location-line{display:inline-flex;align-items:center;gap:9px;color:var(--accent-text);font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.hero-location-line svg,.footer-location svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--blue) 42%,transparent))}
.hero-location-copy{color:var(--text);font-weight:700}
.footer-location{display:flex;align-items:center;gap:8px;margin-top:15px;color:var(--accent-text)}
.footer-location span{color:inherit!important;font-size:11px!important;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.main-nav{gap:20px}

/* Unified modal background: enough context without turning the page into large blobs. */
.work-description-backdrop,.site-announcement-backdrop,.review-modal-backdrop{background:rgba(2,3,8,.76)!important;backdrop-filter:blur(7px) saturate(.88)!important;-webkit-backdrop-filter:blur(7px) saturate(.88)!important}

/* Reviews public page */
.reviews-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding-top:120px;padding-bottom:64px;border-bottom:1px solid var(--line)}
.reviews-hero-copy{max-width:820px}.reviews-hero h1{margin:16px 0 18px;font-family:var(--display);font-size:clamp(56px,7vw,96px);font-weight:500;line-height:.98;text-transform:uppercase}.reviews-hero p{max-width:700px;margin:0;color:var(--muted);font-size:18px}
.reviews-section{padding-top:58px;padding-bottom:110px}.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.review-card{position:relative;min-height:310px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.review-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--shadow)}
.review-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--red),var(--blue),transparent);opacity:.28}
.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.review-card-head>div{display:flex;flex-direction:column}.review-card-head strong{font-size:17px}.review-card-head span{margin-top:3px;color:var(--muted);font-size:12px}
.review-quote-mark{font-family:Georgia,serif;font-size:58px;line-height:.7;color:var(--number);user-select:none}
.review-stars{display:flex;gap:3px;margin:16px 0 13px}.review-stars span{color:var(--line-strong);font-size:16px}.review-stars span.is-filled{color:#ffc64a;text-shadow:0 0 10px rgba(255,198,74,.22)}
.review-card-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden;color:var(--text);font-size:14px;line-height:1.75;white-space:pre-line;overflow-wrap:anywhere}
.review-read-more{align-self:flex-start;margin-top:auto;padding:18px 0 0;border:0;background:transparent;color:var(--accent-text);font-size:12px;font-weight:900;cursor:pointer}.review-read-more:hover{text-decoration:underline}
.reviews-pagination{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:38px}.reviews-pagination a,.reviews-pagination span{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:13px;font-weight:900}.reviews-pagination a:hover{border-color:var(--line-strong)}.reviews-pagination a.active{border-color:transparent;background:var(--primary-gradient);color:#fff;box-shadow:var(--primary-shadow)}.reviews-pagination .is-disabled{opacity:.36}
.reviews-empty-state{padding:64px 28px;border:1px solid var(--line);border-radius:24px;background:var(--surface);text-align:center}.reviews-empty-state .review-quote-mark{display:block;margin-bottom:22px}.reviews-empty-state h2{font-family:var(--display);font-size:42px;font-weight:500;text-transform:uppercase}.reviews-empty-state p{color:var(--muted)}.reviews-submissions-paused{margin-top:28px;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft);color:var(--muted);text-align:center;font-size:13px}
.review-modal-open{overflow:hidden}.review-form-modal,.review-text-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.review-form-modal.is-open,.review-text-modal.is-open{opacity:1;visibility:visible}.review-modal-backdrop{position:absolute;inset:0}
.review-form-window,.review-text-window{position:relative;z-index:1;width:min(760px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:36px;border:1px solid var(--line-strong);border-radius:25px;background:var(--surface);box-shadow:0 30px 100px rgba(0,0,0,.5);transform:translateY(10px) scale(.98);transition:transform .2s ease}.review-form-modal.is-open .review-form-window,.review-text-modal.is-open .review-text-window{transform:none}
.review-form-window h2,.review-text-window h2{margin:12px 0 12px;font-family:var(--display);font-size:clamp(40px,6vw,62px);font-weight:500;line-height:1;text-transform:uppercase}.review-form-intro{max-width:620px;color:var(--muted);font-size:13px}.review-modal-close{position:sticky;z-index:3;top:0;float:right;width:42px;height:42px;margin:-10px -10px 8px 18px;border:1px solid var(--line);border-radius:50%;background:var(--surface-soft);color:var(--text);font-size:27px;cursor:pointer}.review-modal-close:hover{border-color:var(--blue);color:var(--accent-text)}
#reviewForm{display:grid;gap:17px;margin-top:22px}.review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.review-form-grid label,.review-text-label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.review-required,.review-rating-fieldset legend>span{color:var(--red)}.review-form-grid label>small{font-weight:500}.review-form-grid input,#reviewForm textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--text);padding:13px;outline:none}.review-form-grid input{min-height:48px}#reviewForm textarea{resize:vertical;min-height:160px}.review-form-grid input:focus,#reviewForm textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(57,101,255,.08)}
.review-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.review-rating-fieldset{margin:0;padding:0;border:0}.review-rating-fieldset legend{margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:800}.review-rating-input{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}.review-rating-input input{position:absolute;opacity:0;pointer-events:none}.review-rating-input label{color:var(--line-strong);font-size:30px;line-height:1;cursor:pointer;transition:color .15s ease,transform .15s ease}.review-rating-input label:hover,.review-rating-input label:hover~label,.review-rating-input input:checked~label{color:#ffc64a;text-shadow:0 0 12px rgba(255,198,74,.23)}.review-rating-input label:hover{transform:translateY(-2px)}
.review-text-meta{display:flex;justify-content:space-between;gap:16px;margin-top:-8px;color:var(--muted);font-size:11px}.review-text-meta strong{white-space:nowrap}.review-text-meta strong.is-recommended{color:var(--accent-text)}.review-consent-row{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);color:var(--muted);font-size:12px;cursor:pointer}.review-consent-row input{width:19px;height:19px;flex:none;margin:1px 0 0}.review-form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.review-form-actions>span{color:var(--muted);font-size:12px}.review-success-state{padding:38px 8px 10px;text-align:center}.review-success-icon{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 20px;border:1px solid rgba(62,225,156,.4);border-radius:50%;background:rgba(62,225,156,.08);color:#51e2a0;font-size:27px;box-shadow:0 0 24px rgba(62,225,156,.12)}.review-success-state h3{font-family:var(--display);font-size:42px;font-weight:500;text-transform:uppercase}.review-success-state p{max-width:520px;margin:0 auto 24px;color:var(--muted)}
.review-text-window{width:min(720px,100%)}.review-text-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.review-text-heading h2{font-size:clamp(38px,6vw,56px)}.review-text-heading>span{padding-bottom:14px;color:var(--muted);font-size:12px;white-space:nowrap}.review-text-full{color:var(--text);font-size:15px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}

/* Admin reviews */
.admin-reviews-shell{padding:0;overflow:hidden}.admin-reviews-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--line)}.admin-reviews-tabs button{min-height:58px;border:0;border-right:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-weight:900;cursor:pointer}.admin-reviews-tabs button:last-child{border-right:0}.admin-reviews-tabs button.active{background:var(--surface);color:var(--text);box-shadow:inset 0 -2px 0 var(--blue)}.admin-reviews-tabs button span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:7px;padding:0 7px;border:1px solid var(--line);border-radius:999px;font-size:10px}
.admin-reviews-panel{padding:24px}.admin-reviews-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.admin-reviews-panel-heading h2{margin:0 0 4px}.admin-reviews-panel-heading p{margin:0;color:var(--muted);font-size:13px}.admin-reviews-list{display:grid;gap:14px}.admin-review-card{position:relative;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.admin-review-card.is-hidden-review{opacity:.72}.admin-review-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.admin-review-card-top>div{display:flex;flex-direction:column}.admin-review-card-top strong{font-size:17px}.admin-review-card-top span{color:var(--muted);font-size:11px}.visibility-status-badge.is-pending{border-color:rgba(255,199,75,.34);background:rgba(255,199,75,.08);color:#ffd267}.admin-review-delete-cross{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,66,92,.35);border-radius:50%;background:rgba(255,66,92,.06);color:#ff667e;font-size:22px;cursor:pointer}.admin-review-card-top>.admin-review-delete-cross{margin-left:auto}.admin-review-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.admin-review-contact-grid span{display:grid;gap:3px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg)}.admin-review-contact-grid small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.admin-review-contact-grid a{font-size:13px;font-weight:800;overflow-wrap:anywhere}.admin-review-stars{display:flex;gap:2px}.admin-review-stars i{color:var(--line-strong);font-style:normal}.admin-review-stars i.is-filled{color:#ffc64a}.admin-review-no-rating{color:var(--muted);font-size:11px}.admin-review-text{margin-top:13px;color:var(--text);font-size:13px;line-height:1.7;overflow-wrap:anywhere}.admin-review-actions{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}.review-settings-form{padding:4px}.review-settings-group{display:grid;gap:10px}.review-setting-toggle{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px!important;padding:13px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:var(--surface-soft)!important;cursor:pointer}.review-setting-toggle input{width:20px!important;height:20px!important;min-height:0!important;flex:none;margin:1px 0 0!important}.review-setting-toggle span{display:grid;gap:2px}.review-setting-toggle strong{color:var(--text)}.review-setting-toggle small{color:var(--muted);font-weight:500}.review-length-preview{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid rgba(69,130,255,.24);border-radius:13px;background:rgba(69,130,255,.05)}.review-length-preview span{color:var(--accent-text);font-size:12px}

/* Location fields in site settings */
.admin-site-settings textarea[name="work_location_hero_text"]{min-height:92px;resize:vertical}

/* Winter refinement: no decorative lines on top of the temperature text. */
.winter-circuit-crystal{display:none!important}.winter-hero-crystal{display:none}
html.winter-mode .hero-orbit::before,html.winter-mode .hero-orbit::after{display:none}
html.winter-mode .winter-hero-frame{width:min(79%,455px);background:conic-gradient(from -32deg,transparent 0 49%,rgba(86,195,255,.88) 55%,rgba(126,120,255,.54) 62%,transparent 70% 100%);opacity:.7}
html.winter-mode .winter-hero-crystal{display:block;position:absolute;z-index:5;right:4.5%;bottom:31%;width:18px;height:18px;color:var(--winter-ice);background:linear-gradient(currentColor,currentColor) center/1px 18px no-repeat;filter:drop-shadow(0 0 7px rgba(99,201,255,.6));pointer-events:none}
html.winter-mode .winter-hero-crystal::before,html.winter-mode .winter-hero-crystal::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:1px;background:currentColor;transform:translate(-50%,-50%) rotate(60deg)}html.winter-mode .winter-hero-crystal::after{transform:translate(-50%,-50%) rotate(-60deg)}
html.winter-mode .temperature-card.cold{border-color:rgba(99,201,255,.42);box-shadow:var(--shadow),inset 0 0 0 1px rgba(99,201,255,.05),0 0 22px rgba(55,150,255,.09)}
html.winter-mode.winter-animations .winter-hero-crystal{animation:winterHeroCrystalPulse 9s ease-in-out infinite}@keyframes winterHeroCrystalPulse{0%,100%{opacity:.42;transform:scale(.94)}50%{opacity:.92;transform:scale(1.06)}}
html.winter-mode.winter-intensity-expressive .winter-aurora{opacity:.72}
html.winter-mode.winter-intensity-expressive .temperature-card.cold{box-shadow:var(--shadow),0 0 30px rgba(55,150,255,.15)}

@media(max-width:900px){.reviews-hero{align-items:flex-start}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:280px}}
@media(max-width:760px){
  .work-description-backdrop,.site-announcement-backdrop,.review-modal-backdrop{backdrop-filter:blur(4px) saturate(.9)!important;-webkit-backdrop-filter:blur(4px) saturate(.9)!important}
  .hero-location-line{font-size:10px;letter-spacing:.1em}.hero-location-copy{display:block;margin-bottom:5px}.footer-location{margin-top:12px}.footer-location span{font-size:10px!important}
  .reviews-hero{display:grid;gap:24px;padding-top:86px;padding-bottom:42px}.reviews-hero h1{font-size:clamp(48px,16vw,72px)}.reviews-hero p{font-size:15px}.reviews-hero>.button{width:100%}.reviews-section{padding-top:34px;padding-bottom:80px}.review-card{min-height:0;padding:22px}.review-card-text{-webkit-line-clamp:8}.reviews-pagination{flex-wrap:wrap}.reviews-pagination a,.reviews-pagination span{width:39px;height:39px}
  .review-form-modal,.review-text-modal{padding:8px}.review-form-window,.review-text-window{width:100%;max-height:calc(100dvh - 16px);padding:24px 17px;border-radius:20px}.review-form-grid{grid-template-columns:1fr}.review-text-meta{display:grid;gap:5px}.review-form-actions{display:grid}.review-form-actions .button{width:100%}.review-text-heading{display:block}.review-text-heading>span{display:block;padding:0 0 12px}.review-text-full{font-size:14px;line-height:1.72}
  .admin-reviews-tabs{display:flex;overflow-x:auto}.admin-reviews-tabs button{min-width:180px;flex:1}.admin-reviews-panel{padding:16px}.admin-reviews-panel-heading{align-items:flex-start;display:grid}.admin-reviews-panel-heading .button{width:100%}.admin-review-card{padding:17px}.admin-review-card-top{align-items:flex-start}.admin-review-contact-grid{grid-template-columns:1fr}.admin-review-actions{display:grid}.admin-review-actions .button{width:100%}.review-length-preview{display:grid}.review-setting-toggle{width:100%}
  html.winter-mode .winter-hero-frame{width:min(74%,300px);opacity:.57}html.winter-mode .winter-hero-crystal{right:5%;bottom:31%;width:14px;height:14px;background-size:1px 14px}html.winter-mode .winter-hero-crystal::before,html.winter-mode .winter-hero-crystal::after{width:14px}.winter-digital-particles{display:none!important}
}
.winter-preview-symbol>span{background:conic-gradient(from -32deg,transparent 0 49%,var(--preview-accent) 55%,#7774ff 63%,transparent 71% 100%)}
.winter-preview-hero-crystal{position:absolute;z-index:4;right:11%;bottom:32%;width:17px;height:17px;color:var(--preview-accent);background:linear-gradient(currentColor,currentColor) center/1px 17px no-repeat;filter:drop-shadow(0 0 6px currentColor)}
.winter-preview-hero-crystal::before,.winter-preview-hero-crystal::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:1px;background:currentColor;transform:translate(-50%,-50%) rotate(60deg)}.winter-preview-hero-crystal::after{transform:translate(-50%,-50%) rotate(-60deg)}
.winter-preview-stage[data-animations="true"] .winter-preview-hero-crystal{animation:winterPreviewCrystal 4s ease-in-out infinite}

/* CLIMATRIX V6.9.0 — review period filter, compact pagination, unified scrollbars and safe winter accents */
html{scrollbar-width:thin;scrollbar-color:rgba(104,132,190,.72) rgba(20,24,34,.22)}
*{scrollbar-width:thin;scrollbar-color:rgba(104,132,190,.72) rgba(20,24,34,.22)}
*::-webkit-scrollbar{width:6px;height:6px}
*::-webkit-scrollbar-track{background:rgba(20,24,34,.22);border-radius:999px}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(113,136,184,.92),rgba(61,95,164,.92));border-radius:999px}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#83b9ff,#497dff)}
[data-theme="light"] *{scrollbar-color:rgba(66,89,130,.7) rgba(122,139,168,.16)}
[data-theme="light"] *::-webkit-scrollbar-track{background:rgba(122,139,168,.16)}
[data-theme="light"] *::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(90,111,151,.82),rgba(55,86,145,.86))}
.site-announcement-backdrop,.review-modal-backdrop,.work-description-backdrop{backdrop-filter:blur(7px) saturate(.9)!important;-webkit-backdrop-filter:blur(7px) saturate(.9)!important}
.site-announcement-card,.review-form-window,.review-text-window,.work-description-dialog,.announcement-settings-card{scrollbar-gutter:stable}
.review-author-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.review-author-line>strong{margin:0}
.review-demo-badge,.admin-review-demo-badge{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 7px;border:1px solid rgba(69,130,255,.34);border-radius:999px;background:rgba(69,130,255,.08);color:var(--accent-text);font-size:9px!important;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.review-privacy-note{margin:-2px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.review-privacy-note a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}
.reviews-pagination-mobile{display:none}
.reviews-pagination .pagination-ellipsis{border-color:transparent;background:transparent;cursor:default}
.review-page-summary{min-width:108px;height:42px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);font-weight:900;cursor:pointer}
.admin-review-period{padding:20px 24px;border-bottom:1px solid var(--line);background:var(--surface-soft)}
.admin-review-period[hidden]{display:none}
.admin-review-period-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.admin-review-period-heading>div{display:grid;gap:2px}
.admin-review-period-heading strong{font-size:15px}
.admin-review-period-heading span{color:var(--muted);font-size:11px}
.admin-review-period-heading>span{padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);white-space:nowrap}
.admin-review-period-fields{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto auto;gap:10px;align-items:end}
.admin-review-period-fields label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800}
.admin-review-period-fields input{min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--input-bg);color:var(--text);padding:0 12px;outline:none}
.admin-review-period-fields input:focus{border-color:var(--blue)}
.admin-review-quick-periods{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.admin-review-quick-periods button{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:900;cursor:pointer}
.admin-review-quick-periods button:hover{border-color:var(--blue);color:var(--text)}
.admin-review-author-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Winter mode keeps the hero logo and its native animation untouched. */
html.winter-mode .winter-hero-frame,
html.winter-mode .winter-digital-particles{display:none!important}
html.winter-mode .hero-orbit::before,
html.winter-mode .hero-orbit::after{display:block}
html.winter-mode .hero-visual .hero-logo{filter:drop-shadow(0 0 34px var(--image-glow)) drop-shadow(0 0 20px rgba(75,177,255,.18))}
html.winter-mode .temperature-card.cold{border-color:var(--line);box-shadow:var(--shadow)}
html.winter-mode .winter-hero-crystal{display:block;position:absolute;z-index:6;left:50%;right:auto;top:8%;bottom:auto;width:30px;height:30px;color:#8bdcff;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 0 8px rgba(99,201,255,.55))}
html.winter-mode .winter-hero-crystal::before,
html.winter-mode .winter-hero-crystal::after{content:"";position:absolute;inset:0;background:linear-gradient(currentColor,currentColor) center/1px 30px no-repeat,linear-gradient(90deg,currentColor,currentColor) center/30px 1px no-repeat;clip-path:polygon(50% 0,56% 36%,84% 16%,64% 44%,100% 50%,64% 56%,84% 84%,56% 64%,50% 100%,44% 64%,16% 84%,36% 56%,0 50%,36% 44%,16% 16%,44% 36%)}
html.winter-mode .winter-hero-crystal::after{transform:rotate(45deg);opacity:.58}
html.winter-mode.winter-animations .winter-hero-crystal{animation:winterSnowCrystalGlow 8s ease-in-out infinite}
@keyframes winterSnowCrystalGlow{0%,100%{opacity:.46;filter:drop-shadow(0 0 5px rgba(99,201,255,.38))}50%{opacity:.95;filter:drop-shadow(0 0 12px rgba(99,201,255,.72))}}
html.winter-mode.winter-intensity-minimal .winter-hero-crystal{opacity:.55}
html.winter-mode.winter-intensity-expressive .hero-visual .hero-logo{filter:drop-shadow(0 0 36px var(--image-glow)) drop-shadow(0 0 28px rgba(75,177,255,.24))}

@media(max-width:760px){
  .site-announcement-backdrop,.review-modal-backdrop,.work-description-backdrop{backdrop-filter:blur(4px) saturate(.9)!important;-webkit-backdrop-filter:blur(4px) saturate(.9)!important}
  .reviews-pagination-desktop{display:none}
  .reviews-pagination-mobile{display:flex;flex-wrap:nowrap}
  .reviews-pagination-mobile a,.reviews-pagination-mobile span{width:42px!important;height:42px!important}
  .admin-review-period{padding:16px}
  .admin-review-period-heading{display:grid;align-items:start}
  .admin-review-period-heading>span{justify-self:start}
  .admin-review-period-fields{grid-template-columns:1fr 1fr}
  .admin-review-period-fields .button{width:100%}
  .admin-review-quick-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-review-quick-periods button:last-child{grid-column:1/-1}
  html.winter-mode .winter-hero-crystal{top:6%;width:20px;height:20px}
  html.winter-mode .winter-hero-crystal::before,html.winter-mode .winter-hero-crystal::after{background:linear-gradient(currentColor,currentColor) center/1px 20px no-repeat,linear-gradient(90deg,currentColor,currentColor) center/20px 1px no-repeat}
}
@media(max-width:430px){
  .admin-review-period-fields{grid-template-columns:1fr}
}
@media(pointer:coarse){
  *::-webkit-scrollbar{width:0;height:0}
  *{scrollbar-width:none}
}



/* V6.9.0 update-only review test mode notice */
.review-test-mode-warning{
  display:flex;gap:14px;align-items:flex-start;justify-content:space-between;
  margin-bottom:18px;padding:14px 16px;border:1px solid rgba(255,190,70,.34);
  border-radius:16px;background:rgba(255,171,42,.07);color:var(--text);
}
.review-test-mode-warning[hidden]{display:none!important}
.review-test-mode-warning strong{color:#ffc55c;white-space:nowrap}
.review-test-mode-warning span{color:var(--muted);line-height:1.45}
@media(max-width:640px){.review-test-mode-warning{flex-direction:column;gap:6px}.review-test-mode-warning strong{white-space:normal}}

/* ========================================================================
   V6.9.0 final integration: service editor, clean active fills, winter mark,
   mobile overlays, gallery controls and branded HTML5 video player.
   ======================================================================== */

/* One consistent, unobtrusive scrollbar on public pages and in management UI. */
html{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(124,143,174,.72) rgba(17,20,31,.34)}
*{scrollbar-width:thin;scrollbar-color:rgba(124,143,174,.72) rgba(17,20,31,.34)}
*::-webkit-scrollbar{width:7px;height:7px}
*::-webkit-scrollbar-track{background:rgba(17,20,31,.34);border-radius:999px}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(147,158,183,.84),rgba(79,118,205,.78));border:1px solid rgba(9,12,20,.38);border-radius:999px}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(179,195,226,.92),rgba(73,145,244,.9))}
[data-theme="light"]{scrollbar-color:rgba(91,106,137,.62) rgba(218,225,238,.7)}
[data-theme="light"] *::-webkit-scrollbar-track{background:rgba(218,225,238,.7)}
[data-theme="light"] *::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(117,131,160,.7),rgba(65,115,204,.72));border-color:rgba(255,255,255,.54)}

/* Never let an active gradient be clipped to a small pseudo element. */
.admin-section-nav-v68 a.active,
.reviews-pagination a.active,
.portfolio-filters button.active{
  background-color:#4267f2!important;
  background-image:linear-gradient(110deg,#ff2748 0%,#d82c9c 48%,#3d73ff 100%)!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-clip:padding-box!important;
  color:#fff!important;
  border-color:transparent!important;
  isolation:isolate;
  overflow:hidden;
}
.admin-section-nav-v68 a.active span{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)!important;
}
.reviews-pagination a.active::before,
.admin-section-nav-v68 a.active::before{display:none!important}

/* Admin services: clear level-one switch and a dense but readable editor. */
.admin-services-heading{padding-bottom:28px}
.admin-services-mode-switch{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 auto 24px;
  width:min(calc(100% - 40px),1280px);
}
.admin-services-mode-switch button{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:14px;
  align-items:center;
  min-height:88px;
  padding:17px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.admin-services-mode-switch button:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow)}
.admin-services-mode-switch button>span{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid var(--line-strong);
  border-radius:13px;
  background:var(--surface-soft);
  color:var(--muted);
  font-weight:900;
}
.admin-services-mode-switch button strong{font-size:16px;line-height:1.25}
.admin-services-mode-switch button small{color:var(--muted);font-size:11px;line-height:1.35}
.admin-services-mode-switch button.active{
  border-color:rgba(111,126,255,.52);
  background:linear-gradient(110deg,rgba(255,39,72,.15),rgba(216,44,156,.13) 48%,rgba(61,115,255,.17)),var(--surface);
  box-shadow:0 14px 38px rgba(25,34,88,.16),inset 0 0 0 1px rgba(123,145,255,.08);
}
.admin-services-mode-switch button.active>span{border-color:transparent;background:var(--primary-gradient);color:#fff;box-shadow:var(--primary-shadow)}
.main-services-page-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.main-services-admin-list{display:grid;gap:14px}
.main-service-admin-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
  overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.main-service-admin-card.is-dragging{opacity:.66;border-color:var(--blue);box-shadow:0 22px 54px rgba(0,0,0,.28)}
.main-service-admin-card-head{
  display:grid;
  grid-template-columns:40px 44px minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
  min-height:76px;
  padding:14px 16px;
}
.main-service-drag-handle{
  width:40px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:24px;cursor:grab
}
.main-service-order{font-family:var(--display);font-size:28px;color:var(--number);line-height:1}
.main-service-card-title{min-width:0;display:flex;flex-direction:column}
.main-service-card-title small{color:var(--accent-text);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.main-service-card-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
.main-service-order-actions{display:flex;gap:7px}
.main-service-order-actions button{width:39px;height:39px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);color:var(--text);cursor:pointer}
.main-service-order-actions button:disabled{opacity:.28;cursor:default}
.main-service-admin-card details{border-top:1px solid var(--line)}
.main-service-admin-card summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 18px;color:var(--text);font-size:13px;font-weight:800;cursor:pointer
}
.main-service-admin-card summary::-webkit-details-marker{display:none}
.main-service-admin-card summary::after{content:"+";display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:20px}
.main-service-admin-card details[open] summary::after{content:"−";color:var(--accent-text)}
.main-service-price-preview{margin-left:auto;display:flex;align-items:baseline;gap:8px;color:var(--muted);font-weight:600}
.main-service-price-preview strong{color:var(--text);font-size:15px}
.main-service-price-preview del{font-size:10px}
.main-service-admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:4px 18px 20px}
.main-service-admin-fields label{min-width:0}
.main-service-admin-fields input,.main-service-admin-fields textarea,.main-service-admin-fields select{width:100%;min-width:0}
.main-service-discount-toggle{align-self:end}
.main-services-save-bar{position:sticky;bottom:10px;z-index:12;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px)}

/* Footer columns use the same baseline and line rhythm. */
.site-footer{
  grid-template-columns:minmax(280px,1.25fr) minmax(330px,1fr) minmax(210px,.62fr)!important;
  align-items:start;
  column-gap:64px!important;
}
.footer-menu-groups{display:grid!important;grid-template-columns:repeat(2,minmax(125px,1fr))!important;gap:48px!important;align-items:start}
.footer-menu-group{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.footer-menu-group h3{min-height:20px;margin:0 0 5px;color:var(--accent-text);font-size:10px;line-height:1.2;letter-spacing:.15em;text-transform:uppercase}
.footer-menu-group a{display:block;min-height:22px;font-size:13px;line-height:22px}
.footer-contact{padding-top:39px;gap:3px}
.footer-contact a{line-height:1.25}
.footer-location{margin-top:16px}

/* Mobile navigation is an actual opaque layer, not transparent text over page content. */
body.mobile-menu-open{overflow:hidden;touch-action:none}
body.mobile-menu-open::before{
  content:"";position:fixed;z-index:48;inset:0;background:rgba(2,4,10,.82);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)
}
[data-theme="light"] body.mobile-menu-open::before{background:rgba(226,232,243,.84)}
@media(max-width:760px){
  .site-header{z-index:50}
  .main-nav.open{
    display:flex;
    z-index:51;
    max-height:calc(100dvh - 98px);
    overflow-y:auto;
    overscroll-behavior:contain;
    background:rgba(7,9,16,.985)!important;
    border-color:rgba(126,144,184,.32);
    box-shadow:0 28px 70px rgba(0,0,0,.58);
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  [data-theme="light"] .main-nav.open{background:rgba(247,249,253,.985)!important;box-shadow:0 28px 70px rgba(39,54,89,.22)}
}

/* Long mobile service names cannot merge with the price. */
.additional-service-title{min-width:0;padding-right:2px}
.additional-service-price{flex:none;min-width:max-content;margin-left:4px;white-space:nowrap}
@media(max-width:430px){
  .additional-service-item>summary{
    grid-template-columns:20px minmax(0,1fr) 34px!important;
    grid-template-rows:auto auto auto!important;
  }
  .markers-disabled .additional-service-item>summary{grid-template-columns:minmax(0,1fr) 34px!important}
  .additional-service-marker{grid-column:1!important;grid-row:1 / span 3!important}
  .additional-service-title{grid-column:2!important;grid-row:1!important}
  .additional-service-summary{grid-column:2!important;grid-row:2!important}
  .additional-service-price{grid-column:2!important;grid-row:3!important;justify-self:start!important;align-self:start!important;margin:4px 0 0!important}
  .additional-service-arrow{grid-column:3!important;grid-row:1 / span 3!important}
  .markers-disabled .additional-service-title,.markers-disabled .additional-service-summary,.markers-disabled .additional-service-price{grid-column:1!important}
  .markers-disabled .additional-service-arrow{grid-column:2!important}
}

/* The default logo/orbit animation remains untouched in winter mode. */
html.winter-mode .winter-hero-frame,
html.winter-mode .winter-circuit-crystal,
html.winter-mode .winter-digital-particles,
html.winter-mode .winter-brand-crystal{display:none!important}
.winter-hero-snowflake{display:none}
html.winter-mode .winter-hero-snowflake{
  display:block;
  position:absolute;
  z-index:4;
  top:4%;
  right:11%;
  width:46px;
  height:46px;
  overflow:visible;
  pointer-events:none;
  color:#d9f6ff;
  opacity:1;
  filter:drop-shadow(0 0 5px rgba(173,232,255,.9)) drop-shadow(0 0 14px rgba(70,161,255,.66));
}
html.winter-mode .winter-hero-snowflake .winter-snowflake-lines{stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;fill:none}
html.winter-mode .winter-hero-snowflake polygon{fill:rgba(128,210,255,.2)}
html.winter-mode .winter-hero-snowflake circle,
html.winter-mode .winter-hero-snowflake rect{fill:#e8fbff;stroke:#73cfff;stroke-width:1.1}
html.winter-mode.winter-animations .winter-hero-snowflake{animation:winterSnowflakeBreathe 5.6s ease-in-out infinite}
html.winter-mode.winter-intensity-minimal .winter-hero-snowflake{width:42px;height:42px;opacity:.74;filter:drop-shadow(0 0 6px rgba(79,174,255,.42))}
html.winter-mode.winter-intensity-expressive .winter-hero-snowflake{width:48px;height:48px;filter:drop-shadow(0 0 6px rgba(206,246,255,.98)) drop-shadow(0 0 18px rgba(69,157,255,.8))}
html.winter-mode .hero-visual .hero-logo{filter:drop-shadow(0 0 30px var(--image-glow)) drop-shadow(0 0 10px rgba(71,150,255,.14))}
@keyframes winterSnowflakeBreathe{
  0%,100%{opacity:1;filter:drop-shadow(0 0 6px rgba(206,246,255,.96)) drop-shadow(0 0 17px rgba(65,157,255,.76))}
  50%{opacity:.65;filter:drop-shadow(0 0 3px rgba(187,238,255,.52)) drop-shadow(0 0 9px rgba(65,157,255,.36))}
}
[data-theme="light"].winter-mode .winter-hero-snowflake{color:#278cd8;filter:drop-shadow(0 0 4px rgba(35,134,211,.34))}
@media(max-width:760px){
  html.winter-mode .winter-hero-snowflake,
  html.winter-mode.winter-intensity-minimal .winter-hero-snowflake,
  html.winter-mode.winter-intensity-expressive .winter-hero-snowflake{top:7%;right:12%;width:27px;height:27px;filter:drop-shadow(0 0 5px rgba(119,211,255,.58))}
}
@media(prefers-reduced-motion:reduce){html.winter-mode .winter-hero-snowflake{animation:none!important;opacity:.78!important}}

/* Lightbox arrows remain vertically centered over the actual media on every viewport. */
.work-lightbox-arrow{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
.work-lightbox-arrow:hover{transform:translateY(-50%) scale(1.04)!important}
.work-lightbox-stage.showing-video{padding-left:82px;padding-right:82px}

/* Climatrix custom video player. Native video remains the reliable media engine. */
.climatrix-video-player{
  position:relative;
  display:block!important;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  overflow:hidden!important;
  border:1px solid rgba(131,150,204,.32);
  border-radius:15px;
  background:#02040a;
  box-shadow:0 26px 82px rgba(0,0,0,.58),0 0 46px rgba(59,105,255,.09);
  outline:none;
  animation:lightboxMediaIn .28s ease both;
}
.climatrix-video-player:focus-visible{box-shadow:0 0 0 3px rgba(91,124,255,.42),0 26px 82px rgba(0,0,0,.58)}
.climatrix-video{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border-radius:0!important;object-fit:contain;box-shadow:none!important;animation:none!important;background:#02040a}
.climatrix-video-center-play{
  position:absolute;z-index:4;left:50%;top:50%;display:grid;place-items:center;width:82px;height:82px;padding:0;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:linear-gradient(130deg,rgba(255,39,72,.94),rgba(206,38,156,.94) 52%,rgba(61,115,255,.96));color:#fff;box-shadow:0 16px 42px rgba(18,22,50,.42),0 0 30px rgba(255,41,102,.22),0 0 38px rgba(61,115,255,.24);transform:translate(-50%,-50%);cursor:pointer;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease
}
.climatrix-video-center-play:hover{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 18px 48px rgba(18,22,50,.5),0 0 40px rgba(255,41,102,.32),0 0 46px rgba(61,115,255,.34)}
.climatrix-video-center-play span{display:block;margin-left:6px;width:0;height:0;border-top:13px solid transparent;border-bottom:13px solid transparent;border-left:20px solid #fff}
.climatrix-video-player.is-playing .climatrix-video-center-play{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.84)}
.climatrix-video-controls{
  position:absolute;z-index:5;left:0;right:0;bottom:0;padding:30px 18px 13px;background:linear-gradient(transparent,rgba(2,4,10,.84) 38%,rgba(2,4,10,.96));color:#fff;transition:opacity .2s ease,transform .2s ease
}
.climatrix-video-player.is-controls-hidden .climatrix-video-controls{opacity:0;transform:translateY(8px);pointer-events:none}
.climatrix-video-progress{--video-progress:0%;display:block;width:100%;height:18px;margin:0 0 4px;padding:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;accent-color:#ff3457}
.climatrix-video-progress::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,#ff2d50 0%,#dc2b9c var(--video-progress),rgba(173,188,220,.32) var(--video-progress),rgba(173,188,220,.32) 100%)}
.climatrix-video-progress::-moz-range-track{height:4px;border-radius:999px;background:rgba(173,188,220,.32)}
.climatrix-video-progress::-moz-range-progress{height:4px;border-radius:999px;background:linear-gradient(90deg,#ff2d50,#3d73ff)}
.climatrix-video-progress::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;border:2px solid #fff;border-radius:50%;appearance:none;-webkit-appearance:none;background:#ff3457;box-shadow:0 0 14px rgba(255,52,87,.48)}
.climatrix-video-progress::-moz-range-thumb{width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#ff3457}
.climatrix-video-controls-row{display:flex;align-items:center;gap:10px;min-height:34px}
.climatrix-video-control{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:transparent;color:#fff;font-size:18px;cursor:pointer;transition:background .18s ease,transform .18s ease}
.climatrix-video-control:hover{background:rgba(255,255,255,.12);transform:translateY(-1px)}
.climatrix-video-toggle{font-size:16px}
.climatrix-video-time{font-size:11px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.82);white-space:nowrap}
.climatrix-video-spacer{flex:1}
.climatrix-video-volume{font-size:20px}
.climatrix-video-fullscreen{font-size:21px}

/* Cards/pagination keep page geometry stable while texts vary. */
@media(min-width:761px){
  .reviews-grid{align-items:stretch}
  .review-card{height:100%;min-height:368px}
  .portfolio-item{height:100%}
}
section[id],.additional-service-group[id],.service-detail[id]{scroll-margin-top:112px}
.work-description-backdrop,.site-announcement-backdrop{backdrop-filter:blur(7px) saturate(.9)!important;-webkit-backdrop-filter:blur(7px) saturate(.9)!important}

@media(max-width:1000px){
  .site-footer{grid-template-columns:minmax(0,1fr) minmax(300px,1fr)!important;column-gap:42px!important}
  .footer-menu-groups{grid-column:2!important;grid-row:1!important}
  .footer-contact{grid-column:1/-1!important;grid-row:2!important;align-items:flex-start!important;padding-top:4px!important}
}
@media(max-width:760px){
  html{scrollbar-gutter:auto}
  *::-webkit-scrollbar{width:0;height:0}
  .admin-services-mode-switch{width:calc(100% - 20px);grid-template-columns:1fr;margin-bottom:18px}
  .admin-services-mode-switch button{min-height:76px;padding:14px}
  .main-services-page-form,.main-service-admin-fields{grid-template-columns:1fr}
  .main-service-admin-card-head{grid-template-columns:36px 38px minmax(0,1fr) auto;padding:12px 10px;gap:8px}
  .main-service-drag-handle{width:36px;height:40px}
  .main-service-card-title strong{white-space:normal;font-size:14px;line-height:1.3}
  .main-service-admin-card-head>.visibility-status-badge{grid-column:3;justify-self:start}
  .main-service-order-actions{grid-column:4;grid-row:1 / span 2;flex-direction:column}
  .main-service-order-actions button{width:36px;height:32px}
  .main-service-admin-card summary{padding:13px 12px;flex-wrap:wrap}
  .main-service-price-preview{width:100%;margin-left:0}
  .main-service-admin-fields{padding:4px 12px 16px}
  .main-services-save-bar{position:static}
  .site-footer{grid-template-columns:1fr!important;gap:28px!important;column-gap:0!important}
  .footer-menu-groups{grid-column:auto!important;grid-row:auto!important;grid-template-columns:1fr!important;gap:26px!important}
  .footer-contact{grid-column:auto!important;grid-row:auto!important;padding-top:0!important;align-items:flex-start!important}
  .work-lightbox-stage,.work-lightbox-stage.showing-video{padding:64px 10px 86px!important}
  .work-lightbox-arrow{width:42px!important;height:42px!important;border-radius:50%!important;font-size:29px!important}
  .work-lightbox-arrow.prev{left:10px!important}.work-lightbox-arrow.next{right:10px!important}
  .work-lightbox-footer{position:absolute;left:0;right:0;bottom:0;z-index:4;background:rgba(9,11,19,.97)}
  .climatrix-video-player{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 166px)!important;border-radius:11px}
  .climatrix-video-center-play{width:64px;height:64px}
  .climatrix-video-center-play span{border-top-width:10px;border-bottom-width:10px;border-left-width:16px}
  .climatrix-video-controls{padding:24px 10px 8px}
  .climatrix-video-control{flex-basis:40px;width:40px;height:40px}
  .climatrix-video-time{font-size:10px}
  .work-description-backdrop,.site-announcement-backdrop{backdrop-filter:blur(4px) saturate(.9)!important;-webkit-backdrop-filter:blur(4px) saturate(.9)!important}
  section[id],.additional-service-group[id],.service-detail[id]{scroll-margin-top:88px}
}

/* Main-service editor fields use the same dark/light form language as the rest of management UI. */
.main-service-admin-fields>label{
  display:grid;
  gap:7px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.main-service-admin-fields input,
.main-service-admin-fields textarea,
.main-service-admin-fields select{
  min-height:48px;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--input-bg);
  color:var(--text);
  outline:none;
}
.main-service-admin-fields textarea{min-height:98px;resize:vertical;line-height:1.55}
.main-service-admin-fields input:focus,
.main-service-admin-fields textarea:focus,
.main-service-admin-fields select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(57,101,255,.08)}
.main-service-admin-fields .review-setting-toggle{display:flex!important}

/* ========================================================================
   V6.9.1: stable gradients, isolated winter mark, anchored media controls,
   editable catalog page and polished custom video controls.
   ======================================================================== */

/* Active fills are painted on the element itself and never on a stray strip. */
.admin-services-mode-switch{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-services-mode-switch button,
.admin-services-mode-switch button>span,
.reviews-pagination a,
.work-media-zoom,
.climatrix-video-center-play{background-origin:border-box;background-clip:padding-box;isolation:isolate}
.admin-services-mode-switch button::before,
.admin-services-mode-switch button::after,
.admin-services-mode-switch button>span::before,
.admin-services-mode-switch button>span::after,
.reviews-pagination a.active::after,
.work-media-zoom::before,
.work-media-zoom::after,
.climatrix-video-center-play::before,
.climatrix-video-center-play::after{content:none!important;display:none!important}
.admin-services-mode-switch button.active>span,
.reviews-pagination a.active{
  background-color:#5d58ef!important;
  background-image:linear-gradient(120deg,#ff3048 0%,#d82a9f 48%,#3f76ff 100%)!important;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.work-image-trigger:hover .work-media-zoom,
.work-image-trigger:focus-visible .work-media-zoom{
  background-color:#5d58ef!important;
  background-image:linear-gradient(125deg,#ff3048 0%,#d82a9f 48%,#3f76ff 100%)!important;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  transform:none!important;
}

/* The winter snowflake lives in the geography line, outside the logo scene. */
.winter-location-snowflake{display:none;flex:0 0 auto;width:36px!important;height:36px!important;margin-left:5px;overflow:visible;color:#e7fbff;vertical-align:middle}
html.winter-mode .winter-location-snowflake{display:block;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;filter:drop-shadow(0 0 5px rgba(210,247,255,.96)) drop-shadow(0 0 15px rgba(64,158,255,.72));opacity:1}
html.winter-mode .winter-location-snowflake circle,
html.winter-mode .winter-location-snowflake rect{fill:#effdff;stroke:#73cfff;stroke-width:1.2}
html.winter-mode .winter-location-snowflake-core{fill:rgba(104,198,255,.22);stroke:#bdeeff}
html.winter-mode.winter-intensity-minimal .winter-location-snowflake{width:31px!important;height:31px!important;opacity:.76;filter:drop-shadow(0 0 6px rgba(78,166,235,.42))}
html.winter-mode.winter-intensity-expressive .winter-location-snowflake{width:42px!important;height:42px!important;filter:drop-shadow(0 0 6px rgba(222,250,255,1)) drop-shadow(0 0 20px rgba(55,145,255,.86))}
html.winter-mode.winter-animations .winter-location-snowflake{animation:winterLocationSnowflakeBreathe 5.6s ease-in-out infinite}
html.winter-mode .winter-hero-snowflake{display:none!important}
@keyframes winterLocationSnowflakeBreathe{0%,100%{opacity:1}50%{opacity:.65}}
[data-theme="light"].winter-mode .winter-location-snowflake{color:#2b8fd3;filter:drop-shadow(0 0 4px rgba(38,133,208,.38))}
@media(prefers-reduced-motion:reduce){html.winter-mode .winter-location-snowflake{animation:none!important;opacity:.82!important}}

/* Footer columns share exactly the same text rhythm. */
.footer-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;column-gap:52px!important}
.footer-menu-group{display:grid!important;grid-auto-rows:34px!important;align-content:start!important;gap:0!important}
.footer-menu-group h3{height:34px!important;min-height:34px!important;margin:0!important;display:flex;align-items:flex-start!important;line-height:1.2!important}
.footer-menu-group a{height:34px!important;min-height:34px!important;display:flex!important;align-items:center!important;line-height:1.25!important}

/* Lightbox controls are positioned relative to the media area, not the page. */
.work-lightbox-media-area{position:relative;min-width:0;min-height:0;display:grid;overflow:hidden;background:var(--lightbox-stage)}
.work-lightbox-stage,.work-lightbox-stage.showing-video{width:100%;height:100%;min-width:0;min-height:0;padding:24px 76px!important;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent!important}
.work-lightbox-media{flex:none}
.work-lightbox-arrow{position:absolute!important;z-index:7!important;top:50%;bottom:auto!important;display:grid!important;place-items:center!important;line-height:1!important;transform:translateY(-50%)!important}
.work-lightbox-arrow:hover{transform:translateY(-50%) scale(1.04)!important}
.work-lightbox-close,.site-announcement-close,.work-description-close{inset:auto 18px auto auto;top:18px;display:grid;place-items:center;line-height:1;transform:none!important}
.work-lightbox-stage .work-lightbox-media.is-image{margin:auto}

/* Card arrows stay on the exact vertical centre of the picture. */
.work-carousel-arrow{top:50%!important;bottom:auto!important;display:grid!important;place-items:center!important;line-height:1!important;transform:translateY(-50%)!important;padding:0!important}
.work-carousel-arrow:hover{transform:translateY(-50%) scale(1.04)!important}

/* Custom video: stable play gradient, real sound icons and volume slider. */
.climatrix-video-center-play{
  background-color:#d92d8c!important;
  background-image:linear-gradient(125deg,#ff3048 0%,#e22980 34%,#ac35c0 65%,#3f76ff 100%)!important;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  box-shadow:0 14px 34px rgba(7,10,26,.42),0 0 26px rgba(255,48,94,.28),0 0 32px rgba(63,118,255,.28)!important;
}
.climatrix-video-center-play:hover{background-position:center!important;box-shadow:0 17px 42px rgba(7,10,26,.5),0 0 34px rgba(255,48,94,.38),0 0 42px rgba(63,118,255,.38)!important}
.climatrix-video-volume-group{display:flex;align-items:center;gap:3px;flex:none}
.climatrix-video-volume .volume-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.climatrix-video-volume .volume-off{display:none}
.climatrix-video-player.is-muted .climatrix-video-volume .volume-on{display:none}
.climatrix-video-player.is-muted .climatrix-video-volume .volume-off{display:block}
.climatrix-video-fullscreen svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.climatrix-video-volume-range{--volume-level:100%;width:82px;height:18px;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;accent-color:#e72c85}
.climatrix-video-volume-range::-webkit-slider-runnable-track{height:3px;border-radius:999px;background:linear-gradient(90deg,#ff3154 0%,#b935bf var(--volume-level),rgba(178,190,218,.34) var(--volume-level),rgba(178,190,218,.34) 100%)}
.climatrix-video-volume-range::-moz-range-track{height:3px;border-radius:999px;background:rgba(178,190,218,.34)}
.climatrix-video-volume-range::-moz-range-progress{height:3px;border-radius:999px;background:linear-gradient(90deg,#ff3154,#3f76ff)}
.climatrix-video-volume-range::-webkit-slider-thumb{width:12px;height:12px;margin-top:-4.5px;border:2px solid #fff;border-radius:50%;appearance:none;-webkit-appearance:none;background:#e72c85}
.climatrix-video-volume-range::-moz-range-thumb{width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#e72c85}
.climatrix-video-player:fullscreen,
.climatrix-video-player:-webkit-full-screen{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;background:#000!important;display:grid!important;place-items:center!important;box-shadow:none!important}
.climatrix-video-player:fullscreen .climatrix-video,
.climatrix-video-player:-webkit-full-screen .climatrix-video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#000!important}
.climatrix-video-player:fullscreen .climatrix-video-controls,
.climatrix-video-player:-webkit-full-screen .climatrix-video-controls{position:absolute!important;left:0!important;right:0!important;bottom:0!important}

/* Editable catalog page. */
.catalog-grid-dynamic{grid-template-columns:repeat(var(--catalog-columns,3),minmax(0,1fr))}
.brand-note.without-logo{grid-template-columns:minmax(0,1fr) auto}
.brand-note.without-logo .button{grid-column:auto}
.catalog-page-admin-form{display:grid;gap:18px;width:min(calc(100% - 40px),1280px);margin:0 auto}
.catalog-admin-block-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.catalog-admin-block-head h2{margin:8px 0 0}
.catalog-admin-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.catalog-admin-fields>label{display:grid;gap:7px;min-width:0;color:var(--muted);font-size:12px;font-weight:800}
.catalog-admin-fields input,.catalog-admin-fields textarea,.catalog-admin-fields select{width:100%;min-width:0;min-height:48px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--text);outline:none}
.catalog-admin-fields textarea{resize:vertical;line-height:1.55}
.catalog-admin-fields input:focus,.catalog-admin-fields textarea:focus,.catalog-admin-fields select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(57,101,255,.08)}
.catalog-products-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.catalog-products-toolbar p{margin:0}
.catalog-products-admin-list{display:grid;gap:14px}
.catalog-product-admin-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}
.catalog-product-admin-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 16px}
.catalog-product-order{font-family:var(--display);font-size:27px;color:var(--number)}
.catalog-product-title{display:flex;flex-direction:column;min-width:0}
.catalog-product-title small{color:var(--accent-text);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.catalog-product-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalog-product-actions{display:flex;gap:6px}
.catalog-product-actions button,.catalog-section-order button{width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--text);cursor:pointer}
.catalog-product-actions button:disabled,.catalog-section-order button:disabled{opacity:.3;cursor:default}
.catalog-product-actions .catalog-product-delete{color:#ff7182;border-color:rgba(255,70,92,.3);background:rgba(255,45,72,.07)}
.catalog-product-admin-card details{border-top:1px solid var(--line)}
.catalog-product-admin-card summary{list-style:none;padding:14px 16px;font-size:13px;font-weight:900;cursor:pointer}
.catalog-product-admin-card summary::-webkit-details-marker{display:none}
.catalog-product-fields{padding:2px 16px 18px}
.catalog-section-order{display:grid;gap:10px}
.catalog-section-order article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.catalog-section-order article>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;color:var(--accent-text);font-weight:900}
.catalog-section-order article>div:first-of-type{display:flex;flex-direction:column}
.catalog-section-order article small{color:var(--muted);font-size:11px}
.catalog-section-order article>div:last-child{display:flex;gap:6px}
.catalog-page-save-bar{position:sticky;bottom:10px;z-index:15;padding:15px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px)}

@media(max-width:1000px){
  .admin-services-mode-switch{grid-template-columns:1fr}
  .catalog-grid-dynamic{grid-template-columns:1fr}
}
@media(max-width:760px){
  .winter-location-snowflake,
  html.winter-mode.winter-intensity-minimal .winter-location-snowflake,
  html.winter-mode.winter-intensity-expressive .winter-location-snowflake{width:26px!important;height:26px!important;margin-left:1px}
  .hero-location-line{flex-wrap:wrap;justify-content:center}
  .footer-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:26px!important}
  .footer-menu-group{grid-auto-rows:36px!important}
  .footer-menu-group h3,.footer-menu-group a{height:36px!important;min-height:36px!important}
  .work-lightbox-media-area{padding-top:max(52px,env(safe-area-inset-top));padding-bottom:0}
  .work-lightbox-stage,.work-lightbox-stage.showing-video{padding:10px 8px 14px!important}
  .work-lightbox-footer{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;min-height:76px}
  .work-lightbox-arrow{width:42px!important;height:42px!important}
  .climatrix-video-player{max-width:100%!important;max-height:100%!important}
  .climatrix-video-volume-range{width:66px}
  .catalog-page-admin-form{width:calc(100% - 20px)}
  .catalog-admin-block-head,.catalog-products-toolbar{align-items:flex-start;flex-direction:column}
  .catalog-admin-fields{grid-template-columns:1fr}
  .catalog-admin-fields .full-width{grid-column:auto}
  .catalog-product-admin-head{grid-template-columns:42px minmax(0,1fr) auto;padding:12px 10px;gap:8px}
  .catalog-product-admin-head>.visibility-status-badge{grid-column:2;justify-self:start}
  .catalog-product-actions{grid-column:3;grid-row:1 / span 2;flex-direction:column}
  .catalog-product-actions button{width:34px;height:31px}
  .catalog-product-title strong{white-space:normal;font-size:14px;line-height:1.3}
  .catalog-product-fields{padding:2px 12px 16px}
  .catalog-page-save-bar{position:static;display:grid}
  .brand-note.without-logo{grid-template-columns:1fr}
  .brand-note.without-logo .button{grid-column:auto}
}
.work-media-zoom svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}


/* ==========================================================================\n   V6.9.2 final: stable UI geometry and minimal review collection\n   ========================================================================== */
:root{--climatrix-action-gradient:linear-gradient(90deg,#ff3048 0%,#d82a9f 50%,#3f76ff 100%)}
.button-primary,.admin-section-nav-v68 a.active,.admin-services-mode-switch button.active>span,.reviews-pagination a.active,.portfolio-filters button.active,.work-video-play,.climatrix-video-center-play,.work-image-trigger:hover .work-media-zoom,.work-image-trigger:focus-visible .work-media-zoom{background-color:#d82a9f!important;background-image:var(--climatrix-action-gradient)!important;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;background-origin:border-box!important;background-clip:border-box!important}
.admin-section-nav-v68 a.active::before,.admin-section-nav-v68 a.active::after,.admin-services-mode-switch button.active>span::before,.admin-services-mode-switch button.active>span::after,.reviews-pagination a.active::before,.reviews-pagination a.active::after,.portfolio-filters button.active::before,.portfolio-filters button.active::after,.work-video-play::before,.work-video-play::after,.climatrix-video-center-play::before,.climatrix-video-center-play::after,.work-media-zoom::before,.work-media-zoom::after{content:none!important;display:none!important}
.work-video-play,.climatrix-video-center-play,.work-media-zoom,.admin-services-mode-switch button>span,.reviews-pagination a{flex:0 0 auto!important}

.review-form-modal,.review-success-modal,.review-text-modal{position:fixed!important;inset:0!important;z-index:1500!important;display:grid!important;place-items:center!important;padding:18px!important;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.review-form-modal.is-open,.review-success-modal.is-open,.review-text-modal.is-open{opacity:1;visibility:visible}
.review-form-grid-minimal{grid-template-columns:minmax(0,1fr)!important}.review-form-window{width:min(680px,100%)!important}
.review-success-window{position:relative;z-index:1;width:min(440px,100%);padding:38px 34px 32px;border:1px solid var(--line-strong);border-radius:24px;background:var(--surface);box-shadow:0 30px 100px rgba(0,0,0,.52);text-align:center;transform:translateY(10px) scale(.97);transition:transform .2s ease}.review-success-modal.is-open .review-success-window{transform:none}.review-success-window .review-modal-close{position:absolute!important;top:18px!important;right:18px!important;float:none!important;margin:0!important}.review-success-window .review-success-icon{margin:2px auto 20px}.review-success-window h2{margin:0 0 10px;font-family:var(--display);font-size:clamp(42px,7vw,58px);font-weight:500;line-height:1;text-transform:uppercase}.review-success-window p{max-width:350px;margin:0 auto 24px;color:var(--muted);font-size:14px;line-height:1.7}.review-success-window>.button{min-width:150px}.review-privacy-note,.review-consent-row{display:none!important}.admin-review-contact-grid{display:none!important}

.main-service-admin-card summary,.catalog-product-admin-card summary{position:relative!important;min-height:54px;display:flex!important;align-items:center;gap:12px;padding:14px 58px 14px 18px!important;border-left:3px solid rgba(83,126,255,.72);background:linear-gradient(90deg,rgba(50,92,255,.10),rgba(209,42,151,.04) 55%,transparent 100%)!important;color:#dce7ff!important;font-weight:900!important;cursor:pointer!important;transition:.18s ease}.main-service-admin-card summary:hover,.catalog-product-admin-card summary:hover,.main-service-admin-card summary:focus-visible,.catalog-product-admin-card summary:focus-visible{border-left-color:#ff3b68;background:linear-gradient(90deg,rgba(57,104,255,.17),rgba(216,42,159,.08) 58%,transparent 100%)!important;color:#fff!important;outline:none}.main-service-admin-card details[open] summary,.catalog-product-admin-card details[open] summary{border-left-color:#d82a9f}.catalog-product-admin-card summary::after{content:"+";position:absolute;right:16px;top:50%;translate:0 -50%;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--accent-text);background:var(--surface-soft);font-size:20px;line-height:1}.catalog-product-admin-card details[open] summary::after{content:"−"}

.work-video-shade{display:grid!important;place-items:center!important}.work-video-play{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}.work-video-trigger:hover .work-video-play,.work-video-trigger:focus-visible .work-video-play{transform:translate(-50%,-50%) scale(1.07)!important}.work-video-label{position:absolute!important;left:50%!important;top:calc(50% + 48px)!important;transform:translateX(-50%)!important;white-space:nowrap}
.work-carousel-arrow,.work-lightbox-arrow{display:grid!important;place-items:center!important;padding:0!important;line-height:0!important}.work-carousel-arrow svg,.work-lightbox-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.work-carousel-arrow{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}.work-carousel-arrow:hover{transform:translateY(-50%) scale(1.04)!important}
.work-lightbox-window{grid-template-rows:minmax(0,1fr) auto!important}.work-lightbox-media-area{position:relative!important;display:grid!important;min-width:0!important;min-height:0!important;overflow:hidden!important;padding:0!important}.work-lightbox-stage,.work-lightbox-stage.showing-video{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px 80px!important;overflow:hidden!important;background:transparent!important}.work-lightbox-media.is-image,.work-lightbox-video-shell{margin:auto!important;flex:none!important}.work-lightbox-arrow{position:absolute!important;z-index:8!important;top:50%;bottom:auto!important;transform:translateY(-50%)!important}.work-lightbox-arrow:hover{transform:translateY(-50%) scale(1.04)!important}.work-lightbox-close{position:absolute!important;right:18px!important;top:18px!important;transform:none!important}
.climatrix-video-player{display:grid!important;place-items:center!important;isolation:isolate}.climatrix-video{display:block!important;object-fit:contain!important;object-position:50% 50%!important;margin:auto!important}.climatrix-video-center-play{overflow:hidden!important;transform:translate(-50%,-50%)!important}.climatrix-video-center-play:hover{transform:translate(-50%,-50%) scale(1.06)!important}.climatrix-video-player.is-playing .climatrix-video-center-play{transform:translate(-50%,-50%) scale(.84)!important}.climatrix-video-player:fullscreen,.climatrix-video-player:-webkit-full-screen{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;display:grid!important;place-items:center!important;background:#000!important;overflow:hidden!important}.climatrix-video-player:fullscreen .climatrix-video,.climatrix-video-player:-webkit-full-screen .climatrix-video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;margin:0!important;background:#000!important}.climatrix-video-player:fullscreen .climatrix-video-controls,.climatrix-video-player:-webkit-full-screen .climatrix-video-controls{position:absolute!important;z-index:10!important;left:0!important;right:0!important;bottom:0!important}
.footer-menu-groups{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:52px!important;align-items:start!important}.footer-menu-group{display:grid!important;grid-template-rows:34px repeat(4,36px)!important;grid-auto-rows:36px!important;gap:0!important;align-content:start!important}.footer-menu-group h3,.footer-menu-group a{width:100%!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;line-height:1!important}
html.winter-mode .winter-hero-frame,html.winter-mode .winter-circuit-crystal,html.winter-mode .winter-digital-particles,html.winter-mode .winter-brand-crystal,html.winter-mode .winter-hero-crystal,html.winter-mode .winter-hero-snowflake{display:none!important}.winter-location-snowflake{position:static!important;inset:auto!important;transform:none!important}.hero-location-line{display:flex!important;align-items:center!important;gap:8px!important}
@media(max-width:760px){.site-header{z-index:1002!important}body.mobile-menu-open::before{z-index:1000!important;background:rgba(2,4,10,.88)!important;backdrop-filter:blur(4px)!important}.main-nav{position:fixed!important;z-index:1003!important;top:var(--mobile-menu-top,98px)!important;left:12px!important;right:12px!important;width:auto!important;margin:0!important;max-height:var(--mobile-menu-max-height,calc(100dvh - 110px))!important;padding:14px!important;border:1px solid rgba(126,144,184,.34)!important;border-radius:20px!important;background:rgba(7,9,16,.992)!important;box-shadow:0 28px 70px rgba(0,0,0,.62)!important;backdrop-filter:blur(12px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important}.main-nav:not(.open){display:none!important}.main-nav.open{display:flex!important}[data-theme="light"] .main-nav{background:rgba(248,250,254,.995)!important}.main-nav>a{width:100%!important;min-height:46px!important;padding:11px 13px!important;border-radius:12px!important;display:flex!important;align-items:center!important;color:var(--text)!important}.review-form-modal,.review-success-modal,.review-text-modal{padding:8px!important}.review-success-window{width:100%;max-width:390px;padding:34px 20px 24px;border-radius:20px}.review-success-window .review-modal-close{top:12px!important;right:12px!important}.review-success-window>.button{width:100%}.review-form-window{width:100%!important;padding:24px 17px!important}.main-service-admin-card summary,.catalog-product-admin-card summary{padding:13px 52px 13px 13px!important}.catalog-product-admin-card summary::after{right:11px}.work-carousel-arrow{width:38px!important;height:38px!important}.work-carousel-arrow.prev{left:14px!important}.work-carousel-arrow.next{right:14px!important}.work-lightbox-stage,.work-lightbox-stage.showing-video{padding:56px 8px 14px!important}.work-lightbox-arrow{width:42px!important;height:42px!important;border-radius:50%!important}.footer-menu-groups{column-gap:26px!important}.footer-menu-group{grid-template-rows:32px repeat(4,36px)!important}.winter-location-snowflake,html.winter-mode.winter-intensity-minimal .winter-location-snowflake,html.winter-mode.winter-intensity-expressive .winter-location-snowflake{width:25px!important;height:25px!important;margin-left:1px!important}}


/* ========================================================================
   V6.9.2 price-prefix controls and final interaction polish
   ======================================================================== */
:root{--climatrix-action-gradient:linear-gradient(90deg,#ff3048 0%,#d82a9f 50%,#3f76ff 100%)}
.admin-section-nav a.active span,.admin-section-nav-v68 a.active span,.admin-services-mode-switch button.active>span,.reviews-pagination a.active,.portfolio-filters button.active,.work-video-play,.climatrix-video-center-play,.work-media-zoom{
  background-color:#d82a9f!important;background-image:var(--climatrix-action-gradient)!important;background-size:100% 100%!important;background-position:50% 50%!important;background-repeat:no-repeat!important
}
.catalog-product-admin-card summary::after,.catalog-product-admin-card details[open] summary::after{content:none!important;display:none!important}
.main-service-admin-card summary,.catalog-product-admin-card summary{padding-right:18px!important}
.main-service-admin-card summary,.catalog-product-admin-card summary{
  box-shadow:inset 0 0 0 1px rgba(70,104,255,.08);text-shadow:0 0 16px rgba(84,135,255,.10)
}
.main-service-admin-card summary:hover,.catalog-product-admin-card summary:hover,
.main-service-admin-card details[open] summary,.catalog-product-admin-card details[open] summary{
  box-shadow:inset 0 0 0 1px rgba(87,119,255,.20),0 0 24px rgba(44,92,255,.08)
}
.main-service-price-preview,.main-service-current-price,.service-price-current,.additional-service-current-price,.admin-service-current-price{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}
.main-service-price-preview{margin-left:auto;justify-content:flex-end;flex-wrap:wrap}
.main-service-price-preview del,.admin-service-price del{color:var(--muted);text-decoration-color:var(--red);text-decoration-thickness:2px;white-space:nowrap}
.main-service-price-preview small,.service-price-current small,.additional-service-current-price small,.admin-service-current-price small{font-size:.58em;font-weight:800;color:var(--muted);text-transform:lowercase}
.service-price-current b{margin:0!important}
.service-price-values{gap:5px!important}
.additional-service-price.has-discount{display:inline-flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.admin-service-price{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important}
.main-service-price-from-toggle{grid-column:span 1}
.review-success-window h2{font-size:clamp(34px,6vw,52px)!important}
@media(max-width:760px){
  .main-service-admin-card summary,.catalog-product-admin-card summary{padding-right:13px!important}
  .main-service-price-preview{width:100%;justify-content:flex-start;margin-left:0}
  .service-price-current,.additional-service-current-price{gap:5px}
}

/* Climatrix 6.8.6 selective merge: exact text prices, compact price editor and snowflake-only New Year mode. */
html.new-year-snowflake-mode .winter-location-snowflake{
  display:block;
  flex:0 0 auto;
  width:36px!important;
  height:36px!important;
  margin-left:5px;
  overflow:visible;
  color:#e7fbff;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
  filter:drop-shadow(0 0 5px rgba(210,247,255,.96)) drop-shadow(0 0 15px rgba(64,158,255,.72));
  opacity:1;
}
html.new-year-snowflake-mode .winter-location-snowflake circle,
html.new-year-snowflake-mode .winter-location-snowflake rect{fill:#effdff;stroke:#73cfff;stroke-width:1.2}
html.new-year-snowflake-mode .winter-location-snowflake-core{fill:rgba(104,198,255,.22);stroke:#bdeeff}
[data-theme="light"].new-year-snowflake-mode .winter-location-snowflake{color:#278cd8;filter:drop-shadow(0 0 4px rgba(35,134,211,.34))}

.main-services-heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.main-services-heading-actions>span{display:grid;place-items:center;min-width:40px;height:40px;border:1px solid var(--line);border-radius:12px;font-weight:800}
.main-service-prices-card{width:min(1040px,calc(100vw - 32px));max-height:min(88dvh,900px);overflow:auto}
.main-service-price-editor-layout{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:18px;margin-top:20px}
.main-service-price-service-list{display:flex;flex-direction:column;gap:8px;align-self:start}
.main-service-price-service-list button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft);color:var(--text);text-align:left;cursor:pointer}
.main-service-price-service-list button strong{font-size:15px}
.main-service-price-service-list button span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.main-service-price-service-list button.active{border-color:rgba(91,128,255,.72);background:linear-gradient(120deg,rgba(255,39,91,.16),rgba(82,106,255,.18));box-shadow:0 0 0 1px rgba(84,126,255,.18) inset}
.main-service-price-form{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--panel-soft)}
.main-service-price-selected{display:flex;flex-direction:column;gap:5px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.main-service-price-selected span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.main-service-price-selected strong{font-size:20px}
.main-service-price-preview em{font-style:normal;color:var(--accent);font-size:11px;margin-left:6px}
.home-reviews-section .section-heading{align-items:flex-end}
.home-reviews-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.home-reviews-grid{margin-top:24px}
.home-reviews-grid .review-card-text{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:760px){
  html.new-year-snowflake-mode .winter-location-snowflake{width:29px!important;height:29px!important;margin-left:2px}
  .main-services-heading-actions{width:100%;justify-content:space-between}
  .main-services-heading-actions .button{flex:1;min-width:0}
  .main-service-prices-card{width:calc(100vw - 16px);max-height:94dvh;padding:20px 14px}
  .main-service-price-editor-layout{grid-template-columns:1fr}
  .main-service-price-service-list{max-height:220px;overflow:auto}
  .home-reviews-section .section-heading{align-items:flex-start}
  .home-reviews-actions{width:100%;justify-content:stretch}
  .home-reviews-actions .button{flex:1}
}


/* ========================================================================
   V6.8.6 R2 — restore the stable V6.8.6 mobile navigation geometry.
   The menu stays attached to the sticky header and never locks the page or
   creates a full-screen backdrop while the user is scrolling.
   ======================================================================== */
@media(max-width:760px){
  body.mobile-menu-open{overflow:visible!important;touch-action:auto!important}
  body.mobile-menu-open::before{content:none!important;display:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .site-header{z-index:50!important}
  .main-nav{
    position:absolute!important;
    z-index:51!important;
    top:76px!important;
    left:0!important;
    right:0!important;
    width:auto!important;
    margin:0!important;
    max-height:calc(100dvh - 96px)!important;
    padding:14px!important;
    border:1px solid var(--line)!important;
    border-radius:16px!important;
    background:var(--header-bg)!important;
    box-shadow:var(--shadow)!important;
    backdrop-filter:blur(20px)!important;
    -webkit-backdrop-filter:blur(20px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
  }
  .main-nav:not(.open){display:none!important}
  .main-nav.open{display:flex!important}
  [data-theme="light"] .main-nav{background:var(--header-bg)!important}
}


/* ========================================================================
   V6.8.6 R3 — mobile-menu dismissal, stable free-text prices and discreet
   edge navigation in the fullscreen work gallery.
   ======================================================================== */
@media(max-width:760px){
  .main-nav,
  .main-nav:not(.open),
  .main-nav.open{
    display:flex!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px) scale(.985);
    transform-origin:top center;
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s!important;
  }
  .main-nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition-delay:0s!important;
  }
}

/* Keep the old card rhythm while allowing the administrator to enter any
   visible price text (for example: “от 3 000 ₽” or “цена по запросу”). */
.service-detail aside{min-width:0;overflow:hidden}
.service-price{
  width:100%;
  max-width:100%;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
}
.service-price-current,
.service-price-values{
  width:100%;
  max-width:100%;
  min-width:0;
  white-space:normal!important;
}
.service-price-values{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px!important;
}
.service-price-current b{
  display:block;
  width:100%;
  max-width:100%;
  margin:0!important;
  font-size:clamp(25px,2.8vw,38px);
  line-height:1.06;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.service-price-values del{
  display:block;
  max-width:100%;
  margin:0!important;
  line-height:1.25;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.service-price .discount-badge{align-self:flex-start}
.additional-service-price,
.additional-service-current-price,
.additional-service-price del,
.additional-service-price strong{
  min-width:0;
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .service-price-current b{font-size:clamp(27px,9.2vw,34px)}
  .service-price-values del{font-size:13px}
}

/* Fullscreen gallery: large invisible click zones, light arrows close to the
   media, native swipe support and the existing compact counter. */
.work-lightbox-arrow{
  top:0!important;
  bottom:82px!important;
  width:clamp(76px,10vw,150px)!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  display:flex!important;
  align-items:center!important;
  color:rgba(255,255,255,.88)!important;
  font-size:46px!important;
  font-weight:300!important;
  line-height:1!important;
  text-shadow:0 2px 18px rgba(0,0,0,.9),0 0 16px rgba(91,128,255,.2);
  opacity:.62;
  transform:none!important;
  transition:opacity .18s ease,background .18s ease!important;
}
.work-lightbox-arrow.prev{
  left:0!important;
  justify-content:flex-end!important;
  padding-right:18px!important;
  background:linear-gradient(90deg,rgba(2,3,8,.28),transparent 78%)!important;
}
.work-lightbox-arrow.next{
  right:0!important;
  justify-content:flex-start!important;
  padding-left:18px!important;
  background:linear-gradient(270deg,rgba(2,3,8,.28),transparent 78%)!important;
}
.work-lightbox-arrow:hover,
.work-lightbox-arrow:focus-visible{
  opacity:1;
  background-color:transparent!important;
  border-color:transparent!important;
  transform:none!important;
}
.work-lightbox-arrow.is-unavailable{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(max-width:760px){
  .work-lightbox-arrow{
    bottom:76px!important;
    width:24%!important;
    font-size:36px!important;
    opacity:.46;
  }
  .work-lightbox-arrow.prev{padding-right:10px!important}
  .work-lightbox-arrow.next{padding-left:10px!important}
}


/* ========================================================================
   V6.8.6 R4 — modal controls and stable free-text price presentation.
   ======================================================================== */
/* A work photo is clickable, but the cursor should remain the normal link
   pointer instead of the browser's magnifying-glass zoom cursor. */
.work-slide[data-media-type="image"],
.work-image-trigger{
  cursor:pointer!important;
}

/* Keep the fullscreen-gallery close control completely outside the invisible
   previous/next hit zones. The arrows retain their current visual style. */
.work-lightbox-close{
  z-index:40!important;
  pointer-events:auto!important;
  isolation:isolate;
}
.work-lightbox-arrow{
  top:72px!important;
}
@media(max-width:760px){
  .work-lightbox-arrow{
    top:64px!important;
  }
}

/* Review dialogs: one stable close-button position on every dialog and at
   every width. Sticky positioning keeps it available while long text scrolls,
   while the negative lower margin prevents it from moving the heading. */
.review-form-window,
.review-text-window,
.review-success-window{
  position:relative!important;
}
.review-form-window>.review-modal-close,
.review-text-window>.review-modal-close,
.review-success-window>.review-modal-close{
  position:sticky!important;
  top:0!important;
  right:auto!important;
  float:none!important;
  display:grid!important;
  place-items:center!important;
  margin:0 0 -42px auto!important;
  z-index:30!important;
  flex:0 0 42px;
}
@media(max-width:760px){
  .review-form-window>.review-modal-close,
  .review-text-window>.review-modal-close,
  .review-success-window>.review-modal-close{
    top:0!important;
    margin:0 0 -40px auto!important;
  }
}

/* Free-text prices keep the exact administrator-entered text, but the
   monetary symbol and the preceding amount must not split onto separate
   lines. The compact typography restores the stable V6.8.6 card geometry. */
.service-detail aside{
  container-type:inline-size;
}
.service-price-current{
  color:var(--text)!important;
  margin-bottom:0!important;
  opacity:1!important;
}
.service-price-current b{
  display:inline-block!important;
  width:auto!important;
  max-width:100%!important;
  color:var(--text);
  font-size:clamp(24px,2.45vw,36px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}
.service-price:not(.has-discount) .service-price-current,
.service-price:not(.has-discount) .service-price-current b{
  color:var(--text)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.service-price.has-discount .service-price-current b{
  color:var(--discount-price,#fff)!important;
}
.service-price-values del{
  max-width:100%!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}
@container (max-width:230px){
  .service-price-current b{
    font-size:clamp(24px,13.5cqw,31px)!important;
  }
}
@media(max-width:760px){
  .service-price-current b{
    font-size:clamp(24px,7.6vw,30px)!important;
  }
}


/* ========================================================================
   V6.8.6 R5 — touch-friendly sorting, mobile gallery thumbnails and stable
   review-dialog controls.
   ======================================================================== */

/* The visible six-dot grip stays compact, while its actual touch target is
   large enough for a finger. The floating row follows the pointer immediately
   and the dashed placeholder clearly shows the drop position. */
.service-drag-handle{
  position:relative!important;
  width:48px!important;
  height:52px!important;
  flex-basis:48px!important;
  border-radius:13px!important;
  touch-action:none!important;
  -webkit-tap-highlight-color:transparent;
}
.service-drag-handle::after{
  content:"";
  position:absolute;
  inset:-7px -9px;
  border-radius:16px;
}
.sortable-placeholder{
  box-sizing:border-box!important;
  min-height:58px;
  border:2px dashed rgba(87,126,255,.62)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(255,42,105,.06),rgba(63,118,255,.11))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)!important;
}
.service-section-row.is-dragging,
.service-item-admin-row.is-dragging{
  opacity:.96!important;
  transform:scale(1.012);
  border-color:rgba(83,122,255,.78)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.52),0 0 0 1px rgba(255,48,112,.16)!important;
  cursor:grabbing!important;
}
.admin-sorting .service-drag-handle{cursor:grabbing!important}
@media(max-width:760px){
  .service-drag-handle{
    width:50px!important;
    height:54px!important;
    flex-basis:50px!important;
  }
  .service-section-row{grid-template-columns:50px minmax(0,1fr)!important}
  .service-item-admin-row{grid-template-columns:50px 34px minmax(0,1fr)!important}
}

/* Replace the drifting text glyph with an independent SVG control. It never
   participates in the dialog layout, so headings and dates cannot move it. */
.review-form-window>.review-modal-close,
.review-text-window>.review-modal-close,
.review-success-window>.review-modal-close{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  left:auto!important;
  bottom:auto!important;
  width:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  display:grid!important;
  place-items:center!important;
  z-index:60!important;
  line-height:0!important;
}
.review-modal-close svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  pointer-events:none;
}
.review-text-heading,
.review-form-window>h2,
.review-success-window>h2{padding-right:58px}
@media(max-width:760px){
  .review-form-window>.review-modal-close,
  .review-text-window>.review-modal-close,
  .review-success-window>.review-modal-close{
    top:12px!important;
    right:12px!important;
  }
}

/* Desktop retains the discreet side arrows. On phones the gallery is operated
   by swipe and a Telegram/VK-style strip of thumbnails. */
.work-lightbox-thumbnails{display:none}
@media(max-width:760px){
  .work-lightbox-window{
    grid-template-rows:minmax(0,1fr) auto auto!important;
    background:#05060a!important;
  }
  .work-lightbox-stage,
  .work-lightbox-stage.showing-video{
    padding:56px 8px 10px!important;
    background:#05060a!important;
  }
  .work-lightbox-arrow{display:none!important}
  .work-lightbox-thumbnails{
    min-width:0;
    min-height:72px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 12px 10px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    background:linear-gradient(180deg,#05060a,#0b0c14);
    border-top:1px solid rgba(255,255,255,.07);
    -webkit-overflow-scrolling:touch;
  }
  .work-lightbox-thumbnails[hidden]{display:none!important}
  .work-lightbox-thumbnails::-webkit-scrollbar{display:none}
  .work-lightbox-thumbnail{
    position:relative;
    flex:0 0 58px;
    width:58px;
    height:58px;
    padding:0;
    border:2px solid transparent;
    border-radius:10px;
    overflow:hidden;
    background:#11131d;
    opacity:.62;
    scroll-snap-align:center;
    cursor:pointer;
    transition:opacity .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
  }
  .work-lightbox-thumbnail img,
  .work-lightbox-thumbnail video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    pointer-events:none;
  }
  .work-lightbox-thumbnail-video{position:absolute;inset:0;display:block}
  .work-lightbox-thumbnail-video>span{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:16px;
    text-shadow:0 2px 8px #000;
    background:rgba(3,4,8,.24);
    pointer-events:none;
  }
  .work-lightbox-thumbnail.is-active{
    opacity:1;
    border-color:#5b7cff;
    box-shadow:0 0 0 1px rgba(255,45,121,.7),0 0 16px rgba(74,105,255,.42);
    transform:translateY(-1px);
  }
  .work-lightbox-footer{
    min-height:68px!important;
    padding:10px 62px 10px 14px!important;
  }
  .work-lightbox-counter{right:12px!important;bottom:15px!important}
}


/* ========================================================================
   V6.8.6 R6 — deterministic service sorting, thumbnails on every viewport,
   and removal of the mobile browser tap flash.
   ======================================================================== */

/* Main-service cards now use the same proven pointer-sorter as additional
   service rows. Only the square grip starts a drag. */
.main-service-drag-handle{
  touch-action:none!important;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  -webkit-user-select:none;
  -webkit-user-drag:none;
}
.main-service-admin-card.is-dragging{
  opacity:.96!important;
  border-color:rgba(83,122,255,.78)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.52),0 0 0 1px rgba(255,48,112,.16)!important;
  cursor:grabbing!important;
}
.admin-sorting .main-service-drag-handle{cursor:grabbing!important}

/* Telegram/VK-style thumbnail strip is useful with a mouse as well. Desktop
   keeps the side arrows; mobile still hides them and uses swipe + thumbnails. */
.work-lightbox-window{grid-template-rows:minmax(0,1fr) auto auto!important}
.work-lightbox-thumbnails{
  min-width:0;
  min-height:70px;
  display:flex;
  align-items:center;
  /* Center the filmstrip on desktop. The safe alignment falls back to the
     leading edge when the thumbnails are wider than the viewport, so the
     first item never becomes unreachable. */
  justify-content:safe center;
  gap:9px;
  padding:8px 76px 10px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  background:linear-gradient(180deg,rgba(5,6,10,.94),rgba(11,12,20,.98));
  border-top:1px solid rgba(255,255,255,.07);
  -webkit-overflow-scrolling:touch;
}
.work-lightbox-thumbnails[hidden]{display:none!important}
.work-lightbox-thumbnails::-webkit-scrollbar{display:none}
.work-lightbox-thumbnail{
  position:relative;
  flex:0 0 58px;
  width:58px;
  height:52px;
  padding:0;
  border:2px solid transparent;
  border-radius:9px;
  overflow:hidden;
  background:#11131d;
  opacity:.62;
  scroll-snap-align:center;
  cursor:pointer;
  transition:opacity .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.work-lightbox-thumbnail img,
.work-lightbox-thumbnail video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  pointer-events:none;
}
.work-lightbox-thumbnail-video{position:absolute;inset:0;display:block}
.work-lightbox-thumbnail-video>span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:15px;
  text-shadow:0 2px 8px #000;
  background:rgba(3,4,8,.24);
  pointer-events:none;
}
.work-lightbox-thumbnail.is-active{
  opacity:1;
  border-color:#5b7cff;
  box-shadow:0 0 0 1px rgba(255,45,121,.7),0 0 16px rgba(74,105,255,.42);
  transform:translateY(-1px);
}
.work-lightbox-thumbnail:hover{opacity:.9}

@media(max-width:760px){
  .work-lightbox-thumbnails{
    min-height:72px;
    justify-content:flex-start;
    gap:8px;
    padding:8px 12px 10px;
  }
  .work-lightbox-thumbnail{
    flex-basis:58px;
    width:58px;
    height:58px;
    border-radius:10px;
  }
}

/* On touch devices only, suppress the browser's blue tap flash and the
   non-keyboard focus ring. Desktop hover and keyboard focus remain intact. */
@media (hover:none) and (pointer:coarse){
  a,button,summary,[role="button"],[data-lightbox-thumbnail],[data-drag-handle]{
    -webkit-tap-highlight-color:transparent!important;
  }
  a:focus:not(:focus-visible),
  button:focus:not(:focus-visible),
  summary:focus:not(:focus-visible),
  [role="button"]:focus:not(:focus-visible){
    outline:none!important;
  }
}


/* V6.8.6 R7 — center the lightbox thumbnail filmstrip on desktop only. */
@media (min-width:761px){
  .work-lightbox-thumbnails{justify-content:safe center}
}


/* ========================================================================
   V6.8.6 R8 — equal contact actions and anchored SVG close controls.
   ======================================================================== */
/* Both contact actions use the same internal grid, so their icons, captions
   and main labels align identically on desktop and on touch devices. */
.contact-choice-actions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.contact-choice-actions .button{
  width:100%!important;
  min-width:0!important;
  min-height:76px!important;
  padding:13px 18px!important;
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:stretch!important;
  justify-items:start!important;
  column-gap:12px!important;
  text-align:left!important;
  line-height:1.15!important;
}
.contact-choice-actions .button>span:not(.contact-choice-icon):not(.max-logo-icon){
  min-width:0!important;
  display:grid!important;
  align-content:center!important;
  gap:3px!important;
}
.contact-choice-actions small,
.contact-choice-actions strong{
  display:block!important;
  width:100%!important;
  margin:0!important;
  line-height:1.15!important;
}
.contact-choice-actions small{font-size:11px!important}
.contact-choice-actions strong{font-size:14px!important}
.contact-choice-icon,
.contact-choice-actions .max-logo-icon{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  flex-basis:28px!important;
  display:grid!important;
  place-items:center!important;
  justify-self:center!important;
  margin:0!important;
  line-height:1!important;
}
.contact-choice-icon{font-size:26px!important}

/* The contact dialog now uses the same independent SVG close control as the
   stable public review and work viewers. Content wrapping cannot move it. */
.contact-choice-card{position:relative!important}
.contact-choice-close{
  position:absolute!important;
  top:18px!important;
  right:18px!important;
  left:auto!important;
  bottom:auto!important;
  width:44px!important;
  height:44px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  z-index:60!important;
  line-height:0!important;
}
.contact-choice-close svg,
.admin-review-delete-cross svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.2!important;
  stroke-linecap:round!important;
  pointer-events:none!important;
}
.contact-choice-card>.kicker,
.contact-choice-card>h2{padding-right:58px}

/* Published-review deletion is anchored to the card corner instead of taking
   part in the flexible heading row, so names, badges and dates cannot shift it. */
.admin-review-card-top{padding-right:54px!important}
.admin-review-card-top>.admin-review-delete-cross{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  left:auto!important;
  bottom:auto!important;
  width:40px!important;
  height:40px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  z-index:20!important;
  line-height:0!important;
}

@media(max-width:760px){
  .contact-choice-actions{
    grid-template-columns:1fr!important;
  }
  .contact-choice-actions .button{
    min-height:76px!important;
    padding:13px 18px!important;
  }
  .contact-choice-close{
    top:12px!important;
    right:12px!important;
  }
  .contact-choice-card>.kicker,
  .contact-choice-card>h2{padding-right:52px}
  .admin-review-card-top{
    padding-right:48px!important;
    flex-wrap:wrap!important;
  }
  .admin-review-card-top>.admin-review-delete-cross{
    top:12px!important;
    right:12px!important;
  }
}

/* ========================================================================
   V6.8.6 R11 — consistent public-page vertical rhythm.
   The original stylesheet accumulated several overlapping spacing rules.
   This final layer normalizes only public sections; application behaviour,
   cards, forms, galleries and admin controls are not changed.
   ======================================================================== */

/* A clear, compact section rhythm on wide screens. */
.section-block{
  padding-top:72px;
  padding-bottom:72px;
}
.section-heading{
  gap:24px;
  margin-bottom:30px;
}

/* Home: remove the accidental double padding around full-width bands. */
.page-home .hero{
  min-height:640px;
  padding-top:44px;
}
.page-home .quality-promises{margin-top:18px}
.page-home .process-section.section-block{
  padding-top:0;
  padding-bottom:0;
}
.page-home .process-layout{
  padding-top:68px;
  padding-bottom:68px;
}
.page-home .process-list li{
  padding-top:22px;
  padding-bottom:22px;
}
.page-home .home-reviews-section.section-block{
  padding-top:68px;
  padding-bottom:68px;
}

/* Inner pages: content starts close enough to separator lines to feel built,
   but retains deliberate breathing room. */
.page-hero{
  padding-top:88px;
  padding-bottom:56px;
}
.service-detail-list{
  padding-top:40px;
  padding-bottom:54px;
}
.service-detail{
  padding-top:44px;
  padding-bottom:44px;
}
.faq-section.section-block{
  padding-top:62px;
  padding-bottom:62px;
}
.catalog-grid{
  padding-top:46px;
  padding-bottom:60px;
}

/* Catalog band had the same outer + inner double padding as the process band. */
.page-catalog .selection-form-section.section-block{
  padding-top:0;
  padding-bottom:0;
}
.page-catalog .selection-layout{
  padding-top:66px;
  padding-bottom:66px;
}

/* Optional additional-services flow. */
.service-detail-list.has-additional-services{padding-bottom:34px}
.additional-services-public{
  padding-top:34px;
  padding-bottom:26px;
}
.additional-services-public + .faq-section{padding-top:54px}

/* Portfolio and reviews. */
.portfolio-toolbar{
  padding-top:28px;
  padding-bottom:22px;
}
.portfolio-grid{
  padding-bottom:56px;
}
.reviews-hero{
  padding-top:84px;
  padding-bottom:48px;
}
.reviews-section{
  padding-top:40px;
  padding-bottom:62px;
}

/* CTA cards own their internal padding. The previous external margin created
   a second empty section before the footer. */
.contact-banner{
  padding:46px;
  margin-bottom:48px;
}
.brand-note{
  margin-bottom:48px;
}

/* Footer content stays close to its divider and keeps a consistent baseline. */
.site-footer{
  padding-top:38px;
  padding-bottom:44px;
}

@media(max-width:1000px){
  .section-block{
    padding-top:62px;
    padding-bottom:62px;
  }
  .page-home .hero{
    min-height:auto;
    padding-top:66px;
  }
  .page-home .process-layout,
  .page-catalog .selection-layout{
    padding-top:60px;
    padding-bottom:60px;
  }
  .page-hero{
    padding-top:76px;
    padding-bottom:48px;
  }
  .service-detail-list{
    padding-top:36px;
    padding-bottom:48px;
  }
  .contact-banner,
  .brand-note{margin-bottom:44px}
}

@media(max-width:760px){
  .section-block{
    padding-top:48px;
    padding-bottom:48px;
  }
  .section-heading{
    gap:16px;
    margin-bottom:24px;
  }

  .page-home .hero{
    gap:10px;
    padding-top:48px;
  }
  .page-home .hero-stats{
    margin-top:34px;
    padding-top:18px;
  }
  .page-home .hero-visual{min-height:300px}
  .page-home .quality-promises{margin-top:12px}
  .page-home .process-layout,
  .page-catalog .selection-layout{
    padding-top:48px;
    padding-bottom:48px;
  }
  .page-home .process-layout{gap:30px}
  .page-home .process-list li{
    padding-top:18px;
    padding-bottom:18px;
  }
  .page-home .home-reviews-section.section-block{
    padding-top:48px;
    padding-bottom:48px;
  }

  .page-hero,
  .page-catalog .page-hero{
    padding-top:58px;
    padding-bottom:34px;
  }
  .service-detail-list{
    padding-top:24px;
    padding-bottom:38px;
  }
  .service-detail{
    padding-top:28px;
    padding-bottom:28px;
  }
  .faq-section.section-block{
    padding-top:44px;
    padding-bottom:44px;
  }
  .catalog-grid,
  .page-catalog .catalog-grid{
    padding-top:30px;
    padding-bottom:42px;
  }
  .additional-services-public{
    padding-top:26px;
    padding-bottom:18px;
  }
  .additional-services-public + .faq-section{padding-top:40px}

  .portfolio-toolbar{
    padding-top:22px;
    padding-bottom:18px;
  }
  .portfolio-grid{padding-bottom:42px}
  .reviews-hero{
    padding-top:56px;
    padding-bottom:32px;
  }
  .reviews-section{
    padding-top:26px;
    padding-bottom:44px;
  }

  .contact-banner.section-block{
    padding:24px;
    margin-bottom:34px;
  }
  .brand-note,
  .page-catalog .brand-note{
    margin-bottom:34px;
  }
  .site-footer{
    gap:24px;
    padding-top:30px;
    padding-bottom:34px;
  }
}

@media(max-width:430px){
  .section-block{
    padding-top:44px;
    padding-bottom:44px;
  }
  .page-home .process-layout,
  .page-catalog .selection-layout{
    padding-top:44px;
    padding-bottom:44px;
  }
  .page-hero,
  .page-catalog .page-hero{
    padding-top:54px;
    padding-bottom:32px;
  }
  .contact-banner.section-block,
  .brand-note,
  .page-catalog .brand-note{margin-bottom:30px}
}

/* ========================================================================
   V6.8.6 R12 — verified phone and tablet layout.
   Keeps the R11 desktop rhythm, prevents long Russian headings from being
   clipped on 320–360 px screens, and switches the header to the compact menu
   before the desktop navigation becomes overcrowded on tablets.
   ======================================================================== */

/* The full navigation no longer fits reliably between 761 and 900 px. */
@media(max-width:900px){
  .site-header{
    height:68px;
    margin-top:8px;
    top:7px;
    padding:0 13px;
    gap:15px;
    z-index:50!important;
  }
  .brand img{width:40px;height:40px}
  .brand strong{font-size:16px}
  .menu-toggle{
    display:block;
    margin-left:auto;
    border:1px solid var(--line);
    background:var(--surface);
    color:var(--text);
    border-radius:10px;
    padding:8px 11px;
    font-size:12px;
  }
  .header-actions{display:none!important}
  .main-nav,
  .main-nav:not(.open),
  .main-nav.open{
    position:absolute!important;
    z-index:51!important;
    top:76px!important;
    left:0!important;
    right:0!important;
    width:auto!important;
    margin:0!important;
    max-height:calc(100dvh - 96px)!important;
    padding:14px!important;
    border:1px solid var(--line)!important;
    border-radius:16px!important;
    background:var(--header-bg)!important;
    box-shadow:var(--shadow)!important;
    backdrop-filter:blur(20px)!important;
    -webkit-backdrop-filter:blur(20px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px) scale(.985);
    transform-origin:top center;
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s!important;
  }
  .main-nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    transition-delay:0s!important;
  }
  .main-nav>a{
    width:100%!important;
    min-height:46px!important;
    padding:11px 13px!important;
    border-radius:12px!important;
    display:flex!important;
    align-items:center!important;
  }
  .main-nav .mobile-theme-switch{
    display:flex!important;
    align-self:flex-start;
    margin-top:5px;
  }
}

/* Long service and product names stay complete even on the smallest phones. */
@media(max-width:430px){
  .page-services .page-hero h1{
    max-width:100%;
    font-size:clamp(34px,10.5vw,43px);
    line-height:1;
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
  }
  .page-services .service-detail h2{
    font-size:clamp(27px,8vw,34px);
    line-height:1.04;
  }
  .page-catalog .product-family h2{
    font-size:clamp(25px,8vw,34px);
    line-height:1.05;
  }

  /* An empty reviews state should read as a finished component, not a hole. */
  .page-reviews .reviews-empty-state{
    padding:40px 18px;
    border-radius:20px;
  }
  .page-reviews .reviews-empty-state .review-quote-mark{margin-bottom:16px}
  .page-reviews .reviews-empty-state h2{
    margin-bottom:14px;
    font-size:clamp(31px,9.7vw,39px);
    line-height:1.08;
  }
  .page-reviews .reviews-empty-state p{margin-bottom:18px}
}

@media(max-width:360px){
  .page-services .page-hero h1{font-size:34px}
  .page-services .service-detail h2{font-size:26px}
  .page-catalog .product-family h2{font-size:25px}
  .page-home .process-list li{grid-template-columns:34px minmax(0,1fr);gap:10px}
  .page-home .process-list>li>span{font-size:25px}
}

/* R12 final narrow-screen typography pass. */
@media(max-width:430px){
  .page-catalog .product-family h2{
    font-size:clamp(24px,7vw,30px);
    overflow-wrap:anywhere;
  }
  .page-reviews .reviews-empty-state h2{
    max-width:100%;
    font-size:clamp(28px,8.4vw,34px);
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
  }
}
@media(max-width:360px){
  .page-catalog .product-family h2{font-size:24px}
}


/* ========================================================================
   V6.8.6 R13 — final spacing corrections reported during visual QA.
   ======================================================================== */

/* Services: separators now control the rhythm themselves. Removing the
   wrapper's extra top/bottom padding makes item 01, item 05 and the FAQ start
   at the same visual distance from their preceding divider. */
.page-services .service-detail-list{
  padding-top:0;
  padding-bottom:0;
}
.page-services .faq-section.section-block{
  padding-top:44px;
}

/* Review form: keep the field caption and its required marker on one line,
   while inputs and textareas remain on the next grid row. */
.review-form-grid label>.review-field-title,
.review-text-label>.review-field-title{
  display:inline-flex;
  align-items:baseline;
  justify-self:start;
  gap:4px;
  color:var(--muted);
  white-space:nowrap;
}
.review-field-title>.review-required{color:var(--red)}

@media(max-width:760px){
  /* The first service used to receive both list padding and article padding;
     subsequent services received only article padding. They are now equal. */
  .page-services .faq-section.section-block{
    padding-top:44px;
  }

  /* Portfolio hero: equal visual breathing room above and below the CTA. */
  .page-portfolio .portfolio-hero{
    gap:16px;
  }

  /* Catalog CTA: detach the rounded card from the preceding section divider
     and balance it against the space before the footer divider. */
  .page-catalog .brand-note{
    margin-top:28px;
  }
}

@media(max-width:430px){
  .page-catalog .brand-note{margin-top:26px}
}

/* ========================================================================
   V6.8.6 R14 — final desktop alignment pass.
   The phone layout already used a compact 44–50 px rhythm. This layer brings
   the desktop section starts to the same visual system and moves inner-page
   heroes up to the same header distance as the home page.
   ======================================================================== */

@media(min-width:1001px){
  /* Inner-page first content: approximately 49 px from the header bottom to
     the section kicker, instead of the previous ~93–111 px gap. */
  .page-services .page-hero,
  .page-catalog .page-hero,
  .page-portfolio .page-hero{
    padding-top:44px;
  }
  .page-reviews .reviews-hero{
    padding-top:44px;
  }

  /* Use the services FAQ as the desktop rhythm reference: the first label of
     every major section starts about 49–50 px after the preceding boundary. */
  .page-home .quality-promises + .section-block{
    padding-top:44px;
  }
  .page-home .process-layout{
    padding-top:44px;
  }
  .page-home .home-reviews-section.section-block{
    padding-top:44px;
  }
  .page-catalog .selection-layout{
    padding-top:44px;
  }

  /* The catalog brand card should not touch the selection band divider. */
  .page-catalog .brand-note{
    margin-top:32px;
  }
}

/* Compact-header tablet continuity: avoid a sudden return to the old large
   desktop gaps between 761 and 1000 px. */
@media(min-width:761px) and (max-width:1000px){
  .page-services .page-hero,
  .page-catalog .page-hero,
  .page-portfolio .page-hero,
  .page-reviews .reviews-hero{
    padding-top:60px;
  }
  .page-home .quality-promises + .section-block,
  .page-home .process-layout,
  .page-home .home-reviews-section.section-block,
  .page-catalog .selection-layout{
    padding-top:48px;
  }
  .page-catalog .brand-note{
    margin-top:28px;
  }
}

@media(max-width:760px){
  /* Centre the Works-page CTA vertically between the description and the
     divider: 32 px above, about 33 px below at common phone widths. */
  .page-portfolio .portfolio-hero{
    gap:32px;
  }
}

/* ========================================================================
   V6.8.6 R16 — legal settings, privacy page and public footer requisites
   ======================================================================== */
.footer-legal{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
.footer-legal-details{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;min-width:0}
.footer-legal-details span{position:relative;white-space:nowrap}
.footer-legal-details span+span::before{content:"";position:absolute;left:-10px;top:50%;width:2px;height:2px;border-radius:50%;background:var(--muted);transform:translateY(-50%)}
.footer-policy-link{flex:none;color:var(--accent-text);font-weight:800;text-decoration:none}
.footer-policy-link:hover,.footer-policy-link:focus-visible{text-decoration:underline;text-underline-offset:4px}

.review-policy-note{
  max-width:620px;
  margin:-2px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
.review-policy-note a{color:var(--accent-text);font-weight:800;text-decoration:none}
.review-policy-note a:hover,.review-policy-note a:focus-visible{text-decoration:underline;text-underline-offset:3px}

.privacy-policy-page{padding-top:82px;padding-bottom:88px}
.privacy-policy-heading{max-width:980px;margin-bottom:34px}
.privacy-policy-heading h1{max-width:1050px;margin-top:13px;font-family:var(--display);font-size:clamp(48px,7vw,94px);font-weight:500;line-height:.94;text-transform:uppercase}
.privacy-policy-card{display:grid;gap:0;padding:18px 42px;border:1px solid var(--line-strong);border-radius:28px;background:var(--surface);box-shadow:0 30px 90px rgba(0,0,0,.18)}
.privacy-policy-card section{padding:30px 0;border-bottom:1px solid var(--line)}
.privacy-policy-card section:last-child{border-bottom:0}
.privacy-policy-card h2{margin:0 0 14px;font-size:20px;line-height:1.3}
.privacy-policy-card p{max-width:1120px;margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.privacy-policy-card strong{color:var(--text);font-weight:800;overflow-wrap:anywhere}

.legal-settings-card{width:min(760px,calc(100% - 28px));max-height:calc(100dvh - 36px);overflow:auto}
.legal-settings-intro{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.65}
.legal-settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.legal-settings-form>label:not(.legal-toggle-row){display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:800}
.legal-settings-form input{width:100%;min-width:0}
.legal-settings-form .full-width{grid-column:1 / -1}
.legal-toggle-row{
  align-self:end;
  min-height:72px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-soft);
  cursor:pointer;
}
.legal-toggle-row>input{position:absolute;opacity:0;pointer-events:none}
.legal-toggle-ui{position:relative;width:44px;height:24px;border-radius:999px;background:#343947;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);transition:.2s ease}
.legal-toggle-ui::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35);transition:.2s ease}
.legal-toggle-row>input:checked+.legal-toggle-ui{background:#3f6fff;box-shadow:0 0 18px rgba(63,111,255,.28)}
.legal-toggle-row>input:checked+.legal-toggle-ui::after{transform:translateX(20px)}
.legal-toggle-row>input:focus-visible+.legal-toggle-ui{outline:2px solid var(--accent-text);outline-offset:3px}
.legal-toggle-row>span:last-child{display:grid;gap:3px;min-width:0}
.legal-toggle-row strong{color:var(--text);font-size:13px}
.legal-toggle-row small{color:var(--muted);font-size:10px;font-weight:600;line-height:1.45}
.copyright-field input:disabled{opacity:.7;cursor:not-allowed;background:color-mix(in srgb,var(--input-bg) 82%,#293456)}
.copyright-preview{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(63,111,255,.28);border-radius:14px;background:rgba(63,111,255,.06)}
.copyright-preview span{color:var(--muted);font-size:11px}
.copyright-preview strong{color:var(--accent-text);font-size:15px}
.legal-settings-save-bar{position:static!important;display:flex;align-items:center;flex-wrap:wrap}
.legal-settings-save-bar>.button{min-width:170px}
.legal-settings-save-bar>span{color:var(--muted);font-size:12px}

@media(max-width:760px){
  .footer-legal{align-items:flex-start;flex-direction:column;gap:13px;margin-top:6px;padding-top:20px}
  .footer-legal-details{display:grid;gap:5px}
  .footer-legal-details span{white-space:normal}
  .footer-legal-details span+span::before{display:none}
  .privacy-policy-page{padding-top:56px;padding-bottom:56px}
  .privacy-policy-heading{margin-bottom:24px}
  .privacy-policy-heading h1{font-size:clamp(42px,12vw,62px)}
  .privacy-policy-card{padding:8px 18px;border-radius:21px}
  .privacy-policy-card section{padding:24px 0}
  .privacy-policy-card h2{font-size:18px}
  .privacy-policy-card p{font-size:14px;line-height:1.72}
  .legal-settings-card{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:24px 16px}
  .legal-settings-form{grid-template-columns:1fr}
  .legal-settings-form .full-width{grid-column:auto}
  .legal-settings-save-bar{display:grid;grid-template-columns:1fr;width:100%}
  .legal-settings-save-bar>.button{width:100%;min-width:0}
  .copyright-preview{align-items:flex-start;flex-direction:column;gap:5px}
  .review-policy-note{font-size:10px}
}

/* R16 modal form controls inherit the same dark admin UI geometry. */
.legal-settings-card h2{margin:10px 0 10px;font-family:var(--display);font-size:clamp(42px,6vw,64px);font-weight:500;line-height:1;text-transform:uppercase}
.legal-settings-form input:not([type="checkbox"]),
.legal-settings-form textarea,
.legal-settings-form select{
  min-height:48px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:13px;
  outline:0;
  background:var(--input-bg);
  color:var(--text);
  font:inherit;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.legal-settings-form input:not([type="checkbox"]):focus,
.legal-settings-form textarea:focus,
.legal-settings-form select:focus{border-color:#3f76ff;box-shadow:0 0 0 3px rgba(63,118,255,.12)}
.legal-settings-form input::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}

/* ========================================================================
   V6.8.6 R17 — final spacing references and unified close-button hover.
   ======================================================================== */

/* The mobile catalog CTA uses the same deliberate top/bottom breathing room
   as the approved desktop reference instead of sitting too close to either
   section divider. */
@media(max-width:760px){
  .page-catalog .brand-note{
    margin-top:32px;
    margin-bottom:44px;
  }
}
@media(max-width:430px){
  .page-catalog .brand-note{
    margin-top:30px;
    margin-bottom:40px;
  }
}

/* Match the services FAQ start to the compact "Быстрый подбор" reference. */
.page-services .faq-section.section-block{
  padding-top:48px;
}
@media(max-width:760px){
  .page-services .faq-section.section-block{
    padding-top:48px;
  }
}

/* All public round close controls now use the same hover response shown by
   the work-gallery close button in the reference video: the dark circle
   fills smoothly and its border becomes brighter, while the cross itself
   stays fixed and does not jump or rotate. */
.work-lightbox-close,
.work-description-close,
.review-modal-close,
.contact-choice-close,
.site-announcement-close{
  transition:background-color .2s ease,border-color .2s ease,color .2s ease!important;
}
.work-lightbox-close:hover,
.work-lightbox-close:focus-visible,
.work-description-close:hover,
.work-description-close:focus-visible,
.review-modal-close:hover,
.review-modal-close:focus-visible,
.contact-choice-close:hover,
.contact-choice-close:focus-visible,
.site-announcement-close:hover,
.site-announcement-close:focus-visible{
  background:rgba(30,32,45,.92)!important;
  border-color:rgba(255,255,255,.38)!important;
  color:#fff!important;
}
@media(prefers-reduced-motion:reduce){
  .work-lightbox-close,
  .work-description-close,
  .review-modal-close,
  .contact-choice-close,
  .site-announcement-close{transition:none!important}
}

/* ========================================================================
   V6.8.6 R18 — review disclosure rhythm and compact two-tier legal footer.
   ======================================================================== */

/* The 17px form grid gap is retained for every other control. These margins
   produce exactly 16px from the counter row and 20px before the submit row. */
.review-policy-note{
  max-width:620px;
  margin:-1px 0 3px!important;
  color:var(--muted)!important;
  font-size:11.5px!important;
  font-weight:500;
  line-height:1.55;
}
.review-policy-note a{
  color:#7b82ff!important;
  font-weight:800;
  text-decoration:none;
  transition:color .18s ease,text-decoration-color .18s ease;
}
.review-policy-note a:hover,
.review-policy-note a:focus-visible{
  color:#9a6dff!important;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Requisites belong to the company column, directly after the geography. */
.footer-requisites{
  max-width:390px;
  margin:16px 0 0!important;
  color:var(--muted)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.55!important;
  letter-spacing:.01em;
  opacity:.72;
  overflow-wrap:anywhere;
}

/* Bottom strip: copyright on the left, policy link on the right. */
.footer-legal{
  grid-column:1 / -1;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-top:28px!important;
  padding-top:22px!important;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:11px!important;
  line-height:1.55;
}
.footer-copyright{flex:1 1 auto;min-width:0;color:var(--muted)}
.footer-policy-link{
  flex:0 1 auto;
  color:#7b82ff!important;
  font-size:11px;
  font-weight:800;
  text-align:right;
  text-decoration:none;
}
.footer-policy-link:hover,
.footer-policy-link:focus-visible{color:#9a6dff!important;text-decoration:underline;text-underline-offset:4px}

/* Pending alignment note: the policy page starts at the same visual height
   as the approved inner-page hero reference. */
.page-privacy_policy .privacy-policy-page{padding-top:54px}

@media(max-width:760px){
  .review-policy-note{font-size:11px!important}
  .footer-requisites{font-size:10px!important;margin-top:16px!important}
  .footer-legal{
    flex-direction:row!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:16px!important;
    margin-top:6px!important;
    padding-top:20px!important;
  }
  .footer-copyright{flex:1 1 55%;font-size:11px}
  .footer-policy-link{flex:0 1 45%;max-width:45%;font-size:11px;white-space:normal}
  .page-privacy_policy .privacy-policy-page{padding-top:54px}
}


/* ========================================================================
   V6.8.6 R19 — unified inner-page rhythm, precise review disclosure,
   compact legal footer and transparent gallery navigation hit zones.
   ======================================================================== */

/* Every inner page now begins at the same visual distance from the sticky
   header. The privacy page follows the exact hero rhythm used by Services,
   Catalog, Works and Reviews at each breakpoint. */
@media(min-width:1001px){
  .page-services .page-hero,
  .page-catalog .page-hero,
  .page-portfolio .page-hero,
  .page-reviews .reviews-hero,
  .page-privacy_policy .privacy-policy-page{padding-top:44px!important}
}
@media(min-width:761px) and (max-width:1000px){
  .page-services .page-hero,
  .page-catalog .page-hero,
  .page-portfolio .page-hero,
  .page-reviews .reviews-hero,
  .page-privacy_policy .privacy-policy-page{padding-top:60px!important}
}
@media(max-width:760px){
  .page-services .page-hero,
  .page-catalog .page-hero,
  .page-portfolio .page-hero,
  .page-reviews .reviews-hero,
  .page-privacy_policy .privacy-policy-page{padding-top:58px!important}
}
@media(max-width:430px){
  .page-services .page-hero,
  .page-catalog .page-hero,
  .page-portfolio .page-hero,
  .page-reviews .reviews-hero,
  .page-privacy_policy .privacy-policy-page{padding-top:54px!important}
}

/* Review footer: no negative spacing. The note sits exactly between the
   character counter and the submit action without affecting the rest of the
   form grid. */
.review-form-footer{display:grid;gap:0;min-width:0}
.review-form-footer .review-text-meta{margin-top:-8px}
.review-policy-note{
  max-width:620px;
  margin:16px 0!important;
  color:var(--muted)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.5!important;
  opacity:.82;
  text-align:left;
  transform:none!important;
}
.review-form-footer .review-form-actions{
  margin:0!important;
  transform:none!important;
}
.review-form-footer .review-form-actions .button{
  margin:0!important;
  transform:none;
}
.review-form-footer .review-form-actions .button:hover{transform:translateY(-2px)}
@media(max-width:760px){.review-policy-note{font-size:10px!important}}

/* Legal information is kept in one discreet bottom strip. */
.footer-requisites{display:none!important}
.footer-legal{
  grid-column:1 / -1;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-top:28px!important;
  padding-top:20px!important;
  border-top:1px solid var(--line)!important;
  font-size:10.5px!important;
  line-height:1.55!important;
}
.footer-copyright{
  flex:1 1 auto;
  min-width:0;
  color:var(--muted)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  opacity:.68;
  overflow-wrap:anywhere;
}
.footer-policy-link{
  flex:0 0 auto;
  color:#7b82ff!important;
  font-size:10.5px!important;
  font-weight:800!important;
  white-space:nowrap;
  text-align:right;
}
@media(max-width:760px){
  .footer-legal{
    flex-direction:row!important;
    align-items:flex-start!important;
    gap:14px!important;
    margin-top:6px!important;
    padding-top:18px!important;
  }
  .footer-copyright{font-size:10px!important;line-height:1.6!important}
  .footer-policy-link{max-width:132px;font-size:10px!important;white-space:normal}
}
@media(max-width:380px){
  .footer-legal{flex-wrap:wrap!important}
  .footer-policy-link{max-width:none;text-align:left}
}

/* Gallery navigation keeps the full side hit zones, but the zones themselves
   never tint the image. Only the centered circular arrow responds to hover. */
.work-lightbox-arrow{
  top:var(--lightbox-arrow-top,72px)!important;
  bottom:auto!important;
  width:var(--lightbox-arrow-width,clamp(76px,10vw,150px))!important;
  height:var(--lightbox-arrow-height,calc(100% - 154px))!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:inherit!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
.work-lightbox-arrow.prev{left:0!important;right:auto!important;padding:0!important;background:none!important}
.work-lightbox-arrow.next{right:0!important;left:auto!important;padding:0!important;background:none!important}
.work-lightbox-arrow:hover,
.work-lightbox-arrow:focus-visible{
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
}
.work-lightbox-arrow>span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  background:rgba(8,10,18,.34);
  color:rgba(255,255,255,.82);
  font-size:38px;
  font-weight:300;
  line-height:1;
  text-shadow:0 2px 14px rgba(0,0,0,.7);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  pointer-events:none;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.work-lightbox-arrow.prev>span{padding-bottom:3px;padding-right:2px}
.work-lightbox-arrow.next>span{padding-bottom:3px;padding-left:2px}
.work-lightbox-arrow:hover>span,
.work-lightbox-arrow:focus-visible>span{
  background:rgba(22,25,39,.88);
  border-color:rgba(255,255,255,.5);
  color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.3),0 0 24px rgba(92,118,255,.28);
  transform:scale(1.06);
}
.work-lightbox-arrow.is-unavailable{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){.work-lightbox-arrow>span{transition:none!important}}

/* R19 visual QA refinements. */
@keyframes r19HeroFade{from{opacity:0}to{opacity:1}}
.page-reviews .reviews-hero-copy.reveal{
  animation:r19HeroFade .55s ease both!important;
  transform:none!important;
}
.work-lightbox-arrow.prev,
.work-lightbox-arrow.next{justify-content:center!important}
@media(min-width:1001px){.footer-copyright{white-space:nowrap}}


/* ========================================================================
   V6.8.6 R20 — separated review disclosure, single legal footer line and
   fixed gallery chevrons without visible circular controls.
   ======================================================================== */

/* Review form: counter -> discreet disclosure -> submit button. */
.review-form-footer{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"counter" "policy" "actions"!important;
  gap:0!important;
  min-width:0;
}
.review-form-footer .review-text-meta{
  grid-area:counter;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
}
.review-form-footer .review-policy-note{
  grid-area:policy;
  max-width:620px;
  margin:14px 0 16px!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  color:var(--muted)!important;
  font-size:9.5px!important;
  font-weight:500!important;
  line-height:1.55!important;
  text-align:left!important;
  opacity:.68!important;
}
.review-form-footer .review-policy-note a{
  color:#7b82ff!important;
  font:inherit!important;
  font-weight:750!important;
  opacity:1!important;
}
.review-form-footer .review-form-actions{
  grid-area:actions;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
}
.review-form-footer .review-form-actions .button{
  margin:0!important;
  position:static!important;
  inset:auto!important;
}
@media(max-width:760px){
  .review-form-footer .review-policy-note{
    margin:13px 0 16px!important;
    font-size:9px!important;
  }
}

/* Footer: all legal information is one compact, left-aligned line. */
.footer-legal{
  grid-column:1 / -1;
  display:block!important;
  margin-top:28px!important;
  padding-top:18px!important;
  border-top:1px solid var(--line)!important;
  text-align:left!important;
}
.footer-legal-line{
  margin:0!important;
  padding:0!important;
  color:var(--muted)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.65!important;
  text-align:left!important;
  opacity:.62;
  overflow-wrap:anywhere;
}
.footer-legal-line a{
  color:#7b82ff!important;
  font:inherit!important;
  font-weight:750!important;
  text-decoration:none!important;
  opacity:1!important;
}
.footer-legal-line a:hover,
.footer-legal-line a:focus-visible{
  color:#9a6dff!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
@media(min-width:1001px){.footer-legal-line{white-space:nowrap}}
@media(max-width:760px){
  .footer-legal{margin-top:20px!important;padding-top:16px!important}
  .footer-legal-line{font-size:10px!important;line-height:1.7!important;white-space:normal}
}

/* Gallery arrows: stable side hit zones, no circles or filled controls. */
.work-lightbox-arrow{
  top:var(--lightbox-arrow-top,0px)!important;
  bottom:auto!important;
  width:clamp(96px,10vw,150px)!important;
  height:var(--lightbox-arrow-height,100%)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
.work-lightbox-arrow.prev{left:0!important;right:auto!important}
.work-lightbox-arrow.next{right:0!important;left:auto!important}
.work-lightbox-arrow:hover,
.work-lightbox-arrow:focus-visible{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  transform:none!important;
}
.work-lightbox-arrow>span{
  width:auto!important;
  height:auto!important;
  padding:0!important;
  display:block!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:var(--lightbox-control-text)!important;
  font-size:48px!important;
  font-weight:300!important;
  line-height:1!important;
  opacity:.58;
  text-shadow:0 3px 16px rgba(0,0,0,.32);
  pointer-events:none;
  transform:none!important;
  transition:opacity .18s ease,color .18s ease,text-shadow .18s ease,filter .18s ease,transform .18s ease!important;
}
.work-lightbox-arrow.prev>span,
.work-lightbox-arrow.next>span{padding:0!important}
.work-lightbox-arrow:hover>span,
.work-lightbox-arrow:focus-visible>span{
  background:transparent!important;
  border:0!important;
  color:#7b82ff!important;
  opacity:1;
  box-shadow:none!important;
  text-shadow:0 0 12px rgba(123,130,255,.65),0 3px 16px rgba(0,0,0,.35);
  filter:drop-shadow(0 0 8px rgba(123,130,255,.4));
  transform:scale(1.08)!important;
}
.work-lightbox-arrow.is-unavailable{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){.work-lightbox-arrow>span{transition:none!important}}


/* ========================================================================
   V6.8.6 R21 — strict review form flow, legal details under the location,
   and a consistent final breathing gap before the footer on every page.
   ======================================================================== */

/* The review footer is kept in normal document flow. No negative margins,
   transforms or positioned elements are allowed in this stack. */
.review-form-footer{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
}
.review-form-footer .review-text-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
}
.review-form-footer .review-policy-note{
  display:block!important;
  width:100%!important;
  max-width:620px!important;
  margin-top:16px!important;
  margin-right:0!important;
  margin-bottom:20px!important;
  margin-left:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  clear:both!important;
  color:var(--muted)!important;
  font-size:9px!important;
  font-weight:500!important;
  line-height:1.55!important;
  text-align:left!important;
  opacity:.62!important;
}
.review-form-footer .review-policy-note a{
  color:#7b82ff!important;
  font:inherit!important;
  font-weight:750!important;
  opacity:1!important;
}
.review-form-footer .review-form-actions{
  display:block!important;
  width:100%!important;
  margin-top:20px!important;
  margin-right:0!important;
  margin-bottom:0!important;
  margin-left:0!important;
  padding:0!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  clear:both!important;
}
.review-form-footer .review-form-actions .button{
  display:inline-flex!important;
  margin:0!important;
  position:static!important;
  inset:auto!important;
}
.review-form-footer .review-form-actions [aria-live]{
  display:block;
  margin-top:12px;
}

/* Legal requisites now belong to the left footer column directly below the
   region, while the bottom line stays quiet and compact. */
.footer-legal-info{
  display:block;
  max-width:460px;
  margin-top:16px;
  color:var(--muted);
  font-size:11px;
  font-weight:500;
  line-height:1.65;
  text-align:left;
  opacity:.56;
  overflow-wrap:anywhere;
}
.footer-legal{
  display:block!important;
  margin-top:28px!important;
  padding-top:18px!important;
  border-top:1px solid var(--line)!important;
  text-align:left!important;
}
.footer-legal-line{
  display:block!important;
  margin:0!important;
  padding:0!important;
  white-space:normal!important;
  text-align:left!important;
}

/* Equal final breathing room before the footer. Each page keeps the internal
   spacing of its final card/section, while its outer distance is normalized. */
:root{--public-page-footer-gap:54px}
.page-home main>.contact-banner:last-child{margin-bottom:var(--public-page-footer-gap)!important}
.page-services main>.faq-section:last-child{padding-bottom:var(--public-page-footer-gap)!important}
.page-catalog main>.brand-note:last-child{margin-bottom:var(--public-page-footer-gap)!important}
.page-portfolio main>.contact-banner:last-child{margin-bottom:var(--public-page-footer-gap)!important}
.page-reviews main>.reviews-section{padding-bottom:var(--public-page-footer-gap)!important}
.page-privacy_policy main>.privacy-policy-page:last-child{padding-bottom:var(--public-page-footer-gap)!important}

@media(max-width:760px){
  :root{--public-page-footer-gap:44px}
  .review-form-footer .review-policy-note{
    margin-top:14px!important;
    margin-bottom:20px!important;
    font-size:8.5px!important;
  }
  .review-form-footer .review-form-actions{margin-top:20px!important}
  .footer-legal-info{
    max-width:100%;
    margin-top:14px;
    font-size:10px;
    line-height:1.7;
  }
}

/* ========================================================================
   V6.8.6 R22 — fixed entrepreneur requisites directly under the region.
   ======================================================================== */
.footer-brand-block .footer-legal-info{
  display:block!important;
  max-width:460px!important;
  margin:14px 0 0!important;
  padding:0!important;
  color:var(--muted)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.55!important;
  text-align:left!important;
  opacity:.68!important;
  overflow-wrap:anywhere;
}

.footer-legal .footer-legal-line{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--muted)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.65!important;
  text-align:left!important;
  opacity:.62!important;
}

@media(max-width:760px){
  .footer-brand-block .footer-legal-info{
    max-width:100%!important;
    margin-top:14px!important;
    font-size:10px!important;
    line-height:1.65!important;
  }
  .footer-legal .footer-legal-line{
    font-size:10px!important;
    white-space:normal!important;
  }
}


/* ========================================================================
   V6.8.6 R24 — symmetrical footer spacing.
   The gap from the footer's upper divider to the first content row now
   matches the gap from the bottom of that row to the legal divider.
   The R22 review-form layout is intentionally preserved unchanged.
   ======================================================================== */
@media (min-width: 761px) {
  .site-footer {
    row-gap: 10px !important;
  }

  .site-footer > .footer-legal {
    margin-top: 28px !important;
  }
}

@media (max-width: 760px) {
  .site-footer {
    row-gap: 24px !important;
  }

  .site-footer > .footer-legal {
    margin-top: 6px !important;
  }
}


/* ========================================================================
   V6.8.6 R25 — requisites in the single bottom legal line.
   The left footer column ends after the region. The space below the legal
   line matches the space above it, measured from the divider.
   ======================================================================== */
.footer-brand-block .footer-legal-info{
  display:none!important;
}

.site-footer > .footer-legal{
  display:block!important;
  margin-top:28px!important;
  padding-top:18px!important;
  border-top:1px solid var(--line)!important;
  text-align:left!important;
}

.site-footer > .footer-legal .footer-legal-line{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--muted)!important;
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.65!important;
  text-align:left!important;
  opacity:.62!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
}

.site-footer > .footer-legal .footer-legal-line a{
  color:#7b82ff!important;
  font:inherit!important;
  font-weight:700!important;
  text-decoration:none!important;
  opacity:1!important;
}

.site-footer > .footer-legal .footer-legal-line a:hover,
.site-footer > .footer-legal .footer-legal-line a:focus-visible{
  color:#9a6dff!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}

@media (min-width:761px){
  .site-footer{
    padding-bottom:18px!important;
  }
}

@media (max-width:760px){
  .site-footer{
    padding-bottom:16px!important;
  }

  .site-footer > .footer-legal{
    margin-top:6px!important;
    padding-top:16px!important;
  }

  .site-footer > .footer-legal .footer-legal-line{
    font-size:10px!important;
    line-height:1.7!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}


/* ========================================================================
   V6.8.6 R26 — mobile legal footer split into two centered rows.
   Desktop keeps the existing single left-aligned line unchanged.
   ======================================================================== */
.footer-legal-copy,
.footer-legal-separator{
  display:inline;
}

@media (max-width:760px){
  .site-footer > .footer-legal .footer-legal-line{
    display:block!important;
    width:100%!important;
    text-align:center!important;
  }

  .site-footer > .footer-legal .footer-legal-copy{
    display:block!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
  }

  .site-footer > .footer-legal .footer-legal-separator{
    display:none!important;
  }

  .site-footer > .footer-legal .footer-legal-line a{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    margin:8px auto 0!important;
    text-align:center!important;
    white-space:normal!important;
  }
}

/* ========================================================================
   V6.8.6 R27 — hide gallery navigation arrows on mobile only.
   Desktop gallery controls remain unchanged; phones use swipe and thumbnails.
   ======================================================================== */
@media (max-width:760px){
  .work-lightbox-window .work-lightbox-arrow,
  .work-lightbox-window .work-lightbox-arrow.prev,
  .work-lightbox-window .work-lightbox-arrow.next{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

/* R28: center the three hero advantage columns */
.page-home .hero-stats > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.page-home .hero-stats > div > strong,
.page-home .hero-stats > div > span {
  width: 100%;
  text-align: center;
}

/* ========================================================================
   V6.8.6 R29 — vertically center the desktop hero advantages between lines.
   The lower breathing room now matches the existing 26px top padding.
   ======================================================================== */
@media (min-width: 761px) {
  .page-home .hero-stats {
    padding-bottom: 26px;
  }
}


/* ========================================================================
   V6.8.6 R32 — real iPhone / Safari layout stabilization.
   Chrome device emulation does not reproduce Safari text autosizing or the
   automatic zoom applied to form controls smaller than 16px. This final layer
   keeps both engines on the same CSS viewport and removes asymmetric dialog
   padding that visually shifted the success message.
   ======================================================================== */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Safari may still inject data-detector anchors from cached pages. They must
   inherit the site's typography instead of turning legal identifiers blue. */
a[x-apple-data-detectors],
a[x-apple-data-detectors-type],
.footer-legal a[x-apple-data-detectors]{
  color:inherit!important;
  font:inherit!important;
  text-decoration:none!important;
  -webkit-text-fill-color:currentColor!important;
}

/* Keep legal identifiers intact. Wrapping is allowed only between semantic
   items, never in the middle of an INN/OGRNIP number. */
.site-footer > .footer-legal .footer-legal-copy{
  display:inline-flex!important;
  align-items:baseline;
  flex-wrap:nowrap;
  min-width:0;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.site-footer > .footer-legal .footer-legal-item{
  display:inline-block;
  white-space:nowrap;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.site-footer > .footer-legal .footer-legal-item + .footer-legal-item::before{
  content:" · ";
  white-space:pre;
}

/* The close control is independent of the success-dialog text. The old
   right-only heading padding moved the optical centre to the left. */
.review-success-window > h2{
  width:100%;
  max-width:100%;
  padding-inline:0!important;
  text-align:center!important;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
.review-success-window > p{
  width:100%;
  text-align:center!important;
  text-wrap:balance;
}

@media(max-width:900px){
  /* Fallback first, dynamic viewport second: supports both older and current
     iOS Safari while the address bar expands and collapses. */
  .main-nav,
  .main-nav:not(.open),
  .main-nav.open{
    max-height:calc(100vh - 96px)!important;
    max-height:calc(100dvh - 96px)!important;
  }
}

@media(max-width:760px){
  /* 16px prevents Safari's focus zoom. Without this, the success dialog can
     inherit a magnified visual viewport after review submission. */
  input,
  textarea,
  select{
    font-size:16px!important;
  }

  .review-form-modal,
  .review-success-modal,
  .review-text-modal{
    min-height:100vh;
    min-height:100dvh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding-top:max(8px,env(safe-area-inset-top))!important;
    padding-right:max(8px,env(safe-area-inset-right))!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
    padding-left:max(8px,env(safe-area-inset-left))!important;
  }
  .review-success-window{
    width:min(390px,100%)!important;
    max-width:100%!important;
    margin:auto!important;
  }

  .site-footer > .footer-legal .footer-legal-line{
    text-align:center!important;
  }
  .site-footer > .footer-legal .footer-legal-copy{
    display:flex!important;
    width:100%!important;
    flex-wrap:wrap!important;
    justify-content:center;
    align-items:baseline;
    gap:2px 7px;
    margin:0!important;
    text-align:center!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .site-footer > .footer-legal .footer-legal-item{
    flex:0 0 auto;
    max-width:100%;
    white-space:nowrap;
  }
  .site-footer > .footer-legal .footer-legal-item + .footer-legal-item::before{
    content:"·";
    margin-right:7px;
    white-space:normal;
  }
  .site-footer > .footer-legal .footer-legal-line a{
    margin-top:9px!important;
  }
  .site-footer{
    padding-bottom:max(16px,env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:360px){
  .site-footer > .footer-legal .footer-legal-copy{
    gap:2px 5px;
  }
  .site-footer > .footer-legal .footer-legal-item + .footer-legal-item::before{
    margin-right:5px;
  }
  .review-success-window > h2{
    font-size:clamp(32px,10vw,38px)!important;
  }
}

/* ========================================================================
   R33: complete home-page editor in Services → 4.
   ======================================================================== */
.admin-services-mode-switch{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-page-admin-form,.home-page-admin-editor{display:grid;gap:18px}
.home-page-admin-intro .admin-section-title{align-items:center}
.home-page-admin-section{overflow:hidden}
.home-page-admin-section-head{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:20px}
.home-page-admin-section-head>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-soft);color:var(--accent-text);font-weight:900;font-variant-numeric:tabular-nums}
.home-page-admin-section-head small{display:block;margin-bottom:5px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.home-page-admin-section-head h2{margin:0;font-size:clamp(20px,2.1vw,30px)}
.home-page-admin-section-head p{max-width:860px;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.home-page-admin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-page-admin-fields>.full-width,.home-page-repeat-block{grid-column:1/-1}
.home-page-repeat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}
.home-page-repeat-heading strong{font-size:14px}
.home-page-repeat-heading span{display:grid;place-items:center;min-width:34px;height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:900}
.home-page-repeat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-page-repeat-card{padding:15px;border:1px solid var(--line);border-radius:17px;background:var(--surface-soft)}
.home-page-repeat-card-title{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.home-page-repeat-card-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--primary-gradient);color:#fff;font-size:11px;font-weight:900}
.home-page-repeat-card-title strong{font-size:13px}
.home-page-repeat-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-page-repeat-fields>.full-width{grid-column:1/-1}
.home-page-repeat-fields label{min-width:0}
.home-page-repeat-fields textarea{min-height:88px}
.home-page-save-bar{position:sticky;bottom:10px;z-index:15;padding:15px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media(max-width:1200px){
  .admin-services-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .admin-services-mode-switch{grid-template-columns:1fr}
  .home-page-admin-fields,.home-page-repeat-grid,.home-page-repeat-fields{grid-template-columns:1fr}
  .home-page-admin-fields>.full-width,.home-page-repeat-fields>.full-width{grid-column:auto}
  .home-page-admin-section-head{grid-template-columns:42px minmax(0,1fr);gap:12px}
  .home-page-admin-section-head>span{width:40px;height:40px;border-radius:12px}
  .home-page-save-bar{position:static}
}
