/* Technology extends the public site's cream, green and blueprint palette. */
.technology-page{--tech-green:#285d3b;--tech-blue:#355c89;--tech-line:#cfd7cd;--tech-paper:#fffefa}
.technology-page .header nav{gap:24px}.technology-page h1{font-size:clamp(55px,5.6vw,84px);font-weight:500;letter-spacing:-.065em;line-height:1.02;margin:25px 0 30px}.technology-page h2{font-size:clamp(42px,4.5vw,65px);line-height:1.08;letter-spacing:-.055em;font-weight:500}.technology-page h3{font-size:22px;font-weight:550;letter-spacing:-.035em;line-height:1.25}.technology-page p{font-size:18px;line-height:1.75;color:#666d69}.tech-kicker{font-size:14px!important;letter-spacing:.09em;text-transform:uppercase;color:var(--tech-green)!important;font-weight:550;margin:0 0 20px}.technology-hero{padding:54px 5.5% 70px;display:grid;grid-template-columns:1fr 1.1fr;gap:2%;align-items:center;min-height:690px}.technology-hero-copy>p:not(.tech-kicker){max-width:460px}.technology-hero-copy .text-link{margin-top:27px;font-size:17px}.technology-engine{position:relative;width:100%;min-width:0}.technology-engine svg{display:block;width:100%;height:auto;overflow:visible}.engine-stack{animation:engine-float 9s ease-in-out infinite;transform-origin:355px 295px}.engine-node{animation:engine-float 9s ease-in-out infinite}.engine-node.n1{animation-delay:-2s}.engine-node.n2{animation-delay:-4s}.engine-node.n3{animation-delay:-6s}.engine-route{stroke-dasharray:600;animation:engine-draw 14s ease-in-out infinite}.engine-pulse{stroke-dasharray:18 420;animation:engine-flow 5s linear infinite}.engine-pulse.reverse{animation-direction:reverse;animation-delay:-2s}.engine-pulse.slow{animation-duration:7s}.tech-section{padding:88px 6%;border-top:1px solid var(--line)}.tech-section-heading{display:grid;grid-template-columns:1.12fr .88fr;align-items:end;gap:8%;margin-bottom:42px}.tech-section-heading h2{margin:0}.tech-section-heading p{max-width:470px;margin:0 0 4px}.technology-film{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(130deg,#dce5dd,#f5f5f1 47%,#e2e5ed);border-radius:22px;margin:0;isolation:isolate}.technology-film iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .7s ease;pointer-events:none}.technology-film[data-ready=true] iframe{opacity:1}.tech-skeleton{position:absolute;inset:15% 9% 13%;background:#fafbf880;border:1px solid #ffffffa0;border-radius:18px;overflow:hidden;animation:tech-shimmer 1.7s ease-in-out infinite;transition:opacity .5s}.skeleton-bar{height:12%;border-bottom:1px solid #aabaad30}.skeleton-side{position:absolute;top:12%;bottom:0;left:0;width:21%;background:#ccd8cb40}.skeleton-content{position:absolute;inset:22% 8% 15% 29%;display:grid;gap:14%}.skeleton-content i{display:block;border-radius:8px;background:#b9c7bc30}.skeleton-content i:first-child{width:60%}.technology-film[data-ready=true] .tech-skeleton,.technology-film[data-ready=fallback] .tech-skeleton{opacity:0;visibility:hidden;animation:none}.tech-film-fallback{position:absolute;inset:10%;display:flex;flex-direction:column;justify-content:center;gap:25px}.tech-film-fallback[hidden]{display:none}.tech-film-fallback>span{color:var(--tech-green);font-weight:700;font-size:26px}.tech-film-fallback strong{font-size:clamp(22px,3vw,44px);font-weight:500;max-width:600px;line-height:1.2}.tech-film-fallback p{font-size:16px}.tech-pause{position:absolute;z-index:9;right:16px;bottom:16px;display:grid;place-items:center;width:42px;height:42px;min-width:42px;border:1px solid #87998d40;border-radius:50%;background:#fffefaaf;color:#3b5443;font-size:15px;backdrop-filter:blur(8px);opacity:.55;transition:opacity .2s}.technology-motion:hover .tech-pause,.tech-pause:focus-visible{opacity:1}.tech-pause:focus-visible{outline:2px solid var(--tech-blue);outline-offset:3px}.tech-three{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;padding-top:38px}.tech-three article{min-width:0}.tech-symbol{display:block;font-size:27px;color:var(--tech-green);margin-bottom:18px}.tech-three h3{margin:0 0 13px}.tech-three p,.tech-trust-grid p{font-size:16px;line-height:1.7;margin:0}.technology-passport{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px,6vw,88px);align-items:center;background:#e8ebe333}.passport-copy{min-width:0;max-width:510px}.technology-page .passport-copy h2{font-size:clamp(40px,3.65vw,55px);line-height:1.09;margin:0 0 24px}.technology-page .passport-copy>p:not(.tech-kicker){max-width:470px;margin:0}.technology-page .passport-copy>p:not(.tech-kicker)+p{margin-top:20px}.technology-passport .passport-holder-scene{width:100%;max-width:590px;justify-self:end}.technology-passport .text-link{font-size:16px;margin-top:15px}.passport-scene{position:relative;aspect-ratio:1/1.1;min-width:0;perspective:1400px;isolation:isolate}.passport-halo{position:absolute;inset:8% 0;background:radial-gradient(ellipse at center,#c7d7c680,transparent 65%)}.passport-book{position:absolute;inset:14% 7% 17%;transform:rotateY(-11deg) rotateX(7deg) rotateZ(-3deg);transform-style:preserve-3d;animation:passport-float 24s ease-in-out infinite}.passport-book:after{content:"";position:absolute;bottom:-7px;inset-inline:2px;height:12px;border-radius:0 0 7px 7px;background:repeating-linear-gradient(#cbd2c8 0 1px,#f8f6ef 1px 3px);box-shadow:5px 20px 28px #1a392d25}.passport-leaf{position:absolute;inset:0;background:#fffefa;border:1px solid #d6ddd2;border-top:4px solid var(--tech-green);border-radius:5px 11px 11px 5px;padding:7%;overflow:hidden;backface-visibility:hidden;transform-origin:left center;box-shadow:0 5px 24px #35503914;font-family:Archivo,sans-serif}.passport-brand{font-size:24px;font-weight:780;color:var(--tech-green);display:flex;justify-content:space-between;align-items:start;gap:12px;line-height:1}.passport-brand>span{font-size:8px;letter-spacing:.09em;line-height:1.5;font-weight:650}.passport-cover{z-index:4;animation:passport-cover 24s cubic-bezier(.45,0,.2,1) infinite}.passport-cover h3{font-size:clamp(28px,3.4vw,48px);line-height:1.01;margin:11% 0 5%;font-weight:600;letter-spacing:-.055em}.passport-species{font-size:12px;color:#667467}.passport-number{margin-top:11%;padding:6%;background:#e4edde;border-radius:6px;color:#245131}.passport-number small{display:block;font-size:9px;margin-bottom:4px}.passport-number>strong{display:block;font-size:clamp(16px,2.3vw,29px);letter-spacing:-.025em;white-space:nowrap}.passport-number>div{display:flex;gap:8px;align-items:center;border-top:1px solid #b6cbb450;margin-top:12px;padding-top:10px;font-size:10px}.passport-number img{width:24px;height:24px;object-fit:contain}.page-identity{z-index:3;animation:passport-identity 24s cubic-bezier(.45,0,.2,1) infinite}.page-movement{z-index:2;animation:passport-movement 24s cubic-bezier(.45,0,.2,1) infinite}.page-care{z-index:1}.passport-leaf:not(.passport-cover) h3{font-size:clamp(22px,2.5vw,32px);margin:12% 0 7%}.page-identity svg{width:75%;display:block;margin:0 auto 4%;height:32%}.passport-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:10px;color:#6c776c}.passport-fields strong{font-size:14px;color:#2b382b;display:block;margin-top:5px}.passport-bottom{font-size:11px!important;line-height:1.5!important;color:#6e7a6e!important;position:absolute;bottom:7%;inset-inline:7%;border-top:1px solid #dce1d7;padding-top:13px}.passport-route{display:flex;align-items:center;gap:6px;font-size:10px;margin:17% 0 13%;color:#476751}.passport-route i{flex:1;height:1px;background:#adc0b0;position:relative}.passport-route i:after{content:"";position:absolute;right:0;width:4px;height:4px;background:#315f44;border-radius:50%;top:-1.5px}.passport-event{display:flex;gap:12px;align-items:center;padding:18px 0;border-block:1px solid #dce1d7;margin-top:-1px}.passport-event>i{font-style:normal;color:#427055;font-size:22px}.passport-event strong{display:block;font-size:14px;color:#344c3d}.passport-event span{display:block;font-size:10px;color:#738074;margin-top:6px}.passport-stages{position:absolute;bottom:5%;inset-inline:12%;display:flex;justify-content:space-between;gap:10px;color:#6f7d70;font-size:13px}.passport-stages span{position:relative;padding-bottom:8px;border-bottom:1px solid #bcc9bc;flex:1;text-align:center}.passport-stages span:after{content:"";position:absolute;bottom:-1px;left:0;height:2px;background:var(--tech-green);width:100%;transform-origin:left;transform:scaleX(0);animation:passport-progress 24s linear infinite}.passport-stages span:nth-child(2):after{animation-delay:-16s}.passport-stages span:nth-child(3):after{animation-delay:-8s}.tech-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:6%;row-gap:35px;margin-top:46px}.tech-trust-grid article{border-top:1px solid var(--tech-line);padding-top:23px}.tech-trust-grid h3{margin:0 0 13px}.technology-learning{background:#edece533}.tech-learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.tech-learning-grid>a{display:block;border-top:1px solid var(--tech-line);padding-top:24px}.learning-art{height:210px;background:#e2e8dd50;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:16px;transition:background .3s}.tech-learning-grid>a:hover .learning-art{background:#dce6d4a0}.training-art>span{padding:13px;background:#fffefa;border:1px solid #d0d9c9;box-shadow:0 10px 16px #365e3c08;border-radius:5px;font-size:14px;color:#31513a}.training-art>i{color:#7d9580;font-style:normal}.docs-art{gap:0}.docs-art>div{width:145px;padding:20px;background:#fffefa;border:1px solid #d0d9c9;box-shadow:0 10px 16px #365e3c08;border-radius:6px;transform:rotate(-6deg)}.docs-art>div+div{transform:rotate(7deg);margin-left:-10px;margin-top:20px;background:#f0f4eb}.docs-art b{font-weight:550;font-size:15px;display:block;margin-bottom:13px;color:#31513a}.docs-art span{display:block;font-size:12px;line-height:1.8;color:#738070}.tech-learning-grid h3{margin:25px 0 12px;display:flex;justify-content:space-between}.tech-learning-grid h3 span{color:#708b71}.tech-learning-grid p{font-size:17px;margin:0;max-width:430px}.technology-closing{border-top:1px solid var(--line);padding:95px 6%;display:flex;justify-content:space-between;align-items:center;gap:35px}.technology-closing h2{margin:0}.technology-motion[data-playing=false] *{animation-play-state:paused!important}
@keyframes engine-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes engine-flow{to{stroke-dashoffset:-438}}@keyframes engine-draw{0%,100%{stroke-dashoffset:0;opacity:.65}45%{stroke-dashoffset:0;opacity:1}80%{stroke-dashoffset:160;opacity:.6}}@keyframes tech-shimmer{0%,100%{opacity:.45}50%{opacity:.9}}@keyframes passport-float{0%,100%{transform:rotateY(-11deg) rotateX(7deg) rotateZ(-3deg) translateY(0)}50%{transform:rotateY(-5deg) rotateX(4deg) rotateZ(-1deg) translateY(-8px)}}@keyframes passport-cover{0%,17%,96%,100%{transform:rotateY(0);opacity:1}24%,89%{transform:rotateY(-110deg);opacity:0}}@keyframes passport-identity{0%,43%,96%,100%{transform:rotateY(0);opacity:1}50%,89%{transform:rotateY(-110deg);opacity:0}}@keyframes passport-movement{0%,69%,96%,100%{transform:rotateY(0);opacity:1}76%,89%{transform:rotateY(-110deg);opacity:0}}@keyframes passport-progress{0%{transform:scaleX(0)}32%,100%{transform:scaleX(1)}}
@media(max-width:1100px){.technology-hero{grid-template-columns:1fr 1fr;padding:48px 6%;min-height:620px}.technology-page h1{font-size:62px}.technology-page .header nav{gap:16px}.tech-section{padding:65px 6%}.tech-section-heading{gap:5%}.technology-passport{gap:32px}.training-art{gap:8px}.training-art>span{font-size:12px;padding:10px}}
@media(max-width:760px){.technology-page h1{font-size:clamp(47px,11.7vw,66px);margin:22px 0 24px}.technology-page h2{font-size:clamp(38px,10vw,48px)}.technology-page p{font-size:17px;line-height:1.75}.technology-hero{display:flex;flex-direction:column;gap:10px;padding:33px 6% 40px;min-height:0;align-items:stretch}.technology-hero-copy>p:not(.tech-kicker){max-width:100%}.technology-hero-copy .text-link{margin-top:20px}.technology-engine{margin-top:12px}.technology-engine svg{width:112%;max-width:none;margin-left:-6%}.technology-engine .tech-pause{bottom:0}.tech-section{padding:52px 6%}.tech-section-heading{display:block;margin-bottom:27px}.tech-section-heading p{margin-top:23px}.technology-film{aspect-ratio:4/5;border-radius:15px;margin-inline:-8px}.tech-pause{width:44px;height:44px;min-width:44px;right:10px;bottom:10px}.tech-three{grid-template-columns:1fr;padding-top:28px;gap:23px}.tech-three article{display:grid;grid-template-columns:30px 1fr;column-gap:13px;align-items:start}.tech-symbol{grid-row:1/3;font-size:22px;margin:0}.tech-three h3,.tech-trust-grid h3{font-size:21px;margin:0 0 8px}.tech-three p,.tech-trust-grid p{font-size:16px}.technology-passport{display:flex;flex-direction:column;gap:14px;align-items:stretch}.passport-scene{margin-inline:-8px;aspect-ratio:1/1.16}.passport-book{inset:12% 7% 17%}.passport-cover h3{font-size:40px}.passport-leaf:not(.passport-cover) h3{font-size:26px}.passport-number>strong{font-size:24px}.passport-number{margin-top:10%}.passport-brand{font-size:25px}.passport-brand>span{font-size:7px}.passport-leaf{padding:7%}.passport-bottom{font-size:10px!important}.passport-stages{bottom:6%}.tech-trust-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.tech-trust-grid article{padding-top:19px}.tech-learning-grid{grid-template-columns:1fr;gap:36px}.learning-art{height:190px}.training-art>span{font-size:13px;padding:13px 10px}.technology-closing{display:block;padding:60px 6%}.technology-closing .button{margin-top:30px}.tech-film-fallback{inset:8%}.tech-film-fallback strong{font-size:30px}.tech-film-fallback p{font-size:15px}.tech-skeleton{inset:12% 6%}.skeleton-side{display:none}.skeleton-content{left:8%}}
@media(prefers-reduced-motion:reduce){.technology-motion *{transition:none!important}}
/* Fixed page regions keep every passport face legible throughout a turn. */
.passport-leaf>.passport-brand{position:absolute;top:7%;left:7%;right:7%}
.passport-cover h3{position:absolute;top:24%;left:7%;margin:0;font-size:42px;line-height:1.02}
.passport-cover .passport-species{position:absolute;top:50%;left:7%}
.passport-cover .passport-number{position:absolute;bottom:7%;left:7%;right:7%;margin:0;padding:5%}
.passport-leaf:not(.passport-cover) h3{position:absolute;top:22%;left:7%;margin:0;font-size:30px}
.page-identity svg{position:absolute;left:12%;top:35%;width:76%;height:32%;margin:0}
.passport-fields{position:absolute;left:7%;right:7%;top:71%}
.passport-bottom{margin:0;bottom:5%;padding-top:10px}
.passport-route{position:absolute;left:7%;right:7%;top:43%;margin:0}
.page-movement .passport-event{position:absolute;top:56%;left:7%;right:7%;margin:0}
.page-care .passport-event{position:absolute;top:40%;left:7%;right:7%;margin:0}
.page-care .passport-event+.passport-event{top:61%}
@media(max-width:760px){.passport-cover h3{font-size:clamp(29px,8.2vw,40px)}.passport-cover .passport-number>strong{font-size:clamp(18px,5.8vw,25px)}.passport-leaf:not(.passport-cover) h3{font-size:clamp(21px,6vw,27px)}.passport-event{padding:12px 0}.passport-fields strong,.passport-event strong{font-size:12px}.passport-bottom{font-size:9px!important}.passport-brand{font-size:21px}.passport-number>div{margin-top:8px;padding-top:7px}}

.passport-stages span:after{animation:passport-stage-identity 24s linear infinite;transform:scaleX(1)}.passport-stages span:nth-child(2):after{animation:passport-stage-movement 24s linear infinite}.passport-stages span:nth-child(3):after{animation:passport-stage-care 24s linear infinite}
@keyframes passport-stage-identity{0%,17%,50%,100%{opacity:0}24%,43%{opacity:1}}@keyframes passport-stage-movement{0%,43%,76%,100%{opacity:0}50%,69%{opacity:1}}@keyframes passport-stage-care{0%,69%,100%{opacity:0}76%,89%{opacity:1}}

/* The folio reserves its space while its local 3D scene warms up. */
.passport-holder-scene{aspect-ratio:1/1.1;perspective:none;overflow:hidden}
.passport-holder-scene canvas[data-passport-canvas]{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity .85s ease;pointer-events:none}
.passport-holder-scene[data-ready=true] canvas[data-passport-canvas]{opacity:1}
.passport-holder-skeleton{position:absolute;inset:17% 11% 15%;opacity:.65;transition:opacity .55s ease,visibility .55s;animation:tech-shimmer 2.5s ease-in-out infinite;transform:rotate(-7deg)}
.passport-holder-skeleton>span{position:absolute;inset:5% 15% 14%;background:#d4ddd150;border:1px solid #c6d1c45c;border-radius:15px;transform-origin:50% 95%}
.passport-holder-skeleton>span:first-child{transform:rotate(-15deg) translate(-6%,-4%)}
.passport-holder-skeleton>span:nth-child(2){transform:rotate(13deg) translate(8%,-3%)}
.passport-holder-skeleton>i{position:absolute;inset:34% 1% 0;border-radius:16px;background:linear-gradient(145deg,#b4c6b165,#c5d1bd45);border:1px solid #b9c9b958}
.passport-holder-scene[data-ready=true] .passport-holder-skeleton,.passport-holder-scene[data-ready=fallback] .passport-holder-skeleton{opacity:0;visibility:hidden;animation:none}
.passport-holder-fallback{position:absolute;inset:17% 10% 14%;opacity:0;visibility:hidden;transform:rotate(-7deg);transition:opacity .65s ease,visibility .65s;filter:drop-shadow(10px 27px 20px #30413022)}
.passport-holder-scene[data-ready=fallback] .passport-holder-fallback{opacity:1;visibility:visible}
.passport-holder-scene[data-ready=fallback] canvas,.passport-holder-scene[data-ready=fallback] .tech-pause{display:none}
.passport-static-record{position:absolute;inset:0 17% 10%;padding:8% 7%;border:1px solid #c6d4be;border-radius:13px;background:#f7f4e7;color:#476047;transform-origin:50% 90%;box-shadow:2px 3px 8px #1a351914}
.passport-static-record.record-one{transform:rotate(-14deg) translate(-4%,-1%);background:#dee5d5}
.passport-static-record.record-two{transform:rotate(13deg) translate(9%,-2%)}
.passport-static-record>span{display:block;font-size:clamp(10px,1.1vw,15px);font-weight:550;line-height:1.4}
.passport-static-record>i{display:block;height:3px;width:75%;margin-top:14px;border-radius:3px;background:#98af944d}
.passport-static-record>i+i{width:50%;margin-top:7px}
.passport-static-cover{position:absolute;inset:30% 0 0;padding:9%;border:1px solid #315442;border-radius:15px;background:linear-gradient(140deg,#376146,#224834 65%,#183d2b);color:#f0ead7;box-shadow:inset 0 1px 1px #e9f2da35,3px 4px 0 #193e2c}
.passport-static-brand{position:relative;display:block;height:25px;line-height:1}
.passport-static-brand>img{position:absolute;left:0;top:-6px;display:block;width:64px;height:50px;object-fit:contain}
.passport-static-title{font-size:clamp(30px,3.6vw,50px);line-height:.98;font-weight:550;letter-spacing:-.04em;margin-top:13%}
.passport-static-title>em{font-family:Georgia,serif;font-weight:400}
.passport-static-reference{position:absolute;bottom:11%;font-size:10px;line-height:1.5;letter-spacing:.02em;color:#c6d6c0}
.passport-static-seam{position:absolute;inset:9px;border:1px dashed #c1cbb24d;border-radius:9px;pointer-events:none}
@media(max-width:760px){.passport-holder-scene{aspect-ratio:1/1.1;margin-inline:-8px}.passport-static-title{font-size:clamp(32px,9vw,42px)}.passport-static-brand{font-size:25px}.passport-static-record>span{font-size:12px}}

/* Match neighboring copy widths and stack before the folio crowds the text. */
@media(max-width:880px){
 .technology-passport.tech-section{display:grid;grid-template-columns:1fr;gap:28px;padding-block:50px}
 .passport-copy{max-width:620px}
 .technology-page .passport-copy h2{font-size:clamp(39px,5.4vw,47px)}
 .technology-page .passport-copy>p:not(.tech-kicker){max-width:550px}
 .technology-passport .passport-holder-scene{max-width:520px;justify-self:center;margin-inline:0;aspect-ratio:1/1}
}
@media(max-width:760px){
 .technology-passport.tech-section{gap:24px;padding-block:44px}
 .technology-page .passport-copy h2{font-size:clamp(38px,10vw,47px);margin-bottom:20px}
 .technology-page .passport-copy>p:not(.tech-kicker)+p{margin-top:18px}
}
