/* Силвена Фото — анимационен слой (локален прототип).
   Всичко е под html.sv-motion, което motion.js слага само ако анимациите са разрешени —
   без JS или при „намалено движение“ страницата изглежда точно като оригинала. */

:root{--sv-gold:#a07c48;--sv-gold-hi:#e9cf98;--sv-ease:cubic-bezier(.22,1,.36,1);--sv-ease-io:cubic-bezier(.65,0,.35,1)}

/* ---------- Въвеждаща завеса ---------- */
/* покрива страницата от първия кадър, докато motion.js постави истинската завеса */
html.sv-intro::after{content:"";position:fixed;inset:0;z-index:9999;background:#f7f0e2}
.sv-curtain{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#f7f0e2;
  transition:clip-path 1.05s var(--sv-ease-io) .15s;clip-path:inset(0 0 0 0)}
.sv-curtain.sv-out{clip-path:inset(0 0 100% 0)}
.sv-curtain-inner{text-align:center;color:#2a241c}
.sv-curtain-name{font:700 clamp(18px,4vw,28px)/1 Arial,sans-serif;letter-spacing:.42em;margin-right:-.42em;
  opacity:0;transform:translateY(14px);animation:sv-rise .8s var(--sv-ease) .1s forwards}
.sv-curtain-line{display:block;height:1px;width:min(260px,60vw);margin:18px auto 14px;background:var(--sv-gold);
  transform:scaleX(0);animation:sv-draw .9s var(--sv-ease-io) .35s forwards}
.sv-curtain-sub{font:700 10px/1 Arial,sans-serif;letter-spacing:.5em;margin-right:-.5em;color:var(--sv-gold);
  opacity:0;animation:sv-fade .7s ease .7s forwards}
.sv-curtain.sv-out .sv-curtain-inner{transition:opacity .4s,transform .9s var(--sv-ease-io);opacity:0;transform:translateY(-40px)}

@keyframes sv-rise{to{opacity:1;transform:none}}
@keyframes sv-fade{to{opacity:1}}
@keyframes sv-draw{to{transform:scaleX(1)}}

/* ---------- Лента за напредък ---------- */
.sv-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none;
  background:linear-gradient(90deg,var(--sv-gold),var(--sv-gold-hi),var(--sv-gold));
  transform-origin:0 50%;transform:scaleX(var(--sv-p,0))}

/* ---------- Хедър и навигация ---------- */
html.sv-motion header{transition:box-shadow .5s,background-color .5s,backdrop-filter .5s}
html.sv-motion header.sv-scrolled{box-shadow:0 10px 30px -18px #6b532d66;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
html.sv-motion header .brand,html.sv-motion header nav a{opacity:0;transform:translateY(-10px);
  transition:opacity .7s var(--sv-ease),transform .7s var(--sv-ease)}
html.sv-motion.sv-go header .brand,html.sv-motion.sv-go header nav a{opacity:1;transform:none}
html.sv-motion.sv-go header nav a:nth-child(1){transition-delay:.08s}
html.sv-motion.sv-go header nav a:nth-child(2){transition-delay:.14s}
html.sv-motion.sv-go header nav a:nth-child(3){transition-delay:.2s}
html.sv-motion.sv-go header nav a:nth-child(4){transition-delay:.26s}
html.sv-motion header nav a{position:relative;text-decoration:none}
html.sv-motion header nav a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--sv-gold);
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--sv-ease)}
html.sv-motion header nav a:hover::after,html.sv-motion header nav a.sv-active::after{transform:scaleX(1);transform-origin:0 50%}

/* ---------- Hero ---------- */
html.sv-motion .hero{position:relative;overflow:hidden;isolation:isolate}
.sv-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;mix-blend-mode:multiply}
html.sv-motion .hero-copy{position:relative;z-index:3}

html.sv-motion .hero .eyebrow{opacity:0;letter-spacing:.6em;transition:opacity 1s ease,letter-spacing 1.4s var(--sv-ease)}
html.sv-motion.sv-go .hero .eyebrow{opacity:1;letter-spacing:4px}

.sv-w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .09em .14em;margin:0 -.09em -.14em}
.sv-wi{display:inline-block;transform:translateY(110%) rotate(4deg);transform-origin:0 100%;
  transition:transform 1.15s var(--sv-ease)}
html.sv-go .sv-wi{transform:none}

