/* Hallmark pre-emit critique: P4 H4 E4 S5 R5 V4. Veil's interactive product experience. */
.veil{--catalog-bg:#0c2019;--catalog-card:#142c23;--catalog-border:#2a493c;--catalog-ink:#edf5ec;--catalog-muted:#a9bdb0;--catalog-accent:#9ad7b0;--art-panel:#19382b;--art-row:#234735;--art-line:#69a986;--art-muted:#3e6251;--art-ink:#cbe0d1;--grab-surface:#f4f8ef;--grab-ring:#27624a66}
.veil{--motion-dark-a:#a1dfb8;--motion-dark-b:#e0a16e;--motion-dark-c:#b7a6ee;--motion-dark-d:#8eced6}
.veil .industry-story{display:grid;grid-template-columns:minmax(0,1fr);gap:43px;padding-block:75px}.veil .industry-story-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 90px;grid-column:auto;grid-row:auto}.veil .industry-story-copy .industry-eyebrow{grid-column:1/-1}.veil .industry-story-copy h2{grid-column:1;grid-row:2/5;font-size:40px;max-width:500px;margin-bottom:0}.veil .industry-story-copy p{grid-column:2;max-width:580px}.veil .industry-photo.product-visual{grid-column:auto;grid-row:auto;width:100%;max-width:none}.veil .pv-atlas .map-atlas{gap:65px;padding:35px 40px}.veil .industry-story-points{margin-top:0}
.veil .source-hero-detail{flex-wrap:wrap;gap:22px 40px}.veil .source-hero-detail>.crawler-play-note{flex-basis:100%;max-width:none;margin:0;color:var(--muted);font:10px/1.8 var(--mono);background:none;box-shadow:none}
.veil-catalog{position:relative;z-index:4;background:var(--catalog-bg);color:var(--catalog-ink);padding-block:78px 86px;border-block:1px solid var(--catalog-border)}.veil-catalog .source-section-heading{margin-bottom:38px;align-items:end}.veil-catalog .source-section-heading h2{font-size:40px;max-width:630px;line-height:1.15;color:var(--catalog-ink)}.veil-catalog .source-section-heading>p{color:var(--catalog-muted);background:none;box-shadow:none;max-width:350px;font-size:14px;line-height:1.85}.veil-catalog .source-section-heading>h2{background:none;box-shadow:none}.veil-product-family+.veil-product-family{margin-top:32px}.veil-catalog .family-label{font:10px var(--mono);letter-spacing:.02em;color:var(--catalog-muted);margin-bottom:17px;padding:0}.veil-product-grid{display:grid;gap:22px;align-items:stretch}.veil-product-grid.apis{grid-template-columns:repeat(2,minmax(0,1fr))}.veil-product-grid.proxies{grid-template-columns:repeat(3,minmax(0,1fr))}.veil-product{display:flex;flex-direction:column;min-width:0;border:1px solid var(--catalog-border);border-radius:15px;background:var(--catalog-card);overflow:hidden;transition:transform .2s ease,border-color .2s ease}.veil-product:hover,.veil-product:focus-within{transform:translateY(-3px);border-color:var(--art-line)}.veil-product-copy{display:flex;flex-direction:column;padding:0 28px 27px;flex:1}.veil-product-copy h3{font-size:27px;line-height:1.2;letter-spacing:-.035em;font-weight:500;color:var(--catalog-ink);margin-bottom:12px}.veil-product-copy>p{font-size:13px;line-height:1.8;color:var(--catalog-muted);min-height:47px;max-width:430px}.veil-product-copy ul{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:22px 0;margin:0;list-style:none;flex:1;align-content:start;font:11px/1.7 var(--font);color:var(--catalog-muted);min-height:100px}.veil-product-grid.apis ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 20px}.veil-product-copy li{position:relative;padding-left:12px}.veil-product-copy li:before{content:'';position:absolute;left:0;top:.75em;width:3px;height:3px;border-radius:50%;background:var(--catalog-accent)}.veil-product-billing{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--catalog-border);padding-top:17px;font:9px/1.6 var(--mono);color:var(--catalog-muted)}.veil-product-billing strong{font-weight:400;color:var(--catalog-ink);text-align:right}.veil-catalog .product-link{font:600 12px/1.6 var(--font);color:var(--catalog-ink);border:0;padding-top:22px;margin:0;display:block}.veil-catalog .product-link:hover{color:var(--catalog-accent)}
.product-art{height:188px;padding:22px 20px 8px;display:flex;align-items:center;justify-content:center;pointer-events:none}.product-art svg{display:block;width:100%;height:100%;max-width:440px;overflow:visible}.product-art text{font:10px var(--mono);fill:var(--art-ink)}.product-art .art-caption{font:9px var(--mono);fill:var(--catalog-muted)}.product-art .art-code{font:11px var(--mono);fill:var(--catalog-accent)}.product-art .art-symbol{font:24px var(--mono);fill:var(--catalog-accent)}.product-art .art-symbol.small{font-size:16px}.art-panel{fill:var(--art-panel);stroke:var(--art-muted);stroke-width:1}.art-line{fill:none;stroke:var(--art-line);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.art-muted-line{fill:none;stroke:var(--art-muted);stroke-width:3;stroke-linecap:round}.art-route{fill:none;stroke:var(--art-line);stroke-width:1;stroke-dasharray:3 4;stroke-opacity:.65}.art-row{fill:var(--art-row);stroke:transparent;stroke-width:1}.art-led,.art-packet{fill:var(--catalog-accent)}.product-art [data-art-step] .art-panel,.product-art [data-art-step] .art-row{transition:stroke .4s ease,fill .4s ease}.product-art .art-active .art-panel,.product-art .art-active .art-row{stroke:var(--art-line);fill:var(--art-row)}.art-output{stroke:var(--art-line)}
.veil .global-crawler{pointer-events:none}.veil .global-crawler.is-manipulating{z-index:15}.crawler-grab{position:absolute;left:0;top:0;width:56px;height:66px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;cursor:grab;pointer-events:auto;touch-action:none;user-select:none;z-index:1;line-height:1}.crawler-grab:before{content:'';position:absolute;inset:2px -3px;border:1px dashed var(--grab-ring);border-radius:50%;opacity:0;transition:opacity .15s}.crawler-grab:after{content:'Drag me';position:absolute;top:100%;left:50%;transform:translateX(-50%);font:9px/1.6 var(--mono);white-space:nowrap;color:var(--ink);background:var(--grab-surface);border:1px solid var(--line);border-radius:4px;padding:3px 7px;opacity:0;pointer-events:none;transition:opacity .15s}.crawler-grab:hover:before,.crawler-grab:focus-visible:before,.crawler-grab:hover:after,.crawler-grab:focus-visible:after{opacity:1}.crawler-grab:focus-visible{outline:none}.is-dragging .crawler-grab{cursor:grabbing}.is-dragging .crawler-grab:before{opacity:1;border-style:solid}.is-dragging .crawler-grab:after{content:'Drop to crawl';opacity:1}.crawler-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1180px){.veil .industry-story-copy{gap:0 55px}.veil .industry-story-copy h2{font-size:36px}.veil .pv-atlas .map-atlas{gap:45px;padding-inline:30px}.veil-product-grid{gap:18px}.veil-product-copy{padding:0 24px 25px}.veil-product-copy h3{font-size:25px}.product-art{height:174px;padding-inline:15px}.veil-product-billing{font-size:8px}.veil-catalog .source-section-heading h2{font-size:36px}.veil-catalog .source-section-heading>p{max-width:310px;font-size:13px}.veil-product-grid.apis ul{gap:7px 15px}}
@media(max-width:980px){.veil .industry-story-copy{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0 40px}.veil .industry-story-copy h2{font-size:33px}.veil .pv-atlas .map-atlas{gap:35px;padding-inline:25px}.veil-product-copy{padding:0 21px 24px}.veil-product-copy h3{font-size:23px}.veil-product-copy>p{font-size:12px;min-height:65px}.veil-product-copy ul{font-size:10px;min-height:105px;padding-block:18px}.veil-product-grid.apis ul{grid-template-columns:minmax(0,1fr)}.veil-product-grid.apis .veil-product-copy ul{min-height:105px}.veil-product-billing{flex-direction:column;gap:7px}.veil-product-billing strong{text-align:left}.product-art{height:160px;padding-inline:10px}.veil-product-grid.proxies .product-art{height:150px}.veil-catalog{padding-block:65px}.veil-catalog .source-section-heading h2{font-size:34px}}
@media(max-width:700px){.veil .industry-story{display:block;padding-block:50px}.veil .industry-story-copy{display:block;margin-bottom:30px}.veil .industry-story-copy h2{font-size:31px;max-width:430px;margin-bottom:22px}.veil .pv-atlas .map-atlas{grid-template-columns:minmax(0,1fr);gap:30px;padding:22px 18px}.veil .industry-story-points{margin-top:35px}.veil .source-hero-detail>.crawler-play-note{font-size:9px;margin-top:18px;line-height:1.8}.veil-catalog{padding-block:50px 55px}.veil-catalog .source-section-heading{display:block;margin-bottom:30px}.veil-catalog .source-section-heading h2{font-size:31px}.veil-catalog .source-section-heading>p{max-width:450px;font-size:13px;margin-top:18px}.veil-product-grid.apis,.veil-product-grid.proxies{grid-template-columns:minmax(0,1fr);gap:19px}.veil-product-copy{padding:0 25px 25px}.veil-product-copy h3{font-size:27px}.veil-product-copy>p{font-size:13px;min-height:0}.veil-product-copy ul,.veil-product-grid.apis .veil-product-copy ul{font-size:11px;min-height:0;padding-block:21px}.veil-product-grid.apis ul{grid-template-columns:repeat(2,minmax(0,1fr))}.veil-product-billing{flex-direction:row;gap:15px;font-size:9px}.veil-product-billing strong{text-align:right}.product-art,.veil-product-grid.proxies .product-art{height:185px;padding:21px 20px 12px}.veil-product{border-radius:13px}.veil-product-family+.veil-product-family{margin-top:30px}.veil-catalog .family-label{font-size:9px}.crawler-grab{width:56px;height:66px}.crawler-grab:after{font-size:8px}}
@media(max-width:375px){.veil .industry-story-copy h2{font-size:29px}.veil .pv-atlas .map-atlas{padding-inline:14px}.veil-catalog .source-section-heading h2{font-size:29px}.veil-product-copy{padding:0 22px 23px}.veil-product-copy h3{font-size:25px}.product-art,.veil-product-grid.proxies .product-art{height:168px;padding-inline:15px}.veil-product-grid.apis ul{grid-template-columns:minmax(0,1fr)}.veil-product-billing{font-size:8px}}
@media(prefers-reduced-motion:reduce){.veil-product,.product-art [data-art-step] .art-panel,.product-art [data-art-step] .art-row,.crawler-grab:before,.crawler-grab:after{transition:none}.veil-product:hover,.veil-product:focus-within{transform:none}}
.veil-catalog{z-index:auto}
.crawler-grab:focus-visible:after{content:'Arrow keys to move'}
.is-dragging .crawler-grab:after{content:'Drop to crawl'}

