/* PRESSFORM: little mechanisms cut into the existing steel body. */
.press-wordmark{appearance:none;position:relative;display:block;width:100%;margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;text-shadow:inherit;-webkit-text-stroke:inherit;touch-action:pan-y;cursor:pointer}
.press-wordmark:focus-visible{outline:2px solid #073dcc;outline-offset:9px}
.press-letter{display:inline-block;position:relative;transform-origin:50% 90%;transition:color .25s,text-shadow .25s;will-change:auto}
.press-wordmark:hover .press-letter.is-near{color:#153b89;text-shadow:-1px -1px 1px #111a2c,1px 2px 1px #fff,2px 4px 7px #012b7f66}
.press-reaction{position:absolute;left:4%;right:4%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#003fcf,transparent);opacity:0;pointer-events:none;transition:opacity .4s}
.hero-title-wrap.is-pressing>.press-reaction{opacity:1}

/* Captive quarter-turn fasteners: a small part with a comfortable target. */
button.screw{appearance:none;width:44px;height:44px;padding:0;border:0;background:none;box-shadow:none;border-radius:50%;z-index:4;touch-action:manipulation}
button.screw:before{content:"";position:absolute;inset:15px;border:1px solid #7c8086;border-radius:50%;background:radial-gradient(circle at 36% 26%,#fff,#c0c3c8 40%,#72767d 72%,#e7e9ee);box-shadow:0 1px 1px #fff,0 2px 4px #1b1f274d,inset 0 0 0 1px #ffffff5c;transition:box-shadow .3s}
button.screw:after{top:21px;left:18px;right:18px;height:2px;background:#3c434f;box-shadow:0 1px #f1f5fc;border-radius:1px;transform:rotate(var(--screw-angle,-30deg));transition:transform .65s cubic-bezier(.22,1.45,.4,1),background .3s}
button.screw:hover:before,button.screw:focus-visible:before{box-shadow:0 1px 1px #fff,0 2px 4px #1b1f274d,0 0 0 3px #003bd629}
button.screw[aria-pressed="true"]:after{background:#0638db}
button.screw[aria-pressed="true"]:before{box-shadow:0 1px 1px #fff,0 0 0 2px #0638db55,inset 0 1px 3px #23325070}
button.screw-tl{left:0;top:-2px}button.screw-tr{right:-2px;top:-2px}button.screw-bl{left:0;bottom:-2px}button.screw-br{right:-2px;bottom:-2px}
.visit-plate:before{transition:filter .45s}
.visit-plate.is-snug:before{filter:drop-shadow(-4px 0 7px #1558ffaa)}

/* The selected process is a carriage on a fine vertical guide. */
.process-steps{position:relative}
.process-steps:before{content:"";position:absolute;left:-21px;top:35px;bottom:35px;width:1px;background:linear-gradient(#b7d0ff22,#adc8ff77,#b7d0ff22);box-shadow:1px 0 #00123e}
.process-carriage{position:absolute;top:var(--station-y,46px);left:-25px;width:9px;height:25px;border:1px solid #d9e7ff;border-radius:2px;background:linear-gradient(90deg,#4d76b4,#e3edff 45%,#6b95d5);box-shadow:0 2px 4px #0007,0 0 10px #aecbff55;transform:translateY(-50%);transition:top .6s cubic-bezier(.22,.9,.25,1);pointer-events:none}
.process-carriage:after{content:"";position:absolute;width:3px;height:7px;left:2px;top:8px;background:#0638db;border-radius:1px;box-shadow:0 1px #fff9}
.process-number{transition:color .3s,translate .45s cubic-bezier(.2,.8,.2,1)}
.process-step[open] .process-number{translate:3px 0}
.process-copy{animation:panel-uncover .4s cubic-bezier(.2,.8,.2,1) both}
.approval-stamp{transition:box-shadow .35s,color .35s}
.process.is-final-step .approval-stamp{color:#f4f7ff;box-shadow:inset 0 0 16px #afc9ff17,0 0 18px #2f68ed35}

/* Questions open like a shallow service hatch, with no delayed content. */
.faq-item{position:relative}
.faq-item:before{content:"";position:absolute;left:-13px;top:28px;width:3px;height:25px;background:#0638db;transform:scaleY(0);transform-origin:center;transition:transform .38s cubic-bezier(.2,1.4,.4,1)}
.faq-item[open]:before{transform:scaleY(1)}
.faq-item[open]>p{animation:panel-uncover .42s cubic-bezier(.2,.8,.2,1) both}
@keyframes panel-uncover{from{opacity:.35;translate:0 -7px}to{opacity:1;translate:0 0}}

/* The closing seam has a real little rotary switch. */
.ready-topline>p{margin-right:auto}
.seam-switch{appearance:none;position:relative;flex:none;width:48px;height:48px;border:1px solid #747c89;border-radius:50%;padding:0;background:repeating-conic-gradient(#d1d6de 0deg 8deg,#959ca8 8deg 12deg);box-shadow:0 2px 2px #fff8,0 3px 7px #2932444d,inset 0 0 0 3px #cdd0d7;isolation:isolate}
.seam-switch:before{content:"";position:absolute;inset:5px;border:1px solid #e1e5eb;border-radius:50%;background:linear-gradient(125deg,#f2f4f7,#99a0aa 49%,#d6dbe4);box-shadow:0 1px 3px #1f293955;transition:box-shadow .35s}
.seam-switch>span{position:absolute;inset:11px 18px;border:1px solid #9098a5;border-radius:3px;background:linear-gradient(90deg,#263344,#e5eaf3 45%,#77879d);box-shadow:2px 1px 3px #25334e77;transform:rotate(-40deg);transition:transform .6s cubic-bezier(.2,1.35,.35,1)}
.seam-switch:after{content:"";position:absolute;top:6px;left:21px;width:4px;height:4px;border-radius:50%;background:#42506b;transition:background .3s,box-shadow .3s}
.seam-switch[aria-pressed="true"]>span{transform:rotate(40deg)}
.seam-switch[aria-pressed="true"]:after{background:#0752ff;box-shadow:0 0 6px 2px #2778ff88}
.seam-switch[aria-pressed="true"]:before{box-shadow:0 1px 3px #1f293955,0 0 0 2px #184bce88}
.seam-switch:active{translate:0 1px}
.ready h2{transition:color .65s,text-shadow .65s}
.ready.is-energized h2{color:#13295a;text-shadow:-2px -2px 2px #071427,2px 4px 1px #f9fcff,5px 9px 9px #0006,0 0 28px #376fee3b}
.ready.is-energized .cobalt-seam{filter:brightness(1.45) saturate(1.15)}
.cobalt-seam{transition:filter .7s}
.seam-current{position:absolute;inset:0 auto 0 0;width:33%;background:linear-gradient(90deg,transparent,#e2eeff,transparent);opacity:0;pointer-events:none}
@media(max-width:620px){
  .process-steps:before{left:-14px}.process-carriage{left:-18px;width:9px}
  .ready-topline{gap:13px}.ready-topline>p{max-width:104px}.seam-switch{width:44px;height:44px}.seam-switch>span{inset:10px 16px}.seam-switch:after{left:19px}
  .ready-topline .button{padding:10px 11px;gap:7px}
}
@media(forced-colors:active){
  .press-wordmark{color:ButtonText;text-shadow:none}
  button.screw:before,.seam-switch{border:1px solid ButtonText}
  button.screw[aria-pressed="true"]:before,.seam-switch[aria-pressed="true"]{outline:2px solid Highlight}
  .process-carriage,.seam-switch>span{background:ButtonText;border-color:ButtonText}
}
.reduce-motion .press-letter{transform:none!important}
