Фото до/после — только с согласия.
Материалы скрыты блюром по умолчанию. Его можно снять для всей галереи одной кнопкой.
*/.logo{color:var(--ink);font:700 26px/1 "IBM Plex Sans Local",SamalSans,system-ui,sans-serif;letter-spacing:-.03em;text-decoration:none}.logo span{color:var(--accent);font-family:"Cormorant Garamond Local",SamalDisplay,Georgia,serif;font-style:italic;font-weight:400}.back-link{color:var(--ink);font-size:14px;text-underline-offset:4px}main{padding:clamp(48px,8vw,96px) 0 clamp(56px,10vw,112px)}.intro{max-width:720px;margin-bottom:36px}h1{max-width:13ch;margin:0;font:700 clamp(45px,6vw,78px)/.94 "IBM Plex Sans Local",SamalSans,system-ui,sans-serif;letter-spacing:-.05em;text-wrap:balance}h1 em,h2 em{font-family:"Cormorant Garamond Local",SamalDisplay,Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.03em;font-size:1.3em;color:#87B7AB}.intro p{max-width:57ch;margin:20px 0 0;color:var(--muted);font-size:17px;line-height:1.6}.gallery-panel{padding:clamp(18px,3vw,28px);border:1px solid var(--line);border-radius:18px;background:var(--mist)}.gallery-top{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:18px}.gallery-count{margin:0;color:var(--muted);font-size:14px}.blur-toggle{min-height:46px;padding:0 18px;border:1px solid var(--accent);border-radius:999px;color:#fff;background:var(--accent);cursor:pointer;letter-spacing:.02em;transition:transform .18s ease,background .18s ease}.blur-toggle:hover{transform:translateY(-1px)}.blur-toggle:focus-visible,.arrow:focus-visible,.photo:focus-visible,.lightbox-close:focus-visible{outline:3px solid #6f997a;outline-offset:3px}.gallery-track{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-y;padding:3px 0 10px}.gallery-track::-webkit-scrollbar{display:none}.gallery-card{flex:0 0 calc((100% - 28px)/3);min-width:0;margin:0;scroll-snap-align:start}.photo{position:relative;display:block;width:100%;aspect-ratio:3/4;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:12px;background:#dfe7df;cursor:zoom-in}.photo img{display:block;width:100%;height:100%;object-fit:contain;background:#e4ebe3;transition:filter .25s ease,transform .25s ease}.photo:hover img{transform:scale(1.015)}.spoiler-label{position:absolute;inset:50% auto auto 50%;display:none;padding:8px 12px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;background:rgba(25,45,31,.66);font-size:13px;letter-spacing:.03em;transform:translate(-50%,-50%)}.is-blurred .photo img,.is-blurred .lightbox-image{filter:blur(18px) saturate(.55);transform:scale(1.08)}.is-blurred .spoiler-label{display:block}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.gallery-hint{color:var(--muted);font-size:13px}.arrows{display:flex;gap:10px}.arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);background:var(--paper);cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.arrow:hover{color:#fff;background:var(--accent);transform:translateY(-1px)}.arrow svg,.lightbox-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.site-footer{padding:22px 0 32px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.lightbox{width:min(960px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:18px;border:0;border-radius:16px;background:#142319;color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.42)}.lightbox::backdrop{background:var(--overlay);backdrop-filter:blur(5px)}.lightbox-body{display:grid;grid-template-rows:auto 1fr auto;gap:12px;max-height:calc(100dvh - 68px)}.lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.lightbox-status{color:#d7e4d9;font-size:14px}.lightbox-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;background:transparent;cursor:pointer}.lightbox-image{display:block;width:100%;max-height:calc(100dvh - 190px);object-fit:contain;border-radius:8px;background:#0f1a12;transition:filter .25s ease,transform .25s ease}.lightbox-nav{display:flex;justify-content:space-between;gap:12px}.lightbox-nav .arrow{color:#fff;border-color:rgba(255,255,255,.45);background:transparent}.lightbox-nav .arrow:hover{color:var(--ink);background:#fff}@media(max-width:760px){.shell{width:min(100% - 28px,640px)}h1{font-size:clamp(42px,13vw,60px)}.intro p{font-size:16px}.gallery-panel{padding:14px;border-radius:14px}.gallery-top{align-items:flex-start;flex-direction:column}.blur-toggle{width:100%}.gallery-card{flex-basis:82%}.gallery-controls{align-items:flex-end}.gallery-hint{max-width:18ch;line-height:1.45}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}} .instagram-reviews{margin:0 0 48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reviews-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0}.reviews-heading h2{margin:0;font:700 clamp(28px,3vw,40px)/.98 "IBM Plex Sans Local",SamalSans,system-ui,sans-serif;letter-spacing:-.05em}.reviews-heading span{color:var(--muted);font-size:13px}.instagram-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.ig-row{display:grid;grid-template-columns:36px 1fr auto 20px;align-items:center;gap:12px;min-width:0;padding:17px 0;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;text-align:left;cursor:pointer}.ig-row:nth-child(odd){padding-right:22px;border-right:1px solid var(--line)}.ig-row:nth-child(even){padding-left:22px}.ig-row:hover{color:var(--accent)}.ig-row:focus-visible{outline:3px solid #6f997a;outline-offset:-3px}.ig-order{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.ig-kind{font-size:15px;font-weight:600}.ig-id{overflow:hidden;color:var(--muted);font-size:13px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.ig-row svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.instagram-player{width:min(560px,calc(100% - 28px));height:min(760px,calc(100dvh - 28px));padding:0;border:0;border-radius:16px;background:var(--paper);box-shadow:0 24px 80px rgba(0,0,0,.42);overflow:hidden}.instagram-player::backdrop{background:var(--overlay);backdrop-filter:blur(5px)}.instagram-player-inner{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}.instagram-player-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}.instagram-player-title{min-width:0;overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.instagram-actions{display:flex;align-items:center;gap:10px}.instagram-original{color:var(--ink);font-size:13px;text-underline-offset:4px}.instagram-frame{width:100%;height:100%;border:0;background:#fff}@media(max-width:760px){.instagram-reviews{margin-bottom:36px}.instagram-list{grid-template-columns:1fr}.ig-row:nth-child(odd){padding-right:0;border-right:0}.ig-row:nth-child(even){padding-left:0}.reviews-heading{padding:16px 0}.reviews-heading h2{font-size:32px}.instagram-player{height:min(720px,calc(100dvh - 20px));border-radius:12px}}.instagram-video-section{margin-top:clamp(56px,9vw,108px);padding-top:clamp(40px,6vw,68px);border-top:1px solid var(--line)}.video-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:24px}.video-heading h2{max-width:13ch;margin:0;font:700 clamp(34px,4.4vw,58px)/.98 "IBM Plex Sans Local",SamalSans,system-ui,sans-serif;letter-spacing:-.05em}.video-heading p{max-width:35ch;margin:0;color:var(--muted);font-size:15px;line-height:1.55}.video-gallery{padding:clamp(14px,2vw,22px);border:1px solid var(--line);border-radius:18px;background:var(--mist)}.video-track{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-y;padding:3px 0 10px}.video-track::-webkit-scrollbar{display:none}.video-card{position:relative;flex:0 0 calc((100% - 28px)/3);min-width:0;aspect-ratio:9/16;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;scroll-snap-align:start}.video-card iframe{display:block;width:100%;height:100%;border:0;pointer-events:none}.video-preview{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.video-preview::after{position:absolute;inset:0;content:'';background:transparent}.video-card-label{position:absolute;right:10px;bottom:10px;padding:6px 9px;border-radius:999px;color:#fff;background:rgba(20,35,25,.76);font-size:12px;letter-spacing:.02em}.video-preview:hover .video-card-label{background:var(--accent)}.video-preview:focus-visible{outline:3px solid #6f997a;outline-offset:3px}.video-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.video-count{color:var(--muted);font-size:13px}@media(max-width:760px){.instagram-video-section{margin-top:58px;padding-top:40px}.video-heading{display:block;margin-bottom:20px}.video-heading h2{font-size:40px}.video-heading p{margin-top:12px}.video-gallery{padding:14px;border-radius:14px}.video-card{flex-basis:82%}}:root{--materials-dark:#183D38;--materials-soft:#F7F5EF;--materials-line:color-mix(in srgb,#F7F5EF 44%,transparent);--materials-muted:color-mix(in srgb,#F7F5EF 72%,#87B7AB)}html{background:var(--materials-dark);color:var(--materials-soft)}body{background:var(--materials-dark);color:var(--materials-soft)}main[data-od-id="materials-main"]{position:relative;isolation:isolate;background:var(--materials-dark);color:var(--materials-soft);box-shadow:0 0 0 100vmax var(--materials-dark);clip-path:inset(0 -100vmax);overflow:hidden}main[data-od-id="materials-main"]>*:not(.materials-water-lines){position:relative;z-index:1}.materials-water-lines{position:absolute;z-index:0;inset:0 50% 0 auto;width:100vw;height:100%;transform:translateX(50%);color:var(--materials-line);pointer-events:none}.materials-water-lines path{fill:none;stroke:currentColor;stroke-width:1.3;vector-effect:non-scaling-stroke}.materials-water-lines path:nth-child(3n){opacity:.52}.materials-water-lines path:nth-child(4n){opacity:.3}main[data-od-id="materials-main"] h1,main[data-od-id="materials-main"] h2{color:var(--materials-soft)}main[data-od-id="materials-main"] .intro p,main[data-od-id="materials-main"] .video-heading p,main[data-od-id="materials-main"] .gallery-count,main[data-od-id="materials-main"] .gallery-hint,main[data-od-id="materials-main"] .video-count{color:var(--materials-muted)}main[data-od-id="materials-main"] .gallery-panel,main[data-od-id="materials-main"] .video-gallery{border-color:color-mix(in srgb,var(--materials-soft) 28%,transparent);background:color-mix(in srgb,var(--materials-dark) 82%,transparent)}main[data-od-id="materials-main"] .instagram-video-section{border-top-color:color-mix(in srgb,var(--materials-soft) 28%,transparent)}main[data-od-id="materials-main"] .photo,main[data-od-id="materials-main"] .video-card{border-color:color-mix(in srgb,var(--materials-soft) 30%,transparent);background:#102e2a}main[data-od-id="materials-main"] .photo img{background:#102e2a}main[data-od-id="materials-main"] .blur-toggle{border-color:#87B7AB;background:#87B7AB;color:#183D38;font-weight:700}main[data-od-id="materials-main"] .arrow{border-color:color-mix(in srgb,var(--materials-soft) 56%,transparent);background:transparent;color:var(--materials-soft)}main[data-od-id="materials-main"] .arrow:hover{border-color:var(--eucalyptus);background:var(--eucalyptus);color:#183D38}.site-footer{position:relative;z-index:1;border-top-color:color-mix(in srgb,var(--materials-soft) 28%,transparent);color:var(--materials-muted)}.site-footer::before{position:absolute;inset:0 50% 0 auto;z-index:-1;width:100vw;content:'';transform:translateX(50%);background:var(--materials-dark)}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:20;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid var(--eucalyptus);border-radius:50%;background:#102e2a;color:var(--materials-soft);box-shadow:0 12px 26px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background .18s ease;cursor:pointer}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--eucalyptus);color:#183D38;transform:translateY(-2px)}.back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media(max-width:760px){.back-to-top{right:16px;bottom:16px}main[data-od-id="materials-main"]{overflow:hidden}.materials-water-lines{width:160vw;transform:translateX(45%)}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
Материалы скрыты блюром по умолчанию. Его можно снять для всей галереи одной кнопкой.