:root{--glass:#ffffff29;--glass-strong:#ffffff42;--text:#f8f7f2;--muted:#f8f7f2b8;--line:#ffffff47;--shadow:0 28px 80px #0000005c;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}html,body{height:100%}body.modal-open{overflow:hidden}body{height:100%;color:var(--text);background:#080b0e;margin:0;overflow:hidden}body:before{z-index:-2;content:"";filter:blur(4px)brightness(.58)saturate(1.08);background:url(/images/main_image.jpeg) 50%/cover no-repeat;position:fixed;inset:-26px;transform:scale(1.04)}body:after{z-index:-1;content:"";background:radial-gradient(circle,#ffffff1f,#0000 28rem),linear-gradient(#0000003d,#000000b3);position:fixed;inset:0}button{color:inherit;font:inherit;cursor:pointer;border:0}.app{height:100svh;min-height:0;padding:clamp(16px,3vw,40px);display:grid;position:relative;overflow:visible}.site-logo{z-index:4;width:clamp(140px,18vw,225px);height:clamp(140px,18vw,225px);transition:transform .3s;display:block;position:absolute;top:0;left:50%}.site-logo img{object-fit:contain;width:100%;height:100%;display:block}.site-logo{transform:translate(-50%)}.site-logo:hover,.site-logo:focus-visible{transform:translate(-50%)scale(1.06)}.about-button{z-index:3;width:min(260px,48vw);min-height:58px;box-shadow:var(--shadow);background:#ffffff14;border:1px solid #dce0e261;border-radius:16px;font-family:Verdana,Geneva,sans-serif;font-size:1.15rem;font-weight:700;transition:transform .3s,background .3s,opacity .4s;position:absolute;bottom:clamp(22px,4vw,48px);left:50%;transform:translate(-50%)}.about-button:hover,.about-button:focus-visible{background:#ffffff29;transform:translate(-50%)translateY(-5px)scale(1.03)}.app.is-open .about-button,.app.is-about .about-button{opacity:0;pointer-events:none}.back-button{z-index:3;color:var(--text);opacity:0;visibility:hidden;pointer-events:none;background:0 0;padding:8px 0;font-family:Verdana,Geneva,sans-serif;font-size:1rem;font-weight:700;transition:opacity .4s,visibility .4s,transform .4s;position:absolute;top:clamp(20px,4vw,56px);left:clamp(20px,4vw,56px);transform:translateY(-8px)}.back-button:after{content:"";background:currentColor;width:0;height:1px;margin-top:4px;transition:width .3s;display:block}.back-button:hover:after,.back-button:focus-visible:after{width:100%}.app.is-open .back-button{opacity:1;visibility:visible;pointer-events:auto;top:clamp(126px,11vw,188px);transform:translateY(0)}.choice-panel{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,5vw,72px);width:min(100% - 32px,1200px);transition:opacity .52s,visibility .52s,transform .9s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app.is-open .choice-panel,.app.is-about .choice-panel{visibility:hidden;opacity:0;pointer-events:none;transform:translate(-50%,92vh)scale(.92)}.service-button{aspect-ratio:1.28;width:100%;min-width:0;max-width:560px;box-shadow:var(--shadow);text-align:center;text-transform:uppercase;letter-spacing:.015em;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff14;border:1px solid #dce0e261;border-radius:18px;justify-content:center;align-items:center;padding:clamp(32px,5vw,60px);font-family:Verdana,Geneva,sans-serif;font-size:clamp(1.35rem,2.8vw,2.45rem);font-weight:800;line-height:1.15;transition:transform .42s cubic-bezier(.22,1,.36,1),border-color .42s,background .42s,box-shadow .42s;display:flex;position:relative;overflow:hidden}.service-button span{z-index:1;text-align:center;white-space:normal;overflow-wrap:anywhere;text-wrap:balance;justify-content:center;align-items:center;width:100%;max-width:100%;display:flex;position:relative}.service-button[data-gallery=glass] span{white-space:normal;max-width:100%;font-size:clamp(1.25rem,2.5vw,2.2rem);line-height:1.18}.service-button[data-gallery=glass]{padding-left:clamp(24px,4vw,46px);padding-right:clamp(24px,4vw,46px)}.service-button:before{content:"";background:linear-gradient(115deg,#0000 35%,#ffffff80,#0000 65%);transition:transform .7s;position:absolute;inset:-70% -35%;transform:translate(-70%)rotate(8deg)}.service-button:hover,.service-button:focus-visible{background:#ffffff29;border-color:#ffffffb3;transform:translateY(-10px)scale(1.03);box-shadow:0 34px 95px #0000007a}.service-button:hover:before,.service-button:focus-visible:before{transform:translate(75%)rotate(8deg)}.service-content{z-index:2;opacity:0;visibility:hidden;pointer-events:none;align-content:start;justify-items:center;gap:clamp(18px,3vh,30px);width:100vw;max-width:none;height:100%;min-height:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:clamp(150px,13vw,190px) 0 0;transition:opacity .76s .26s,transform .76s cubic-bezier(.22,1,.36,1) .26s;display:grid;position:relative;transform:translateY(28px)scale(.98)}.app.is-open .service-content{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.about-content{z-index:2;opacity:0;visibility:hidden;pointer-events:none;align-content:center;justify-items:center;width:min(900px,100vw - 40px);height:100%;min-height:0;margin:0 auto;padding:clamp(150px,18vw,230px) 0 32px;transition:opacity .6s,visibility .6s,transform .6s;display:grid;position:absolute;inset:0;transform:translateY(28px)}.app.is-about .about-content{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.about-list{width:100%;color:var(--text);text-align:center;gap:18px;font-family:Verdana,Geneva,sans-serif;font-size:clamp(1rem,2vw,1.35rem);line-height:1.5;display:grid}.about-content h1{margin-bottom:clamp(34px,5vh,64px)}.about-list a{color:#9fd7ff;text-shadow:0 8px 24px #0000008c;font-weight:700;text-decoration:none}.about-list a:hover,.about-list a:focus-visible{opacity:.72}.about-list p{margin:0}.works{text-align:center;width:100%}h1{text-transform:uppercase;letter-spacing:.06em;text-shadow:0 16px 48px #00000085;margin:0 0 clamp(16px,3vh,26px);font-family:Verdana,Geneva,sans-serif;font-size:clamp(1.9rem,5vw,4.2rem);line-height:1}.photo-strip{width:100vw;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.photo-track{gap:18px;width:max-content;animation:34s linear infinite scroll-strip;display:flex}.photo-track span{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#ffffff4d,#ffffff0f),repeating-linear-gradient(-45deg,#ffffff2e 0 2px,#0000 2px 16px);border-radius:24px;width:clamp(170px,22vw,300px);height:clamp(120px,23vh,220px);display:block;box-shadow:0 18px 48px #00000047}.photo-track img{border:1px solid var(--line);object-fit:cover;cursor:zoom-in;border-radius:24px;width:clamp(170px,22vw,300px);height:clamp(120px,23vh,220px);transition:transform .25s;display:block;box-shadow:0 18px 48px #00000047}.photo-track img:hover{transform:scale(1.03)}.image-viewer{z-index:10;opacity:0;visibility:hidden;pointer-events:none;background:#000000d6;place-items:center;padding:60px 24px 24px;transition:opacity .3s,visibility .3s;display:grid;position:fixed;inset:0}.image-viewer.is-visible{opacity:1;visibility:visible;pointer-events:auto}.image-viewer img{object-fit:contain;border-radius:16px;max-width:min(1100px,94vw);max-height:86vh}.viewer-close{background:0 0;padding:8px 0;font-family:Verdana,Geneva,sans-serif;font-size:1rem;position:absolute;top:24px;right:28px}.viewer-arrow{z-index:1;background:0 0;border:0;place-items:center;width:36px;height:48px;padding:0;font-family:Arial,sans-serif;font-size:2rem;font-weight:400;line-height:1;transition:background .24s,transform .24s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.viewer-arrow:hover,.viewer-arrow:focus-visible{color:#9fd7ff}.viewer-prev{left:28px}.viewer-next{right:28px}.master-line{color:var(--text);letter-spacing:.02em;text-align:center;text-shadow:0 14px 38px #0009;opacity:1;margin:0;font-family:Verdana,Geneva,sans-serif;font-size:clamp(1.25rem,2.8vw,2.2rem);font-weight:700}.contact-details{text-align:center;justify-items:center;gap:8px;display:grid}.phone-line{color:#9fd7ff;letter-spacing:.02em;text-shadow:0 10px 30px #0009;font-family:Verdana,Geneva,sans-serif;font-size:clamp(1.25rem,2.8vw,2.2rem);font-weight:700;text-decoration:none;transition:transform .24s,opacity .24s}.phone-line:hover,.phone-line:focus-visible{opacity:.7;text-decoration:none;transform:scale(1.04)}.appointment-button{min-width:min(340px,82vw);min-height:70px;color:var(--text);box-shadow:var(--shadow);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:1px solid #ffffff80;border-radius:999px;font-family:Verdana,Geneva,sans-serif;font-size:clamp(1.1rem,2.4vw,1.7rem);font-weight:800;transition:transform .36s cubic-bezier(.22,1,.36,1),background .36s}.appointment-button:hover,.appointment-button:focus-visible{color:var(--text);background:#ffffff1f;transform:translateY(-5px)scale(1.02)}.appointment-modal{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;background:#020609c2;place-items:center;padding:24px;transition:opacity .22s,visibility .22s;display:grid;position:fixed;inset:0}.appointment-modal.is-visible{opacity:1;visibility:visible;pointer-events:auto}.appointment-dialog{width:min(100%,520px);box-shadow:var(--shadow);background:#121b20f0;border:1px solid #ffffff57;border-radius:24px;padding:clamp(32px,5vw,48px);font-family:Verdana,Geneva,sans-serif;transition:transform .22s;position:relative;transform:translateY(14px)scale(.98)}.appointment-modal.is-visible .appointment-dialog{transform:translateY(0)scale(1)}.appointment-dialog h2{margin:0;font-size:clamp(1.45rem,4vw,2rem)}.appointment-service{color:#9fd7ff;margin:8px 0 28px;font-weight:700}.modal-close{background:0 0;padding:6px 0;font-size:.82rem;position:absolute;top:18px;right:22px}.appointment-form{gap:18px;display:grid}.form-field{color:var(--text);gap:7px;font-size:.93rem;font-weight:700;display:grid}.form-field em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:400}.form-field input,.form-field textarea{width:100%;color:var(--text);font:inherit;background:#ffffff14;border:1px solid #ffffff57;border-radius:10px;outline:none;padding:12px 13px;font-weight:400;transition:border-color .18s,background .18s}.form-field textarea{resize:vertical}.form-field input:focus,.form-field textarea:focus{background:#ffffff21;border-color:#9fd7ff}.form-field.has-error input{background:#921e1e33;border-color:#ff8b8b}.field-error{color:#ff9e9e;min-height:1.1em;font-size:.78rem;font-weight:400}.form-status{color:#ffb1b1;min-height:1.2em;margin:-2px 0 0;font-size:.85rem;line-height:1.4}.form-status.is-success{color:#9fe0b2}.form-submit{color:#102027;background:#d9edf8;border-radius:10px;min-height:52px;font-weight:800;transition:transform .18s,opacity .18s}.form-submit:hover,.form-submit:focus-visible{transform:translateY(-2px)}.form-submit:disabled{cursor:wait;opacity:.65}@keyframes scroll-strip{0%{transform:translate(0)}to{transform:translate(calc(-50% - 9px))}}@media (width<=720px){.app{height:100svh}.choice-panel{grid-template-columns:1fr;gap:14px;width:min(100% - 32px,360px);top:52%}.app.is-open .choice-panel{transform:translate(-50%,92svh)scale(.92)}.service-button{aspect-ratio:1.8;width:100%;min-width:0;padding:18px 28px;font-size:clamp(1.2rem,5.4vw,1.75rem)}.service-button[data-gallery=glass] span{max-width:100%;font-size:clamp(1.05rem,4.6vw,1.5rem)}.site-logo{width:112px;height:112px}.about-button{width:min(210px,56vw);min-height:46px;font-size:1rem;bottom:16px}.back-button{top:128px;left:20px}.service-content{min-height:0;padding:150px 0 0}.about-content{padding:180px 0 24px}.viewer-arrow{display:none}.image-viewer{padding:56px 16px 16px}.image-viewer img{max-width:100%;max-height:82vh}}
