@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/Rubik-hebrew-400-800.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Rubik';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(fonts/Rubik-latin-400-800.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Sans Hebrew';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/NotoSansHebrew-hebrew-400-700.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
@font-face {
  font-family: 'Noto Sans Hebrew';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/NotoSansHebrew-latin-400-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/IBMPlexMono-latin-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ash:#0F1011;--gr:#171A1C;--gr2:#212528;--line:#2E3236;--bone:#ECE9E2;--bone2:#DCD8CE;--mute:#B3B7BA;--steel:#8FA6B8;--steel-d:#4D6577;--rail:232px;--ease:cubic-bezier(.77,0,.175,1);--out:cubic-bezier(.16,1,.3,1);--vt-dur:.8s;--ox:50%;--oy:50%}
@view-transition{navigation:auto}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:400 1.0625rem/1.75 'Noto Sans Hebrew',system-ui,sans-serif;background:var(--ash);color:var(--bone);min-height:100vh;overflow-x:clip}
h1,h2,h3{font-family:'Rubik',sans-serif;font-weight:700;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2.5rem,6vw,5.2rem)}h2{font-size:clamp(1.9rem,3.6vw,3rem)}h3{font-size:1.45rem;letter-spacing:-.01em}
p{max-width:60ch;text-wrap:pretty}
a{color:inherit}
ul,ol{list-style:none;padding:0}
:focus-visible{outline:3px solid var(--steel);outline-offset:3px;border-radius:4px}
.light :focus-visible{outline-color:var(--ash)}
.skip{position:absolute;inset-inline-start:1rem;top:-5rem;background:var(--bone);color:var(--ash);padding:.7rem 1rem;z-index:200;font-weight:700}
.skip:focus{top:1rem}
.mono{font-family:'IBM Plex Mono',monospace;font-weight:500;letter-spacing:.02em}
/* rail */
.rail{position:fixed;inset-block:0;inset-inline-start:0;width:var(--rail);background:var(--gr);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;padding:1.6rem 1.4rem;z-index:80;view-transition-name:rail}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;font:700 1.45rem/1 'Rubik';letter-spacing:-.02em}
.brand small{display:block;font:400 1rem/1.3 'Noto Sans Hebrew';color:var(--mute);margin-top:.3rem;letter-spacing:0}
.rail nav{margin-top:3rem}
.rail nav a{display:flex;gap:.9rem;align-items:baseline;padding:.65rem 0;border-top:1px solid var(--line);text-decoration:none;font-weight:600;min-height:48px;transition:color .25s,padding .35s var(--out)}
.rail nav li:last-child a{border-bottom:1px solid var(--line)}
.rail nav .n{font-size:1rem;color:var(--steel)}
.rail nav a:hover{padding-inline-start:.5rem;color:var(--steel)}
.rail nav a[aria-current=page]{color:var(--ash);background:var(--bone);margin-inline:-.7rem;padding-inline:.7rem;border-color:var(--bone)}
.rail nav a[aria-current=page] .n{color:var(--steel-d)}
.rail .rail-cta{margin-top:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;background:var(--bone);color:var(--ash);border:2px solid var(--bone);padding:.85rem 1.5rem;font:700 1.0625rem/1.3 'Rubik';text-decoration:none;cursor:pointer;min-height:50px;transition:background .25s,color .25s,transform .35s var(--out),gap .35s var(--out)}
.btn:hover{background:var(--steel);border-color:var(--steel);gap:1.1rem}
.btn.ghost{background:transparent;color:var(--bone)}
.btn.ghost:hover{background:var(--bone);color:var(--ash);border-color:var(--bone)}
.light .btn{background:var(--ash);color:var(--bone);border-color:var(--ash)}
.light .btn:hover{background:var(--steel-d);border-color:var(--steel-d)}
.rail .btn{width:100%}
.menu-btn{display:none}
@media(max-width:1000px){
 :root{--rail:0px}
 .rail{inset-block:0 auto;inset-inline:0;width:auto;height:68px;flex-direction:row;align-items:center;padding:0 1rem;border-inline-end:0;border-bottom:1px solid var(--line)}
 .brand small{display:none}
 .menu-btn{display:grid;place-items:center;margin-inline-start:auto;width:48px;height:48px;background:none;border:2px solid var(--bone);color:var(--bone);cursor:pointer}
 .menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;width:22px;height:2px;background:currentColor;position:relative;transition:transform .35s var(--out),background .2s}
 .menu-btn span:before,.menu-btn span:after{content:"";position:absolute;inset-inline-start:0}
 .menu-btn span:before{top:-7px}.menu-btn span:after{top:7px}
 .menu-btn[aria-expanded=true] span{background:transparent}
 .menu-btn[aria-expanded=true] span:before{transform:translateY(7px) rotate(45deg)}
 .menu-btn[aria-expanded=true] span:after{transform:translateY(-7px) rotate(-45deg)}
 .rail nav{position:fixed;inset:68px 0 0 0;background:var(--gr);margin:0;padding:1rem 1.2rem 2rem;display:none;flex-direction:column;overflow:auto}
 .rail nav.open{display:flex;animation:menuin .45s var(--out)}
 .rail nav a{font:700 1.8rem/1.2 'Rubik';padding:1rem 0;min-height:64px}
 .rail nav li{overflow:hidden}
 .rail nav.open li a{animation:linkin .6s var(--out) both;animation-delay:calc(var(--i)*60ms)}
 .rail .rail-cta{display:none}
 .rail nav .mcta{display:block;margin-top:1.6rem}
}
@keyframes menuin{from{clip-path:inset(0 0 100% 0)}}
@keyframes linkin{from{transform:translateY(100%)}}
.rail nav .mcta{display:none}
main,.foot,.demo{margin-inline-start:var(--rail)}
main{padding-top:0}
@media(max-width:1000px){main,.foot,.demo{margin-inline-start:0}main{padding-top:68px}}
.demo{background:var(--steel);color:var(--ash);font-size:1rem;padding:.4rem 1.2rem;font-weight:600;line-height:1.4}
@media(max-width:1000px){.demo{margin-top:68px}main{padding-top:0}}
.wrap{width:min(1120px,100% - 3rem);margin-inline:auto}
section{padding:clamp(3.5rem,8vw,7rem) 0}
.label{display:flex;align-items:center;gap:.8rem;color:var(--steel);font-size:1rem;margin-bottom:1.4rem}
.label:after{content:"";width:60px;height:1px;background:var(--steel-d)}
.light{background:var(--bone);color:var(--ash)}
.light .label{color:var(--steel-d)}.light .label:after{background:var(--steel-d)}
.light p{color:#26292b}
/* hero */
.hero{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2rem,5vw,4rem);overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.hero h1 span{color:var(--steel)}
.hero p.lead{font-size:1.25rem;color:var(--mute);margin:1.6rem 0 2.2rem}
.cta-row{display:flex;gap:.9rem;flex-wrap:wrap}
.stage{position:relative;height:clamp(340px,42vw,540px);perspective:1400px;display:grid;place-items:center}
.scene{position:relative;width:0;height:0;transform-style:preserve-3d;transform:translateY(120px) rotateX(-24deg) rotateY(-36deg);transition:transform .25s ease-out}
.bx{position:absolute;transform-style:preserve-3d;transform:translate3d(var(--x),calc(var(--h)/-2),var(--z))}
.bx .in{position:absolute;inset:0;transform-style:preserve-3d;animation:grow 1.5s var(--out) both;animation-delay:calc(var(--k)*140ms + 350ms)}
@keyframes grow{from{transform:translateY(calc(var(--h)*.9)) scaleY(.1)}to{transform:none}}
.f{position:absolute;left:50%;top:50%;backface-visibility:hidden}
.f.fr{width:var(--w);height:var(--h);transform:translate(-50%,-50%) translateZ(calc(var(--d)/2));background-color:var(--c1)}
.f.bk{width:var(--w);height:var(--h);transform:translate(-50%,-50%) rotateY(180deg) translateZ(calc(var(--d)/2));background-color:var(--c1)}
.f.rt{width:var(--d);height:var(--h);transform:translate(-50%,-50%) rotateY(90deg) translateZ(calc(var(--w)/2));background-color:var(--c2)}
.f.lf{width:var(--d);height:var(--h);transform:translate(-50%,-50%) rotateY(-90deg) translateZ(calc(var(--w)/2));background-color:var(--c3)}
.f.tp{width:var(--w);height:var(--d);transform:translate(-50%,-50%) rotateX(90deg) translateZ(calc(var(--h)/2));background-color:var(--c4)}
.f.fr,.f.bk,.f.rt,.f.lf{background-image:repeating-linear-gradient(0deg,transparent 0 16px,#0f101155 16px 19px),repeating-linear-gradient(90deg,transparent 0 22px,#0f101133 22px 24px)}
.slab .f{background-image:none}
@media(max-width:1000px){.hero .grid{grid-template-columns:1fr}.stage{height:380px}.scene{transform:translateY(100px) scale(.78) rotateX(-24deg) rotateY(-36deg)}}
/* index list */
.rows{border-top:1px solid var(--line);margin-top:2.4rem}
.row{display:grid;grid-template-columns:80px 1fr 1.2fr 48px;gap:1.5rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid var(--line);text-decoration:none;position:relative;overflow:hidden;transition:padding .45s var(--out),color .3s}
.row:before{content:"";position:absolute;inset:0;background:var(--bone);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--out);z-index:-1}
.row{z-index:0;isolation:isolate}
.row:hover,.row:focus-visible{color:var(--ash);padding-inline:1.2rem}
.row:hover:before,.row:focus-visible:before{transform:none}
.row .n{color:var(--steel)}
.row:hover .n{color:var(--steel-d)}
.row h3{font-size:clamp(1.4rem,2.6vw,2.1rem)}
.row p{color:var(--mute);font-size:1rem}
.row:hover p{color:#26292b}
.row .arr{font-size:1.6rem;text-align:center}
@media(max-width:800px){.row{grid-template-columns:48px 1fr 32px}.row p{grid-column:2/3}.row .arr{grid-row:1;grid-column:3}}
/* checklist tool */
.tool{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;margin-top:2.4rem;align-items:start}
.tool>*{min-width:0}
.seg{display:grid;gap:0;border:2px solid var(--ash)}
.seg button{background:transparent;border:0;border-bottom:2px solid var(--ash);padding:1rem 1.2rem;font:700 1.25rem 'Rubik';text-align:start;cursor:pointer;color:var(--ash);min-height:60px;transition:background .3s,color .3s,padding .35s var(--out)}
.seg button:last-child{border-bottom:0}
.seg button:hover{padding-inline-start:1.8rem}
.seg button[aria-pressed=true]{background:var(--ash);color:var(--bone)}
.cl{background:#fff;border:2px solid var(--ash);padding:1.6rem}
.cl h3{margin-bottom:1rem}
.cl li{border-top:1px solid #cfcbc1}
.cl label{display:flex;gap:1rem;align-items:flex-start;padding:.9rem 0;cursor:pointer;min-height:56px}
.cl input{width:26px;height:26px;flex:none;accent-color:var(--ash);margin-top:.2rem}
.cl label span b{display:block;font-family:'Rubik';font-weight:600}
.cl label span{color:#26292b}
.cl li.done label span{text-decoration:line-through;text-decoration-color:var(--steel-d);color:#4a4f52}
.meter{height:10px;background:#d6d2c7;margin:1rem 0 .4rem;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--ash);transition:width .6s var(--out)}
.tiny{font-size:1rem;color:#33383a}
@media(max-width:900px){.tool{grid-template-columns:1fr}}
.quote{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:start}
.quote .big{font:700 7rem/0.8 'Rubik';color:var(--steel-d)}
.quote blockquote{font:500 clamp(1.5rem,3vw,2.3rem)/1.4 'Rubik';letter-spacing:-.01em;max-width:30ch}
.quote cite{display:block;margin-top:1.2rem;font:400 1rem 'Noto Sans Hebrew';color:var(--mute);font-style:normal}
.cta-end{text-align:start}
.cta-end h2{max-width:16ch;margin-bottom:1.6rem}
/* page head */
.phead{padding:clamp(3rem,7vw,6rem) 0 2rem}
.phead p{font-size:1.25rem;color:var(--mute);margin-top:1.4rem}
/* services stack */
.stack{display:grid;gap:1.2rem;margin-top:2rem}
.pan{position:sticky;top:calc(var(--t)*1rem + 5rem);background:var(--gr);border:1px solid var(--line);padding:clamp(1.4rem,3vw,2.4rem);display:grid;grid-template-columns:90px 1fr 1fr;gap:1.6rem;transition:background .3s}
.pan:nth-child(even){background:var(--gr2)}
.pan .n{color:var(--steel);font-size:1.3rem}
.pan h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:.7rem}
.pan p{color:var(--mute)}
.pan h3{font:600 1rem 'Noto Sans Hebrew';color:var(--steel);margin-bottom:.5rem}
.pan ul li{padding:.4rem 0;border-top:1px solid var(--line);color:var(--bone)}
.pan .time{margin-top:1rem;color:var(--steel)}
@media(max-width:900px){.pan{position:static;grid-template-columns:1fr}}
/* process tabs */
.tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--line);margin-top:2rem}
.tabs button{background:var(--gr);border:0;border-inline-end:1px solid var(--line);color:var(--mute);padding:1rem .6rem;font:600 1.05rem 'Rubik';cursor:pointer;min-height:76px;display:flex;flex-direction:column;gap:.2rem;align-items:center;position:relative;transition:background .3s,color .3s}
.tabs button:last-child{border-inline-end:0}
.tabs button .mono{color:var(--steel);font-size:1rem}
.tabs button:hover{background:var(--gr2);color:var(--bone)}
.tabs button[aria-selected=true]{background:var(--bone);color:var(--ash)}
.tabs button[aria-selected=true] .mono{color:var(--steel-d)}
.panel{border:1px solid var(--line);border-top:0;padding:clamp(1.6rem,4vw,3rem);display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;min-height:340px;background:var(--gr)}
.panel[hidden]{display:none}
.panel.go{animation:panin .6s var(--out)}
@keyframes panin{from{opacity:0;transform:translateX(-40px)}}
.panel h2{font-size:clamp(1.8rem,3.4vw,2.8rem);margin-bottom:1rem}
.panel p{color:var(--mute)}
.panel h3{font:600 1rem 'Noto Sans Hebrew';color:var(--steel);margin:0 0 .6rem}
.panel li{padding:.55rem 0;border-top:1px solid var(--line)}
.panel .dur{display:inline-block;border:1px solid var(--steel-d);color:var(--steel);padding:.2rem .8rem;margin-bottom:1rem}
.track{height:4px;background:var(--line);margin-top:1.2rem}
.track i{display:block;height:100%;background:var(--steel);width:0;transition:width .6s var(--out)}
.pn{display:flex;gap:.8rem;margin-top:1.4rem;flex-wrap:wrap}
@media(max-width:900px){.tabs{grid-template-columns:repeat(3,1fr)}.tabs button{border-bottom:1px solid var(--line)}.panel{grid-template-columns:1fr}}
/* firm */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ash);margin-top:2rem}
.cols>div{padding:1.6rem 1.4rem 1.6rem 0;border-inline-end:1px solid #bdb9ae;padding-inline-start:1.4rem}
.cols>div:first-child{padding-inline-start:0}
.cols>div:last-child{border:0}
.cols h3{margin-bottom:.6rem}
@media(max-width:800px){.cols{grid-template-columns:1fr}.cols>div{border:0;border-bottom:1px solid #bdb9ae;padding-inline:0}}
.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.2rem}
.pt{border:1px solid var(--line);background:var(--gr)}
.pt .sq{aspect-ratio:4/3;display:grid;place-items:center;font:700 3.4rem 'Rubik';background:var(--gr2);color:var(--steel);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.pt:nth-child(2) .sq{background:var(--bone);color:var(--ash)}
.pt:nth-child(3) .sq{background:var(--steel);color:var(--ash)}
.pt .tx{padding:1.3rem}
.pt h3{font-size:1.3rem}.pt .r{color:var(--steel);margin-bottom:.5rem}
.pt p{color:var(--mute);font-size:1rem}
@media(max-width:900px){.partners{grid-template-columns:1fr}}
.js [data-r]{opacity:0;transform:translateY(34px);transition:opacity .8s var(--out),transform .9s var(--out);transition-delay:calc(var(--i,0)*90ms)}
.js [data-r].in{opacity:1;transform:none}
/* contact */
.book{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:start}
.book>*{min-width:0}
@media(max-width:900px){.book{grid-template-columns:minmax(0,1fr)}}
form fieldset{min-width:0;border:0;padding:0;margin:0 0 2rem}
legend{font:700 1.4rem 'Rubik';margin-bottom:1rem;padding:0}
.fld{display:grid;gap:.4rem;margin-bottom:1.1rem}
.fld label{font-weight:700}
.fld input,.fld select,.fld textarea{font:400 1.125rem 'Noto Sans Hebrew';padding:.8rem 1rem;border:2px solid var(--line);background:var(--gr);color:var(--bone);min-height:54px;width:100%;border-radius:0;appearance:none}
.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--steel) 50%),linear-gradient(135deg,var(--steel) 50%,transparent 50%);background-position:18px 24px,24px 24px;background-size:6px 6px;background-repeat:no-repeat;padding-inline-start:2.6rem}
.fld textarea{min-height:130px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:3px solid var(--steel);outline-offset:1px;border-color:var(--steel)}
.fld [aria-invalid=true]{border-color:#ff9d8a}
.err{color:#ffb4a5;font-weight:600;min-height:1.4em;font-size:1rem}
.sg{display:flex;flex-wrap:wrap;gap:0;border:2px solid var(--line)}
.sg label{flex:1 1 auto;position:relative}
.sg input{position:absolute;opacity:0;pointer-events:none}
.sg span{display:grid;place-items:center;padding:.7rem 1.1rem;min-height:54px;cursor:pointer;font-weight:600;border-inline-end:2px solid var(--line);transition:background .25s,color .25s;text-align:center}
.sg label:last-child span{border:0}
.sg input:checked+span{background:var(--bone);color:var(--ash)}
.sg input:focus-visible+span{outline:3px solid var(--steel);outline-offset:-4px}
.sg span:hover{background:var(--gr2)}
.sg input:checked+span:hover{background:var(--bone)}
.fieldrow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:560px){.fieldrow{grid-template-columns:1fr}}
.check{display:flex;gap:.8rem;align-items:flex-start;margin:.4rem 0 1rem}
.check input{width:24px;height:24px;margin-top:.25rem;accent-color:var(--steel);flex:none}
.side{border:1px solid var(--line);background:var(--gr);padding:1.8rem;position:sticky;top:2rem}
.side h2{font-size:1.6rem;margin-bottom:1rem}
.side li{padding:.7rem 0;border-top:1px solid var(--line)}
.side dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0 0 1.2rem}
.side dt{color:var(--steel)}.side dd{margin:0;font-weight:600}
.done{display:none;border:2px solid var(--steel);padding:2rem;background:var(--gr)}
.done.show{display:block;animation:panin .6s var(--out)}
.done h2{margin-bottom:.8rem}
.done dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;margin:1.2rem 0}
.done dt{color:var(--steel);font-weight:700}.done dd{margin:0}
/* footer */
.foot{background:var(--gr);border-top:1px solid var(--line);padding:3rem 0 2rem}
.foot .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.foot h2{font:600 1rem 'Noto Sans Hebrew';color:var(--steel);margin-bottom:.7rem;letter-spacing:0}
.foot li{padding:.15rem 0}
.foot .small{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--mute)}
.credit a{color:var(--bone);font-weight:700;text-decoration:underline;text-decoration-color:var(--steel);text-underline-offset:4px}
.credit a:hover{text-decoration-color:var(--bone)}
@media(max-width:800px){.foot .fgrid{grid-template-columns:1fr}}
/* transitions */
::view-transition-group(rail){animation-duration:0s}
::view-transition-old(rail){display:none}
::view-transition-group(vt-hero){z-index:60;animation-duration:.7s;animation-timing-function:var(--ease)}
::view-transition-old(vt-hero){animation:.25s ease-in both fo}
::view-transition-new(vt-hero){animation:.4s ease-out .2s both fi}
@keyframes fo{to{opacity:0}}@keyframes fi{from{opacity:0}}
::view-transition-old(root),::view-transition-new(root){animation-duration:var(--vt-dur);animation-timing-function:var(--ease);mix-blend-mode:normal}
/* services: vertical blinds */
@property --s{syntax:'<percentage>';inherits:false;initial-value:12.5%}
:root:active-view-transition-type(vt-services):active-view-transition-type(vt-fwd)::view-transition-new(root){z-index:3;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 var(--s),transparent var(--s) 12.5%);mask-image:repeating-linear-gradient(90deg,#000 0 var(--s),transparent var(--s) 12.5%);animation:blinds var(--vt-dur) var(--ease) both}
:root:active-view-transition-type(vt-services):active-view-transition-type(vt-back)::view-transition-old(root){z-index:3;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 var(--s),transparent var(--s) 12.5%);mask-image:repeating-linear-gradient(90deg,#000 0 var(--s),transparent var(--s) 12.5%);animation:blinds var(--vt-dur) var(--ease) reverse both}
@keyframes blinds{from{--s:0%}to{--s:12.5%}}
/* process: diagonal blade */
:root:active-view-transition-type(vt-process):active-view-transition-type(vt-fwd)::view-transition-new(root){z-index:3;animation-name:blade-in}
:root:active-view-transition-type(vt-process):active-view-transition-type(vt-back)::view-transition-old(root){z-index:3;animation-name:blade-out}
@keyframes blade-in{from{clip-path:polygon(100% 0,100% 0,100% 0,100% 0)}to{clip-path:polygon(-60% 0,100% 0,100% 100%,-60% 100%)}}
@keyframes blade-out{from{clip-path:polygon(-60% 0,100% 0,100% 100%,-60% 100%)}to{clip-path:polygon(100% 0,100% 0,100% 0,100% 0)}}
/* firm: elevator */
:root:active-view-transition-type(vt-firm):active-view-transition-type(vt-fwd)::view-transition-old(root){z-index:1;animation-name:up-out}
:root:active-view-transition-type(vt-firm):active-view-transition-type(vt-fwd)::view-transition-new(root){z-index:3;animation-name:up-in}
:root:active-view-transition-type(vt-firm):active-view-transition-type(vt-back)::view-transition-old(root){z-index:3;animation-name:down-out}
:root:active-view-transition-type(vt-firm):active-view-transition-type(vt-back)::view-transition-new(root){z-index:1;animation-name:down-in}
@keyframes up-out{to{transform:translateY(-30%);opacity:.3}}
@keyframes up-in{from{transform:translateY(100%)}}
@keyframes down-out{to{transform:translateY(100%)}}
@keyframes down-in{from{transform:translateY(-30%);opacity:.3}}
/* contact: a door swinging open */
:root:active-view-transition-type(vt-contact){perspective:1600px}
:root:active-view-transition-type(vt-contact):active-view-transition-type(vt-fwd)::view-transition-old(root){z-index:3;transform-origin:100% 50%;animation-name:door-open;animation-fill-mode:both;backface-visibility:hidden}
:root:active-view-transition-type(vt-contact):active-view-transition-type(vt-fwd)::view-transition-new(root){z-index:1;animation-name:behind-in}
:root:active-view-transition-type(vt-contact):active-view-transition-type(vt-back)::view-transition-new(root){z-index:3;transform-origin:100% 50%;animation-name:door-close}
:root:active-view-transition-type(vt-contact):active-view-transition-type(vt-back)::view-transition-old(root){z-index:1;animation-name:behind-out}
@keyframes door-open{to{transform:rotateY(-100deg);opacity:0}}
@keyframes behind-in{from{transform:scale(.92);opacity:.4}}
@keyframes door-close{from{transform:rotateY(-100deg);opacity:0}}
@keyframes behind-out{to{transform:scale(.92);opacity:.4}}
@media (prefers-reduced-motion:reduce){
 *,*:before,*:after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
 .js [data-r]{opacity:1;transform:none}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

.light cite{color:#3a3f42!important}