/* Human photography and staged section entrances, shared by every palette. */
.veil .veil-hero-shell{position:relative;isolation:isolate;overflow:clip}
.veil .veil-hero-shell>.global-crawler{position:absolute;inset:0;width:100%;height:100%;z-index:3;overflow:clip}
.veil .veil-hero-shell .source-hero{padding-block:76px 80px}
.veil .source-proof{padding-top:32px}
.veil-people-proof{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr);align-items:center;gap:64px;padding:0 0 36px;border-bottom:1px solid var(--line)}
.veil .veil-people-proof .proof-copy{max-width:350px;background:none;box-shadow:none}
.veil .veil-people-proof h2{font-size:34px;line-height:1.15;letter-spacing:-.04em;margin-bottom:18px}
.veil .veil-people-proof p{font-size:14px;line-height:1.8;max-width:330px;margin:0}
.veil-people-pair{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:center}
.veil-people-art{position:relative;margin:0;overflow:hidden;border-radius:16px;isolation:isolate}
.veil-people-art img{display:block;width:100%;height:248px;object-fit:cover;object-position:50% 65%;transform:scale(1.04);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.veil-people-art.people-coding{margin-top:32px}
.veil-people-art.people-coding img{height:216px;object-position:72% 50%}
.veil-people-art.is-revealed img{transform:scale(1)}
.veil-people-art:hover img{transform:scale(1.035)}
.veil .industry-story{padding-block:64px}
.veil .veil-catalog{border-radius:32px 32px 0 0;transform-origin:50% 0}
.veil .source-sourcing{position:relative;border-radius:32px 32px 0 0;margin-top:-24px;padding-top:76px;padding-bottom:70px;box-shadow:0 -12px 0 0 var(--catalog-bg)}
.veil .source-final{border-radius:32px 32px 0 0;position:relative;overflow:hidden;padding-block:86px}
.veil .source-final .wrap{position:relative;z-index:1}
.veil .source-final:before{content:'{ }';position:absolute;right:5%;bottom:-42px;font:260px/1 var(--mono);letter-spacing:-.15em;color:currentColor;opacity:.035;pointer-events:none}
.veil .pv-atlas .flow-node{transition:background-color .6s cubic-bezier(.16,1,.3,1),border-color .6s cubic-bezier(.16,1,.3,1)}
.veil .pv-atlas .flow-node.flow-active{background:var(--tint);border-color:var(--accent)}
.veil .pv-atlas .flow-node.flow-active .node-label{color:var(--accent)}
.veil .industry-format-strip{padding-block:28px}
.veil .industry-format-strip>div span{position:relative}
.veil .industry-format-strip>div span:after{content:'';position:absolute;inset:auto 0 -7px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.veil .industry-format-strip>div span.format-active:after{transform:scaleX(1)}
.veil .photo-credits{font:9px/1.7 var(--mono);color:var(--muted);padding:0 0 20px;text-align:right}
.veil .photo-credits a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.veil-people-proof{gap:32px;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr)}.veil-people-pair{grid-template-columns:1fr}.veil-people-art.people-coding{display:none}.veil .veil-people-proof h2{font-size:30px}}
@media(max-width:700px){.veil .veil-hero-shell .source-hero{padding-block:40px 176px}.veil-people-proof{grid-template-columns:1fr;gap:24px;padding-bottom:30px}.veil .veil-people-proof .proof-copy{max-width:none}.veil .veil-people-proof h2 br{display:none}.veil .veil-people-proof h2{font-size:30px;max-width:330px}.veil .veil-people-proof p{max-width:410px;font-size:13px}.veil-people-pair{grid-template-columns:1.45fr 1fr;gap:10px}.veil-people-art{border-radius:10px}.veil-people-art img{height:180px;object-position:49% 67%}.veil-people-art.people-coding{display:block;margin-top:24px}.veil-people-art.people-coding img{height:156px}.veil .source-sourcing{padding-top:55px;padding-bottom:50px}.veil .source-final{padding-block:58px}.veil .veil-catalog,.veil .source-sourcing,.veil .source-final{border-radius:22px 22px 0 0}.veil .industry-story{padding-block:46px}.veil .photo-credits{text-align:left;font-size:8px}}
@media(prefers-reduced-motion:reduce){.veil-people-art img,.veil-people-art:hover img{transform:none;transition:none}.veil .flow-node,.veil .industry-format-strip>div span:after{transition:none}}
.veil.motion-is-paused .veil-people-art img{transition:none;transform:none}
