:root{color-scheme:light;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#070a0c;background:#e0e5eb;font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}a:focus-visible,button:focus-visible{outline:2px solid #286488;outline-offset:5px;border-radius:3px}a:hover,button:hover{color:#205b7e}main:focus{outline:none}
.skip-link{position:fixed;top:12px;left:12px;z-index:20;background:#f4f7fa;padding:12px 18px;transform:translateY(-160%)}.skip-link:focus{transform:none}.font-probe{position:fixed;width:1em;height:1em;visibility:hidden;pointer-events:none}

/* Default: document flow, including without JS and with enlarged text. */
.scene{position:relative;isolation:isolate;container-type:inline-size;width:min(100%,48rem);margin:auto;padding:1.5rem clamp(1.125rem,4vw,2.5rem) 3rem;overflow:clip}
.scene-backplate{display:none}.flow-backplate{position:absolute;inset:0;z-index:-2;pointer-events:none;user-select:none}.flow-backplate img{width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;position:relative;z-index:1}.wordmark{font-size:1.875rem;font-weight:600;letter-spacing:-.073em;line-height:1}.site-nav{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.site-nav a{font-size:.875rem;letter-spacing:.04em;line-height:1.4;min-height:2.75rem;display:inline-flex;align-items:center}.site-nav .nav-contact{display:none}
.hero{position:relative;margin-top:5rem;padding-bottom:1rem}.hero::before{content:"";position:absolute;z-index:-1;inset:-1rem 5% -1rem -1rem;background:linear-gradient(90deg,#e0e5ebea 0%,#e0e5ebcd 67%,#e0e5eb00 100%);pointer-events:none}.hero-title{font-size:clamp(3rem,8.6vw,4.5rem);font-weight:400;line-height:.98;letter-spacing:-.025em;overflow-wrap:anywhere}.hero-description{font-size:1rem;line-height:1.5;color:#405771;max-width:24rem;margin-top:1.5rem}
.contact-hero,.footer-contact,.dialog-action{display:inline-flex;align-items:center;gap:1rem;min-height:2.75rem;font-size:.875rem;line-height:1.4;letter-spacing:.04em}.contact-hero{margin-top:1.5rem;padding:.875rem 1.25rem;background:#cbe5f8;color:#183b51;border:1px solid #edf7ff;border-radius:.5rem 1.7rem 1.7rem .5rem;box-shadow:0 2px 4px #6c91a326}.action-arrow{font-size:1.25rem;line-height:1;flex:none}
.product{position:relative;margin-top:5rem;max-width:95%}.product.teams{margin-top:7rem;margin-left:auto}.section-anchor{position:absolute;top:-1rem;left:0;width:1px;height:1px;scroll-margin-top:1.5rem;pointer-events:none}.product-face{position:relative;padding:2.5rem 2rem 2.5rem 1.5rem;min-height:17rem;isolation:isolate}.panel-shape{position:absolute;inset:0;z-index:-1;width:100%;height:100%;filter:drop-shadow(0 7px 6px #546f8623);overflow:visible}.panel-shape path{fill:#e6ebf0;stroke:#f6f9fc;stroke-width:1.3;vector-effect:non-scaling-stroke}.eyebrow{font-size:.75rem;letter-spacing:.14em;line-height:1.5;text-transform:uppercase;color:#405771}.personal-title,.teams-title{font-size:2.5rem;line-height:1.02;font-weight:400;letter-spacing:-.025em;margin-top:1.35rem;overflow-wrap:anywhere}.inline-product-description,.teams-description{font-size:1rem;color:#405771;line-height:1.5;margin-top:1.25rem;overflow-wrap:anywhere}.teams .product-face{padding-left:2rem;padding-top:3.6rem}
.product-dock{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;margin-top:.75rem;padding:1.15rem 1.25rem;border:1px solid #f7faff;border-bottom:2px solid #c1d6e6;border-radius:1.4rem 2rem 1.4rem .75rem;background:linear-gradient(130deg,#e8edf2,#dfe6ed);box-shadow:0 5px 12px #536a7d1a}.facts{display:flex;flex-direction:column;gap:.35rem;color:#405771;font-size:.875rem;letter-spacing:.045em;line-height:1.35;text-transform:uppercase}.explore{display:inline-flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:2.75rem;font-size:.875rem;line-height:1.4;letter-spacing:.035em}.explore .action-arrow{border:1px solid #97b9ce;border-radius:50%;width:2.25rem;height:2.25rem;display:grid;place-items:center}
footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;margin-top:7rem}.footer-contact{border-bottom:1px solid #829aaa;padding-bottom:.3rem}.footer-wordmark{font-size:1.75rem}

/* At normal text size on a wide viewport, retain the original desktop scene. */
.poster-layout .scene{width:100%;max-width:1440px;aspect-ratio:1/2;padding:0;overflow:visible}
.poster-layout .flow-backplate{display:none}.poster-layout .scene-backplate{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1;pointer-events:none;user-select:none}.poster-layout .scene-backplate img{display:block;width:100%;height:100%}
.poster-layout header,.poster-layout footer,.poster-layout .hero,.poster-layout .product,.poster-layout .product-face,.poster-layout .product-dock{display:contents}.poster-layout .hero::before,.poster-layout .panel-shape,.poster-layout .inline-product-description,.poster-layout .action-arrow{display:none}
.poster-layout .wordmark{position:absolute;left:5.55%;top:2.12%;font-size:3.58cqw;font-weight:600;letter-spacing:-.073em;line-height:1}
.poster-layout .site-nav{position:absolute;left:59%;right:5.8%;top:2.78%;display:flex;justify-content:space-between;align-items:center;gap:2cqw;flex-wrap:nowrap}.poster-layout .site-nav a{font-size:max(.875rem,1.56cqw);letter-spacing:.13em;line-height:1.4;text-transform:uppercase;white-space:nowrap}.poster-layout .site-nav .nav-contact{display:inline-flex}
.poster-layout .hero-title{position:absolute;left:5.65%;top:12.95%;font-size:clamp(2rem,8.55cqw,10rem);line-height:.95;letter-spacing:-.012em;font-weight:400}
.poster-layout .hero-description{position:absolute;left:5.82%;top:26.74%;font-size:clamp(1rem,2.38cqw,2.4rem);line-height:1.33;letter-spacing:0;margin:0;max-width:none}
.poster-layout .contact-hero{position:absolute;left:5.76%;top:31.15%;width:34.3%;height:2.57%;min-height:2.75rem;display:flex;align-items:center;text-align:left;padding:0 5cqw 0 1.73cqw;font-size:max(.875rem,1.57cqw);letter-spacing:.13em;line-height:1.3;text-transform:uppercase;color:#205b7e;border:0;background:none;box-shadow:none;border-radius:8px;margin:0}
.poster-layout .eyebrow{position:absolute;text-transform:uppercase;font-size:max(.75rem,1.58cqw);letter-spacing:.19em;line-height:1.4}.poster-layout .personal-eyebrow{left:7.42%;top:41.88%}.poster-layout .personal-title{position:absolute;left:7.17%;top:44.7%;font-size:clamp(1.5rem,6.68cqw,6.5rem);line-height:.99;letter-spacing:0;font-weight:400;margin:0}
.poster-layout .facts{position:absolute;gap:1cqw;font-size:max(.875rem,1.56cqw);letter-spacing:.16em;line-height:1.3}.poster-layout .personal-facts{left:7.48%;top:56.16%}
.poster-layout .explore{position:absolute;font-size:max(.875rem,1.51cqw);letter-spacing:.13em;line-height:1.3;text-transform:uppercase;text-align:left;border-radius:24px}.poster-layout .personal-explore{left:35.58%;top:56.15%;width:27.1%;height:3.05%;padding-right:6.8cqw}
.poster-layout .teams-eyebrow{left:53.8%;top:66.94%}.poster-layout .teams-title{position:absolute;left:53.77%;top:69.85%;font-size:5.93cqw;line-height:.97;letter-spacing:-.018em;font-weight:400;margin:0}.poster-layout .teams-description{position:absolute;left:53.85%;top:76.25%;font-size:2.95cqw;letter-spacing:-.021em;line-height:1.3;margin:0}.poster-layout .teams-facts{left:46.67%;top:82.72%}.poster-layout .teams-explore{left:71.36%;top:82.2%;width:23%;height:3.04%;padding-right:6cqw}
.poster-layout .footer-wordmark{top:95.14%;left:5.78%}.poster-layout .footer-contact{position:absolute;left:67.22%;top:95.05%;width:26.5%;height:2.03%;display:flex;align-items:center;padding-right:3.2cqw;text-align:left;text-transform:uppercase;font-size:max(.875rem,1.46cqw);letter-spacing:.13em;line-height:1.3;border:0}
.poster-layout #personal{top:39.2%;scroll-margin-top:30px}.poster-layout #teams{top:64.2%;scroll-margin-top:30px}

.detail-panel,.detail-dialog{width:min(36.25rem,calc(100% - 2rem));margin:2rem auto;padding:3.75rem 2rem 2rem;border:1px solid #fff;border-radius:1.5rem 3.75rem 1.5rem 1.5rem;background:#e5eaf0;color:#101820;overflow-wrap:anywhere;scroll-margin-top:1rem}.detail-dialog{max-height:calc(100dvh - 3rem);margin:auto;overflow:auto;box-shadow:0 20px 70px #152d4930}.detail-dialog::backdrop{background:#54637245;backdrop-filter:blur(12px)}.detail-panel .eyebrow,.detail-dialog .eyebrow{position:static;font-size:.8125rem}.dialog-close{display:none}.detail-dialog .dialog-close{position:absolute;right:1.1rem;top:1rem;width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid #8197aa;border-radius:50%;font-size:1.5rem;line-height:1}.detail-panel h2,.detail-dialog h2{font-size:clamp(2rem,5vw,3rem);line-height:1.08;font-weight:400;letter-spacing:-.035em;margin-top:1.5rem}.detail-description{margin-top:1.5rem;font-size:1.125rem;line-height:1.5;color:#405771}.detail-features{list-style:none;padding:0;margin:1.875rem 0;border-top:1px solid #b7c4d0}.detail-features li{padding:.9375rem 0;border-bottom:1px solid #b7c4d0;font-size:1rem;line-height:1.4}.dialog-action{margin-top:1.5rem;padding:.9375rem 1.25rem;background:#cce6ff;border-radius:.4rem 1.2rem 1.2rem .4rem;color:#183b51}.detail-back{display:block;margin-top:1.5rem;text-decoration:underline;font-size:.875rem;line-height:1.5;min-height:2.75rem}.detail-dialog .detail-back:not(.dialog-action){display:none}.dialog-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep spacing bounded when the reader enlarges text, not just the viewport. */
html:not(.poster-layout) .scene{padding-inline:clamp(18px,4vw,40px)}
html:not(.poster-layout) .hero::before{inset:-3rem -2rem;background:radial-gradient(ellipse at 15% 45%,#e0e5ebe8 0%,#e0e5eba0 35%,#e0e5eb00 73%)}
html:not(.poster-layout) .product-face{padding-inline:clamp(22px,5vw,32px)}
html:not(.poster-layout) .product-dock{padding-inline:clamp(16px,4vw,24px)}
html:not(.poster-layout) .facts,html:not(.poster-layout) .explore{min-width:0;max-width:100%;overflow-wrap:anywhere}
html:not(.poster-layout) .explore{flex-wrap:wrap}
.detail-dialog,.detail-panel{padding-inline:clamp(20px,5vw,32px)}
@media(forced-colors:active){.panel-shape,.scene-backplate,.flow-backplate{display:none}.product-face,.product-dock,.contact-hero{border:1px solid CanvasText}.hero::before{display:none}}

/* Silver-blue scene: artwork and functional surfaces are now independent. */
[hidden]{display:none!important}
.ink-background{position:absolute;inset:0;z-index:-3;pointer-events:none;user-select:none;overflow:hidden}
.ink-background img,.ink-background canvas{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.desktop-surfaces{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible}
.surface-material{fill:url(#panel-light);stroke:#f8fbfe;stroke-width:1.25;filter:drop-shadow(0 7px 7px #4d62702b)}
.surface-rules{fill:none;stroke:#607b92;stroke-width:1.2}
.poster-layout .desktop-surfaces{display:block}
.poster-layout .site-nav{top:1.9%}
.poster-layout .teams-eyebrow{top:67.65%}
.poster-layout .contact-hero{background:linear-gradient(115deg,#cce6ff,#d9ebfa);border:1px solid #dfefff;border-radius:.6cqw 2.8cqw 2.8cqw .6cqw;box-shadow:0 2px 3px #627c9225}
.poster-layout .action-arrow{display:grid;position:absolute;right:0;top:50%;transform:translateY(-50%);place-items:center}
.poster-layout .contact-hero .action-arrow{right:2cqw;font-size:2.3cqw}
.poster-layout .explore .action-arrow{width:4.5cqw;height:4.5cqw;font-size:2.4cqw;font-weight:300;background:#eaf1f738}
.poster-layout .footer-contact{border-bottom:1px solid #607b92;padding-bottom:.3rem}
.poster-layout .footer-contact .action-arrow{font-size:1.8cqw}
html:not(.poster-layout) footer{padding-bottom:3rem}
/* Enlarged text needs a content-sized silhouette rather than a stretched notch. */
.large-text .panel-shape{display:none}
.large-text .product{max-width:100%}
.large-text .product-face{background:linear-gradient(130deg,#ebeff4,#e0e7ee);border:1px solid #f8fbfe;border-radius:.8rem 1.5rem .8rem .8rem;padding:1.5rem 22px;box-shadow:0 7px 12px #536a7d1a}
.large-text .personal-title,.large-text .teams-title{font-size:2rem}
@media(prefers-reduced-motion:reduce){#ink-canvas{display:none!important}}
@media(forced-colors:active){.ink-background,.desktop-surfaces{display:none!important}}

/* Fidelity restoration: original sculpted artwork stays stationary above the ink. */
.art-definitions{position:absolute;overflow:hidden;pointer-events:none}
.desktop-surfaces,.product-art{filter:drop-shadow(0 2px 2px #ffffff55) drop-shadow(0 12px 12px #3c526b28)}
.product-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible}
.panel-shape{display:none}
.poster-layout .product-art{display:none}
.poster-layout .teams-eyebrow{top:66.94%}
.poster-layout .teams-description{font-size:max(1rem,2.45cqw)}
.poster-layout .contact-hero{border-radius:0;clip-path:polygon(0 0,94% 0,100% 50%,94% 100%,0 100%);background:linear-gradient(115deg,#cce6ff,#d9ebfa)}
.poster-layout .explore .action-arrow{display:none}
.poster-layout .personal-explore{width:29.2%;padding-right:6.2cqw}
.poster-layout .teams-explore{width:23%;padding-right:5.7cqw}
.poster-layout .site-nav{left:auto;width:36%;top:2.2%}
.poster-layout .site-nav a{font-size:max(.875rem,1.56cqw);letter-spacing:.08em}
.poster-layout .eyebrow{font-size:max(.875rem,1.58cqw)}
.poster-layout .facts{letter-spacing:.1em;gap:.65cqw}
.poster-layout .explore{letter-spacing:.07em}
.poster-layout .contact-hero{font-size:max(.875rem,1.57cqw);letter-spacing:.07em}
.poster-layout .footer-contact{font-size:max(.875rem,1.46cqw);letter-spacing:.07em;width:29%;left:65%}
.contact-hero,.explore,.footer-contact,.dialog-action{transition:color .2s ease,filter .2s ease}
.contact-hero:hover,.dialog-action:hover{filter:brightness(1.045)}
.explore:hover{color:#14618d}

/* Small screens retain the same connected face and action shelf, not a new card. */
html:not(.poster-layout):not(.large-text) .scene{--gutter:clamp(22px,5vw,32px);width:100%;max-width:42rem;padding-inline:var(--gutter)}
html:not(.poster-layout):not(.large-text) .product{container-type:inline-size;width:calc(100% + 2 * var(--gutter));max-width:none;margin-left:calc(-1 * var(--gutter));aspect-ratio:600/400;margin-top:7rem}
html:not(.poster-layout):not(.large-text) .product.teams{aspect-ratio:537/420;margin-top:5.5rem}
html:not(.poster-layout):not(.large-text) .product-face,html:not(.poster-layout):not(.large-text) .product-dock{display:contents}
html:not(.poster-layout):not(.large-text) .eyebrow{font-size:.875rem;letter-spacing:.12em}
html:not(.poster-layout):not(.large-text) .personal-eyebrow{position:absolute;left:8%;top:12%}
html:not(.poster-layout):not(.large-text) .personal-title{position:absolute;left:8%;top:25%;margin:0;font-size:clamp(2.1rem,10.3cqw,4.2rem);line-height:.98;letter-spacing:-.025em}
html:not(.poster-layout):not(.large-text) .inline-product-description{display:none}
html:not(.poster-layout):not(.large-text) .facts{position:absolute;gap:.2rem;font-size:.875rem;line-height:1.3;letter-spacing:0;text-transform:none}
html:not(.poster-layout):not(.large-text) .personal-facts{left:8%;top:75.5%}
html:not(.poster-layout):not(.large-text) .explore{position:absolute;min-height:44px;font-size:.875rem;letter-spacing:.015em;line-height:1.25;padding:0;display:flex;align-items:center;max-width:none}
html:not(.poster-layout):not(.large-text) .personal-explore{left:52.5%;top:72%;width:41%;padding-right:9%}
html:not(.poster-layout):not(.large-text) .explore .action-arrow{display:none}
html:not(.poster-layout):not(.large-text) .teams-eyebrow{position:absolute;left:24%;top:11%}
html:not(.poster-layout):not(.large-text) .teams-title{position:absolute;left:24%;top:25%;margin:0;font-size:clamp(2.05rem,10cqw,4rem);line-height:.98}
html:not(.poster-layout):not(.large-text) .teams-description{position:absolute;left:24%;top:53%;width:70%;margin:0;font-size:1rem;line-height:1.3}
html:not(.poster-layout):not(.large-text) .teams-facts{left:12%;top:77%}
html:not(.poster-layout):not(.large-text) .teams-explore{left:53%;top:74%;width:37%;padding-right:10%}
html:not(.poster-layout):not(.large-text) footer{margin-top:5rem}
html:not(.poster-layout):not(.large-text) .hero-title{font-size:clamp(3rem,10.5vw,4.8rem)}
.large-text .product-art{display:none}
.large-text .product-dock{background:linear-gradient(130deg,#e8edf2,#dfe6ed)}
/* Keep the selected optical render intact. Feather only the surrounding scene,
   without a rectangular photo edge or an imitation CSS payment card. */
.hero-card{position:relative;display:block;width:calc(100% + 2 * var(--gutter,24px));margin:1rem 0 -1rem calc(-1 * var(--gutter,24px));pointer-events:none;user-select:none;transform:translate3d(0,var(--card-drift,0px),0) rotate(var(--card-tilt,0deg));transform-origin:60% 50%;mask-image:linear-gradient(90deg,transparent,#000 19%,#000 86%,transparent),linear-gradient(transparent,#000 14%,#000 82%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 19%,#000 86%,transparent),linear-gradient(transparent,#000 14%,#000 82%,transparent);-webkit-mask-composite:source-in}
.hero-card img{display:block;width:100%;height:auto}
.poster-layout .hero-card{position:absolute;left:45%;top:7.5%;width:54%;margin:0;z-index:-2}
.large-text .hero-card{width:100%;margin:1rem 0 0}
html:not(.poster-layout):not(.large-text) .personal{margin-top:3.5rem}
@media(prefers-reduced-motion:reduce){.hero-card{transform:none}}
@media(forced-colors:active){.hero-card{display:none}}
/* Keep the first contact action in view on wide, short laptop displays. */
@media(min-width:42rem) and (max-height:60rem){
  .poster-layout .scene{--hero-font:min(8.55cqw,13vh);--hero-y:23vh;--intro-font:min(2.38cqw,3.8vh)}
  .poster-layout .hero-title{top:var(--hero-y);font-size:var(--hero-font)}
  .poster-layout .hero-description{top:calc(var(--hero-y) + var(--hero-font) * 2.85 + 2rem);font-size:var(--intro-font)}
  .poster-layout .contact-hero{top:calc(var(--hero-y) + var(--hero-font) * 2.85 + var(--intro-font) * 2.66 + 3rem)}
}
@media(forced-colors:active){.product-art{display:none!important}.product-face,.product-dock{display:block!important;background:Canvas!important}.product{aspect-ratio:auto!important}.product :is(.eyebrow,h2,.facts,.explore,.teams-description){position:static!important;margin:1rem!important}}

/* Final contact-led polish: one action language and restrained local feedback. */
.site-nav a{gap:.4em}
.poster-layout .site-nav{width:max(38%,19.75rem);top:calc(6.03cqw - 1.375rem)}
.poster-layout .contact-hero{width:38%;letter-spacing:.025em}
.poster-layout .footer-contact{left:60%;width:34%;letter-spacing:.025em}
.contact-hero:focus-visible{outline:0;box-shadow:inset 0 0 0 2px #286488}
.footer-contact .action-arrow,.contact-hero .action-arrow{transition:translate .22s ease}
.footer-contact:is(:hover,:focus-visible) .action-arrow,.contact-hero:is(:hover,:focus-visible) .action-arrow{translate:2px -2px}
.explore:is(:hover,:focus-visible){background:linear-gradient(90deg,transparent,#b3d9f425);box-shadow:inset 0 -1px #8ab9d15c}
.detail-dialog{background:linear-gradient(135deg,#edf1f5 0%,#e5eaf0 65%,#d9e8f2 100%)}
.detail-dialog .dialog-action{display:flex;justify-content:space-between;width:100%;margin-top:1.5rem}
.detail-dialog .eyebrow{font-size:.875rem}
@media(prefers-reduced-motion:reduce){.footer-contact .action-arrow,.contact-hero .action-arrow{translate:none!important}}
@media(max-width:21.875rem){html:not(.poster-layout):not(.large-text) .teams-facts{left:10%}}
