:root:where(:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)){
color-scheme: light;
--teal:#1E80A3; --teal-ink:#176C8A; --teal-soft:#EAF4F8;
--teal-line:#B9D9E5;
--teal-hero:#0B6D86; --teal-kicker:#B5F0E8; --on-teal:#E4F1F6;
--on-teal-soft:#B9DCE7;
--orange:#E07A1F; --orange-rgb:224 122 31; --orange-btn:#B45B0D; --orange-btn-h:#A85610;
--orange-ink:#A85610; --orange-soft:#FCEFE3;
--head:#3A4750; --body:#143E5C; --slate:#5B6770; --line:#D9E2E7; --line-2:#C4D1DA;
--canvas:#F8FAFC; --canvas-2:#F0F4F9; --white:#FFFFFF;
--ok-ink:#22694A; --ok-soft:#E5F1EB;
--watch-ink:#7A5A07; --watch-soft:#FBF3DD; --facet-1:#7EBAD0; --facet-2:#5EA8C4; --facet-3:#4A98B4; --facet-4:#1E80A2; --facet-5:#F2B074; --facet-6:#EE9E50;
--hero-rgb:11 109 134; --sm-green:#4E8A2C; --sm-green-ink:#3D6E22; --sm-green-logo:#70AE47; --sm-green-soft:#F1F7EC; --sm-green-line:#C9E0B8;
--sm-green-hero:#3D6E22; --sm-green-kicker:#D6EFC4; --sm-on-green:#EEF6E8; --sm-on-green-soft:#C9E0B8;
--sm-orange:#F49425; --sm-orange-ink:#B56A10;
--sm-facet-1:#B4D69C; --sm-facet-2:#94C475; --sm-facet-3:#70AE47; --sm-facet-4:#4E8A2C; --sm-facet-5:#F8BC75; --sm-facet-6:#F49425;
--sm-hero-rgb:61 110 34; --mm-plum:#9A5576; --mm-plum-ink:#7E4462; --mm-plum-soft:#F7EEF3; --mm-plum-line:#DCC3D0;
--mm-plum-hero:#6E3B56; --mm-plum-kicker:#F0D6E3; --mm-on-plum:#F7EEF3; --mm-on-plum-soft:#DCC3D0;
--mm-orange:#F39528; --mm-orange-ink:#B56A10;
--mm-facet-1:#D9B3C4; --mm-facet-2:#C48EA8; --mm-facet-3:#AD6F8F; --mm-facet-4:#9A5576; --mm-facet-5:#F8BC75; --mm-facet-6:#F39528;
--mm-hero-rgb:110 59 86; --el-blue:#4460EF; --el-blue-ink:#3550D6; --el-blue-soft:#EEF1FE; --el-blue-line:#C7D0FB;
--el-blue-hero:#2F46C2; --el-blue-kicker:#DCE2FD; --el-on-blue:#EEF1FE; --el-on-blue-soft:#C7D0FB;
--el-facet-1:#A9B8F8; --el-facet-2:#8497F4; --el-facet-3:#6079F1; --el-facet-4:#4460EF; --el-facet-5:#F8BC7E; --el-facet-6:#F59433;
--el-hero-rgb:47 70 194; --ai-blue:#5C9CD4; --ai-orange:#F88A44; --ai-cyan:#00E8F4;
--shadow:0 1px 2px rgba(11,34,56,.06), 0 8px 24px rgba(11,34,56,.07);
--shadow-lg:0 2px 4px rgba(11,34,56,.05), 0 24px 56px rgba(11,34,56,.12);
--font-display:"Libre Franklin", "Segoe UI", system-ui, sans-serif;
--text:"Source Sans 3", "Segoe UI", system-ui, sans-serif;
--wrap:1680px;
--gut:clamp(16px, 2.2vw, 40px);
}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)),:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) *,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product))::before,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) *::before,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product))::after,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) *::after{box-sizing:border-box}
html:where(:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)){scroll-behavior:smooth; scroll-padding-top:156px; -webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html:where(:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)){scroll-behavior:auto}}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)){margin:0; background:var(--white); color:var(--body); font:400 18px/1.6 var(--text); overflow-x:hidden}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) img{max-width:100%; display:block}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) a{color:var(--teal-ink)}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) a:hover{color:var(--head)}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) h1,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) h2,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) h3,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) h4{font-family:var(--font-display); color:var(--head); margin:0; text-wrap:balance}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) h1{font-size:clamp(38px, 5.2vw, 60px); line-height:1.04; font-weight:700; letter-spacing:-.025em}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) h2{font-size:clamp(30px, 3.4vw, 42px); line-height:1.1; font-weight:700; letter-spacing:-.02em}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) h3{font-size:21px; line-height:1.25; font-weight:600; letter-spacing:-.01em}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) p{margin:0 0 16px; text-wrap:pretty}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) ul,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) ol{margin:0; padding:0}
.wrap{max-width:calc(var(--wrap) + var(--gut) * 2); margin:0 auto; padding:0 var(--gut)}
.lede{font-size:21px; line-height:1.5; color:var(--body)}
.muted{color:var(--slate)}
.small{font-size:15px}
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap} .btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; font:600 17px/1 var(--text); text-decoration:none; border-radius:6px; padding:2px 24px 0; border:1px solid transparent; background:none; cursor:pointer; position:relative; overflow:hidden; transition:background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s}
.btn svg{flex:none}
.btn-primary::after{content:""; position:absolute; inset:0; background:linear-gradient(105deg, transparent 35%, rgba(255,255,255,.28) 50%, transparent 65%); transform:translateX(-120%); transition:transform .7s ease}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-primary:hover,.btn-white:hover{transform:translateY(-1px); box-shadow:0 8px 20px rgba(11,34,56,.18)}
.btn-outline{background:#fff; color:var(--teal-ink); border-color:var(--line-2)}
.btn-outline:hover{border-color:var(--teal); background:var(--teal-soft); color:var(--head)}
.btn-outline svg{transition:transform .2s}
.btn-outline:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--orange); color:#fff; font-size:19px; font-weight:700}
.btn-primary:hover{background:#C56712; color:#fff}
.btn-quiet{color:var(--teal-ink); padding-left:4px; padding-right:4px; min-height:0}
.btn-quiet:hover{color:var(--head)}
.btn-quiet svg{transition:transform .15s}
.btn-quiet:hover svg{transform:translateX(3px)}
.btn-white{background:#fff; color:var(--teal-ink)}
.btn-white:hover{background:var(--teal-soft); color:var(--head)}
.btn-line-white{color:#fff; border-color:rgba(255,255,255,.55)}
.btn-line-white:hover{border-color:#fff; color:#fff; background:rgba(255,255,255,.08)}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) :focus-visible{outline:3px solid var(--orange); outline-offset:2px} .site-header{border-bottom:1px solid var(--line); background:#fff; position:sticky; top:0; z-index:30; transition:box-shadow .3s}
.site-header.is-scrolled{box-shadow:0 6px 20px rgba(11,34,56,.08)}
.pagenav a{transition:color .2s, border-color .3s}
.site-header .wrap{display:flex; align-items:center; gap:32px; height:68px}
.logo img{height:30px; width:auto}
.certs{display:flex; align-items:center; gap:8px; margin-left:-12px}
.certs img{height:38px; width:auto}
.mainnav{display:flex; gap:28px; margin-left:auto}
.mainnav a{font:600 16px/1 var(--text); color:var(--head); text-decoration:none; display:inline-flex; align-items:center; gap:6px}
.mainnav a:hover{color:var(--teal-ink)}
.mainnav svg{width:10px; height:10px}
.site-header .btn{min-height:44px; padding:2px 18px 0}
.menu-btn{display:none; margin-left:auto; background:none; border:1px solid var(--line); border-radius:6px; width:44px; height:44px; color:var(--head)} :where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) section{padding:112px 0}
.band{background:var(--canvas); border-top:1px solid #EDF1F5; border-bottom:1px solid #EDF1F5}
.head{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:24px 72px; align-items:end; margin-bottom:56px}
.head p:last-child{margin-bottom:0}
.kicker{display:block; font:700 13px/1.2 var(--text); letter-spacing:.16em; text-transform:uppercase; color:var(--teal-ink); text-decoration:none; margin-bottom:18px}
a.kicker:hover{color:var(--head)} .hero{position:relative; padding:44px 0 56px; overflow:clip; background:var(--teal-hero)}
.hero > .wrap{position:relative; display:grid; grid-template-columns:minmax(0,7fr) minmax(300px,4fr); gap:40px 64px; align-items:center}
.hero h1{font-size:clamp(36px, 3.9vw, 54px)}
.mm-plate{display:inline-flex; align-items:center; margin:0 20px 18px 0; vertical-align:middle}
.mm-plate img{height:34px; width:auto}
.hero .facets{top:0; right:0; height:100%; width:auto; max-width:none}
.facets{position:absolute; top:0; right:0; width:min(40vw, 500px); height:auto; pointer-events:none}
.facets.t1{--f1:var(--facet-1); --f2:var(--facet-2); --f3:var(--facet-3); --f4:var(--facet-4); --f5:var(--facet-5); --f6:var(--facet-6); --op:.38}
.crumbs{font-size:15px; color:var(--on-teal-soft); margin-bottom:20px; display:flex; gap:8px; flex-wrap:wrap}
.crumbs a{color:var(--on-teal-soft); text-decoration:none}
.crumbs a:hover{color:#fff; text-decoration:underline}
.kicker-hero{color:var(--teal-kicker); font-size:15px; margin-bottom:22px}
.hero-copy{position:relative; z-index:2; max-width:760px} .hero-copy > *{animation:riseIn .8s cubic-bezier(.2,.7,.2,1) both}
.hero-copy > :nth-child(2){animation-delay:.08s} .hero-copy > :nth-child(3){animation-delay:.16s}
.hero-copy > :nth-child(4){animation-delay:.24s} .hero-copy > :nth-child(5){animation-delay:.34s}
.hero-copy > :nth-child(6){animation-delay:.44s} .hero-copy > :nth-child(7){animation-delay:.54s}
@keyframes riseIn{from{opacity:0; transform:translateY(18px)}to{opacity:1; transform:none}}
.hero .facets,.cta .facets{animation:drift 22s ease-in-out infinite}
@keyframes drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-18px,12px,0)}}
.pill i{animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(224,122,31,.7)}70%,100%{box-shadow:0 0 0 9px rgba(224,122,31,0)}}
.hero h1{margin-bottom:18px; color:#fff}
.hero .lede{max-width:720px; margin-bottom:26px; font-size:19px; color:var(--on-teal)}
.hero .btn-quiet{color:#fff}
.hero .btn-quiet:hover{color:var(--teal-kicker)}
.hero-actions{display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; margin-bottom:0}
.includes{position:relative; z-index:2; background:rgba(6,62,78,.55); border:1px solid rgba(255,255,255,.22); border-radius:12px; padding:26px 28px; color:#fff; animation:riseIn .8s cubic-bezier(.2,.7,.2,1) .5s both}
.includes h2{font:700 13px/1.2 var(--text); color:var(--teal-kicker); letter-spacing:.16em; text-transform:uppercase; margin-bottom:12px}
.includes ul{list-style:none}
.includes li{break-inside:avoid; padding:5px 0 5px 18px; position:relative; font-size:17px; line-height:1.4}
.includes li::before{content:""; position:absolute; left:0; top:13px; width:7px; height:7px; background:var(--teal-kicker); transform:rotate(45deg)}
.lead-shot{position:relative; margin:0 0 8px}
.lead-intro{max-width:720px; margin-bottom:28px}
.lead-intro h3{font-size:24px; margin-bottom:10px}
.lead-intro p{font-size:18px; margin:0}
.frame{position:relative; background:#fff; border:1px solid var(--line-2); border-radius:10px; box-shadow:var(--shadow); overflow:hidden}
.frame img{width:100%; height:auto}
.pin{position:absolute; width:30px; height:30px; margin:-15px 0 0 -15px; border-radius:50%; background:var(--orange-btn); color:#fff; font:700 15px/30px var(--text); text-align:center; box-shadow:0 0 0 4px rgba(255,255,255,.95), 0 2px 8px rgba(11,34,56,.25)}
.shot-inner{position:relative}
.swipe-hint{display:none; font-size:14px; color:var(--slate); margin:10px 0 0}
.shot-key{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px 40px; list-style:none; margin-top:28px; counter-reset:k}
.shot-key li{display:grid; grid-template-columns:30px 1fr; gap:14px; font-size:17px; line-height:1.45}
.shot-key li::before{counter-increment:k; content:counter(k); width:30px; height:30px; border-radius:50%; background:var(--orange-btn); color:#fff; font:700 15px/30px var(--text); text-align:center}
.shot-key strong{color:var(--head); font-weight:600}
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) figcaption{font-size:15px; color:var(--slate); margin-top:14px} .pagenav{position:sticky; top:68px; z-index:20; background:rgba(255,255,255,.97); border-bottom:1px solid var(--line)}
.pagenav .wrap{display:flex; align-items:center; gap:4px; height:58px; overflow-x:auto; scrollbar-width:none}
.pagenav .wrap::-webkit-scrollbar{display:none}
.pagenav span{font:700 13px/1 var(--text); color:var(--orange-ink); letter-spacing:.14em; text-transform:uppercase; margin-right:14px; white-space:nowrap}
.pagenav a{font:600 15px/1 var(--text); color:var(--head); text-decoration:none; padding:21px 12px 19px; border-bottom:3px solid transparent; white-space:nowrap}
.pagenav a:hover{color:var(--teal-ink)}
.pagenav a[aria-current="true"]{color:var(--teal-ink); border-bottom-color:var(--orange)} .pagenav a.sub{font-weight:500; color:var(--slate); padding-left:8px}
.pagenav a.sub::before{content:""; display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--teal); margin:0 7px 2px 0; vertical-align:middle}
.pagenav a.sub[aria-current="true"]{color:var(--teal-ink)} .overview{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:0 72px; align-items:start}
.overview > div:first-child{grid-row:1 / span 2}
.facts{grid-column:2; display:grid; grid-template-columns:1fr; gap:24px; margin-top:8px; list-style:none; align-content:start}
.facts li{border-top:2px solid var(--head); padding-top:18px}
.photo{margin:0; position:relative; overflow:hidden; border-radius:10px; background:var(--canvas-2)}
.photo img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.photo:hover img{transform:scale(1.045)}
.ov-photo{margin-top:32px; aspect-ratio:16/10; clip-path:polygon(0 0, 100% 0, 100% 84%, 88% 100%, 0 100%)}
.ov-photo::after{content:""; position:absolute; right:0; bottom:0; width:12%; aspect-ratio:1; background:var(--orange); clip-path:polygon(100% 0, 100% 100%, 0 100%); opacity:.9} .act-strip{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px; margin:0 0 56px}
.act-strip .photo{aspect-ratio:16/7}
.act-strip .photo::before{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(0deg, rgba(8,48,66,.88) 0%, rgba(8,48,66,.35) 45%, transparent 70%); pointer-events:none}
.act-strip figcaption{position:absolute; z-index:2; left:24px; right:24px; bottom:20px; margin:0; color:#fff; font-size:16px; line-height:1.4}
.act-strip figcaption strong{display:block; font:600 21px/1.25 var(--font-display); margin-bottom:4px}
.facts h3{margin-bottom:6px}
.facts p{margin:0; color:var(--slate); font-size:17px} .cycle{position:relative; margin-top:8px}
.cycle-groups{display:grid; grid-template-columns:repeat(7,1fr); gap:0 16px; margin-bottom:22px}
.cycle-groups a{display:block; text-decoration:none; font:600 14px/1.2 var(--text); color:var(--teal-ink); padding-bottom:10px; border-bottom:2px solid var(--teal-line); position:relative}
.cycle-groups a::before,.cycle-groups a::after{content:""; position:absolute; bottom:-6px; width:2px; height:10px; background:var(--teal-line)}
.cycle-groups a::before{left:0}.cycle-groups a::after{right:0}
.cycle-groups a:hover{color:var(--head); border-color:var(--teal)}
.g1{grid-column:1}.g2{grid-column:2}.g3{grid-column:3}.g4{grid-column:4 / span 3}.g5{grid-column:7} .cycle-groups a[style]{grid-column:var(--c, auto) / span var(--s, 1)}
.cycle-steps{display:grid; grid-template-columns:repeat(7,1fr); gap:0 16px; list-style:none; position:relative}
.cycle-steps::before{content:""; position:absolute; left:calc(100%/14); right:calc(100%/14); top:23px; height:2px; background:var(--teal)}
.cycle-steps li{position:relative; text-align:center; padding:0 2px}
.node{display:grid; place-items:center; width:48px; height:48px; margin:0 auto 18px; border-radius:50%; background:#fff; border:2px solid var(--teal); color:var(--teal-ink); font:700 19px/1 var(--font-display); position:relative}
.cycle-steps li:first-child .node{background:var(--teal); color:#fff}
.cycle-steps h3{font-size:18px; margin-bottom:6px}
.cycle-steps p{font-size:15px; line-height:1.45; color:var(--slate); margin:0}
.loop{position:relative; margin:28px calc(100%/14) 0; height:56px; border:2px dashed var(--orange); border-top:0; border-radius:0 0 18px 18px}
.loop::before{content:""; position:absolute; left:-9px; top:-14px; border:8px solid transparent; border-bottom:12px solid var(--orange); border-top:0}
.loop span{position:absolute; left:50%; bottom:-13px; transform:translateX(-50%); background:var(--canvas); padding:0 16px; font:600 16px/24px var(--text); color:var(--orange-ink); white-space:nowrap} .score{display:grid; grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1.05fr 28px 1fr; align-items:stretch; margin-bottom:64px}
.op{display:grid; place-items:center; font:600 24px/1 var(--font-display); color:var(--slate)}
.sc{background:#fff; border:1px solid var(--line-2); border-radius:8px; padding:20px 18px; display:flex; flex-direction:column}
.sc small{font-size:14px; line-height:1.3; color:var(--slate); display:block; min-height:36px; text-wrap:balance}
.sc h3{font-size:19px; margin:6px 0 14px}
.sc p{font-size:15px; line-height:1.45; color:var(--slate); margin:14px 0 0}
.bar{display:flex; height:10px; border-radius:5px; background:var(--canvas-2); overflow:hidden}
.bar i{display:block; height:100%}
.bar .sa{background:var(--teal)} .bar .sb{background:#7EBAD0} .bar .gap{flex:1}
.sc.gate{border:2px solid var(--orange); background:var(--orange-soft)}
.sc.gate small{color:var(--orange-ink); font-weight:600}
.gate-mark{width:34px; height:34px; border-radius:50%; background:var(--orange-btn); color:#fff; display:grid; place-items:center}
.sc.result{border-color:var(--teal)}
.two{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px 72px}
.ticks{list-style:none}
.ticks li{position:relative; padding:12px 0 12px 34px; border-top:1px solid var(--line)}
.ticks li:last-child{border-bottom:1px solid var(--line)}
.ticks li::before{content:""; position:absolute; left:4px; top:20px; width:14px; height:8px; border-left:2.5px solid var(--teal); border-bottom:2.5px solid var(--teal); transform:rotate(-45deg)}
.sub-h{margin:0 0 12px}
.note{border-left:3px solid var(--orange); background:#fff; padding:20px 24px; margin-top:28px; border-radius:0 8px 8px 0}
.band .note{background:#fff}
.note h4{font:600 18px/1.3 var(--font-display); margin-bottom:8px}
.note p{margin:0; font-size:17px}
.note dl{display:grid; grid-template-columns:auto 1fr; gap:6px 14px; margin:10px 0 0; font-size:17px}
.note dt{font-weight:700; color:var(--head)}
.note dd{margin:0}
.fig{margin:64px 0 0}
.fig .frame{box-shadow:var(--shadow)} .plan{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:48px 72px; align-items:start}
.plan h2{margin-bottom:20px}
.stack{display:grid; gap:36px}
.split-label{display:flex; justify-content:space-between; gap:16px; align-items:baseline; margin-bottom:10px}
.split-label h3{font-size:17px}
.split-label span{font-size:14px; color:var(--slate)}
.pad-frame{padding:18px} .methods{display:grid; grid-template-columns:repeat(4,1fr); gap:40px 32px; list-style:none; margin-bottom:72px}
.methods > li{border-top:2px solid var(--teal); padding-top:22px}
.methods h3{margin-bottom:10px}
.methods p{font-size:17px; margin-bottom:14px}
.methods ul{list-style:none}
.methods ul li{font-size:16px; line-height:1.4; padding:6px 0 6px 16px; position:relative; color:var(--slate)}
.methods ul li::before{content:""; position:absolute; left:0; top:14px; width:6px; height:2px; background:var(--orange)}
.path{margin-bottom:48px}
.path h3{margin-bottom:16px}
.chev{display:flex; list-style:none; gap:4px}
.chev li{flex:1; background:var(--canvas-2); color:var(--head); font:600 15px/1.2 var(--text); text-align:center; padding:15px 18px 15px 26px; clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 14px 50%)}
.chev li:first-child{clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%); padding-left:18px; border-radius:6px 0 0 6px}
.chev li:last-child{clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, 14px 50%); border-radius:0 6px 6px 0}
.chev li.on{background:var(--teal-ink); color:#fff}
.path p{margin:14px 0 0; font-size:16px; color:var(--slate)}
.doccheck{display:grid; grid-template-columns:minmax(0,4fr) 64px minmax(0,7fr); align-items:center; background:var(--canvas); border:1px solid var(--line); border-radius:12px; padding:40px}
.doccheck > header{grid-column:1 / -1; margin-bottom:28px; max-width:720px}
.doccheck > header h3{margin-bottom:6px}
.doccheck > header p{margin:0; color:var(--slate); font-size:17px}
.paper{background:#fff; border:1px solid var(--line-2); border-radius:3px; padding:22px 22px 18px; box-shadow:0 12px 28px rgba(11,34,56,.10); transform:rotate(-1.2deg); font-size:13px; color:var(--slate)}
.paper strong{display:block; font:700 14px/1.2 var(--font-display); color:var(--head); margin-bottom:10px}
.paper .meta{display:flex; gap:18px; margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--line)}
.paper table{width:100%; border-collapse:collapse}
.paper th{font-weight:600; text-align:left; padding:4px 4px; border-bottom:1px solid var(--line); font-size:12px}
.paper td{padding:5px 4px; border-bottom:1px solid #EEF2F5; height:26px}
.ink{display:block; height:12px}
.ink svg{width:100%; height:12px; overflow:visible}
.ink path{fill:none; stroke:#2C4A7A; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round}
.cred{font-size:12px; color:#2C4A7A; font-style:italic}
.arrow{display:grid; place-items:center; color:var(--teal)}
.checks{background:#fff; border:1px solid var(--line-2); border-radius:8px; overflow:hidden}
.checks table{width:100%; border-collapse:collapse; font-size:16px}
.checks caption{text-align:left; padding:16px 20px; font:600 16px/1.3 var(--font-display); color:var(--head); border-bottom:1px solid var(--line)}
.checks th{text-align:left; font:600 14px/1.2 var(--text); color:var(--slate); padding:12px 20px; background:var(--canvas); border-bottom:1px solid var(--line)}
.checks td{padding:13px 20px; border-bottom:1px solid var(--line)}
.checks tr:last-child td{border-bottom:0}
.checks td:nth-child(2),.checks td:nth-child(3){font-variant-numeric:tabular-nums}
.tag{display:inline-block; font:700 13px/1 var(--text); padding:6px 9px; border-radius:4px}
.tag.ok{background:var(--ok-soft); color:var(--ok-ink)}
.tag.watch{background:var(--watch-soft); color:var(--watch-ink)}
tr.flag td{background:#FFFBF1} .remed{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:48px 72px; align-items:start}
.remed h2{margin-bottom:20px}
.timeline{background:#fff; border:1px solid var(--line-2); border-radius:10px; box-shadow:var(--shadow); padding:28px 32px 12px}
.timeline header{display:flex; justify-content:space-between; gap:16px; align-items:baseline; padding-bottom:18px; margin-bottom:8px; border-bottom:1px solid var(--line)}
.timeline header h3{font-size:18px}
.timeline header span{font-size:14px; color:var(--slate)}
.timeline ol{list-style:none; position:relative}
.timeline li{position:relative; --tl-pad:14px; --tl-x:87px}
.timeline li:not(:last-child)::after{content:""; position:absolute; left:var(--tl-x); top:calc(var(--tl-pad) + 12px); height:100%; width:2px; background:var(--line)} .timeline li{display:grid; grid-template-columns:62px 20px 1fr; gap:0 16px; padding:14px 0}
.timeline time{font-size:14px; color:var(--slate); text-align:right; padding-top:2px; font-variant-numeric:tabular-nums}
.dot{width:14px; height:14px; border-radius:50%; background:#fff; border:2px solid var(--teal); margin:5px 0 0 3px; position:relative; z-index:1}
.timeline li:last-child .dot{background:var(--teal)}
.timeline h4{font:600 17px/1.3 var(--font-display); color:var(--head); margin-bottom:3px}
.timeline p{margin:0; font-size:16px; line-height:1.45}
.timeline .who{display:block; font-size:14px; color:var(--slate); margin-top:3px} .tabs{display:flex; gap:4px; border-bottom:1px solid var(--line); margin-bottom:20px; overflow-x:auto; scrollbar-width:none}
.tabs button{font:600 16px/1 var(--text); color:var(--slate); background:none; border:0; border-bottom:3px solid transparent; padding:14px 16px 13px; cursor:pointer; white-space:nowrap}
.tabs button:hover{color:var(--head)}
.tabs button[aria-selected="true"]{color:var(--teal-ink); border-bottom-color:var(--orange)}
.tabpanel{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:32px 56px; align-items:center; padding-top:16px}
.tabpanel[hidden]{display:none}
.tabpanel figure{margin:0}
.tabpanel .frame{padding:20px; box-shadow:var(--shadow); width:fit-content; max-width:100%}
.tabpanel .frame img{margin:0 auto; max-height:400px; width:auto}
.tp-text h3{font-size:24px; margin-bottom:12px}
.tp-text p{font-size:18px}
.lists{display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:64px}
.lists h3{font-size:18px; padding-bottom:12px; border-bottom:2px solid var(--head); margin-bottom:6px}
.lists ul{list-style:none}
.lists li{padding:9px 0; border-bottom:1px solid var(--line); font-size:17px; line-height:1.4} .data{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:48px 72px}
.data h2{margin-bottom:20px}
.srcs{display:grid; grid-template-columns:2fr 1fr; gap:40px}
.srcs .two-col{columns:2; column-gap:32px}
.srcs .two-col li{break-inside:avoid}
.srcs h3{font-size:18px; margin-bottom:6px; padding-bottom:12px; border-bottom:2px solid var(--head)}
.srcs ul{list-style:none}
.srcs li{padding:8px 0; border-bottom:1px solid var(--line); font-size:17px; line-height:1.35} .ai{display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:48px 72px; align-items:start}
.ai h2{margin-bottom:20px}
.ai-list{display:grid; grid-template-columns:1fr 1fr; gap:28px 36px; margin-top:36px}
.ai-list div{border-top:1px solid var(--line); padding-top:16px}
.ai-list h3{font-size:18px; margin-bottom:6px}
.ai-list p{margin:0; font-size:16px; line-height:1.45; color:var(--slate)}
.chat{background:var(--canvas); border:1px solid var(--line); border-radius:12px; padding:24px; position:sticky; top:calc(var(--header-h, 69px) + var(--pagenav-h, 0px) + 20px)} .chat header{display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; font-size:14px; color:var(--slate)}
.chat header strong{font:600 16px/1 var(--font-display); color:var(--head)}
.q{margin-left:auto; max-width:82%; background:var(--teal-ink); color:#fff; padding:12px 16px; border-radius:14px 14px 4px 14px; font-size:16px; line-height:1.4; width:fit-content}
.a{margin-top:14px; max-width:92%; background:#fff; border:1px solid var(--line); padding:16px 18px; border-radius:14px 14px 14px 4px; font-size:16px; line-height:1.5}
.a p{margin:0 0 12px}
.src{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:6px; background:var(--canvas); border:1px solid var(--line); font-size:14px; color:var(--head)}
.src svg{flex:none; color:var(--teal)}
.src span{color:var(--slate)}
.inputbar{display:flex; align-items:center; justify-content:space-between; margin-top:20px; background:#fff; border:1px solid var(--line-2); border-radius:8px; padding:12px 14px; font-size:15px; color:var(--slate)}
.chat-note{margin:14px 0 0; font-size:14px; color:var(--slate)} .plat{display:grid; grid-template-columns:repeat(4,1fr); gap:0 32px; list-style:none}
.plat li{padding:22px 0; border-top:1px solid var(--line-2)}
.plat li:nth-last-child(-n+4){border-bottom:1px solid var(--line-2)}
.plat h3{font-size:18px; margin-bottom:6px}
.plat p{margin:0; font-size:16px; line-height:1.45; color:var(--slate)} .table-wrap{position:relative; border:1px solid var(--line-2); border-radius:10px; overflow:auto; background:#fff}
.cmp{width:100%; min-width:900px; border-collapse:separate; border-spacing:0; font-size:16px}
.cmp th,.cmp td{padding:15px 18px; text-align:left; border-bottom:1px solid var(--line); vertical-align:middle}
.cmp thead th{font:600 15px/1.25 var(--text); color:var(--head); background:var(--canvas); vertical-align:bottom}
.cmp thead th span{display:block; font-weight:400; color:var(--slate); font-size:14px; margin-top:2px}
.cmp tbody tr:last-child > *{border-bottom:0}
.cmp th[scope="row"]{font-weight:600; color:var(--head); position:sticky; left:0; background:#fff; z-index:1; min-width:230px; box-shadow:1px 0 0 var(--line)}
.cmp thead th:first-child{position:sticky; left:0; z-index:2; box-shadow:1px 0 0 var(--line)}
.cmp .mm{background:var(--teal-soft)}
.cmp thead .mm{background:var(--teal-ink); color:#fff}
.cmp thead .mm span{color:#D6ECF3}
.m{display:inline-flex; align-items:center; gap:9px; white-space:nowrap}
.m::before{content:""; flex:none; width:13px; height:13px; border-radius:50%; box-sizing:border-box}
.m.full::before{background:var(--teal)}
.m.part::before{border:2px solid var(--teal); background:linear-gradient(90deg, var(--teal) 50%, transparent 50%)}
.m.none{color:var(--slate)}
.m.none::before{border:2px solid #A9B6C1}
.legend{display:flex; flex-wrap:wrap; gap:8px 24px; margin:0 0 18px; font-size:15px; color:var(--slate); list-style:none}
.scroll-hint{display:none; font-size:14px; color:var(--slate); margin-top:10px} .cta{position:relative; background:var(--teal-hero); color:#fff; overflow:clip; padding:120px 0}
.cta-photo{position:absolute; inset:0; margin:0}
.cta-photo img{width:100%; height:100%; object-fit:cover; object-position:22% 40%; transform:scaleX(-1)}
.cta-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgb(var(--hero-rgb) / .97) 0%, rgb(var(--hero-rgb) / .92) 45%, rgb(var(--hero-rgb) / .55) 100%)}
.cta .facets{--f1:var(--facet-1); --f2:var(--facet-2); --f3:var(--facet-3); --f4:var(--facet-4); --f5:var(--facet-5); --f6:var(--facet-6); --op:.34; top:0; right:0; height:100%; width:auto}
.cta h2{color:#fff; max-width:720px; margin-bottom:18px}
.cta p{max-width:620px; font-size:20px; color:var(--on-teal); margin-bottom:32px}
.cta .kicker{color:var(--teal-kicker)}
.cta .hero-actions{margin:0} .site-footer{background:var(--canvas); border-top:1px solid var(--line); padding:72px 0 32px; font-size:16px}
.fgrid{display:grid; grid-template-columns:minmax(0,5fr) repeat(2, minmax(0,3fr)); gap:40px 64px}
.site-footer h3{font:600 15px/1.2 var(--text); color:var(--head); margin-bottom:14px}
.site-footer ul{list-style:none}
.site-footer li{padding:4px 0}
.site-footer a{color:var(--body); text-decoration:none}
.site-footer a:hover{color:var(--teal-ink); text-decoration:underline}
.site-footer address{font-style:normal; line-height:1.55}
.site-footer address p{margin-bottom:12px}
.signup{display:flex; gap:8px; margin-top:18px; max-width:420px}
.signup input{flex:1; min-width:0; font:400 16px/1 var(--text); padding:12px 14px; border:1px solid var(--line-2); border-radius:6px; background:#fff; color:var(--body)}
.signup input::placeholder{color:var(--slate); opacity:1}
.signup .btn{min-height:44px; padding:2px 18px 0; font-size:16px}
.fbottom{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:56px; padding-top:24px; border-top:1px solid var(--line); font-size:14px; color:var(--slate)}
.fbottom a{color:var(--slate)} .pill{display:inline-flex; align-items:center; gap:9px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.35); color:#fff; border-radius:999px; padding:7px 14px 7px 11px; font:600 14px/1 var(--text); text-decoration:none; margin-bottom:18px}
.pill i{width:8px; height:8px; border-radius:50%; background:var(--orange)}
.pill:hover{background:rgba(255,255,255,.2); color:#fff} .announce{border:0; padding:0; border-radius:12px; width:min(580px, calc(100vw - 32px)); box-shadow:var(--shadow-lg); overflow:hidden; color:var(--body)}
.announce::backdrop{background:rgba(11,34,56,.55)}
.ann-top{position:relative; color:#fff; padding:40px 40px 34px; overflow:clip; background:linear-gradient(90deg, rgba(11,109,134,.97) 0%, rgba(11,109,134,.9) 55%, rgba(11,109,134,.5) 100%), url(//cresensolutions.com/wp-content/plugins/cresen-site/assets/photo-lab-dialog.webp) center 35%/cover, var(--teal-hero)}
.announce[open]{animation:annIn .45s cubic-bezier(.2,.8,.2,1)}
.announce[open]::backdrop{animation:fadeIn .35s ease}
@keyframes annIn{from{opacity:0; transform:translateY(24px) scale(.96)}to{opacity:1; transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.announce[open] .ann-body > *{animation:riseIn .6s cubic-bezier(.2,.7,.2,1) both}
.announce[open] .ann-body > :nth-child(2){animation-delay:.1s} .announce[open] .ann-body > :nth-child(3){animation-delay:.2s}
.ann-top .facets{position:absolute; top:0; right:0; width:220px; --f1:#fff; --f2:#fff; --f3:#fff; --f4:#fff; --f5:#fff; --f6:#fff; --op:.12}
.ann-top .kicker{color:var(--teal-kicker); margin-bottom:12px; position:relative}
.ann-top h2{color:#fff; font-size:30px; position:relative; max-width:420px}
.ann-close{position:absolute; top:12px; right:12px; width:36px; height:36px; border-radius:50%; border:0; background:rgba(255,255,255,.16); color:#fff; display:grid; place-items:center; cursor:pointer}
.ann-close:hover{background:rgba(255,255,255,.28)}
.ann-body{padding:28px 40px 34px; background:#fff}
.ann-body p{font-size:18px}
.ann-body dl{display:grid; grid-template-columns:auto 1fr; gap:6px 16px; margin:0 0 6px; font-size:17px}
.ann-body dt{font-weight:700; color:var(--head)}
.ann-body dd{margin:0}
.ann-actions{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:24px} .bot{position:fixed; right:24px; bottom:24px; z-index:60; font-family:var(--text)}
.bot-teaser{position:relative; display:block; padding:0 0 12px; animation:botIn .6s cubic-bezier(.2,.8,.2,1) 1.8s both}
@keyframes botIn{from{opacity:0; transform:translateY(20px)}to{opacity:1; transform:none}}
.bot-open::after{content:""; position:absolute; inset:-2px; border-radius:50%; animation:ring 2.6s ease-out 2.6s 3}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(30,128,163,.55)}80%,100%{box-shadow:0 0 0 14px rgba(30,128,163,0)}}
.bot-open{transition:transform .2s}
.bot-open:hover{transform:scale(1.06)}
.bot.is-open .bot-panel{animation:annIn .35s cubic-bezier(.2,.8,.2,1)}
.bot-bubble{background:#fff; border-radius:14px; box-shadow:0 10px 30px rgba(11,34,56,.18); padding:16px 86px 16px 24px; max-width:380px; position:relative}
.bot-bubble small{display:block; font-size:15px; color:var(--slate); margin-bottom:2px}
.bot-bubble small strong{color:var(--head)}
.bot-bubble span{font-size:21px; color:var(--head); line-height:1.3}
.bot-mark{position:absolute; left:-26px; top:-34px; width:64px; height:64px}
.bot-hide{position:absolute; top:-38px; right:6px; z-index:2; width:30px; height:30px; border:1px solid var(--line-2); border-radius:50%; background:#fff; color:var(--head); display:grid; place-items:center; cursor:pointer; box-shadow:0 4px 12px rgba(11,34,56,.16); transition:background .15s, transform .15s}
.bot-hide:hover{background:var(--teal-soft); transform:scale(1.08)} .bot.is-min .bot-bubble{padding:0; background:none; box-shadow:none; width:72px; height:72px}
.bot.is-min .bot-bubble small,.bot.is-min .bot-bubble span,.bot.is-min .bot-mark,.bot.is-min .bot-hide{display:none}
.bot.is-min .bot-open{position:static}
.bot-open{position:absolute; right:-10px; bottom:0; width:72px; height:72px; border-radius:50%; background:#fff; border:2px solid var(--head); box-shadow:0 6px 18px rgba(11,34,56,.22); display:grid; place-items:center; cursor:pointer; padding:0}
.bot-open img{width:50px; height:50px}
.bot-panel{display:none; flex-direction:column; width:min(400px, calc(100vw - 32px)); height:min(640px, calc(100vh - 140px)); background:#fff; border-radius:12px; box-shadow:0 16px 48px rgba(11,34,56,.25); overflow:hidden}
.bot.is-open .bot-panel{display:flex}
.bot.is-open .bot-teaser{display:none}
.bot-head{display:flex; justify-content:flex-end; gap:6px; padding:10px 12px 4px}
.bot-head button,.bot-foot button{background:none; border:0; color:var(--head); width:36px; height:36px; display:grid; place-items:center; cursor:pointer; border-radius:6px}
.bot-head button:hover,.bot-foot button:hover{background:var(--canvas)}
.bot-log{flex:1; padding:14px 18px; overflow:auto; position:relative; background:#fff url(//cresensolutions.com/wp-content/plugins/cresen-site/assets/cresen-mark.png) no-repeat center 46%/210px; background-blend-mode:normal}
.bot-log::before{content:""; position:absolute; inset:0; background:rgba(255,255,255,.82); pointer-events:none}
.bot-msg{position:relative; display:flex; gap:10px; align-items:flex-start; margin:0 0 12px}
.bot-msg img{width:38px; height:38px; flex:none; margin-top:2px}
.bot-msg p{margin:0; background:var(--teal); color:#fff; padding:12px 16px; border-radius:6px; font-size:16px; line-height:1.4}
.bot-msg.sys{padding-left:48px}
.bot-input{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 18px; border-top:1px solid var(--line); background:var(--canvas); color:var(--slate); font-size:16px}
.bot-foot{display:flex; justify-content:space-around; padding:10px 14px 12px; border-top:1px solid var(--line)}
.bot-foot .cur{outline:2px solid var(--teal); outline-offset:2px; border-radius:50%}
.bot-after{display:flex; justify-content:flex-end; margin-top:14px}
.bot-after[hidden]{display:none}
.bot-after button{width:60px; height:60px; border-radius:50%; background:#fff; border:2px solid var(--head); display:grid; place-items:center; cursor:pointer; box-shadow:0 6px 18px rgba(11,34,56,.22)} .anim .rv{opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); transition-delay:var(--d, 0s)}
.anim .rv.in{opacity:1; transform:none}
.tabpanel.tab-enter{animation:tabIn .22s ease-out both}
.tabpanel.tab-enter .frame{animation:tabIn .26s ease-out .03s both}
@keyframes tabIn{from{opacity:0; transform:translateY(6px)}to{opacity:1; transform:none}}
.anim .cycle-steps::before{transform:scaleX(0); transform-origin:left; transition:transform 1.4s cubic-bezier(.6,0,.2,1) .2s}
.anim .cycle.in .cycle-steps::before{transform:none}
.anim .cycle .node{transform:scale(.4); opacity:0; transition:transform .5s cubic-bezier(.3,1.5,.5,1), opacity .3s; transition-delay:calc(.25s + var(--i, 0) * .17s)}
.anim .cycle.in .node{transform:none; opacity:1}
.anim .cycle .loop{opacity:0; transition:opacity .8s ease 1.5s}
.anim .cycle.in .loop{opacity:1}
.anim .bar i{transform:scaleX(0); transform-origin:left; transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .3s}
.anim .rv.in .bar i{transform:none}
.frame,.sc,.methods li{transition:transform .3s, box-shadow .3s}
.frame:hover{box-shadow:var(--shadow-lg)}
@media (prefers-reduced-motion:reduce){
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)),:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) *,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product))::before,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) *::before,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product))::after,:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) *::after{animation:none !important; transition:none !important}
.anim .rv,.anim .cycle .node,.anim .cycle .loop{opacity:1; transform:none}
.anim .cycle-steps::before,.anim .bar i{transform:none}
}
.still *,.still *::before,.still *::after{animation:none !important; transition:none !important} @media (max-width:1080px){
.hero > .wrap{grid-template-columns:1fr}
.hero-copy{max-width:720px}
.includes ul{columns:2; column-gap:40px}
.mainnav{display:none}
.menu-btn{display:grid; place-items:center}
.site-header .btn{display:none}
.logo img{height:24px}
.certs img{height:36px}
.score{grid-template-columns:1fr 28px 1fr 28px 1fr; row-gap:20px}
.score .op.to1{display:none}
.score .gate{grid-column:1 / span 3}
.score .op.to2{transform:none}
.methods{grid-template-columns:repeat(2,1fr)}
.plat{grid-template-columns:repeat(2,1fr)}
.plat li:nth-last-child(-n+4){border-bottom:0}
.plat li:nth-last-child(-n+2){border-bottom:1px solid var(--line-2)}
}
@media (max-width:900px){
:where(html:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)) section{padding:80px 0}
.head,.overview,.plan,.remed,.data,.ai,.two{grid-template-columns:1fr}
.head{align-items:start; margin-bottom:40px}
.facts{grid-column:1; grid-template-columns:1fr; gap:24px; margin-top:32px}
.overview > div:first-child{grid-row:auto}
.overview{row-gap:28px}
.act-strip{grid-template-columns:1fr}
.ov-photo{max-width:640px}
.shot-key{grid-template-columns:1fr; gap:14px}
.lists{grid-template-columns:1fr}
.tabpanel{grid-template-columns:1fr}
.chat{position:static}
.doccheck{grid-template-columns:1fr; padding:24px}
.doccheck .arrow{transform:rotate(90deg); height:56px}
.paper{max-width:420px; transform:none} .cycle-groups{display:none}
.cycle-steps{grid-template-columns:1fr; gap:0}
.cycle-steps::before{left:23px; right:auto; top:24px; bottom:24px; width:2px; height:auto}
.cycle-steps li{display:grid; grid-template-columns:48px 1fr; gap:0 20px; text-align:left; padding:0 0 26px}
.node{margin:0; grid-column:1; grid-row:1 / span 3}
.cycle-steps li[data-g]::before{content:attr(data-g); grid-column:2; grid-row:1; justify-self:start; margin-top:2px; font:600 13px/1 var(--text); color:var(--teal-ink)}
.cycle-steps h3{grid-column:2; grid-row:2; padding-top:4px}
.cycle-steps p{grid-column:2; grid-row:3}
.loop{margin:0 0 0 23px; height:auto; border:0; border-left:2px dashed var(--orange); border-radius:0; padding:4px 0 4px 45px}
.loop::before{display:none}
.loop span{position:static; transform:none; background:none; padding:0; white-space:normal; display:block}
}
@media (max-width:640px){
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)){font-size:17px}
.bot{right:14px; bottom:14px} .bot-bubble{padding:0; background:none; box-shadow:none; width:60px; height:60px}
.bot-bubble small,.bot-bubble span,.bot-mark{display:none}
.bot-open{position:static; width:60px; height:60px}
.bot-open img{width:42px; height:42px}
.ann-top,.ann-body{padding-left:22px; padding-right:22px}
.ann-top h2{font-size:26px}
.lede{font-size:19px}
.includes ul{columns:1}
.mm-plate img{height:28px}
.hero{padding-bottom:64px}
.hero .facets{display:none}
.hero-copy{max-width:none}
.hero-frame{overflow-x:auto; overscroll-behavior-x:contain}
.hero-frame .shot-inner{width:900px}
.swipe-hint{display:block}
.score{grid-template-columns:1fr}
.score .op{height:28px}
.score .gate{grid-column:auto}
.score .op.to1{display:grid}
.sc small{min-height:0}
.methods,.plat,.srcs,.ai-list{grid-template-columns:1fr}
.srcs .two-col{columns:1}
.plat li:nth-last-child(-n+2){border-bottom:0}
.plat li:last-child{border-bottom:1px solid var(--line-2)}
.chev{flex-direction:column; gap:6px}
.chev li,.chev li:first-child,.chev li:last-child{clip-path:none; border-radius:6px; padding:12px 16px; text-align:left}
.timeline{padding:20px 18px 6px}
.timeline li{--tl-x:69px}
.timeline li{grid-template-columns:48px 20px 1fr; gap:0 12px}
.checks th,.checks td{padding:11px 12px}
.checks table{font-size:15px}
.scroll-hint{display:block}
.signup{flex-direction:column}
.fgrid{grid-template-columns:1fr}
.cta p{font-size:18px}
.act-strip .photo{aspect-ratio:4/3}
.bot-hide{display:none}
.ann-actions .btn{width:100%}
}  .site-header{position:sticky}
.mainnav{align-self:stretch; align-items:stretch; gap:26px}
.mainnav > a, .dd{display:flex; align-items:center}
.mainnav > a{position:relative}
.dd{position:relative}
.dd-btn{display:inline-flex; align-items:center; gap:6px; background:none; border:0; padding:0; cursor:pointer; font:600 16px/1 var(--text); color:var(--head); height:100%}
.dd-btn svg{width:10px; height:10px; transition:transform .2s}
.dd-btn:hover{color:var(--teal-ink)}
.mainnav .is-current{color:var(--teal-ink)}
.mainnav .is-current::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:var(--orange)}
.dd-btn.is-current{position:relative}
.dd-panel{position:absolute; top:100%; left:-20px; min-width:240px; background:#fff; border:1px solid var(--line); border-top:0; border-radius:0 0 10px 10px; box-shadow:0 18px 40px rgba(11,34,56,.12); padding:14px 0; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .18s, transform .18s, visibility 0s linear .18s; z-index:40}
.dd:hover .dd-panel, .dd:focus-within .dd-panel, .dd.open .dd-panel{opacity:1; visibility:visible; transform:none; transition:opacity .18s, transform .18s}
.dd:hover .dd-btn svg, .dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-panel a{display:block; padding:9px 20px; font:600 16px/1.3 var(--text); color:var(--head); text-decoration:none; white-space:nowrap}
.dd-panel a:hover{background:var(--teal-soft); color:var(--teal-ink)}
.dd-panel a[aria-current="page"]{color:var(--teal-ink)} .dd-mega{position:static}
.dd-mega .dd-panel{left:0; right:0; padding:0; border-radius:0 0 14px 14px; overflow:hidden; border-top:1px solid var(--line)}
.site-header .dd-panel .wrap{display:block; height:auto}
.site-header .dd-panel .dd-body{display:grid; grid-template-columns:minmax(0,1fr) minmax(250px, 290px); gap:32px 48px; align-items:start; padding-top:34px; padding-bottom:34px}
.dd-grid{display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); grid-template-rows:auto auto 1fr; gap:0 26px}
.dd-group{display:grid; grid-row:span 3; grid-template-rows:subgrid; min-width:0} .dd-group + .dd-group{border-left:1px solid var(--line); padding-left:26px}
.dd-group h3, .dd-side h3{font:700 13px/1.2 var(--text); letter-spacing:.16em; text-transform:uppercase; color:var(--teal-ink); margin:0 0 8px}
.dd-group > p{font-size:15px; line-height:1.45; color:var(--slate); margin:0 0 12px; padding-bottom:14px; border-bottom:1px solid var(--line)}
.dd-panel .dd-links a{display:block; margin:0 -12px; padding:9px 12px; border-radius:6px; white-space:normal; font:inherit}
.dd-links b, .dd-side b{display:block; font:600 16px/1.3 var(--text); color:var(--head)}
.dd-links small, .dd-side small{display:block; font-size:14px; line-height:1.35; color:var(--slate); margin-top:2px}
.dd-panel .dd-links a:hover, .dd-panel .dd-links a[aria-current="page"]{background:var(--teal-soft)}
.dd-links a:hover b, .dd-links a[aria-current="page"] b{color:var(--teal-ink)} .dd-side{background:var(--canvas); border:1px solid var(--line); border-radius:10px; padding:20px 20px 12px}
.dd-side h3{margin-bottom:10px}
.dd-panel .dd-side a{display:grid; grid-template-columns:104px 1fr; align-items:baseline; gap:10px; padding:9px 0; margin:0; border-top:1px solid var(--line); white-space:normal}
.dd-side b{font-size:15px}
.dd-side small{margin:0}
.dd-panel .dd-side a:hover{background:none}
.dd-side a:hover b{color:var(--teal-ink)}
.dd-foot{background:var(--canvas); border-top:1px solid var(--line)}
.site-header .dd-foot .wrap{display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:14px; padding-bottom:14px; font-size:15px; color:var(--slate)}
.dd-panel .dd-foot a{display:inline-flex; gap:8px; align-items:center; padding:0; color:var(--teal-ink); font-weight:600}
.dd-panel .dd-foot a:hover{background:none; color:var(--head)}
@media (max-width:1320px){
.site-header .dd-panel .dd-body{grid-template-columns:1fr; gap:24px}
.dd-grid{gap:0 28px}
.dd-side{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:0 28px; padding:16px 20px 8px}
.dd-side h3{grid-column:1 / -1}
.dd-panel .dd-side a{grid-template-columns:1fr; gap:0}
}   .mnav{display:none; border-top:1px solid var(--line); background:#fff; max-height:calc(100vh - 68px); overflow:auto}
.site-header.nav-open .mnav{display:block}
.mnav .wrap{display:block; height:auto; padding-top:12px; padding-bottom:24px}
.mnav h3{font:700 13px/1.2 var(--text); letter-spacing:.16em; text-transform:uppercase; color:var(--teal-ink); margin:20px 0 6px}
.mnav a{display:block; padding:11px 0; border-bottom:1px solid var(--line); color:var(--head); text-decoration:none; font:600 17px/1.3 var(--text)}
.mnav .btn{margin-top:20px; width:100%; border-bottom:0}
@media (min-width:1081px){ .mnav{display:none !important} } .hero-short{padding:36px 0 48px}
.hero-short > .wrap{grid-template-columns:minmax(0,1fr)}
.hero-short .hero-copy{max-width:860px}
.hero-short h1{font-size:clamp(34px, 3.6vw, 50px)}
.hero .kicker{color:var(--teal-kicker)}
.hero .meta{display:flex; flex-wrap:wrap; gap:6px 18px; font-size:16px; color:var(--on-teal); margin:0}
.hero-proof{position:relative; z-index:2}
.hero-proof .frame{box-shadow:0 24px 56px rgba(4,40,52,.35)}
.hero-proof figcaption{color:var(--on-teal)}
.hero-proof .ph-box{background:rgba(255,255,255,.96)} .ph{margin:0}
.ph-box{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; padding:28px; aspect-ratio:var(--ratio, 16 / 10); border:2px dashed var(--teal-line); border-radius:10px; background:repeating-linear-gradient(135deg, #fff 0 14px, var(--canvas) 14px 28px); color:var(--slate)}
.ph-box b{font:700 13px/1.2 var(--text); letter-spacing:.16em; text-transform:uppercase; color:var(--teal-ink)}
.ph-box strong{font:600 19px/1.35 var(--font-display); color:var(--head); max-width:36ch; text-wrap:balance}
.ph-box span{font-size:15px; line-height:1.45; max-width:44ch}
.ph-photo .ph-box{border-color:var(--line-2); background:repeating-linear-gradient(135deg, var(--canvas-2) 0 14px, var(--canvas) 14px 28px)}
.ph-photo .ph-box b{color:var(--slate)}
.ph-logo .ph-box{aspect-ratio:3 / 1; padding:12px; gap:2px}
.ph-logo .ph-box strong{font-size:15px} .split{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:48px 72px; align-items:center}
.split.top{align-items:start}
.split.rev > :first-child{order:2}
.split h2{margin-bottom:20px}
.split .ticks{margin:24px 0 0}
.split figure{margin:0}
.split + .split{margin-top:96px} .points{display:grid; grid-template-columns:repeat(var(--cols, 3), minmax(0,1fr)); gap:40px 32px; list-style:none}
.points > li{border-top:2px solid var(--teal); padding-top:22px}
.points h3{margin-bottom:10px}
.points p{font-size:17px; margin:0}
.points p + p{margin-top:12px}
.points .btn-quiet{margin-top:14px; min-height:0; padding-left:0} .families{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:48px 40px; list-style:none}
.family{border-top:2px solid var(--head); padding-top:22px}
.family h3{font-size:22px; margin-bottom:8px}
.family > p{font-size:17px; color:var(--slate); margin-bottom:14px}
.family ul{list-style:none}
.family li a{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:11px 0; border-top:1px solid var(--line); color:var(--head); font-weight:600; text-decoration:none}
.family li:last-child a{border-bottom:1px solid var(--line)}
.family li a svg{flex:none; color:var(--teal); transition:transform .15s}
.family li a:hover{color:var(--teal-ink)}
.family li a:hover svg{transform:translateX(3px)} .cards{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:32px; list-style:none}
.card{position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line-2); border-radius:10px; overflow:hidden; transition:transform .3s, box-shadow .3s}
.card:hover{box-shadow:var(--shadow-lg); transform:translateY(-2px)}
.card-img{aspect-ratio:16 / 9; background:var(--canvas-2); overflow:hidden}
.card-img img{width:100%; height:100%; object-fit:cover}
.card-img .ph{height:100%}
.card-img .ph-box{aspect-ratio:auto; height:100%; border:0; border-radius:0; border-bottom:1px solid var(--line); padding:16px}
.card-img .ph-box strong{font-size:16px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.card-img .ph-box span{display:none}
.card-body{display:flex; flex-direction:column; gap:8px; padding:22px 24px 26px; flex:1}
.card .kicker{margin:0; font-size:12px}
.card h3{font-size:20px; line-height:1.3}
.card h3 a{color:var(--head); text-decoration:none}
.card h3 a::after{content:""; position:absolute; inset:0}
.card h3 a:hover{color:var(--teal-ink)}
.card p{font-size:16px; line-height:1.5; color:var(--slate); margin:0}
.card-meta{margin-top:auto; padding-top:10px; font-size:14px; color:var(--slate)}
.filters{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 32px; list-style:none}
.filters a{display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border:1px solid var(--line-2); border-radius:999px; font:600 15px/1 var(--text); color:var(--head); text-decoration:none}
.filters a:hover{border-color:var(--teal); background:var(--teal-soft)}
.filters a[aria-current="true"]{background:var(--teal-ink); border-color:var(--teal-ink); color:#fff} .people{display:grid; grid-template-columns:repeat(var(--cols, 4), minmax(0,1fr)); gap:48px 32px; list-style:none}
.person .ph-box, .person img{aspect-ratio:4 / 5; border-radius:10px; width:100%; object-fit:cover}
.person h3{font-size:20px; margin:16px 0 4px}
.person p{margin:0; font-size:16px; color:var(--slate)}
.person .role{font-weight:600; color:var(--teal-ink)}
.person .bio{margin-top:10px; color:var(--body); line-height:1.5} .logo-row{display:grid; grid-template-columns:repeat(var(--cols, 4), minmax(0,1fr)); gap:24px; list-style:none; align-items:center} .steps{display:grid; grid-template-columns:repeat(var(--cols, 4), minmax(0,1fr)); gap:0 24px; list-style:none; position:relative; counter-reset:st} .steps::before{content:""; position:absolute; left:24px; right:calc((100% - (var(--cols, 4) - 1) * 24px) / var(--cols, 4) - 24px); top:23px; height:2px; background:var(--teal-line)}
.steps li{position:relative; counter-increment:st}
.steps li::before{content:counter(st); display:grid; place-items:center; width:48px; height:48px; margin:0 0 18px; border-radius:50%; background:#fff; border:2px solid var(--teal); color:var(--teal-ink); font:700 19px/1 var(--font-display); position:relative}
.steps h3{font-size:19px; margin-bottom:6px}
.steps p{font-size:16px; line-height:1.5; color:var(--slate); margin:0} .quote{margin:0; padding-top:28px; border-top:2px solid var(--orange); max-width:900px}
.quote blockquote{margin:0 0 18px; font:500 clamp(22px, 2.2vw, 28px)/1.4 var(--font-display); color:var(--head); letter-spacing:-.01em}
.quote figcaption{margin:0; font-size:16px; color:var(--slate)}
.quote figcaption strong{color:var(--head)} .form{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px 24px}
.field{display:flex; flex-direction:column; gap:7px}
.field.full{grid-column:1 / -1}
.field label{font:600 15px/1.2 var(--text); color:var(--head)}
.field label span{font-weight:400; color:var(--slate)}
.field input, .field select, .field textarea{font:400 17px/1.3 var(--text); color:var(--body); background:#fff; border:1px solid var(--line-2); border-radius:6px; padding:12px 14px; width:100%}
.field select{appearance:none; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' fill='none' stroke='%233A4750' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center; padding-right:40px}
.field textarea{min-height:140px; resize:vertical}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--teal)}
.form-actions{grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; margin-top:6px}
.form-note{font-size:14px; color:var(--slate); margin:0} .form-status{margin:16px 0 0; padding:12px 16px; border-radius:6px; font:600 16px/1.4 var(--text); background:var(--ok-soft); color:var(--ok-ink)}
.form-status.is-problem{background:var(--orange-soft); color:var(--orange-ink)}
.form-status:empty{display:none}
form.is-sending [type="submit"]{opacity:.6; pointer-events:none}
.field.is-invalid :is(input, select, textarea){border-color:var(--orange-btn)}
.hp{position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden}
.panel{background:#fff; border:1px solid var(--line-2); border-radius:12px; padding:36px; box-shadow:var(--shadow)}
.contact-list{list-style:none; display:grid; gap:0}
.contact-list li{padding:18px 0; border-top:1px solid var(--line)}
.contact-list li:last-child{border-bottom:1px solid var(--line)}
.contact-list h3{font-size:18px; margin-bottom:4px}
.contact-list p{margin:0; font-size:17px} .article{max-width:760px; margin:0 auto; font-size:17px; line-height:1.6}
.article > * + *{margin-top:0}
.article p{margin:0 0 16px}
.article h2{font-size:clamp(25px, 2.1vw, 30px); line-height:1.2; margin:40px 0 12px}
.article h3{font-size:19px; margin:28px 0 8px}
.article ul, .article ol{margin:0 0 18px; padding-left:24px}
.article li{margin-bottom:6px; padding-left:4px}
.article li::marker{color:var(--teal)}
.article figure{margin:32px 0}
.article > figure:first-child, .article > .article-cover{margin-top:0}
.article-cover{margin:0 0 32px}
.article-cover img{border-radius:10px; width:100%}
.article figcaption{font-size:15px}
.article .lede{font-size:20px; line-height:1.5; color:var(--head); margin-bottom:24px}
.article-foot{max-width:760px; margin:48px auto 0; padding-top:24px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:center}
.post-body{padding-top:48px} .toc{display:none}
.toc b{display:block; margin-bottom:10px; font:700 13px/1.3 var(--font-display); letter-spacing:.08em; text-transform:uppercase; color:var(--teal-ink)}
.toc ol{list-style:none; margin:0; padding:0; border-left:2px solid var(--line)}
.toc a{display:block; margin-left:-2px; padding:6px 0 6px 14px; border-left:2px solid transparent; font-size:15px; line-height:1.35; color:var(--slate); text-decoration:none}
.toc a:hover{color:var(--teal-ink)}
.toc a[aria-current="true"]{border-left-color:var(--teal); color:var(--teal-ink); font-weight:600}
@media (min-width:1180px){
.post-grid.has-toc{display:grid; grid-template-columns:220px minmax(0,760px); column-gap:64px; justify-content:center; align-items:start}
.post-grid.has-toc > :is(.article, .article-foot){grid-column:2; max-width:none; margin-left:0; margin-right:0}
.post-grid.has-toc > .toc{display:block; grid-column:1; grid-row:1 / span 2; position:sticky; top:calc(var(--header-h, 69px) + 32px)} .pt-article .hero.has-toc > .wrap{grid-template-columns:220px minmax(0,760px); column-gap:64px; justify-content:center}
.pt-article .hero.has-toc .hero-copy{grid-column:2; max-width:none; margin:0; text-align:left}
.pt-article .hero.has-toc :is(.crumbs, .byline){justify-content:flex-start}
.pt-article .hero.has-toc h1{font-size:clamp(34px, 3.4vw, 48px)}
.pt-article .hero.has-toc h1::after{margin-left:0; margin-right:0; transform-origin:left}
}
.byline{display:flex; flex-wrap:wrap; gap:6px 18px; font-size:15px; color:var(--on-teal)} .prose{max-width:760px}
.prose p{font-size:18px}
.prose h2{font-size:28px; margin:48px 0 14px}
.prose h3{margin:32px 0 10px} .review-note{max-width:860px; background:var(--watch-soft); border:1px solid var(--line-2); border-radius:10px; padding:28px 32px}
.review-note h2{font-size:26px; margin-bottom:10px}
.review-note p{margin:0 0 12px}
.review-note p:last-child{margin:0} .sm-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:24px; margin-bottom:40px}
.sm-stats{display:flex; flex-wrap:wrap; gap:12px; list-style:none}
.sm-stats li{min-width:120px; padding:14px 18px; border:1px solid var(--line-2); border-radius:8px; background:#fff}
.sm-stats b{display:block; font:700 28px/1 var(--font-display); color:var(--head); margin-bottom:6px}
.sm-stats span{font-size:14px; color:var(--slate)}
.sm-group{margin-top:56px}
.sm-group h2{font-size:26px; margin-bottom:16px}
.sm-table{width:100%; border-collapse:collapse; font-size:16px; background:#fff; border:1px solid var(--line-2); border-radius:10px; overflow:hidden}
.sm-table th{text-align:left; font:600 14px/1.2 var(--text); color:var(--slate); background:var(--canvas); padding:12px 16px; border-bottom:1px solid var(--line)}
.sm-table td{padding:12px 16px; border-bottom:1px solid var(--line); vertical-align:top}
.sm-table tr:last-child td{border-bottom:0}
.sm-table td:first-child a{font-weight:600; color:var(--head)}
.sm-table small{display:block; color:var(--slate); font-size:14px; margin-top:2px; word-break:break-all}
.sm-table .n{font-variant-numeric:tabular-nums; white-space:nowrap}
.sm-notes{font-size:14px; color:var(--slate); max-width:420px}
.tag.draft{background:var(--teal-soft); color:var(--teal-ink)}
.tag.review{background:var(--ok-soft); color:var(--ok-ink)}
.tag.placeholder, .tag.retire{background:var(--watch-soft); color:var(--watch-ink)}
.tag.duplicate{background:var(--canvas-2); color:var(--slate)}  .hero-home > .wrap{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.hero-home .facets{--op:.18}
.orbit{position:relative; z-index:2; width:min(100%, 470px); aspect-ratio:1; justify-self:center; container-type:inline-size; animation:riseIn .9s cubic-bezier(.2,.7,.2,1) .3s both}
.orbit-ring{position:absolute; inset:0; width:100%; height:100%; overflow:visible}
.orbit:not(.live) .ob-hl{opacity:0}
.orbit{--sweep:.8s; --release:.34s}
.ob-hl{transform-box:view-box; transform-origin:50% 50%; transform:rotate(var(--a, 0deg)); transition:transform var(--sweep) cubic-bezier(.6,0,.2,1), opacity .5s} .ob-bezel{fill:none; stroke:rgba(255,255,255,.55); stroke-width:.3}
.ob-bezel-in{display:none}
.ob-track{fill:none; stroke:rgba(255,255,255,.22); stroke-width:.3; stroke-dasharray:.6 1.1}
.ob-bar{fill:none; stroke:var(--orange); stroke-width:5.5; stroke-linecap:round; stroke-dasharray:100 100; stroke-dashoffset:0;
transition:stroke-dasharray var(--release) cubic-bezier(.4,0,.2,1), stroke-dashoffset var(--release) cubic-bezier(.4,0,.2,1), stroke-width var(--release) cubic-bezier(.4,0,.2,1)} .orbit.landed .ob-bar{stroke-dasharray:0 100; stroke-dashoffset:-50; stroke-width:0}
.ob-vortex circle{fill:none; stroke-linecap:round}
.vx-1{stroke:rgba(255,255,255,.34); stroke-width:.3}
.vx-2{stroke:var(--ai-blue); stroke-width:.4; opacity:.8}
.vx-3{stroke:var(--ai-cyan); stroke-width:.35; opacity:.7}
.comet-2{animation:obSpin 6.5s linear infinite reverse}
.comet-2 circle{fill:#fff; filter:drop-shadow(0 0 .8px var(--ai-orange))} .ob-comet{transform-box:view-box; transform-origin:50% 50%}
.ob-comet path{fill:none; stroke-width:.7; stroke-linecap:round}
.comet-1{animation:obSpin 9s linear infinite}
.comet-1 circle{fill:#fff; filter:drop-shadow(0 0 .8px var(--ai-cyan))}
.ob-stars circle{fill:#fff; animation:obTwinkle var(--tw, 3s) ease-in-out var(--td, 0s) infinite}
@keyframes obTwinkle{0%,100%{opacity:.15}50%{opacity:.9}}
.orbit-nodes{list-style:none} .orbit-theme{position:absolute; left:50%; transform:translateX(-50%); white-space:nowrap; font:700 1.75cqw/1 var(--text); letter-spacing:.16em; text-transform:uppercase; color:var(--teal-kicker); opacity:.78; transition:color .3s, opacity .3s}
.orbit-nodes [data-side="up"] .orbit-theme{bottom:100%; margin-bottom:1.1cqw}
.orbit-nodes [data-side="down"] .orbit-theme{top:100%; margin-top:1.1cqw}
.orbit-nodes li.on .orbit-theme{color:#fff; opacity:1}
.orbit-nodes li{position:absolute; z-index:3; width:max-content; transform:translate(-50%, -50%)} .orbit-nodes a{position:relative; display:inline-flex; align-items:center; justify-content:center; width:28.74cqw; height:7.69cqw; padding:1.2cqw 1.2cqw; background:#fff; border-radius:8px; box-shadow:0 8px 22px rgba(4,40,52,.3); font:700 clamp(12px, 2.8cqw, 16px)/1 var(--font-display); letter-spacing:-.01em; color:var(--head); text-decoration:none; white-space:nowrap; transition:transform .4s cubic-bezier(.3,1.4,.5,1), box-shadow .4s}
.orbit-nodes img{display:block; width:calc(var(--lw, 800) * var(--ring-s, .0317cqw)); height:auto; max-width:none}
.orbit-nodes li.on a{transform:scale(1.05); box-shadow:0 12px 28px rgba(4,40,52,.38)} .orbit-nodes a::after{content:""; position:absolute; inset:-3px; border-radius:11px; border:3px solid var(--orange); opacity:0; pointer-events:none;
clip-path:inset(0 50% 0 50%); transition:clip-path var(--release) cubic-bezier(.4,0,.2,1), opacity .1s var(--release)} .orbit.landed .orbit-nodes li.on a::after{clip-path:inset(0 0 0 0); opacity:1; transition:clip-path var(--release) cubic-bezier(.4,0,.2,1), opacity .1s}
.orbit-core{position:absolute; left:50%; top:50%; width:47%; aspect-ratio:1; transform:translate(-50%, -50%); border-radius:50%; background:radial-gradient(circle at 50% 30%, rgba(255,255,255,.16), rgba(255,255,255,.03) 70%); border:1px solid rgba(255,255,255,.22); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:0 7%; color:#fff} .orbit-sun{position:relative; display:block; width:10cqw; aspect-ratio:1; margin-bottom:2cqw}
.orbit-count{font:700 clamp(11px, 2.1cqw, 13px)/1 var(--text); letter-spacing:.22em; color:var(--on-teal-soft); font-variant-numeric:tabular-nums; margin-bottom:1.2cqw}
.orbit-count b{color:#fff}
.orbit-mark{display:block; width:100%; height:100%; background:#fff; border-radius:50%; padding:.5cqw}
@keyframes obSpin{to{transform:rotate(360deg)}}
.orbit-area{font:700 clamp(10px, 2.2cqw, 12px)/1.2 var(--text); letter-spacing:.16em; text-transform:uppercase; color:var(--teal-kicker); margin-bottom:6px}
.orbit-name{font:700 clamp(18px, 5.2cqw, 29px)/1.1 var(--font-display); letter-spacing:-.02em; margin-bottom:8px}
.orbit-job{font-size:clamp(12px, 2.6cqw, 15px); line-height:1.4; color:var(--on-teal)}
.orbit-core.swap > :not(.orbit-sun){animation:coreSwap var(--sweep) linear both} @keyframes coreSwap{0%{opacity:1; transform:none}22%{opacity:0; transform:translateY(-6px)}38%{opacity:0; transform:translateY(8px)}85%,100%{opacity:1; transform:none}}  .bento{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px; list-style:none}
.pcard{position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line-2); border-radius:12px; overflow:clip; transition:box-shadow .35s, border-color .35s, translate .35s cubic-bezier(.2,.7,.2,1)}
.pcard:hover{translate:0 -4px; box-shadow:var(--shadow-lg); border-color:var(--teal-line)}
.pv{position:relative; height:216px; display:grid; place-items:center; padding:20px 18px; border-bottom:1px solid var(--line); overflow:hidden;
background:radial-gradient(130% 100% at 0% 0%, var(--teal-soft) 0%, transparent 62%), linear-gradient(180deg, var(--canvas) 0%, #fff 100%)}
.pv::before{content:""; position:absolute; inset:0; background-image:radial-gradient(var(--line-2) 1px, transparent 1.2px); background-size:16px 16px; opacity:.5; -webkit-mask-image:linear-gradient(180deg, #000, transparent 85%); mask-image:linear-gradient(180deg, #000, transparent 85%)}
.pv > *{position:relative; transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .pv > *{transform:scale(1.03)}
.pcard-body{display:flex; flex-direction:column; flex:1; padding:24px 26px 26px}
.pcard .kicker{font-size:12px; margin-bottom:12px}
.pcard h3{min-height:48px; display:flex; align-items:center; margin-bottom:12px}
.pcard h3 a{color:var(--head); text-decoration:none}
.tile-link::after{content:""; position:absolute; inset:0; z-index:1}
.pcard-claim{font:600 18px/1.4 var(--font-display); color:var(--head); margin-bottom:18px}
.kw{display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0 0 24px}
.kw li{font:600 13px/1 var(--text); color:var(--teal-ink); background:var(--teal-soft); border-radius:4px; padding:7px 9px 6px}
.tile-more{margin-top:auto; display:inline-flex; align-items:center; gap:8px; font:600 16px/1 var(--text); color:var(--teal-ink)}
.tile-more svg{transition:transform .15s}
.pcard:hover .tile-more svg{transform:translateX(3px)} .svc-mark{display:inline-flex; align-items:center; gap:.32em; font:700 clamp(20px, 1.5vw, 25px)/1 var(--font-display); letter-spacing:-.025em; white-space:nowrap; color:var(--teal-ink)}
.svc-mark img{flex:none; width:1.3em; height:1.3em}
.svc-mark i{font-style:normal; color:var(--orange-ink)} .prod-mark .svc-mark{font:700 clamp(28px, 2.4vw, 38px)/1 var(--font-display); color:var(--teal-ink); padding:0; border:0}
.prod-mark .svc-mark span{font:inherit; color:inherit; padding:0; border:0}
.prod-mark .svc-mark img{width:1.3em; height:1.3em} .tile-links{margin:auto 0 0; display:flex; flex-direction:column; align-items:flex-start; gap:10px}
.tile-links .btn-quiet{padding-left:0; position:relative; z-index:2} .pv-sheet{width:100%; max-width:300px; background:#fff; border:1px solid var(--line-2); border-radius:8px; box-shadow:0 12px 26px rgba(11,34,56,.09); padding:12px 14px; font-size:12.5px; line-height:1.3; color:var(--body)}
.pv-cap{display:flex; justify-content:space-between; gap:10px; font-size:11.5px; color:var(--slate); padding-bottom:8px; margin-bottom:6px; border-bottom:1px solid var(--line)}
.pv-cap b{color:var(--head)}
.pv-foot{margin:6px 0 0; font-size:11.5px; font-weight:700; color:var(--orange-ink)}
.pv-svg{width:100%; max-width:320px; height:auto; overflow:visible; font-family:var(--text)}
.anim :is(.pcard.rv, .hero-vis):not(.in) :is([style*="--i"], .em-steps li, .mm-row){opacity:0} .mm-row{display:grid; grid-template-columns:104px 1fr 20px; align-items:center; gap:10px; padding:5px 0; transition:opacity .4s}
.mm-row span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.mm-row b{text-align:right; font-variant-numeric:tabular-nums; color:var(--head)}
.mm-bar{position:relative; height:8px; border-radius:4px; background:var(--canvas-2); overflow:hidden}
.mm-bar::after{content:""; position:absolute; inset:0; border-radius:4px; background:var(--teal); transform:scaleX(var(--v)); transform-origin:left; transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .25s}
.mm-bar.hi::after{background:linear-gradient(90deg, var(--teal), var(--orange))}
.mm-bar.lo::after{background:var(--teal-line)}
.mm-bar.hi::before{content:""; position:absolute; z-index:1; top:0; bottom:0; left:0; width:34%; background:linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent); transform:translateX(-110%); animation:mmSheen 3.6s ease-in-out 1.6s infinite}
@keyframes mmSheen{0%{transform:translateX(-110%)}55%,100%{transform:translateX(270%)}}
.mm-row:nth-child(3) .mm-bar::after{transition-delay:.4s} .mm-row:nth-child(4) .mm-bar::after{transition-delay:.55s} .mm-row:nth-child(5) .mm-bar::after{transition-delay:.7s}
.anim :is(.pcard.rv, .hero-vis):not(.in) .mm-bar::after{transform:scaleX(0)} .em-steps{list-style:none}
.em-steps li{position:relative; display:flex; align-items:center; gap:10px; padding:4.5px 0; color:var(--slate); transition:opacity .4s, transform .4s}
.em-steps li::before{content:""; flex:none; width:16px; height:16px; border-radius:50%; border:2px solid var(--line-2); background:#fff; box-sizing:border-box}
.em-steps li:not(:last-child)::after{content:""; position:absolute; left:7px; top:calc(50% + 8px); height:9px; width:2px; background:var(--line-2)}
.em-steps li.done{color:var(--head)}
.em-steps li.done::before{border-color:var(--teal); background:var(--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6l4.6-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
.em-steps li.done::after{background:var(--teal)}
.em-steps li.now{color:var(--head); font-weight:700}
.em-steps li.now::before{border-color:var(--orange); animation:emPulse 1.8s ease-out infinite}
@keyframes emPulse{0%{box-shadow:0 0 0 0 rgba(224,122,31,.55)}100%{box-shadow:0 0 0 8px rgba(224,122,31,0)}}
.em-steps li:nth-child(2){transition-delay:.12s} .em-steps li:nth-child(3){transition-delay:.24s} .em-steps li:nth-child(4){transition-delay:.36s} .em-steps li:nth-child(5){transition-delay:.48s}
.anim :is(.pcard.rv, .hero-vis):not(.in) .em-steps li{transform:translateX(-8px)} .sm-lines path{fill:none; stroke:var(--teal-line); stroke-width:1.6; stroke-dasharray:4 5; animation:smFlow 1.1s linear infinite}
@keyframes smFlow{to{stroke-dashoffset:-18}}
.sm-src rect, .sm-out rect{fill:#fff; stroke:var(--line-2)}
.sm-src text{font-size:12px; font-weight:600; fill:var(--head); text-anchor:middle}
.sm-hub circle{fill:var(--teal)}
.sm-hub{transform-box:fill-box; transform-origin:center; animation:smHub 2.2s ease-in-out infinite}
@keyframes smHub{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.sm-hub text{font-size:10.5px; font-weight:700; fill:#fff; text-anchor:middle}
.sm-out text{font-size:12px; font-weight:600; fill:var(--head)}
.sm-out > g{transition:opacity .4s calc(.5s + var(--i) * .22s)}
.sm-out .ck{fill:none; stroke:var(--teal); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:16; stroke-dashoffset:0; transition:stroke-dashoffset .5s calc(.8s + var(--i) * .22s)}
.anim :is(.pcard.rv, .hero-vis):not(.in) .sm-out .ck{stroke-dashoffset:16} .pc-ax{font-size:11px; font-weight:600; fill:var(--slate)}
.pc-note{font-size:11.5px; font-weight:700; fill:var(--orange-ink)}
.pc-band{fill:var(--teal-soft); stroke:var(--teal-line); stroke-dasharray:3 3}
.pc-band-l{font-size:10.5px; font-weight:700; fill:var(--teal-ink); text-anchor:end}
.pc-base{stroke:var(--line-2)}
.pc-dots circle{fill:var(--teal); fill-opacity:.8}
.pc-out circle{fill:var(--orange)}
.pc-dots circle, .pc-out circle{transition:opacity .4s calc(.2s + var(--i) * .05s), transform .8s cubic-bezier(.3,1.35,.5,1) calc(.2s + var(--i) * .05s)}
.anim :is(.pcard.rv, .hero-vis):not(.in) :is(.pc-dots, .pc-out) circle{transform:translateY(46px)}
.pc-out .pc-ring{fill:none; stroke:var(--orange); stroke-width:1.5; transform-box:fill-box; transform-origin:center; animation:pcRing 2.2s ease-out 1.2s infinite}
@keyframes pcRing{0%{transform:scale(1); opacity:.9}100%{transform:scale(3.4); opacity:0}} .el-report{background:var(--canvas); border:1px solid var(--line); border-radius:10px 10px 10px 3px; padding:9px 11px; margin-bottom:8px}
.el-meta{display:block; font-size:11px; color:var(--slate); margin-bottom:4px}
.el-report p{margin:0; font-size:12.5px; line-height:1.4; color:var(--head)}
.el-triage{margin:0}
.el-triage div{display:flex; justify-content:space-between; gap:10px; padding:5px 0; border-top:1px solid var(--line); transition:opacity .4s calc(.4s + var(--i) * .35s)}
.el-triage dt{color:var(--slate)}
.el-triage dd{margin:0; font-weight:700; color:var(--head)}
.el-triage dd.hi{color:var(--orange-ink)}
.el-triage div:first-child dt::before{content:""; display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:2px; background:var(--teal); animation:emPulse 2s ease-out infinite} .q-track{fill:none; stroke:var(--line-2); stroke-width:2}
.q-spin{transform-box:view-box; transform-origin:150px 82px; animation:qSpin 6s linear infinite}
@keyframes qSpin{to{transform:rotate(360deg)}}
.q-hl{fill:none; stroke:var(--teal); stroke-width:4; stroke-linecap:round}
.q-nodes circle{fill:#fff; stroke:var(--teal); stroke-width:2; animation:qNode 6s linear infinite; animation-delay:calc(var(--i) * 1.5s - .2s)}
@keyframes qNode{0%,14%{fill:var(--teal)}22%,100%{fill:#fff}}
.q-l{font-size:12px; font-weight:600; fill:var(--head)}
.q-l.end{text-anchor:end}
.q-c{font-size:11px; font-weight:700; fill:var(--slate); text-anchor:middle; letter-spacing:.1em; text-transform:uppercase} .pv-dc{display:grid; grid-template-columns:minmax(0,.85fr) 26px minmax(0,1.15fr); align-items:center; gap:8px; width:100%; max-width:310px}
.dc-doc{position:relative; overflow:hidden; background:#fff; border:1px solid var(--line-2); border-radius:4px; padding:12px 12px 14px; box-shadow:0 12px 26px rgba(11,34,56,.09); rotate:-2deg}
.dc-doc b{display:block; font:700 11.5px/1.3 var(--font-display); color:var(--head); margin-bottom:8px}
.dc-doc i{display:block; height:5px; border-radius:3px; background:var(--canvas-2); margin:7px 0}
.dc-doc i.s{width:60%}
.dc-scan{position:absolute; left:0; right:0; top:34px; height:20px; background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--teal) 24%, transparent), transparent); animation:dcScan 2.8s ease-in-out infinite}
@keyframes dcScan{0%,100%{top:34px}50%{top:calc(100% - 24px)}}
.dc-arrow path{fill:none; stroke:var(--teal); stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.dc-out{list-style:none; display:grid; gap:6px}
.dc-out li{display:flex; justify-content:space-between; gap:6px; background:#fff; border:1px solid var(--line-2); border-radius:6px; padding:7px 9px; font-size:12px; transition:opacity .45s calc(.3s + var(--i) * .18s), transform .45s calc(.3s + var(--i) * .18s)}
.dc-out b{color:var(--head)}
.dc-out span{color:var(--slate)}
.dc-out .dc-fmt{justify-content:center; background:var(--teal-soft); border-color:var(--teal-line); color:var(--teal-ink); font-weight:700}
.anim :is(.pcard.rv, .hero-vis):not(.in) .dc-out li{transform:translateX(10px)} .pv-sv{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); align-items:end; gap:10px; width:100%; max-width:300px; height:168px}
.sv-step{height:var(--h); display:flex; flex-direction:column; padding:10px; background:#fff; border:1px solid var(--line-2); border-bottom:0; border-radius:6px 6px 0 0; transition:height .8s cubic-bezier(.2,.7,.2,1) calc(.15s + var(--i) * .15s), opacity .4s}
.sv-step b{display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--teal-ink); color:#fff; font:700 12px/1 var(--font-display); margin-bottom:7px; animation:svPulse 6s ease-out infinite; animation-delay:calc(1.2s + var(--i) * 2s)}
@keyframes svPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--teal) 60%, transparent)}24%,100%{box-shadow:0 0 0 10px transparent}}
.sv-step span{font-size:12px; line-height:1.3; font-weight:600; color:var(--head)}
.sv-step:last-child{background:var(--teal-soft); border-color:var(--teal-line)}
.anim :is(.pcard.rv, .hero-vis):not(.in) .sv-step{height:22%; opacity:1} .cs-cap{font-size:11px; font-weight:600; fill:var(--slate)}
.hero-vis .cs-cap{display:none}
.cs-track{fill:none; stroke:var(--line-2); stroke-width:6; stroke-linecap:round}
.cs-flow{fill:none; stroke:var(--teal); stroke-width:2; stroke-linecap:round; stroke-dasharray:5 7; animation:csFlow 1.3s linear infinite}
@keyframes csFlow{to{stroke-dashoffset:-24}}
.cs-nodes g{transition:opacity .45s calc(.2s + var(--i) * .22s)}
.cs-nodes circle{fill:#fff; stroke:var(--teal); stroke-width:2; animation:csNode 6s linear infinite; animation-delay:calc(1s + var(--i) * 1.5s)}
.cs-nodes text{font-size:11.5px; font-weight:700; fill:var(--teal-ink); text-anchor:middle; animation:csNum 6s linear infinite; animation-delay:calc(1s + var(--i) * 1.5s)}
@keyframes csNode{0%,16%{fill:var(--teal)}24%,100%{fill:#fff}}
@keyframes csNum{0%,16%{fill:#fff}24%,100%{fill:var(--teal-ink)}}
.cs-goal circle{stroke:var(--orange); animation-name:csGoal}
.cs-goal text{fill:var(--orange-ink); animation-name:csGoalNum}
@keyframes csGoal{0%,16%{fill:var(--orange-soft)}24%,100%{fill:#fff}}
@keyframes csGoalNum{0%,100%{fill:var(--orange-ink)}}
.cs-goal .cs-ring{fill:none; stroke:var(--orange); stroke-width:1.5; transform-box:fill-box; transform-origin:center; animation:pcRing 2.4s ease-out 1.4s infinite}
.cs-l{font-size:12px; font-weight:600; fill:var(--head); text-anchor:middle}
.cs-l.end{text-anchor:end} .pv-cm{position:relative; overflow:hidden}
.cm-rows{list-style:none}
.cm-rows li{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:5px 0; border-top:1px solid var(--line); transition:opacity .4s calc(.2s + var(--i) * .16s)}
.cm-rows li:first-child{border-top:0}
.cm-rows span{min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--slate)}
.cm-rows b{flex:none; font-size:11.5px; color:var(--slate); font-weight:600}
.cm-rows .flag span{color:var(--head); font-weight:700}
.cm-rows .flag b{color:var(--orange-ink); font-weight:700; display:inline-flex; align-items:center; gap:6px}
.cm-rows .flag b::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--orange); animation:emPulse 1.8s ease-out infinite}
.cm-scan{position:absolute; left:0; right:0; top:34px; height:22px; pointer-events:none; background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--teal) 22%, transparent), transparent); animation:cmScan 3.2s ease-in-out infinite}
@keyframes cmScan{0%,100%{top:34px}50%{top:calc(100% - 52px)}} .gp-q{margin:0 0 7px 34px; padding:7px 10px; border-radius:10px 10px 3px 10px; background:var(--teal-soft); color:var(--head); font-size:12px; line-height:1.35; transition:opacity .4s .2s}
.gp-a{margin:0 34px 7px 0; padding:7px 10px; border-radius:10px 10px 10px 3px; background:var(--canvas); border:1px solid var(--line); color:var(--head); font-size:12px; line-height:1.35; font-weight:600; transition:opacity .4s .7s}
.gp-a::after{content:""; display:inline-block; width:2px; height:1em; margin-left:3px; vertical-align:-2px; background:var(--teal); animation:gpCaret 1.1s steps(2, jump-none) infinite}
@keyframes gpCaret{from{opacity:1}to{opacity:0}}
.gp-src{display:flex; align-items:center; gap:6px; margin:0; font-size:11.5px; font-weight:700; color:var(--teal-ink); transition:opacity .4s 1.2s}
.gp-src svg{flex:none; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linejoin:round}
.gp-src span{font-weight:400; color:var(--slate)}  .pmark{display:inline-flex; align-items:center; gap:10px; font:700 26px/1 var(--font-display); letter-spacing:-.02em; color:var(--head)}
.pmark::before{content:""; flex:none; width:12px; height:12px; border-radius:3px; background:var(--teal)}
.pmark-img{display:block; width:calc(var(--lw, 800) * .27px); height:auto; max-width:100%} img[src$="logo-monitormate.png"]{--lw:813}
img[src$="logo-engagemate.png"]{--lw:805}
img[src$="logo-spendmate.png"]{--lw:831}
img[src$="logo-powercms.png"]{--lw:725}
img[src$="logo-ethosline.png"]{--lw:535}
img[src$="logo-quality360.png"]{--lw:747}
img[src$="logo-docentra.png"]{--lw:547}
.prod-mark{display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:0 0 20px}
.prod-mark b{display:inline-flex; align-items:center; gap:12px; font:700 clamp(28px, 2.5vw, 36px)/1 var(--font-display); letter-spacing:-.025em; color:var(--head)}
.prod-mark b::before{content:""; flex:none; width:14px; height:14px; border-radius:4px; background:var(--teal)}
.prod-mark img{width:calc(var(--lw, 800) * .34px); height:auto; max-width:100%}
.prod-mark span{font:600 15px/1.2 var(--text); color:var(--slate); padding-left:18px; border-left:2px solid var(--line-2)} .tabs-teams{margin-bottom:36px}
.tabs-teams button{font-size:17px; padding:16px 20px 15px}
.team-panel{grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:40px 72px}
.team-panel .tp-text h3{font-size:clamp(26px, 2.3vw, 32px); line-height:1.15; margin-bottom:16px}
.team-panel .tp-text > p{font-size:19px; margin-bottom:26px}
.team-prods{list-style:none}
.team-prods a{display:flex; flex-direction:column; gap:2px; padding:16px 44px 16px 0; border-top:1px solid var(--line); text-decoration:none; position:relative}
.team-prods li:last-child a{border-bottom:1px solid var(--line)}
.team-prods a::after{content:""; position:absolute; right:10px; top:50%; width:10px; height:10px; border-top:2px solid var(--teal); border-right:2px solid var(--teal); transform:translateY(-50%) rotate(45deg); transition:right .15s}
.team-prods b{font:700 20px/1.2 var(--font-display); color:var(--head)}
.team-prods span{font-size:16px; color:var(--slate)}
.team-prods a:hover b{color:var(--teal-ink)}
.team-prods a:hover::after{right:4px}
.team-photo{aspect-ratio:16 / 10; clip-path:polygon(0 0, 100% 0, 100% 86%, 90% 100%, 0 100%)}
.team-photo::after{content:""; position:absolute; right:0; bottom:0; width:10%; aspect-ratio:1; background:var(--orange); clip-path:polygon(100% 0, 100% 100%, 0 100%); opacity:.9} .seals{display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:6px}
.seals img{height:56px; width:auto}
.seals span{flex-basis:100%}
.quotes{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:48px 72px}
.quotes .quote{max-width:none}
.quotes .quote blockquote{font-size:clamp(20px, 1.7vw, 24px); line-height:1.45}   @media (min-width:1081px){
.plat.plat-3{grid-template-columns:repeat(3, minmax(0,1fr))}
.plat.plat-3 li:nth-last-child(-n+4){border-bottom:0}
.plat.plat-3 li:nth-last-child(-n+3){border-bottom:1px solid var(--line-2)}
} .rail{--n:6; --T:calc((var(--n) - 1) * 1.1s); position:relative; display:grid; grid-template-columns:repeat(var(--n), minmax(0,1fr)); gap:0 14px; list-style:none; counter-reset:rl}
.rail::before{content:""; position:absolute; top:27px; left:calc(100% / var(--n) / 2); right:calc(100% / var(--n) / 2); height:2px; background:var(--teal-line)}
.rail::after{content:""; position:absolute; z-index:2; top:21px; left:calc(100% / var(--n) / 2 - 7px); width:14px; height:14px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 6px color-mix(in srgb, var(--orange) 22%, transparent); animation:railRun var(--T) linear infinite}
@keyframes railRun{0%{left:calc(100% / var(--n) / 2 - 7px); opacity:0}6%{opacity:1}85%{left:calc(100% - 100% / var(--n) / 2 - 7px); opacity:1}100%{left:calc(100% - 100% / var(--n) / 2 - 7px); opacity:0}}
.rail li{position:relative; z-index:1; text-align:center; counter-increment:rl}
.rail li::before{content:counter(rl); display:grid; place-items:center; width:56px; height:56px; margin:0 auto 16px; border-radius:50%; background:#fff; border:2px solid var(--teal); color:var(--teal-ink); font:700 19px/1 var(--font-display); animation:railNode var(--T) linear infinite; animation-delay:calc(var(--k, 0) / (var(--n) - 1) * .85 * var(--T))}
@keyframes railNode{0%{background:var(--teal); color:#fff; box-shadow:0 0 0 7px color-mix(in srgb, var(--teal) 18%, transparent)}14%,100%{background:#fff; color:var(--teal-ink); box-shadow:none}}
.rail li:nth-child(2){--k:1} .rail li:nth-child(3){--k:2} .rail li:nth-child(4){--k:3} .rail li:nth-child(5){--k:4} .rail li:nth-child(6){--k:5} .rail li:nth-child(7){--k:6}
.rail b{display:block; font:600 17px/1.25 var(--font-display); color:var(--head); margin-bottom:6px}
.rail span{display:block; font-size:15px; line-height:1.4; color:var(--slate)} .capm{margin:0; background:#fff; border:1px solid var(--line-2); border-radius:12px; box-shadow:var(--shadow-lg); padding:26px 28px 22px}
.capm header{display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:34px}
.capm h3{font-size:18px; margin-bottom:2px}
.capm header span{font-size:14px; color:var(--slate)}
.capm header strong{font:700 20px/1.1 var(--font-display); color:var(--head); white-space:nowrap}
.capm header .capm-n{font-size:inherit; color:var(--teal-ink)}
.capm-bar{position:relative; display:flex; height:48px; border-radius:8px; background:var(--canvas-2); margin-bottom:40px}
.capm-bar i, .capm-new{position:relative; width:calc(var(--w) / 1.2); display:flex; align-items:center; overflow:hidden; transform-origin:left; transition:transform .8s cubic-bezier(.2,.7,.2,1); transition-delay:calc(.2s + var(--i, 0) * .25s)}
.capm-bar i{background:var(--teal); border-right:2px solid #fff}
.capm-bar i:first-child{border-radius:8px 0 0 8px}
.capm-bar i:nth-child(2){background:var(--teal-ink)}
.capm-bar i:nth-child(3){background:var(--facet-2)}
.capm-bar span{padding:0 10px; font:700 12.5px/1.2 var(--text); color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.capm-new{background:repeating-linear-gradient(135deg, var(--orange) 0 9px, color-mix(in srgb, var(--orange) 72%, #fff) 9px 18px); border-radius:0 8px 8px 0; transition-delay:1s; animation:capPulse 2.2s ease-in-out 1.8s infinite}
@keyframes capPulse{0%,100%{filter:none}50%{filter:brightness(1.12)}}
.capm-line{position:absolute; z-index:2; top:-12px; bottom:-12px; left:calc(100% / 1.2); border-left:2px dashed var(--head)}
.capm-line span{position:absolute; bottom:-20px; left:-14px; font:700 12px/1 var(--text); letter-spacing:.1em; text-transform:uppercase; color:var(--head); padding:0}
.capm-log{list-style:none; display:grid; gap:10px}
.capm-log li{display:flex; align-items:baseline; gap:12px; font-size:15px; line-height:1.4; color:var(--body); transition:opacity .45s, transform .45s; transition-delay:calc(1.4s + var(--i) * .4s)}
.capm-log .tag{flex:none; min-width:84px; text-align:center}
.anim .capm.rv:not(.in) .capm-bar :is(i, .capm-new){transform:scaleX(0)}
.anim .capm.rv:not(.in) .capm-log li{opacity:0; transform:translateY(6px)} .suite{margin:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(48px,.55fr) minmax(0,1.3fr); align-items:stretch}
.suite-src{align-self:center}
.suite-src, .suite-dst li{background:#fff; border:1px solid var(--line-2); border-radius:12px; box-shadow:var(--shadow); padding:18px 20px}
.suite img{display:block; width:calc(var(--lw, 800) * .27px); height:auto; max-width:100%; margin-bottom:8px}
.suite span{display:block; font-size:15px; line-height:1.4; color:var(--slate)}
.suite-lines{width:100%; height:100%; overflow:visible}
.suite-lines path{fill:none; stroke:color-mix(in srgb, var(--teal) 55%, transparent); stroke-width:2; stroke-dasharray:5 6; vector-effect:non-scaling-stroke; animation:smFlow 1.2s linear infinite}
.suite-dst{list-style:none; display:grid; gap:28px} .regions{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px 28px; margin:28px 0 0}
.regions div{border-top:2px solid var(--teal); padding-top:12px}
.regions dt{font:700 13px/1.2 var(--text); letter-spacing:.14em; text-transform:uppercase; color:var(--teal-ink); margin-bottom:4px}
.regions dd{margin:0; font-size:17px; color:var(--head)}
.dcc{margin:0; background:#fff; border:1px solid var(--line-2); border-radius:12px; box-shadow:var(--shadow-lg); overflow:hidden}
.dcc header{display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:16px 22px; background:var(--canvas); border-bottom:1px solid var(--line)}
.dcc h3{font-size:17px}
.dcc header span{font-size:13px; color:var(--slate)}
.dcc-body{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:26px; padding:22px}
.dcc-fw{list-style:none; display:grid; gap:10px}
.dcc-fw li{display:flex; align-items:center; gap:12px; padding:11px 14px; border:1px solid var(--line-2); border-radius:8px; font:600 15px/1.25 var(--text); color:var(--head); cursor:pointer; transition:border-color .3s, background .3s}
.dcc-fw li:hover, .dcc-fw li:focus-visible{border-color:var(--teal-line)}
.dcc-fw b{flex:none; display:grid; place-items:center; width:34px; height:28px; border-radius:6px; background:var(--canvas-2); color:var(--slate); font:700 12px/1 var(--text); transition:background .3s, color .3s}
.dcc-fw li.on{border-color:var(--teal); background:var(--teal-soft)}
.dcc-fw li.on b{background:var(--teal); color:#fff}
.dcc-steps{display:grid; gap:20px; align-content:center}
.dcc-steps span{display:block; font-size:14px; color:var(--slate); margin-bottom:7px}
.dcc-steps i{position:relative; display:block; height:9px; border-radius:5px; background:var(--canvas-2); overflow:hidden}
.dcc-steps i::after{content:""; position:absolute; inset:0; border-radius:5px; background:linear-gradient(90deg, var(--teal), color-mix(in srgb, var(--teal) 65%, #fff)); transform:scaleX(calc(var(--p) / 100)); transform-origin:left; transition:transform .7s cubic-bezier(.2,.7,.2,1)} .vrun-bar{display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:14px 20px; border-bottom:1px solid var(--line)}
.vrun-f{padding:5px 10px; border:1px solid var(--line-2); border-radius:6px; background:#fff; font:600 13px/1.2 var(--text); color:var(--head)}
.vrun-go{margin-left:auto; padding:6px 12px; border-radius:6px; background:var(--teal-ink); color:#fff; font:700 13px/1.2 var(--text)}
.vrun tbody tr{transition:opacity .4s; transition-delay:calc(.3s + var(--i, 0) * .22s)}
.vrun td:nth-child(2){font-variant-numeric:tabular-nums}
.anim .vrun.rv:not(.in) tbody tr{opacity:0} .pdsend{margin:0; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:32px; align-items:center}
.pd-stack{position:relative; height:270px}
.pd-card{position:absolute; left:6%; right:10%; top:34px; height:200px; background:#fff; border:1px solid var(--line-2); border-radius:10px; box-shadow:var(--shadow); transform:translate(calc(var(--i) * 12px), calc(var(--i) * -12px)) rotate(calc(var(--i) * 2.5deg))}
.pd-top{display:flex; flex-direction:column; gap:6px; padding:22px 22px 18px; animation:pdSend 5s cubic-bezier(.5,0,.3,1) infinite}
.pd-top b{font:700 17px/1.2 var(--font-display); color:var(--head)}
.pd-top span{font-size:13px; color:var(--slate); margin-bottom:8px}
.pd-top i{display:block; height:7px; border-radius:4px; background:var(--canvas-2)}
.pd-top i.s{width:55%}
.pd-top em{margin-top:auto; align-self:flex-start; font:700 12px/1 var(--text); font-style:normal; color:var(--orange-ink); background:var(--orange-soft); border-radius:4px; padding:6px 9px}
@keyframes pdSend{0%,52%{transform:none; opacity:1}72%{transform:translate(70%, -40%) rotate(9deg) scale(.6); opacity:0}73%{transform:translateY(16px); opacity:0}100%{transform:none; opacity:1}}
.pd-status{list-style:none; display:grid; gap:16px; counter-reset:pd}
.pd-status li{position:relative; padding-left:44px; counter-increment:pd; transition:opacity .45s, transform .45s; transition-delay:calc(.3s + var(--i) * .25s)}
.pd-status li::before{content:counter(pd); position:absolute; left:0; top:0; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--teal-soft); color:var(--teal-ink); font:700 14px/1 var(--font-display)}
.pd-status b{display:block; font:600 17px/1.3 var(--font-display); color:var(--head)}
.pd-status span{font-size:15px; color:var(--slate)}
.anim .pdsend.rv:not(.in) .pd-status li{opacity:0; transform:translateX(8px)} .digest{margin:0; background:#fff; border:1px solid var(--line-2); border-radius:12px; box-shadow:var(--shadow-lg); overflow:hidden}
.digest header{display:flex; justify-content:space-between; align-items:baseline; padding:16px 20px; background:var(--canvas); border-bottom:1px solid var(--line)}
.digest header b{font:700 17px/1.2 var(--font-display); color:var(--head)}
.digest header span{font-size:13px; color:var(--slate)}
.digest-tabs{display:flex; gap:4px; list-style:none; padding:0 14px; border-bottom:1px solid var(--line)}
.digest-tabs li{padding:11px 10px 10px; font:600 14px/1 var(--text); color:var(--slate); border-bottom:3px solid transparent}
.digest-tabs li.on{color:var(--teal-ink); border-bottom-color:var(--orange)}
.digest table{width:100%; border-collapse:collapse; table-layout:fixed; font-size:13px}
.digest th{text-align:left; padding:11px 12px; font-weight:600; color:var(--slate); border-bottom:1px solid var(--line)}
.digest td{padding:14px 12px; border-bottom:1px solid var(--line)}
.digest tr:last-child td{border-bottom:0}
.digest td i{display:block; height:8px; width:78%; border-radius:4px; background:linear-gradient(90deg, var(--canvas-2) 0%, var(--line) 50%, var(--canvas-2) 100%); background-size:200% 100%; animation:dgShimmer 2.4s linear infinite}
.digest td:first-child i{width:62%; background-color:var(--line)}
@keyframes dgShimmer{to{background-position:-200% 0}}
@keyframes railRunV{0%{top:21px; opacity:0}6%{opacity:1}85%{top:calc(100% - 35px); opacity:1}100%{top:calc(100% - 35px); opacity:0}}
@media (max-width:1080px){
.dcc-body{grid-template-columns:1fr}
}
@media (max-width:900px){
.rail{grid-template-columns:1fr; gap:0}
.rail::before{top:28px; bottom:28px; left:27px; right:auto; width:2px; height:auto}
.rail::after{left:21px; animation-name:railRunV}
.rail li{display:grid; grid-template-columns:56px 1fr; gap:0 18px; text-align:left; padding-bottom:22px}
.rail li::before{grid-row:1 / span 2; margin:0}
.rail b{align-self:end; margin:4px 0 2px}
.suite{grid-template-columns:1fr; gap:14px}
.suite-lines{display:none}
.pdsend{grid-template-columns:1fr}
}
@media (max-width:640px){
.regions{grid-template-columns:1fr}
.capm{padding:20px 18px 18px}
.capm header{flex-direction:column; align-items:flex-start}
.capm-bar span{display:none}
.capm-log li{flex-direction:column; gap:6px}
.digest th, .digest td{padding:10px 6px}
}  [data-product]{--s1:var(--facet-1); --s2:var(--facet-2); --s3:var(--facet-3); --s4:var(--facet-4); --s5:var(--facet-5); --s6:var(--facet-6)}
[data-product="ethosline"]{--teal:var(--el-blue); --teal-ink:var(--el-blue-ink); --teal-soft:var(--el-blue-soft); --teal-line:var(--el-blue-line);
--teal-hero:var(--el-blue-hero); --teal-kicker:var(--el-blue-kicker); --on-teal:var(--el-on-blue); --on-teal-soft:var(--el-on-blue-soft); --hero-rgb:var(--el-hero-rgb);
--s1:var(--el-facet-1); --s2:var(--el-facet-2); --s3:var(--el-facet-3); --s4:var(--el-facet-4); --s5:var(--el-facet-5); --s6:var(--el-facet-6)} [data-product="spendmate"]{--teal:var(--sm-green); --teal-ink:var(--sm-green-ink); --teal-soft:var(--sm-green-soft); --teal-line:var(--sm-green-line);
--teal-hero:var(--sm-green-hero); --teal-kicker:var(--sm-green-kicker); --on-teal:var(--sm-on-green); --on-teal-soft:var(--sm-on-green-soft);
--orange-ink:var(--sm-orange-ink); --hero-rgb:var(--sm-hero-rgb);
--s1:var(--sm-facet-1); --s2:var(--sm-facet-2); --s3:var(--sm-facet-3); --s4:var(--sm-facet-4); --s5:var(--sm-facet-5); --s6:var(--sm-facet-6)} [data-product="monitormate"]{--teal:var(--mm-plum); --teal-ink:var(--mm-plum-ink); --teal-soft:var(--mm-plum-soft); --teal-line:var(--mm-plum-line);
--teal-hero:var(--mm-plum-hero); --teal-kicker:var(--mm-plum-kicker); --on-teal:var(--mm-on-plum); --on-teal-soft:var(--mm-on-plum-soft);
--orange-ink:var(--mm-orange-ink); --hero-rgb:var(--mm-hero-rgb);
--s1:var(--mm-facet-1); --s2:var(--mm-facet-2); --s3:var(--mm-facet-3); --s4:var(--mm-facet-4); --s5:var(--mm-facet-5); --s6:var(--mm-facet-6)}
[data-product] .hero .facets, [data-product] .cta .facets{--f1:var(--s1); --f2:var(--s2); --f3:var(--s3); --f4:var(--s4); --f5:var(--s5); --f6:var(--s6)}  :is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .hero h1{color:var(--head)}
:is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .hero .lede{color:var(--body)}
:is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .hero .kicker{color:var(--teal-ink)}
:is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .crumbs,
:is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .crumbs a{color:var(--slate)}
:is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .crumbs a:hover{color:var(--teal-ink)}
:is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .hero .btn-quiet{color:var(--teal-ink)}
:is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .hero .btn-quiet:hover{color:var(--head)}
:is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .hero :is(.meta, .byline, .hero-proof figcaption){color:var(--slate)}
:is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .hero .btn-white{background:var(--teal-ink); color:#fff} .pt-product .hero{background:linear-gradient(180deg, #fff 0%, var(--canvas) 100%); border-bottom:1px solid var(--line); padding:44px 0 72px}
.pt-product .hero .facets{--op:.55; animation:none}
.pt-product .includes{background:#fff; border:1px solid var(--line-2); border-radius:4px; color:var(--body); box-shadow:var(--shadow-lg)}
.pt-product .includes h2{color:var(--teal-ink)}
.pt-product .includes li::before{background:var(--orange)}
.pt-product .pill{background:var(--orange-soft); border-color:var(--orange); color:var(--head)}
.pt-product .pill:hover{background:#fff; color:var(--head)}
.pt-product .pagenav a[aria-current="true"]{border-bottom-color:var(--teal)} .pt-company .hero{background:#fff; padding:56px 0 48px; border-bottom:1px solid var(--line)}
.pt-company .hero .facets{display:none}
.pt-company .hero h1{font-size:clamp(40px, 5vw, 72px); letter-spacing:-.03em; line-height:1.02}
.pt-company .hero .kicker{color:var(--orange-ink)}
.pt-company .includes{background:none; border:0; border-left:3px solid var(--orange); border-radius:0; padding:6px 0 6px 30px; color:var(--body); box-shadow:none}
.pt-company .includes h2{color:var(--orange-ink)}
.pt-company .includes li{font-size:18px}
.pt-company .includes li::before{background:var(--teal)} .pt-library .hero{background:var(--teal-soft); border-bottom:1px solid var(--teal-line)}
.pt-library .hero .facets{--op:.28; transform:scaleX(-1); animation:none}
.pt-library .includes{background:#fff; border:1px solid var(--teal-line); color:var(--body)}
.pt-library .includes h2{color:var(--teal-ink)}
.pt-library .includes li::before{background:var(--teal)} .pt-article .hero{background:#fff; padding:56px 0 32px}
.pt-article .hero .facets{display:none}
.pt-article .hero > .wrap{grid-template-columns:minmax(0,1fr)}
.pt-article .hero .hero-copy{max-width:860px; margin:0 auto; text-align:center}
.pt-article .hero :is(.crumbs, .byline){justify-content:center}
.pt-article .hero h1{font-size:clamp(34px, 4vw, 54px)}
.pt-article .hero .kicker{color:var(--orange-ink)} .pt-notice .hero{background:var(--canvas-2); border-bottom:1px solid var(--line)}
.pt-notice .hero .facets{display:none}
@media (max-width:1080px){
.bento{grid-template-columns:repeat(2, minmax(0,1fr))}
.hero-home > .wrap{grid-template-columns:1fr}
.orbit{justify-self:start; width:min(100%, 520px)}
.pt-product .hero .facets, .pt-library .hero .facets{--op:.22}
}
@media (max-width:900px){
.quotes{grid-template-columns:1fr}
.team-panel{grid-template-columns:1fr}
.team-photo{order:-1}
.pt-company .hero{padding:56px 0 48px}
}
@media (max-width:640px){
.bento{grid-template-columns:1fr}
.pcard-body{padding:22px 22px 24px}
.orbit{width:100%; aspect-ratio:auto; container-type:normal}
.orbit-ring, .orbit-core{display:none}
.orbit-nodes{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px}
.orbit-nodes li{position:static; transform:none; width:auto; min-width:0}
.orbit-theme{position:static; transform:none; display:block; margin:7px 0 0 !important; text-align:center; font-size:10.5px}
.orbit-nodes a{display:flex; justify-content:center; width:auto; height:56px; padding:0 12px}
.orbit-nodes li.on a{transform:none; box-shadow:0 8px 22px rgba(4,40,52,.3)}
.orbit-nodes img{width:calc(var(--lw, 800) * .19px); height:auto; max-width:100%}
.tabs-teams{flex-wrap:wrap; overflow:visible}
.tabs-teams button{font-size:16px; padding:12px 12px 11px}
.prod-mark span{border-left:0; padding-left:0; flex-basis:100%}
.pt-article .hero .hero-copy{text-align:left}
.pt-article .hero :is(.crumbs, .byline){justify-content:flex-start}
.pt-article .hero .hero-copy h1::after{margin-left:0; margin-right:0; transform-origin:left}
.pt-article .hero{padding-bottom:16px}
.post-body{padding-top:32px}
} .fgrid.f4{grid-template-columns:minmax(0,5fr) repeat(3, minmax(0,3fr))}
.site-footer address a{overflow-wrap:anywhere} @media (max-width:1180px){
.mainnav{gap:20px}
.certs img{height:40px}
}
@media (max-width:1080px){
.fgrid.f4{grid-template-columns:repeat(2, minmax(0,1fr))}
.families, .cards{grid-template-columns:repeat(2, minmax(0,1fr))}
.people{grid-template-columns:repeat(3, minmax(0,1fr))} .points[style*="--cols:4"], .points[style*="--cols: 4"]{grid-template-columns:repeat(2, minmax(0,1fr))}
.steps{grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:32px 24px}
.steps::before{display:none}
.logo-row{grid-template-columns:repeat(3, minmax(0,1fr))}
}
@media (max-width:900px){
.split, .split.rev{grid-template-columns:1fr}
.split.rev > :first-child{order:0}
.split + .split{margin-top:72px}
.panel{padding:24px}
}
@media (max-width:640px){
.fgrid.f4{grid-template-columns:1fr}
.families, .cards, .points, .points[style*="--cols:4"], .points[style*="--cols: 4"], .steps{grid-template-columns:1fr}
.people{grid-template-columns:repeat(2, minmax(0,1fr)); gap:32px 16px}
.logo-row{grid-template-columns:repeat(2, minmax(0,1fr))}
.form{grid-template-columns:1fr}
.sm-table, .sm-table tbody, .sm-table tr, .sm-table td{display:block; width:100%}
.sm-table thead{display:none}
.sm-table tr{border-bottom:1px solid var(--line); padding:8px 0}
.sm-table td{border:0; padding:4px 14px}
.certs{display:none}
} .headshot-tile{margin:0 0 4px; background:none}
.person .headshot-tile img{aspect-ratio:1 / 1; width:100px; height:100px; border-radius:50%; object-fit:cover} .bento.bento-one{grid-template-columns:minmax(0,1fr)}
.bento-one .pcard{flex-direction:row}
.bento-one .pv{width:36%; height:auto; min-height:220px; border-bottom:0; border-right:1px solid var(--line)}
.bento-one .pcard-body{flex:1}
@media (max-width:760px){ .bento-one .pcard{flex-direction:column} .bento-one .pv{width:auto; border-right:0; border-bottom:1px solid var(--line)} }
.bento.bento-three{grid-template-columns:repeat(3, minmax(0,1fr))} @media (max-width:1100px){ .bento.bento-three{grid-template-columns:repeat(2, minmax(0,1fr))} }
@media (max-width:760px){ .bento.bento-three{grid-template-columns:1fr} } .people .person p.small{font-size:14.5px; line-height:1.5} .dd-group:has(.dd-links a[href*="consulting-services"]) .dd-links a{padding:4px 12px}
.dd-group:has(.dd-links a[href*="consulting-services"]) .dd-links b{font-size:14px; font-weight:500; line-height:1.3} figure.zoomable img{cursor:zoom-in}
.zoom-overlay{position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:24px; background:rgba(11,34,56,.86); cursor:zoom-out}
.zoom-overlay img{max-width:96vw; max-height:92vh; width:auto; height:auto; background:#fff; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.35)} .site-footer .fgrid.f4{grid-template-columns:minmax(0,4.2fr) repeat(4, minmax(0,2.4fr)); gap:32px 36px}
.site-footer{padding-top:56px}
@media (max-width:1100px){ .site-footer .fgrid.f4{grid-template-columns:repeat(3, minmax(0,1fr))} }
@media (max-width:760px){ .site-footer .fgrid.f4{grid-template-columns:repeat(2, minmax(0,1fr))} } .svc-tabs{flex-wrap:wrap; overflow:visible; gap:0 4px}
.svc-tabs button{padding:12px 14px 11px; font-size:15px}
.svc-panel{align-items:start}
.svc-panel .svc-inc{font-weight:600; color:var(--head); margin:0}
.svc-list{columns:2; column-gap:40px}
.svc-list li{break-inside:avoid; font-size:16px; padding-top:10px; padding-bottom:10px}
.svc-list li::before{top:17px}
@media (max-width:1080px){.svc-list{columns:1}} .about-text{max-width:860px}
.about-text p{margin:0 0 14px; font-size:18px; line-height:1.6}
.about-text + .points{margin-top:40px} .svc-layout{display:grid; grid-template-columns:minmax(220px, 290px) minmax(0,1fr); gap:0 48px; align-items:start}
.svc-layout > .svc-tabs{flex-direction:column; flex-wrap:nowrap; gap:0; border-bottom:0; border-right:1px solid var(--line)}
.svc-layout > .svc-tabs button{text-align:left; padding:9px 16px; margin:0; border-bottom:0; border-left:3px solid transparent; font-size:15px; white-space:normal}
.svc-layout > .svc-tabs button[aria-selected="true"]{border-left-color:var(--orange); background:var(--teal-soft); color:var(--teal-ink)}
.svc-layout > .tabpanel{grid-column:2; grid-row:1}
.svc-layout .svc-panel{display:block}
.svc-layout .tabpanel[hidden]{display:none}
.svc-layout .svc-list{columns:2; column-gap:32px; margin-top:12px}
@media (max-width:900px){ .svc-layout{grid-template-columns:1fr} .svc-layout > .svc-tabs{flex-direction:row; flex-wrap:wrap; border-right:0} .svc-layout > .tabpanel{grid-column:1; grid-row:auto} } @media (min-width:1081px){
html:where(:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)){
--header-h:69px; --pagenav-h:0px; --chrome:calc(var(--header-h) + var(--pagenav-h));
--screen:calc(100vh - var(--chrome));  scroll-padding-top:var(--chrome);
}
html:where(:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):has(.pagenav){--pagenav-h:59px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)){
--sec-pad:clamp(24px, 3.5vh, 64px); --head-gap:clamp(20px, 3.4vh, 56px); --block-gap:clamp(24px, 4vh, 72px); } body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)):not(.pt-article,:has(.pt-article)):not(.pt-notice,:has(.pt-notice)) :is(main section:not(.hero), .cta){display:grid; align-content:center} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)):not(.pt-article,:has(.pt-article)):not(.pt-notice,:has(.pt-notice)) main .hero{min-height:clamp(220px, 28vh, 320px); display:grid; align-content:center}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)):not(.pt-article,:has(.pt-article)):not(.pt-notice,:has(.pt-notice)) :is(main section, .cta) > .wrap{width:100%}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main section:not(.hero):not(.cta){padding:var(--sec-pad) 0}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .cta{padding:clamp(48px, 8vh, 120px) 0} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .hero-home{padding:clamp(14px, 2.4vh, 28px) 0 clamp(16px, 2.8vh, 36px)} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main section:not(.hero) h2:not(.article h2){font-size:clamp(28px, 4.4vh, 42px)} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main section:not(.hero):not(.cta) .lede{font-size:clamp(18px, 2.4vh, 21px); line-height:1.45}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main section:not(.hero) .kicker{margin-bottom:clamp(10px, 1.6vh, 18px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .head{margin-bottom:var(--head-gap); gap:16px 72px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) :is(.split, .plan, .remed, .data, .ai) h2{margin-bottom:clamp(12px, 2vh, 20px)} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .gap-top{margin-top:var(--block-gap)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .split + .split{margin-top:var(--block-gap)} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main .ph-box{aspect-ratio:auto; height:clamp(220px, 44vh, 520px); padding:20px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main .card-img .ph-box{height:100%}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main .ph-logo .ph-box{height:auto; aspect-ratio:3 / 1}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main .person .ph-box{height:auto; aspect-ratio:4 / 5}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .ov-photo{margin-top:clamp(16px, 2.6vh, 32px); aspect-ratio:auto; height:clamp(200px, 38vh, 440px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .team-photo{aspect-ratio:auto; height:clamp(220px, 46vh, 520px)} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .facts{gap:clamp(12px, 2vh, 24px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .facts li{padding-top:clamp(10px, 1.6vh, 18px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .ticks li{padding-top:clamp(7px, 1.1vh, 12px); padding-bottom:clamp(7px, 1.1vh, 12px); font-size:clamp(16.5px, 2.15vh, 18px); line-height:1.4}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .ticks li::before{top:clamp(13px, 1.95vh, 20px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .split .ticks{margin-top:clamp(12px, 2vh, 24px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .plat li{padding:clamp(10px, 1.5vh, 22px) 0}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .plat h3{margin-bottom:4px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .plat p{font-size:clamp(15px, 2vh, 16px); line-height:1.4}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .points{gap:clamp(20px, 3vh, 40px) 32px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .points > li, body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .methods > li{padding-top:clamp(12px, 2vh, 22px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .note{margin-top:clamp(14px, 2.2vh, 28px); padding:clamp(12px, 1.8vh, 20px) 22px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .quote{padding-top:clamp(14px, 2.2vh, 28px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .quote blockquote{font-size:clamp(19px, 2.7vh, 28px); margin-bottom:12px}
} @media (min-width:1081px){ body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .steps li::before{width:40px; height:40px; margin-bottom:clamp(8px, 1.4vh, 18px); font-size:17px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .steps::before{top:19px; left:20px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .rail li::before{width:44px; height:44px; margin-bottom:clamp(8px, 1.4vh, 16px); font-size:17px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .rail::before{top:21px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .rail::after{top:15px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .node{width:42px; height:42px; margin-bottom:clamp(8px, 1.4vh, 18px); font-size:17px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .cycle-steps::before{top:20px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .cycle-steps p, body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .steps p{font-size:15px; line-height:1.4} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main :is(.steps, .rail, .cycle, .score, .points, .plat, .methods, .path) ~ :is(.split, .two, div) .ph-box,
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main section:has(.gap-top) .ph-box{height:clamp(200px, 31vh, 440px)} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .score{margin-bottom:var(--block-gap)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .sc{padding:clamp(12px, 1.8vh, 20px) 16px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .sc small{min-height:0}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .sc h3{margin:4px 0 8px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .sc p{margin-top:8px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .doccheck{padding:clamp(16px, 2.2vh, 40px) clamp(20px, 2.4vw, 40px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .doccheck > header{margin-bottom:clamp(10px, 1.6vh, 28px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .checks caption{padding:clamp(9px, 1.4vh, 16px) 20px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .checks th{padding:clamp(7px, 1.1vh, 12px) 20px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .checks td{padding:clamp(6px, 1.05vh, 13px) 20px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .vrun-bar{padding:clamp(8px, 1.2vh, 14px) 20px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .methods{margin-bottom:var(--block-gap)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .lists{margin-top:var(--block-gap)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .lists li{padding:clamp(5px, .9vh, 9px) 0}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .fig{margin-top:var(--block-gap)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .act-strip{margin-bottom:var(--block-gap)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .path{margin-bottom:var(--block-gap)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .path h3{margin-bottom:clamp(8px, 1.2vh, 16px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .chev li{padding-top:clamp(9px, 1.3vh, 15px); padding-bottom:clamp(9px, 1.3vh, 15px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .ai-list{margin-top:clamp(16px, 2.6vh, 36px); gap:clamp(14px, 2.2vh, 28px) 36px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .chat{padding:clamp(16px, 2.4vh, 24px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .regions{margin-top:clamp(14px, 2.2vh, 28px)} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .timeline{padding:clamp(14px, 2.2vh, 28px) 28px 6px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .timeline header{padding-bottom:clamp(8px, 1.4vh, 18px); margin-bottom:4px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .timeline li{padding:clamp(6px, 1vh, 14px) 0; --tl-pad:clamp(6px, 1vh, 14px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .timeline li > div{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 16px; align-items:baseline}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .timeline li > div > p{grid-column:1 / -1; grid-row:2}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .timeline .who{grid-column:2; grid-row:1; margin:0} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .panel{padding:clamp(18px, 2.8vh, 36px) clamp(20px, 2vw, 36px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .form{gap:clamp(10px, 1.6vh, 20px) 24px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .field{gap:5px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .field :is(input, select, textarea){padding:clamp(7px, 1.1vh, 12px) 14px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .field textarea{min-height:clamp(72px, 11vh, 140px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .contact-list li{padding:clamp(9px, 1.5vh, 18px) 0} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .cards{gap:clamp(18px, 2.6vh, 32px) 32px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .card-img{aspect-ratio:auto; height:clamp(120px, 20vh, 240px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .card-body{padding:clamp(12px, 2vh, 22px) 22px clamp(14px, 2.2vh, 26px); gap:6px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .families{gap:clamp(24px, 3.4vh, 48px) 40px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .family li a{padding:clamp(7px, 1.1vh, 11px) 0}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .quotes{gap:clamp(24px, 3.4vh, 48px) 72px}
} @media (min-width:1081px){
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .pv{height:clamp(120px, 15vh, 216px); padding:10px 18px} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .pv > *{scale:clamp(.62, calc(15vh / 190px), 1)} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .head.head-wide{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .pcard-body{padding:clamp(14px, 2.2vh, 24px) 22px clamp(16px, 2.4vh, 26px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .pcard .kicker{margin-bottom:clamp(6px, 1vh, 12px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .pcard h3{min-height:40px; margin-bottom:clamp(6px, 1vh, 12px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .pcard-claim{font-size:17px; line-height:1.35; margin-bottom:clamp(10px, 1.6vh, 18px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .kw{margin-bottom:clamp(12px, 2vh, 24px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .tile-links{flex-direction:row; flex-wrap:wrap; gap:6px 18px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .tile-links .btn-quiet{font-size:16px; gap:6px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .kw{gap:4px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .kw li{padding:5px 7px 4px; font-size:12.5px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .tabs-teams{margin-bottom:clamp(14px, 2.4vh, 36px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .tabs-teams button{padding-top:clamp(10px, 1.6vh, 16px); padding-bottom:clamp(9px, 1.5vh, 15px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .team-panel .tp-text > p{margin-bottom:clamp(12px, 2vh, 26px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .team-prods a{padding-top:clamp(9px, 1.4vh, 16px); padding-bottom:clamp(9px, 1.4vh, 16px)}
} @media (min-width:1081px){
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .people{gap:clamp(20px, 3vh, 48px) 40px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .person{display:grid; grid-template-columns:clamp(120px, 19vh, 200px) minmax(0,1fr); column-gap:22px; align-content:start}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .person > :is(figure, img, .ph){grid-column:1; grid-row:1 / span 6}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .person > :not(figure):not(img):not(.ph){grid-column:2}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) main .person .ph-box{height:auto; aspect-ratio:4 / 5; padding:8px; gap:4px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .person .ph-box strong{font-size:13px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .person .ph-box span{display:none}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .person h3{margin-top:0}
} .screen-h{margin-bottom:var(--head-gap, 28px)}
.ticks-2{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:0 72px}
.ticks-2 li:nth-last-child(2){border-bottom:1px solid var(--line)}
.lead{display:grid; grid-template-columns:minmax(0,1fr); gap:24px}
.lead .lead-shot, .lead .lead-intro{margin:0}
.lead .lead-intro h3{font-size:22px; margin-bottom:8px}
.lead .shot-key{grid-template-columns:1fr; gap:14px; margin-top:20px}
@media (min-width:1081px){
.lead{grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:0 56px; align-items:center}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .lead .lead-intro p{font-size:17px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .lead .shot-key li{font-size:16px; line-height:1.4}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .plan .ticks{margin:clamp(12px, 2vh, 28px) 0 clamp(16px, 2.6vh, 40px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .remed .ticks{margin-top:clamp(12px, 2vh, 28px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .stack{gap:clamp(14px, 2.2vh, 36px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .act-strip .photo{aspect-ratio:auto; height:clamp(130px, 21vh, 340px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .act-strip figcaption{bottom:12px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .methods p{font-size:16px; margin-bottom:8px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .methods ul li{font-size:15px; padding:4px 0 4px 16px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .methods ul li::before{top:12px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .paper{padding:16px 18px 12px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .paper td{height:clamp(16px, 2.2vh, 26px); padding-top:2px; padding-bottom:2px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .paper .meta{margin-bottom:8px; padding-bottom:6px}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .path:last-child{margin-bottom:0}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .stack .frame img{max-height:clamp(200px, 36vh, 480px); width:auto; margin:0 auto}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .tabs{margin-bottom:clamp(8px, 1.4vh, 20px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .tabpanel{padding-top:clamp(6px, 1vh, 16px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .tabpanel .frame{padding:clamp(10px, 1.6vh, 20px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .tabpanel .frame img{max-height:clamp(220px, 40vh, 400px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .cmp th, body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .cmp td{padding-top:clamp(7px, 1.15vh, 15px); padding-bottom:clamp(7px, 1.15vh, 15px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .legend{margin-bottom:clamp(8px, 1.4vh, 18px)}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .split figure .frame img{max-height:clamp(220px, 44vh, 520px); width:auto; margin:0 auto} body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .split figure .frame{width:fit-content; max-width:100%; margin-left:auto; margin-right:auto}
body:where(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product,:has(.pt-article,.pt-company,.pt-contact,.pt-frozen,.pt-home,.pt-library,.pt-notice,.pt-page,.pt-product)):not(.pt-frozen,:has(.pt-frozen)) .split figure:has(.frame) figcaption{text-align:center}
} @media (min-width:1081px){
:is(.hero-strip, .hero-svc, .hero-ask) > .wrap{gap:0 64px; align-items:center}
.pt-product :is(.hero-strip, .hero-svc, .hero-ask){padding:clamp(20px, 3vh, 32px) 0 clamp(24px, 4vh, 44px)}
.pt-product .hero .prod-mark img{width:calc(var(--lw, 800) * .29px)}
:is(.hero-strip, .hero-svc, .hero-ask) h1{font-size:clamp(34px, 5.4vh, 50px); margin-bottom:clamp(10px, 1.6vh, 14px)}
:is(.hero-strip, .hero-svc, .hero-ask) .lede{margin-bottom:clamp(12px, 2vh, 20px)}
:is(.hero-strip, .hero-svc, .hero-ask) :is(.crumbs, .prod-mark, .mm-plate){margin-bottom:clamp(8px, 1.4vh, 14px)} .hero-strip > .wrap{grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; row-gap:clamp(16px, 2.6vh, 28px)}
.hero-strip .hero-copy{max-width:860px}
.pt-product .hero-strip .includes{grid-column:1 / -1; background:none; border:0; box-shadow:none; padding:0; border-radius:0}
.hero-strip .includes ul{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:0 20px}
.hero-strip .includes li{padding:10px 0 0; border-top:2px solid var(--teal); font-size:16px; line-height:1.35; color:var(--head)}
.hero-strip .includes li::before{display:none} .hero-teal.hero-strip .includes li{border-top-color:var(--teal-kicker); color:#fff}
.hero-teal.hero-strip .includes h2{color:var(--teal-kicker)} :is(.hero-svc, .hero-ask) > .wrap{grid-template-columns:minmax(0,7fr) minmax(300px,4fr)}
:is(.hero-svc, .hero-ask) .includes{padding:22px 28px 20px}
:is(.hero-svc, .hero-ask) .includes li{padding-top:5px; padding-bottom:5px; font-size:16.5px}
:is(.hero-svc, .hero-ask) .includes li::before{top:13px}
.pt-product .hero-svc .includes{background:var(--canvas-2); border-top:3px solid var(--teal); border-radius:0 0 4px 4px; box-shadow:var(--shadow-lg)}
.pt-product .hero-ask .includes{border-top:4px solid var(--orange); border-radius:14px 14px 14px 4px; box-shadow:var(--shadow-lg); background:#fff}
} .pt-product .hero.hero-teal{background:var(--teal-hero); border-bottom:0; padding:44px 0 56px}
.pt-product .hero.hero-teal h1{color:#fff}
.pt-product .hero.hero-teal .lede{color:var(--on-teal)}
.pt-product .hero.hero-teal :is(.crumbs, .crumbs a){color:var(--on-teal-soft)}
.pt-product .hero.hero-teal .crumbs a:hover{color:#fff}
.pt-product .hero.hero-teal .btn-quiet{color:#fff}
.pt-product .hero.hero-teal .btn-quiet:hover{color:var(--teal-kicker)}
.pt-product .hero.hero-teal .facets{--op:.38}
.pt-product .hero.hero-teal .includes{background:none; border:0; color:#fff; box-shadow:none}
.pt-product .hero.hero-teal .includes h2{color:var(--teal-kicker)}
.hero-teal .prod-mark img{background:#fff; border-radius:6px; padding:8px 12px; box-sizing:content-box}
.hero-teal .prod-mark span{color:var(--on-teal); border-left-color:rgba(255,255,255,.35)} .hero .prod-mark .svc-mark img, .pt-product .hero .prod-mark .svc-mark img{width:1.3em; height:1.3em; max-width:none}  .hero h1.h1-split{animation:none}
.hw{display:inline-block; animation:wordIn .7s cubic-bezier(.2,.7,.2,1) both; animation-delay:calc(.14s + var(--w) * .055s)}
@keyframes wordIn{from{opacity:0; transform:translateY(.42em)}to{opacity:1; transform:none}} @keyframes facetLight{0%,100%{opacity:1}50%{opacity:.45}} :is(.pt-company, .pt-article, .pt-notice) .hero h1{margin-bottom:clamp(12px, 1.8vh, 18px)}
:is(.pt-company, .pt-article, .pt-notice) .hero h1::after{content:""; display:block; width:88px; height:4px; margin-top:clamp(10px, 1.7vh, 18px); border-radius:2px;
background:linear-gradient(var(--orange), var(--orange)) 0 0 / 24px 100% no-repeat, var(--teal);
transform-origin:left; animation:ruleIn .8s cubic-bezier(.2,.7,.2,1) .5s both, ruleRun 7s ease-in-out 1.3s infinite}
.pt-article .hero h1::after{margin-left:auto; margin-right:auto; transform-origin:center}
@keyframes ruleIn{from{transform:scaleX(0)}to{transform:none}}
@keyframes ruleRun{0%,100%{background-position:0 0, 0 0}50%{background-position:100% 0, 0 0}} @media (min-width:1081px){
.pt-company .hero{padding:clamp(36px, 6vh, 56px) 0 clamp(32px, 5vh, 48px)}
} .pill{transition:background .2s, transform .2s}
.pill:hover{transform:translateY(-1px)}
.pill::after{content:""; width:7px; height:7px; margin-left:2px; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); opacity:.85} .sky{position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; --sky-dot:rgba(255,255,255,.5); --sky-grid-op:.14;
--cloud-1:var(--on-teal); --cloud-2:var(--ai-cyan); --cloud-3:var(--ai-orange); --cloud-shape:sphere;
--cloud-x:.66; --cloud-r:.5; --cloud-op:1;
--sky-mask:radial-gradient(120% 90% at 78% 40%, #000 30%, transparent 78%)}
.sky > *{position:absolute}
.hero > .sky ~ .facets, .cta > .sky ~ .facets{z-index:1}
.cta > .sky{z-index:1}
.cta > .wrap{z-index:2} :is(.pt-product, .pt-company, .pt-library, .pt-article, .pt-notice) .hero .sky{
--sky-dot:var(--line-2); --sky-grid-op:.5;
--cloud-1:var(--teal); --cloud-2:var(--orange); --cloud-3:var(--orange); --cloud-op:1}
.pt-product .hero.hero-teal .sky{--sky-dot:rgba(255,255,255,.5); --sky-grid-op:.14;
--cloud-1:var(--on-teal); --cloud-2:var(--ai-cyan); --cloud-3:var(--ai-orange); --cloud-op:1}
:is(.pt-company, .pt-library) .hero .sky{--cloud-x:.72; --cloud-op:.6}
:is(.pt-article, .pt-notice) .hero .sky{--cloud-x:.5; --cloud-r:.7; --cloud-op:.22} @media (min-width:1180px){ .pt-article .hero.has-toc .sky{--cloud-x:.2; --cloud-op:.35} } [data-product] .sky{--cloud-shape:mark}
[data-product="engagemate"] .sky{--cloud-mark:engagemate}
[data-product="spendmate"] .sky{--cloud-mark:spendmate}
[data-product="ethosline"] .sky{--cloud-mark:ethosline}
[data-product="quality360"] .sky{--cloud-mark:quality360}
[data-product="docentra"] .sky{--cloud-mark:docentra}
[data-product="powercms"] .sky{--cloud-mark:powercms}
[data-product="monitormate"] .sky{--cloud-mark:monitormate} [data-product="analytics"] .sky, [data-product="services"] .sky{--cloud-shape:sphere} .hero-strip .sky{--cloud-x:.76; --cloud-r:.46}
.hero-short .sky{--cloud-x:.72} .hero-home .sky{--cloud-shape:earth; --cloud-x:.27; --cloud-r:.6; --cloud-op:.6; --cloud-1:var(--teal-kicker)}
.cta .sky{--cloud-x:.74; --cloud-op:.85} .sky-grid{inset:-40px; opacity:var(--sky-grid-op); background-image:radial-gradient(var(--sky-dot) 1px, transparent 1.5px); background-size:28px 28px;
-webkit-mask-image:var(--sky-mask); mask-image:var(--sky-mask); animation:skyGrid 9s linear infinite}
@keyframes skyGrid{from{transform:translate(0,0)}to{transform:translate(28px,28px)}} .sky-cloud{inset:0; width:100%; height:100%; opacity:var(--cloud-op)} .fc{transform-box:fill-box; transform-origin:center; animation:facetLight 9s ease-in-out infinite, facetFloat calc(17s + var(--k) * 2.3s) ease-in-out infinite; animation-delay:calc(var(--k) * -1.5s), calc(var(--k) * -3.1s)}
@keyframes facetFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(calc(-9px + var(--k) * 3px), calc(6px - var(--k) * 2px))}} .pt-product .hero{background:#fff}
.pt-product .hero .facets{--op:.2}
.hero .facets, .cta .facets{--op:.16} @media (max-width:640px){
.sky-cloud{display:none}
}