/* златен блясък по „момент!“ */
html.sv-motion .hero h1 em .sv-wi{background:linear-gradient(100deg,#9a7642 0%,#9a7642 38%,#f3dca5 50%,#9a7642 62%,#9a7642 100%);
  background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:sv-shine 5.5s ease-in-out 2.2s infinite}
@keyframes sv-shine{0%{background-position:100% 0}45%,100%{background-position:0 0}}

html.sv-motion .hero-copy>p,html.sv-motion .hero-copy>.button{opacity:0;transform:translateY(22px);
  transition:opacity .9s var(--sv-ease),transform .9s var(--sv-ease)}
html.sv-motion.sv-go .hero-copy>p,html.sv-motion.sv-go .hero-copy>.button{opacity:1;transform:none}
html.sv-motion.sv-go .hero-copy>p:not(.note){transition-delay:.75s}
html.sv-motion.sv-go .hero-copy>.button{transition-delay:.9s}
html.sv-motion.sv-go .hero-copy>p.note{transition-delay:1.05s}

/* снимката: разкриване + бавен Ken Burns + паралакс */
html.sv-motion .hero-photo{clip-path:inset(100% 0 0 0);transition:clip-path 1.5s var(--sv-ease-io) .35s}
html.sv-motion.sv-go .hero-photo{clip-path:inset(0 0 0 0)}
html.sv-motion .hero-photo img{transform:translate3d(0,var(--sv-py,0px),0) scale(var(--sv-kb,1.18));
  transition:transform 2.6s var(--sv-ease) .35s;will-change:transform}
html.sv-motion.sv-go .hero-photo img{--sv-kb:1.04}
html.sv-motion.sv-settled .hero-photo img{transition:none}
html.sv-motion .hero-photo .caption{opacity:0;transform:translateX(-18px);transition:opacity .9s,transform 1s var(--sv-ease);transition-delay:1.6s}
html.sv-motion.sv-go .hero-photo .caption{opacity:1;transform:none}

/* лентата под hero — бавно преливащо злато */
html.sv-motion .ribbon{background-image:linear-gradient(100deg,transparent 30%,#e9cf9840 50%,transparent 70%);
  background-size:300% 100%;animation:sv-ribbon 7s linear infinite}
@keyframes sv-ribbon{from{background-position:150% 0}to{background-position:-150% 0}}

/* ---------- Бутони: златен отблясък ---------- */
html.sv-motion .button{position:relative;overflow:hidden;isolation:isolate;
  transition:transform .35s var(--sv-ease),box-shadow .35s var(--sv-ease),filter .35s}
html.sv-motion .button::before{content:"";position:absolute;inset:-2px;z-index:-1;pointer-events:none;
  background:linear-gradient(110deg,transparent 35%,#fff6 50%,transparent 65%);transform:translateX(-120%)}
html.sv-motion .button:hover{transform:translateY(-2px);box-shadow:0 14px 28px -16px #6b532daa}
html.sv-motion .button:hover::before{transform:translateX(120%);transition:transform .9s var(--sv-ease)}
html.sv-motion .hero .button::before{animation:sv-sweep 4.5s ease-in-out 2.4s infinite}
@keyframes sv-sweep{0%{transform:translateX(-120%)}35%,100%{transform:translateX(120%)}}

/* ---------- Появяване при скрол ---------- */
html.sv-motion [data-sv]{opacity:0;transition:opacity 1s var(--sv-ease),transform 1.1s var(--sv-ease),clip-path 1.3s var(--sv-ease-io),filter 1s;
  transition-delay:var(--sv-d,0s)}
html.sv-motion [data-sv="up"]{transform:translateY(38px)}
html.sv-motion [data-sv="left"]{transform:translateX(-34px)}
html.sv-motion [data-sv="right"]{transform:translateX(34px)}
html.sv-motion [data-sv="zoom"]{transform:scale(.94)}
html.sv-motion [data-sv="pop"]{transform:translateY(16px) scale(.9)}
html.sv-motion [data-sv="unveil"]{opacity:1}
/* изрязваме децата, не самия елемент — иначе IntersectionObserver го вижда като невидим */
html.sv-motion [data-sv="unveil"]>*{clip-path:inset(0 0 100% 0);filter:saturate(.4);
  transition:clip-path 1.3s var(--sv-ease-io),filter 1.2s ease;transition-delay:var(--sv-d,0s)}
html.sv-motion [data-sv="unveil"].sv-in>*{clip-path:inset(0 0 0 0);filter:none}
html.sv-motion [data-sv="words"]{opacity:1}
html.sv-motion [data-sv].sv-in{opacity:1;transform:none;clip-path:inset(0 0 0 0);filter:none}

/* малка златна черта пред надзаглавията */
html.sv-motion main .eyebrow{position:relative}
html.sv-motion main section:not(.hero) .eyebrow::before{content:"";display:inline-block;vertical-align:middle;width:0;height:1px;
  margin-right:0;background:currentColor;transition:width .9s var(--sv-ease) .25s,margin-right .9s var(--sv-ease) .25s}
html.sv-motion main section:not(.hero) .eyebrow.sv-in::before{width:34px;margin-right:12px}

/* думите в заглавията h2 се издигат една след друга */
html.sv-motion h2 .sv-wi{transform:translateY(105%);transition-duration:1s;transition-delay:calc(var(--sv-i,0) * 45ms)}
html.sv-motion h2.sv-in .sv-wi{transform:none}

/* ---------- Ховър върху снимки и карти ---------- */
html.sv-motion .feature .visual,html.sv-motion .equal-photo-frame{overflow:hidden}
html.sv-motion .feature .visual img,html.sv-motion .equal-photo-frame img,html.sv-motion .trio img{transition:transform 1.2s var(--sv-ease),filter .8s}
html.sv-motion .feature .visual:hover img,html.sv-motion .equal-photo-frame:hover img{transform:scale(1.045)}
html.sv-motion .collage-card,html.sv-motion article.service{transition:transform .6s var(--sv-ease),box-shadow .6s var(--sv-ease),opacity 1s var(--sv-ease),clip-path 1.3s var(--sv-ease-io)}
@media (hover:hover) and (pointer:fine){
  html.sv-motion .collage-card.sv-in{transform:perspective(900px) rotateX(var(--sv-rx,0deg)) rotateY(var(--sv-ry,0deg)) translateY(var(--sv-lift,0px))}
  html.sv-motion .collage-card:hover{--sv-lift:-6px;box-shadow:0 30px 50px -30px #6b532d99}
}

/* иконите на услугите — ховър + пулс при избор */
html.sv-motion .quick-request .service-icons .service-icon{transition:transform .35s var(--sv-ease),background-color .3s,box-shadow .35s,opacity .8s var(--sv-ease)!important}
html.sv-motion .quick-request .service-icons .service-icon:hover{transform:translateY(-4px)!important;box-shadow:0 12px 20px -14px #6b532d}
html.sv-motion .choice{transition:transform .3s var(--sv-ease),background-color .3s,color .3s,border-color .3s,opacity 1s var(--sv-ease)}
html.sv-motion .choice:hover{transform:translateY(-2px)}
.sv-bump{animation:sv-bump .45s var(--sv-ease)}
@keyframes sv-bump{0%{transform:scale(1)}35%{transform:scale(.92)}70%{transform:scale(1.06)}100%{transform:scale(1)}}

/* златни искри при клик върху бутон/избор */
.sv-spark{position:fixed;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;pointer-events:none;z-index:9998;
  background:radial-gradient(circle,#fff6d8 0,#d9b46f 55%,transparent 70%);animation:sv-spark .8s var(--sv-ease) forwards}
@keyframes sv-spark{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}

/* бутон „нагоре“ */
.sv-top{position:fixed;right:18px;bottom:18px;z-index:55;width:46px;height:46px;border-radius:50%;border:1px solid #a07c4880;
  background:#fffaf0e6;color:#7d5f33;font:18px/1 Georgia,serif;cursor:pointer;display:grid;place-items:center;
  box-shadow:0 10px 24px -14px #6b532d;opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;
  transition:opacity .45s,transform .45s var(--sv-ease),background-color .3s}
.sv-top.sv-show{opacity:1;transform:none;pointer-events:auto}
.sv-top:hover{background:#f1e1c5}
.sv-top svg{position:absolute;inset:-1px;transform:rotate(-90deg)}
.sv-top circle{fill:none;stroke:#a07c48;stroke-width:1.5;stroke-dasharray:138;stroke-dashoffset:calc(138 - 138 * var(--sv-p,0))}

@media (prefers-reduced-motion:reduce){
  .sv-curtain,.sv-dust,.sv-progress,.sv-spark{display:none!important}
}
