/* Vizura pages after Home: /offer/, service pages, /contact/ and HR twins. Built on the site's own door, surf, orb, final and vz-closeform. */

/* the close, as on Home */
.final:has(.vz-closeform){min-height:0;padding-block:clamp(90px,10vw,150px) clamp(70px,8vw,120px)}
.final:has(.vz-closeform) .vz-closeform{margin-top:clamp(22px,3vw,40px)}
.final:has(.vz-closeform) .cta{margin-top:12px}

/* offer hero */
.vs-hero{min-height:0;padding:clamp(118px,15svh,170px) var(--gut) clamp(20px,3vw,40px)}
.vs-hero .h1{max-width:12.5em}
.vs-hero .lead{max-width:26em;text-wrap:balance}
.vs-hero .vs-small{font-size:clamp(15px,1.25vw,17px);line-height:1.4;color:var(--chalk);margin-top:10px;text-wrap:balance;text-shadow:0 1px 16px rgba(11,12,11,.5)}
.vs-hero .cta{margin-top:22px}
@media(max-width:720px){.vs-hero .cta{display:grid;width:100%;max-width:340px;margin-inline:auto}.vs-hero .cta .btn{width:100%}}

/* packages: real doors, three equal, Brand System is the strongest */
#sizes{padding-top:clamp(56px,7vw,96px)}
#sizes .center .h1 span{white-space:nowrap}
.vs-doors{align-items:stretch;gap:clamp(12px,1.2vw,16px)}
.vs-doors .dm{aspect-ratio:auto;height:clamp(92px,7.4vw,108px);padding-top:clamp(18px,1.6vw,24px);place-items:start center}
.vs-doors .dm .orb{width:56px;height:56px;border-radius:17px}
.vs-doors .dm .orb .ico{width:26px;height:26px}
.vs-doors .dt{align-items:center;text-align:center;padding-top:6px}
.vs-doors .dt h3{font-size:clamp(28px,2.5vw,36px);line-height:1.12;padding-bottom:.08em;margin:0}
.vs-doors .dh{margin:6px 0 0;font-size:clamp(18px,1.45vw,20px);line-height:1.26;color:#fff;text-wrap:balance}
.vs-doors .who{display:block;margin:6px 0 14px;font-size:15px;line-height:1.35;color:var(--soft);text-wrap:balance}
.vs-doors .dt ul{width:100%;margin-top:0}
.vs-doors .dt li{min-height:48px;line-height:1.26}
.vs-doors .dt li .ico{flex:none}
.vs-days{margin:14px 0 14px;font-size:15px;line-height:1.35;color:var(--soft)}
.vs-doors .btn{width:100%;margin-top:auto}
.vs-doors .door.top{background:#171B15;box-shadow:0 40px 110px -44px rgba(130,255,31,.5),inset 0 0 0 1px rgba(190,255,130,.32)!important}
.vs-doors .door.top h3{color:#fff}
@media(min-width:961px){.vs-doors .dh{min-height:2.6em}.vs-doors .who{min-height:1.4em}}
@media(max-width:900px){.vs-doors .top{order:1}.vs-doors .vs-l{order:2}.vs-doors .vs-s{order:3}}
.vs-doors .door>.best{white-space:nowrap}

/* The Category Brand */
.vs-cat{position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(16px,1.6vw,22px);border-radius:var(--r3);background:#0F120F;box-shadow:inset 0 0 0 1px rgba(243,245,240,.26),inset 0 1px 0 rgba(255,255,255,.14),0 50px 120px -60px rgba(0,0,0,.9);scroll-margin-top:90px}
.vs-cat>canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.62}
.vs-cat__in{display:grid;justify-items:center;text-align:center;padding:clamp(34px,5vw,72px) clamp(18px,4vw,64px) clamp(30px,4vw,60px)}
.vs-cat .orb{margin-bottom:clamp(12px,1.4vw,18px)}
.vs-cat h3{font-size:clamp(22px,2vw,28px);line-height:1.2;font-weight:500;letter-spacing:-.03em;color:#fff;padding-bottom:.08em}
.vs-price{margin-top:2px;font-family:Geist,Manrope,sans-serif;font-weight:500;font-size:clamp(58px,8.4vw,120px);line-height:1.08;letter-spacing:-.03em;color:#fff;padding-bottom:.06em;background:linear-gradient(100deg,#fff 10%,#BFC5B9 46%,#fff 62%,#AEB4A9 92%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.vs-cat__l{margin-top:4px;font-size:clamp(24px,2.7vw,36px);line-height:1.16;letter-spacing:-.032em;font-weight:500;color:#fff;text-wrap:balance;padding-bottom:.06em}
.vs-cat__f{margin-top:8px;font-size:clamp(16px,1.3vw,18px);line-height:1.4;color:#D4D9CF;max-width:32em;text-wrap:balance}
.vs-cat__g{list-style:none;margin:clamp(22px,2.8vw,36px) 0 0;padding:0;width:min(940px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:left}
.vs-cat__g li{display:flex;align-items:center;gap:14px;min-width:0;padding:14px 18px;border-radius:16px;background:rgba(24,28,24,.6);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:inset 0 0 0 1px var(--edge),inset 0 1px 0 rgba(255,255,255,.08);font-size:clamp(16px,1.25vw,18px);line-height:1.32;letter-spacing:-.012em;color:#F3F5F0}
.vs-cat__g .ico{flex:none;width:22px;height:22px;color:#CFEFB4}
.vs-cat .cta{margin-top:clamp(20px,2.4vw,30px);justify-content:center}
@media(max-width:720px){.vs-cat__g{grid-template-columns:minmax(0,1fr)}.vs-cat .cta,.vs-cat .cta .btn{width:100%}.vs-price{font-size:clamp(50px,15.6vw,84px)}}

/* see everything */
.vs-cmp{margin-top:clamp(16px,1.6vw,22px);border-radius:var(--r3);background:var(--glass);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:inset 0 0 0 1px var(--edge),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden;transition:box-shadow .25s}
.vs-cmp:hover,.vs-cmp[open]{box-shadow:inset 0 0 0 1px rgba(243,245,240,.3),inset 0 1px 0 rgba(255,255,255,.1)}
.vs-cmp summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,1.6vw,20px);padding:clamp(14px,1.8vw,22px) clamp(14px,2.2vw,28px)}
.vs-cmp summary::-webkit-details-marker{display:none}
.vs-cmp .orb{width:52px;height:52px;border-radius:16px}.vs-cmp .orb .ico{width:24px;height:24px}
.vs-cmp__t{display:block;min-width:0}
.vs-cmp__t b{display:block;font-size:clamp(20px,1.9vw,26px);line-height:1.18;letter-spacing:-.026em;font-weight:500;color:#fff;padding-bottom:.06em}
.vs-cmp__t small{display:block;margin-top:2px;font-size:15px;line-height:1.35;color:var(--soft)}
.vs-cmp__p{position:relative;display:block;width:44px;height:44px;border-radius:50%;background:var(--chalk);box-shadow:0 8px 30px -10px rgba(243,245,240,.5);transition:transform .25s}
.vs-cmp__p:before,.vs-cmp__p:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;margin:-1px 0 0 -8px;border-radius:2px;background:var(--ink)}
.vs-cmp__p:after{transform:rotate(90deg);transition:transform .25s}
.vs-cmp[open] .vs-cmp__p:after{transform:rotate(0)}
.vs-cmp .cmp-wrap{margin:0;background:none;padding:0 clamp(10px,2vw,24px) clamp(14px,2vw,24px);border-radius:0}
.vs-cmp .cmp thead th{font-size:clamp(17px,1.5vw,20px);color:#fff}
.vs-cmp .cmp .col-pro{background:rgba(130,255,31,.06)}
.vs-cmp .cmp .y:before{border-color:#BDF58F}
@media(max-width:720px){
  .vs-cmp .cmp-wrap{overflow:visible;padding:0 10px 12px}
  .vs-cmp .cmp{table-layout:fixed;width:100%;min-width:0;font-size:14px;line-height:1.28}
  .vs-cmp .cmp thead{display:table-header-group}
  .vs-cmp .cmp thead th{padding:10px 3px 12px;font-size:13px;font-weight:600;line-height:1.25;width:21%}
  .vs-cmp .cmp thead th:first-child{width:37%}
  .vs-cmp .cmp tbody th{width:37%;padding:12px 8px 12px 2px;overflow-wrap:break-word}
  .vs-cmp .cmp td{width:21%;white-space:normal;text-align:center;padding:12px 3px}
  .vs-cmp .cmp .g th{width:auto}
  .vs-cmp .cmp .col-pro{background:rgba(130,255,31,.06)}
}

/* how it works */
.vs-flow{list-style:none;margin:clamp(26px,3.4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1vw,14px);counter-reset:none}
.vs-flow li{position:relative;display:grid;justify-items:center;align-content:start;text-align:center;gap:6px;min-width:0;padding:clamp(20px,1.9vw,28px) clamp(12px,1.2vw,18px);border-radius:var(--r3);background:var(--glass);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:inset 0 0 0 1px var(--edge),inset 0 1px 0 rgba(255,255,255,.1)}
.vs-flow .orb{width:52px;height:52px;border-radius:16px;margin-bottom:6px}
.vs-flow .orb b{font-family:Geist,Manrope,sans-serif;font-weight:500;font-size:22px;line-height:1;color:#EFFFE0}
.vs-flow h3{font-size:clamp(20px,1.6vw,23px);line-height:1.16;letter-spacing:-.028em;padding-bottom:.06em;text-wrap:balance}
.vs-flow p{font-size:16px;line-height:1.36;color:#D4D9CF;text-wrap:balance}
@media(max-width:1000px){.vs-flow{grid-template-columns:minmax(0,1fr)}.vs-flow li{grid-template-columns:auto minmax(0,1fr);justify-items:start;text-align:left;column-gap:14px;padding:16px}.vs-flow .orb{grid-row:1/3;margin:0}.vs-flow h3,.vs-flow p{grid-column:2}}

/* mid page band on service pages */
.aband .cta{justify-content:center}
.vs-pc{gap:12px;padding:clamp(40px,5vw,72px) clamp(18px,4vw,64px)!important;box-shadow:0 50px 120px -50px rgba(142,111,192,.7)}
.vs-pc .lk{font-size:clamp(22px,2.2vw,30px);margin-bottom:4px}
.vs-pc .h2{text-wrap:balance}
.vs-pc .lead{max-width:30em;text-wrap:balance;color:#fff}
.vs-pc .cta{justify-content:center;margin-top:10px}
@media(max-width:720px){.aband .cta,.vs-pc .cta{display:grid;width:100%;max-width:340px;margin-inline:auto}.aband .cta .btn,.vs-pc .cta .btn{width:100%}}

/* contact */
.vc.final{min-height:0;padding-block:clamp(104px,14svh,160px) clamp(64px,8vw,110px);align-items:start}
.vc .ct{width:min(1120px,100%)}
.vc .h1{font-size:clamp(58px,min(10vw,17svh),148px);line-height:1.04;padding-bottom:.1em;max-width:none}
.vc .lead{max-width:30em;text-wrap:balance}
.vz-closeform.vc-form{width:min(860px,100%);margin-top:clamp(20px,2.6vw,34px);padding:clamp(20px,3.6vw,48px)}
.vc-form .vz-closeform__t{font-size:clamp(28px,3vw,42px)}
.vc-form input:not(.hp),.vc-form textarea{font-size:clamp(17px,1.4vw,20px)}
.vc-form input:not(.hp){min-height:clamp(58px,5vw,68px);padding-inline:26px}
.vc-form textarea{min-height:clamp(140px,14vw,190px);padding:18px 26px}
.vc-form .btn{min-height:clamp(62px,5.4vw,74px);font-size:clamp(19px,1.6vw,22px)}
.vc-reply{margin:12px 0 0;font-size:15px;line-height:1.4;color:var(--soft);text-wrap:balance}
.vc-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1vw,14px);width:100%;margin-top:clamp(16px,1.8vw,24px)}
.vc-card{display:grid;justify-items:center;align-content:start;gap:4px;min-width:0;padding:clamp(20px,2vw,28px) clamp(12px,1.2vw,18px);text-align:center;border-radius:var(--r3);background:var(--glass);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:inset 0 0 0 1px var(--edge),inset 0 1px 0 rgba(255,255,255,.1);color:var(--chalk);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.vc-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(243,245,240,.34),inset 0 1px 0 rgba(255,255,255,.14),0 30px 80px -40px rgba(130,255,31,.35)}
.vc-card .orb{width:52px;height:52px;border-radius:16px;margin-bottom:8px}.vc-card .orb .ico{width:24px;height:24px}
.vc-card b{display:block;font-size:clamp(20px,1.6vw,23px);line-height:1.16;letter-spacing:-.028em;font-weight:500;color:#fff;padding-bottom:.06em}
.vc-card span.t{display:block;font-size:15px;line-height:1.35;color:#D4D9CF;overflow-wrap:anywhere}
.vc-cards .cl-cal{grid-column:1/-1;margin-top:0}
@media(max-width:860px){.vc-cards{grid-template-columns:minmax(0,1fr)}.vc-card{grid-template-columns:auto minmax(0,1fr);justify-items:start;text-align:left;column-gap:14px;padding:14px 16px}.vc-card .orb{grid-row:1/3;margin:0}.vc-card b,.vc-card span.t{grid-column:2}}

/* the choice dialog: Vizura green, lime button. Portal variant: aurora, white button */
#vzch{margin:auto;padding:0;border:0;background:none;color:#F3F5F0;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border-radius:24px;font-family:inherit}
#vzch::backdrop{background:rgba(5,6,5,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
#vzch .vch-c{position:relative;padding:clamp(22px,4.6vw,34px);border:1px solid transparent;border-radius:24px;background:radial-gradient(110% 62% at 8% -8%,rgba(120,220,60,.26),rgba(120,220,60,0) 62%) padding-box,radial-gradient(90% 50% at 100% 108%,rgba(111,181,156,.22),rgba(111,181,156,0) 62%) padding-box,linear-gradient(#111311,#111311) padding-box,linear-gradient(120deg,rgba(190,255,130,.6),rgba(243,245,240,.16) 50%,rgba(190,255,130,.32)) border-box;box-shadow:0 40px 120px -40px rgba(130,255,31,.35)}
#vzch.is-portal .vch-c{background:radial-gradient(110% 62% at 8% -8%,rgba(142,111,192,.4),rgba(142,111,192,0) 62%) padding-box,radial-gradient(90% 50% at 100% 108%,rgba(111,181,156,.3),rgba(111,181,156,0) 62%) padding-box,linear-gradient(#111311,#111311) padding-box,linear-gradient(120deg,rgba(159,185,220,.7),rgba(164,220,196,.2) 50%,rgba(203,182,236,.6)) border-box;box-shadow:0 40px 120px -40px rgba(142,111,192,.6)}
#vzch .vch-l{display:block;height:22px;width:auto;margin:0 0 clamp(18px,3.4vw,24px)}
#vzch h2{margin:0;padding:0 44px .08em 0;font-size:clamp(27px,5vw,34px);line-height:1.16;letter-spacing:-.035em;font-weight:500;color:#fff;text-wrap:balance}
#vzch .vch-b h2{padding-right:44px}
#vzch .vch-s{margin:8px 0 18px;font-size:16px;line-height:1.4;color:#D4D9CF}
#vzch .vch-x{position:absolute;top:clamp(14px,3vw,22px);right:clamp(14px,3vw,22px);width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(243,245,240,.08);color:#F3F5F0;cursor:pointer}
#vzch .vch-x:hover{background:rgba(243,245,240,.16)}
#vzch .vch-x svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}
#vzch form{display:grid;gap:10px;margin:0}
#vzch input:not(.vch-hp){display:block;width:100%;box-sizing:border-box;min-height:56px;padding:14px 22px;border:1px solid rgba(243,245,240,.3);border-radius:999px;background:rgba(11,12,11,.72);color:#fff;font:500 17px/1.35 Manrope,system-ui,sans-serif;outline:0;transition:border-color .15s}
#vzch input:not(.vch-hp):focus{border-color:#F3F5F0}
#vzch input::placeholder{color:#9A9F97;opacity:1}
#vzch .vch-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
#vzch .vch-go{width:100%;min-height:56px;margin-top:2px}
#vzch .vch-go:disabled{opacity:.6;cursor:default}
#vzch .vch-n{margin:0;font-size:14px;line-height:1.35;color:#FFB4A8}
#vzch .vch-n:empty{display:none}
#vzch .vch-f{margin:14px 0 0;font-size:14px;line-height:1.35;color:#C3C8BE;text-align:center}
#vzch a{color:#fff;text-decoration:underline;text-underline-offset:3px}
#vzch [hidden]{display:none}

/* tuning */
.vs-doors .dt ul{flex:0 0 auto;margin-bottom:0}
.vs-days{margin:auto 0 14px;padding-top:14px}
.vs-doors .btn{margin-top:0}
.vs-cat>canvas{opacity:.42}
.aband .cta{margin-top:clamp(16px,2vw,24px)}
.faq.narrow{padding-inline:var(--gut)}
.vz-closeform:has(.vz-closeform__ok:not([hidden]))>.vc-reply{display:none}
/* numbered step cards in a row are one height */
.acards.num{align-items:stretch}
