/* gitroots landing page v2 ("Ink & Paper"), from the Claude Design canvas "gitroots landing page v2" (desktop, tablet 834 and phone 390). */
html{scroll-behavior:smooth}
body{margin:0;background:#FAFAF9}
:root{--ease:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.65,0,.35,1)}
section[id]{scroll-margin-top:72px}
*{box-sizing:border-box}
a{color:#0C0D0F;text-decoration:none}a:hover{color:#3A3C42}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 32px}
.disp{font-family:'Inter Tight',Inter,system-ui,sans-serif;letter-spacing:-0.035em;font-weight:600;margin:0;text-wrap:balance}
.mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace}
.eyebrow{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#62656C;display:flex;align-items:center;gap:10px}
.eyebrow i{display:block;width:6px;height:6px;background:#0C0D0F;border-radius:1px}
.lead{font-size:18px;line-height:1.6;color:#4A4D54;margin:0;text-wrap:pretty}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:9px;font:500 15px/1 Inter,system-ui,sans-serif;transition:background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.btn-ink:hover,.btn-white:hover{transform:translateY(-1px);box-shadow:0 10px 24px -12px rgba(12,13,15,.45)}
.btn:active{transform:translateY(1px)}
.btn-ink{background:#0C0D0F;color:#FFFFFF;border:1px solid #0C0D0F}.btn-ink:hover{background:#2A2C31;color:#FFFFFF}
.btn-line{background:#FFFFFF;color:#0C0D0F;border:1px solid #D4D4D0}.btn-line:hover{border-color:#0C0D0F;color:#0C0D0F}
.btn-white{background:#FFFFFF;color:#0C0D0F;border:1px solid #FFFFFF}.btn-white:hover{background:#E4E5E8;color:#0C0D0F}
.btn-ghostd{background:transparent;color:#EDEEF0;border:1px solid #3A3D44}.btn-ghostd:hover{border-color:#EDEEF0;color:#FFFFFF}
.btn svg{display:block;flex:none;margin-right:-2px;transition:transform .45s var(--ease)}.btn:hover svg{transform:translateX(3px)}
.navlink{font-size:15px;color:#3A3C42;padding:10px 4px;position:relative}.navlink:hover{color:#0C0D0F}
.navlink:after{content:"";position:absolute;left:4px;right:4px;bottom:4px;height:1px;background:#0C0D0F;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.navlink:hover:after{transform:scaleX(1);transform-origin:left}
.hero-bg{background-image:radial-gradient(#0C0D0F17 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 80%)}

/* entrance */
@keyframes up{from{opacity:0;transform:translateY(28px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes rise{from{opacity:0;transform:translateY(60px) scale(.97)}to{opacity:1;transform:none}}
@keyframes phoneIn{from{opacity:0;transform:translateY(80px) rotate(4deg)}to{opacity:1;transform:rotate(0)}}
.in1{animation:up .8s var(--ease) .05s both}
.in2{animation:up .8s var(--ease) .15s both}
.in3{animation:up .8s var(--ease) .25s both}
.in4{animation:up .8s var(--ease) .35s both}
.in5{animation:rise 1.4s var(--ease) .45s both}
.in6{animation:phoneIn 1.4s var(--ease) .9s both}

/* scroll reveal */
@supports (animation-timeline: view()){
.rv,.rv2,.rv3{animation:up var(--ease) both;animation-timeline:view()}
.rv{animation-range:entry 0% cover 28%}
.rv2{animation-range:entry 8% cover 34%}
.rv3{animation-range:entry 16% cover 40%}
/* The closing call to action sits near the end of the page, where "cover 28%" is never reached; finish it once it is fully on screen. */
.rv-end{animation-range:entry 0% entry 100%}
.hdr{animation:hdr linear both;animation-timeline:scroll(root);animation-range:0 220px}
.hdrin{animation:hdrin linear both;animation-timeline:scroll(root);animation-range:0 220px}
.hdrin .navlogo{animation:hdrlogo linear both;animation-timeline:scroll(root);animation-range:0 220px}
.tilt{transform-origin:50% 0;animation:tilt linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
.sprL{animation:sprL var(--ease) both;animation-timeline:view();animation-range:entry 0% cover 45%}
.sprR{animation:sprR var(--ease) both;animation-timeline:view();animation-range:entry 0% cover 45%}
.sprC{animation:sprC var(--ease) both;animation-timeline:view();animation-range:entry 0% cover 45%}
}
@supports not (animation-timeline: view()){
.rv,.rv2,.rv3{opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity 1s var(--ease),transform 1.2s var(--ease),filter 1s var(--ease)}
.rv2{transition-delay:.1s}.rv3{transition-delay:.2s}
.rv.vis,.rv2.vis,.rv3.vis{opacity:1;transform:none;filter:none}
}
@keyframes hdr{to{background:rgba(250,250,249,.94);box-shadow:0 10px 30px -22px rgba(12,13,15,.35)}}
@keyframes hdrin{to{height:68px}}
@keyframes hdrlogo{to{height:36px}}
@keyframes tilt{from{transform:perspective(1800px) rotateX(16deg) scale(.94);opacity:.55}to{transform:none;opacity:1}}
@keyframes sprL{from{transform:translateX(70%) scale(.9);opacity:0}to{transform:rotate(-4deg);opacity:1}}
@keyframes sprR{from{transform:translateX(-70%) scale(.9);opacity:0}to{transform:rotate(4deg);opacity:1}}
@keyframes sprC{from{transform:translateY(80px) scale(.94)}to{transform:none}}

/* browser frame + carousel */
.frame{background:#FFFFFF;border:1px solid #D4D4D0;border-radius:14px;overflow:hidden;box-shadow:0 1px 0 #FFFFFF inset,0 50px 100px -40px rgba(12,13,15,.35),0 18px 36px -18px rgba(12,13,15,.18)}
.fbar{display:flex;align-items:center;gap:14px;height:44px;padding:0 16px;border-bottom:1px solid #E6E6E3;background:#F6F6F4}
.dots{display:flex;gap:6px}.dots span{width:10px;height:10px;border-radius:50%;background:#D4D4D0}
.screen{position:relative;aspect-ratio:16/10;background:#FFFFFF;overflow:hidden}
.screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;opacity:0;transform:translateX(4%) scale(1.02);filter:blur(8px);transition:opacity .9s var(--ease),transform 1.3s var(--ease),filter .9s var(--ease);will-change:opacity,transform,filter}
.screen img.on{opacity:1;transform:none;filter:blur(0);z-index:2}
.screen img.out{opacity:0;transform:translateX(-4%) scale(.98);filter:blur(8px);z-index:1}
.ptabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ptab{position:relative;overflow:hidden;height:44px;padding:0 18px;border-radius:999px;border:1px solid #D4D4D0;background:#FFFFFF;font:500 14px/1 Inter,sans-serif;color:#4A4D54;cursor:pointer;transition:color .5s var(--ease),border-color .5s var(--ease),background .5s var(--ease),transform .5s var(--ease)}
.ptab.is-on{transform:scale(1.04)}
.ptab:hover{color:#0C0D0F;border-color:#0C0D0F}
.ptab.is-on{color:#FFFFFF;background:#0C0D0F;border-color:#0C0D0F}
.ptab .bar{position:absolute;left:0;bottom:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:#FFFFFF66}
.ptab.is-on .bar{animation:fill 5s linear forwards}
.paused .ptab.is-on .bar{animation-play-state:paused}
.still .ptab.is-on .bar{animation:none}
@keyframes fill{to{transform:scaleX(1)}}

/* phones */
.phone{background:#0E0F11;border-radius:46px;padding:9px;box-shadow:0 0 0 1px #2A2C31,0 40px 80px -30px rgba(12,13,15,.55),0 14px 28px -14px rgba(12,13,15,.35)}
.pscreen{position:relative;aspect-ratio:390/844;border-radius:38px;overflow:hidden;background:#030806}
.pscreen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translateY(5%) scale(1.03);filter:blur(6px);transition:opacity .9s var(--ease) .12s,transform 1.3s var(--ease) .12s,filter .9s var(--ease) .12s}
.pscreen img.on{opacity:1;transform:none;filter:blur(0);z-index:2}
.pscreen img.out{opacity:0;transform:translateY(-5%) scale(.98);filter:blur(6px);z-index:1}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.fl1{animation:floaty 8s var(--ease-io) infinite}
.fl2{animation:floaty 8s var(--ease-io) -2.3s infinite}
.fl3{animation:floaty 8s var(--ease-io) -4.6s infinite}

/* toasts */
.toast{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 14px;background:#FFFFFF;border:1px solid #E6E6E3;border-radius:12px;box-shadow:0 20px 40px -20px rgba(12,13,15,.35);font-size:13px;color:#0C0D0F;white-space:nowrap}
.toast b{display:block;width:8px;height:8px;border-radius:50%}
.toast small{display:block;font-size:12px;color:#62656C;margin-top:2px}

/* marquee */
.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq-track{display:flex;width:max-content;gap:56px;animation:mq 38s linear infinite}
.mq-track span{font:500 17px/1 'Inter Tight',Inter,sans-serif;letter-spacing:-.01em;color:#3A3C42;white-space:nowrap;display:flex;align-items:center;gap:56px}
.mq-track span:after{content:"";width:5px;height:5px;background:#BDBDB8;border-radius:1px}
@keyframes mq{to{transform:translateX(-50%)}}
.mq:hover .mq-track{animation-play-state:paused}

/* crops */
.crop{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:10px;border:1px solid #E6E6E3;background:#FFFFFF}
.crop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.8s var(--ease)}
.step:hover .crop img{transform:scale(var(--s2)) !important}

/* tables, pills */
.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:6px;font:500 12px/1 Inter,sans-serif;white-space:nowrap}
.pill-ok{background:#0C0D0F;color:#FFFFFF}
.pill-ro{background:#FFFFFF;color:#3A3C42;border:1px solid #D4D4D0}
.pill-no{background:#FEF3F2;color:#B42318;border:1px solid #FECDCA}
.pill-wait{background:#FFFAEB;color:#B54708;border:1px solid #FEDF89}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{font:500 11px/1 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#62656C;text-align:left;padding:14px 20px;border-bottom:1px solid #E6E6E3;background:#F6F6F4}
.tbl td{padding:15px 20px;border-bottom:1px solid #EDEDEA;vertical-align:middle;color:#3A3C42}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr{transition:background .15s}.tbl tbody tr:hover{background:#FAFAF9}
.av{width:32px;height:32px;border-radius:6px;background:#0C0D0F;color:#FFFFFF;display:flex;align-items:center;justify-content:center;font:500 11px/1 'IBM Plex Mono',monospace;flex:none}
.dev{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 12px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;font:inherit;color:#0C0D0F;transition:background .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease)}
.dev:hover{background:#F2F2F0}
.dev.is-on{background:#FFFFFF;border-color:#D4D4D0;box-shadow:0 1px 2px #0C0D0F14}
.dev:focus-visible,.ptab:focus-visible,.seg button:focus-visible,.btn:focus-visible{outline:2px solid #0C0D0F;outline-offset:2px}
.term div{opacity:0}
.tA div{animation:tl1 .6s var(--ease) forwards}.tB div{animation:tl2 .6s var(--ease) forwards}
.term div:nth-child(1){animation-delay:.05s}.term div:nth-child(2){animation-delay:.55s}.term div:nth-child(3){animation-delay:1.1s}.term div:nth-child(4){animation-delay:1.5s}
@keyframes tl1{from{opacity:0;transform:translateX(-8px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes tl2{from{opacity:0;transform:translateX(-8px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
.caret{display:inline-block;width:8px;height:15px;background:#EDEEF0;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.v-no{color:#F97066}.v-ok{color:#EDEEF0}
@keyframes swapA{from{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes swapB{from{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
.swA .sw{animation:swapA .7s var(--ease) both}.swB .sw{animation:swapB .7s var(--ease) both}
.swA tr:nth-child(2) .sw,.swB tr:nth-child(2) .sw{animation-delay:.06s}
.swA tr:nth-child(3) .sw,.swB tr:nth-child(3) .sw{animation-delay:.12s}
.swA tr:nth-child(4) .sw,.swB tr:nth-child(4) .sw{animation-delay:.18s}

/* cells */
.cell{background:#FFFFFF;padding:32px;display:flex;flex-direction:column;gap:14px;min-height:230px;transition:background .5s var(--ease)}
.cell:hover{background:#FCFCFB}
.cell h3{font:600 18px/1.3 'Inter Tight',Inter,sans-serif;letter-spacing:-0.02em;margin:0;color:#0C0D0F}
.cell p{margin:0;font-size:15px;line-height:1.6;color:#4A4D54}
.ico{width:42px;height:42px;border:1px solid #E6E6E3;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#0C0D0F;background:#FAFAF9;transition:transform .6s var(--ease),background .5s var(--ease),color .5s var(--ease)}
.cell:hover .ico{transform:translateY(-3px);background:#0C0D0F;color:#FFFFFF}

/* pricing */
.seg{display:inline-flex;padding:4px;border:1px solid #D4D4D0;border-radius:10px;background:#FFFFFF;gap:4px}
.seg button{height:40px;padding:0 16px;border:0;border-radius:7px;background:transparent;font:500 14px/1 Inter,sans-serif;color:#4A4D54;cursor:pointer;transition:background .5s var(--ease),color .5s var(--ease)}
.seg button.is-on{background:#0C0D0F;color:#FFFFFF}
.tier{background:#FFFFFF;border:1px solid #E6E6E3;border-radius:14px;padding:32px;display:flex;flex-direction:column;gap:24px;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.tier:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(12,13,15,.35)}
.tier.feat{background:#0E0F11;border-color:#0E0F11;color:#EDEEF0}
.tier .tname{font:600 20px/1.2 'Inter Tight',Inter,sans-serif;letter-spacing:-0.02em;margin:0}
.tier .ttag{font:500 11px/1 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#62656C}
.tier.feat .ttag{color:#9A9DA4}
.tier .amt{font:600 44px/1 'Inter Tight',Inter,sans-serif;letter-spacing:-0.04em;font-variant-numeric:tabular-nums}
.tier .sub{font-size:13px;color:#62656C}
.tier.feat .sub{color:#9A9DA4}
.tier ul{list-style:none;margin:0;padding:24px 0 0;border-top:1px solid #EDEDEA;display:flex;flex-direction:column;gap:12px}
.tier.feat ul{border-top-color:#26282D}
.tier li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:#3A3C42}
.tier.feat li{color:#C9CBD0}
.tier li.off{color:#9A9DA4}
.tier.feat li.off{color:#6B6E75}
.prov{background:#FFFFFF;border:1px solid #E6E6E3;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:6px;min-height:132px;transition:border-color .5s var(--ease),transform .6s var(--ease)}
.prov:hover{border-color:#0C0D0F;transform:translateY(-3px)}
.flink{font-size:14px;color:#4A4D54}.flink:hover{color:#0C0D0F}
.fhead{font:500 11px/1 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#8A8D94;margin:0 0 4px}
.ostep{position:relative;display:flex;gap:18px;width:100%;text-align:left;padding:20px 8px 20px 0;background:none;border:0;border-top:1px solid #E6E6E3;cursor:pointer;font:inherit;color:#62656C;transition:color .5s var(--ease)}
.ostep:last-child{border-bottom:1px solid #E6E6E3}
.ostep:hover{color:#0C0D0F}
.ostep:focus-visible{outline:2px solid #0C0D0F;outline-offset:2px}
.ostep .on-n{font:500 13px/1.5 'IBM Plex Mono',monospace;flex:none;width:28px;color:#8A8D94;transition:color .5s var(--ease)}
.ostep .ot{font:600 18px/1.35 'Inter Tight',Inter,sans-serif;letter-spacing:-.015em;color:#3A3C42;transition:color .5s var(--ease)}
.ostep .od{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .7s var(--ease),opacity .6s var(--ease),margin .7s var(--ease)}
.ostep .od>span{overflow:hidden;font-size:15px;line-height:1.6;color:#4A4D54}
.ostep.is-on .od{grid-template-rows:1fr;opacity:1;margin-top:8px}
.ostep.is-on .ot,.ostep.is-on .on-n{color:#0C0D0F}
.ostep .ln{position:absolute;left:0;top:-1px;height:2px;width:100%;background:#0C0D0F;transform:scaleX(0);transform-origin:left}
.ostep.is-on .ln{animation:fill 6s linear forwards}
.opaused .ostep.is-on .ln{animation-play-state:paused}
.still .ostep.is-on .ln{animation:none;transform:scaleX(1)}
.stores{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center}
.store{display:block;border-radius:10px;line-height:0;transition:transform .45s var(--ease),filter .45s var(--ease),box-shadow .45s var(--ease)}
.store:hover{transform:translateY(-2px);filter:brightness(1.15);box-shadow:0 14px 28px -16px rgba(0,0,0,.8)}
.store:active{transform:scale(.97)}
.store:focus-visible{outline:2px solid #EDEEF0;outline-offset:3px}
.store img{height:52px;width:auto;display:block}
.ctrack{display:flex;width:max-content;align-items:center;gap:80px;padding-right:80px;animation:mq 46s linear infinite}
.cmq:hover .ctrack{animation-play-state:paused}
.cl{position:relative;display:block;flex:none;height:34px}
.cl.dh{height:42px}.cl.sq{height:38px}
.cl img{display:block;height:100%;width:auto}
.cl .m{opacity:.45;transition:opacity .6s var(--ease)}
.cl .c{position:absolute;inset:0;width:100%;object-fit:contain;opacity:0;transition:opacity .6s var(--ease)}
.cl:hover .m{opacity:0}.cl:hover .c{opacity:1}
@media (max-width:900px){.ctrack{gap:56px;padding-right:56px;animation-duration:36s}.cl{height:30px}.cl.dh{height:37px}.cl.sq{height:33px}}
@media (max-width:640px){.ctrack{gap:40px;padding-right:40px;animation-duration:28s}.cl{height:24px}.cl.dh{height:30px}.cl.sq{height:27px}}
.mcap{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}
.mcap b{font:600 15px/1.3 'Inter Tight',Inter,sans-serif;color:#FFFFFF;letter-spacing:-.01em}
.mcap span{font-size:13px;color:#9A9DA4}

.stagepad{padding-right:120px}
.burger{display:none;width:44px;height:44px;border:1px solid #D4D4D0;border-radius:10px;background:#FFFFFF;cursor:pointer;align-items:center;justify-content:center;transition:border-color .35s var(--ease)}
.burger:hover{border-color:#0C0D0F}.burger:focus-visible{outline:2px solid #0C0D0F;outline-offset:2px}
.bl{position:relative;width:18px;height:12px;display:block}
.bl i{position:absolute;left:0;width:18px;height:1.5px;background:#0C0D0F;border-radius:2px;transition:transform .45s var(--ease),opacity .3s var(--ease),top .45s var(--ease)}
.bl i:nth-child(1){top:0}.bl i:nth-child(2){top:5.25px}.bl i:nth-child(3){top:10.5px}
.bl.x i:nth-child(1){top:5.25px;transform:rotate(45deg)}.bl.x i:nth-child(2){opacity:0}.bl.x i:nth-child(3){top:5.25px;transform:rotate(-45deg)}
.mnav{display:flex;flex-direction:column;padding:8px 20px 24px;border-top:1px solid #E6E6E3;background:#FAFAF9;animation:mnav .5s var(--ease) both}
.mnav>a{display:flex;align-items:center;min-height:52px;font:500 19px/1 'Inter Tight',Inter,sans-serif;letter-spacing:-.015em;color:#0C0D0F;border-bottom:1px solid #EDEDEA}
.mnav>a:nth-child(1){animation:up .5s var(--ease) .03s both}.mnav>a:nth-child(2){animation:up .5s var(--ease) .06s both}.mnav>a:nth-child(3){animation:up .5s var(--ease) .09s both}.mnav>a:nth-child(4){animation:up .5s var(--ease) .12s both}.mnav>a:nth-child(5){animation:up .5s var(--ease) .15s both}.mnav>a:nth-child(6){animation:up .5s var(--ease) .18s both}
.mnav-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:20px}
@keyframes mnav{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.sm{display:none}
@media (max-width:1000px){.stagepad{padding-right:64px}.hero-phone{width:180px !important;right:-8px !important}.toastL{display:none !important}}
@media (min-width:901px){.mnav{display:none}}
@media (max-width:900px){.burger{display:inline-flex}.hdrin .navlogo{animation:none !important;height:44px !important}.navlinks{display:none !important}.hero-h{font-size:54px !important}.sec-h{font-size:38px !important}.wrap{padding:0 20px}}
@media (max-width:640px){.stagepad{padding-right:0}.fcap{display:none}.ptab{height:40px;padding:0 14px;font-size:13px;flex:none}
.ptabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:4px 20px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent)}
.ptabs::-webkit-scrollbar{display:none}
.hero-frame{display:none}
.hero-phone{display:block !important;position:relative !important;right:auto !important;bottom:auto !important;width:262px !important;margin:8px auto 0}
.sec{padding-top:80px !important;padding-bottom:80px !important}
.lg{display:none}.sm{display:inline}
.tbl th,.tbl td{padding:12px 10px}.tbl td{font-size:13px}.pill{height:24px;padding:0 8px;font-size:11.5px}
.dcol{display:none}
.mnav-cta .btn{display:inline-flex !important}
.hdrin{height:72px !important;animation:none !important}
.navlogo,.hdrin .navlogo{height:44px !important;animation:none !important}
.hero-h{font-size:40px !important}.sec-h{font-size:31px !important}.cta-h{font-size:34px !important}.navcta-sec{display:none !important}.cell{padding:24px;min-height:0}.toastR{display:none !important}.phones{gap:12px !important}.ph-side{display:none !important}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none !important;transition:none !important}.term div{opacity:1}.rv,.rv2,.rv3{opacity:1 !important;transform:none !important;filter:none !important}}


/* Additions for the live page: the mobile menu is rendered hidden until the menu button opens it; developer ids stay on one line in the terminal. */
.mnav[hidden]{display:none}
[data-dvid]{white-space:nowrap}
/* Phones narrower than the design's 390px board: tighten the comparison tables so all columns still fit. */
@media (max-width:370px){.tbl th,.tbl td{padding:12px 7px}.tbl th{font-size:10px}}
@media (max-width:350px){.tbl td{font-size:12px}.pill{padding:0 6px;font-size:11px}.tbl th{letter-spacing:.04em}}
@media (max-width:330px){.tbl th,.tbl td{padding:10px 5px}}
