/* The TMI landing story: six visual chapters, with detail one click away. */
.tmi-visual{--v-gutter:clamp(22px,5vw,88px);--v-ink:#11140f;--v-paper:#f3f2e9;--v-lime:#c9ff19;--v-olive:#79836c;background:var(--v-paper)}
.tmi-visual main{overflow:clip}
.tmi-visual h2{font-size:clamp(40px,5.3vw,84px);line-height:1.02;font-weight:500}
.tmi-visual h2>span{color:var(--v-olive)}
.v-kicker,.v-section-top>span{font:9px/1.8 "DM Mono",monospace;letter-spacing:.09em}
.tmi-visual .v-hero{min-height:780px;min-height:min(900px,calc(100svh - 92px));background:var(--v-ink)}
.tmi-visual .v-hero h1{font-size:clamp(55px,6.7vw,106px);font-weight:500;line-height:1.01;margin:32px 0 27px}
.tmi-visual .v-hero h1>span{color:var(--v-lime)}
.tmi-visual .v-hero .home-hero-content{padding:85px var(--v-gutter) 130px}
.tmi-visual .v-hero .home-hero-copy{font-size:15px;line-height:1.9;max-width:390px}
.tmi-visual .v-hero .home-hero-note{font-size:9px;line-height:1.8;max-width:480px}
.tmi-visual .v-hero .home-eyebrow{font-size:9px}
.tmi-visual .v-route{padding:23px var(--v-gutter);display:grid;grid-template-columns:repeat(3,1fr) auto;background:#e6e9dc;border-bottom:1px solid #11140f26;gap:25px;font-size:12px}
.v-route a{display:flex;gap:16px;align-items:center;justify-content:start}
.v-route a:last-child{justify-content:end}
.v-route b{font:9px "DM Mono",monospace;color:#6f785f}
.v-route .site-arrow{width:15px;height:15px}
.v-connect{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:5vw;padding:90px var(--v-gutter) 100px}
.v-connect-copy h2{font-size:clamp(43px,5.6vw,89px);margin-top:30px}
.v-connect-copy>p:last-child{font-size:15px;line-height:1.9;margin-top:30px;color:#58614d}
.v-network{height:500px;position:relative;isolation:isolate}
.v-network:before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#dfe6ce 0,transparent 67%);z-index:-1}
.v-network-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#899573;stroke-width:1.3}
.v-network-lines .v-flow{stroke:#3d5312;stroke-width:2;stroke-dasharray:6 25;animation:v-flow 9s linear infinite}
.v-network-node{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:10px;min-width:125px;padding:17px 14px;background:var(--v-paper);border:1px solid #8e9c7759;border-radius:3px;font-size:12px;box-shadow:0 7px 20px #42542b08}
.v-network-node>svg{width:23px;height:23px;fill:none;stroke:#52643a;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.v-node-people{left:18%;top:17%}.v-node-systems{left:82%;top:18%}.v-node-knowledge{left:16%;top:76%}.v-node-brand{left:85%;top:74%}.v-node-growth{left:50%;top:94%}
.v-network-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;background:var(--v-ink);color:var(--v-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;border:10px solid #e0e7d2;box-shadow:0 0 0 1px #aab59b}
.v-network-core>b{font:600 67px/1 Manrope,Arial,sans-serif;letter-spacing:-.075em}
.v-network-core>b>span{color:var(--v-lime)}
.v-network-core>small{font:6px/1.8 "DM Mono",monospace;letter-spacing:.05em;margin-top:12px;color:#bdc7ae}
.v-education{display:grid;grid-template-columns:1.1fr 1fr;background:#dce3cb}
.v-education-image{position:relative;min-height:620px;overflow:hidden;display:block}
.v-education-image img{width:100%;height:100%;object-fit:cover;object-position:64% center;transition:transform .8s}
.v-education-image:hover img{transform:scale(1.025)}
.v-photo-label{position:absolute;left:30px;right:30px;bottom:30px;display:flex;justify-content:space-between;align-items:center;color:var(--v-paper);font:10px "DM Mono",monospace;letter-spacing:.07em;padding-top:20px;border-top:1px solid #ffffff70;text-shadow:0 1px 6px #000}
.v-education-copy{padding:75px var(--v-gutter);padding-left:65px;display:flex;flex-direction:column;align-items:start;justify-content:center}
.v-education-copy h2{font-size:clamp(49px,6vw,93px);margin-top:25px}
.v-education-copy h2>span{color:#54643e}
.v-education-copy>p:not(.v-kicker){font-size:15px;line-height:1.9;margin-top:27px}
.v-education-copy .home-button{background:var(--v-ink);color:var(--v-paper);border-color:var(--v-ink);margin-top:27px}
.v-education-copy .home-button:hover{background:var(--v-paper);border-color:var(--v-paper);color:var(--v-ink)}
.v-education-copy>small{font:9px/1.8 "DM Mono",monospace;color:#5b674b;margin-top:17px}
.v-build{padding:80px var(--v-gutter) 85px}
.v-section-top{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #11140f30;padding-top:16px;margin-bottom:45px}
.v-section-top>span{font-size:8px;color:#68735d}
.v-section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:40px}
.v-section-heading h2{font-size:clamp(40px,5.2vw,80px)}
.v-section-heading>p{font-size:14px;line-height:1.9;max-width:280px;color:#5d6851}
.v-service-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:600px 500px;gap:20px}
.v-service{position:relative;overflow:hidden;min-width:0;background:var(--v-ink);color:var(--v-paper);isolation:isolate;transition:transform .3s}
.v-service:hover{transform:translateY(-4px)}
.v-service-run{grid-column:span 7}.v-service-know{grid-column:span 5}.v-service-seen{grid-column:span 5}.v-service-further{grid-column:span 7}
.v-service>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s}
.v-service:hover>img{transform:scale(1.03)}
.v-service-shade{position:absolute;inset:0;background:linear-gradient(0deg,#10140ff5 0%,#10140f80 45%,#10140f10 100%)}
.v-card-number{position:absolute;top:28px;left:30px;right:70px;font:9px/1.8 "DM Mono",monospace;letter-spacing:.06em;z-index:1}
.v-service-copy{position:absolute;bottom:32px;left:32px;right:32px;z-index:1}
.tmi-visual .v-service-copy h3{font-size:clamp(55px,6.9vw,105px);line-height:.95;font-weight:500;letter-spacing:-.055em}
.v-service-copy>p{font-size:14px;line-height:1.8;margin-top:23px}
.v-service-copy>span{font:8px/1.9 "DM Mono",monospace;letter-spacing:.055em;display:block;border-top:1px solid #f3f2e960;padding-top:18px;margin-top:22px;color:#d4dbc9}
.v-card-arrow{position:absolute;top:23px;right:25px;width:42px;height:42px;padding:11px;border:1px solid #f3f2e980;border-radius:50%;fill:none;stroke:currentColor;stroke-width:1.5;z-index:1;transition:transform .3s}
.v-service:hover .v-card-arrow{transform:rotate(45deg)}
.v-service-know{background:var(--v-lime);color:var(--v-ink)}
.v-service-know .v-service-copy>span{color:#36471c;border-color:#11140f50}
.v-service-know .v-card-arrow{border-color:#11140f70}
.v-orbit-art{position:absolute;left:50%;top:29%;width:280px;height:280px;transform:translate(-50%,-50%);display:grid;place-items:center}
.v-orbit-art>i{position:absolute;inset:0;border:1px solid #17240760;border-radius:50%;transform:rotate(-25deg) scaleX(.48)}
.v-orbit-art>i:nth-child(2){transform:rotate(35deg) scaleX(.48)}
.v-orbit-art>i:nth-child(3){transform:rotate(90deg) scaleX(.48)}
.v-orbit-art>b{font:500 55px/1 Manrope,Arial,sans-serif;letter-spacing:-.08em;background:var(--v-lime);padding:7px}
.v-orbit-dot{position:absolute;left:15%;top:30%;width:10px;height:10px;border-radius:50%;background:#172407;box-shadow:0 0 0 6px #c9ff19;animation:v-dot 6s ease-in-out infinite}
.v-service-seen{background:#b5bea4;color:var(--v-ink)}
.v-service-seen .v-service-copy>span{color:#3c4b2f;border-color:#11140f50}
.v-service-seen .v-card-arrow{border-color:#11140f70}
.v-brand-art{position:absolute;left:32px;right:32px;top:75px;height:150px;overflow:hidden}
.v-brand-art>span{font:600 185px/.85 Manrope,Arial,sans-serif;letter-spacing:-.09em;color:#11140f20;display:block;transform:rotate(-12deg);transform-origin:center}
.v-brand-art>i{position:absolute;top:50%;left:0;width:110%;height:1px;background:#11140f45;transform:rotate(-12deg)}
.v-brand-art>i:last-child{top:80%}
.v-more-offerings{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid #11140f30;margin-top:30px;padding-top:23px;font-size:10px;line-height:1.9}
.v-more-offerings>span{font:8px "DM Mono",monospace;color:#69745c}
.v-more-offerings>a{padding-block:5px}
.v-evolution{padding:80px var(--v-gutter);background:#e3e8d9}
.v-staircase{list-style:none;padding:0;margin:60px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}
.v-staircase>li{min-width:0}
.v-staircase>li>button{border:1px solid #11140f20;width:100%;min-height:190px;display:flex;flex-direction:column;align-items:start;position:relative;background:#c4cdb7;padding:22px;color:var(--v-ink);text-align:left;cursor:pointer;border-radius:0;transition:background .25s,transform .25s}
.v-staircase>li:nth-child(2)>button{min-height:225px;background:#aab99a}
.v-staircase>li:nth-child(3)>button{min-height:260px;background:#91a080}
.v-staircase>li:nth-child(4)>button{min-height:295px;background:#6b7c59;color:var(--v-paper)}
.v-staircase>li:nth-child(5)>button{min-height:330px;background:var(--v-ink);color:var(--v-paper)}
.v-staircase>li>button:hover{transform:translateY(-6px)}
.v-staircase>li>button[aria-selected="true"]{background:var(--v-lime);color:var(--v-ink);border-color:var(--v-lime)}
.v-step-number{font:10px "DM Mono",monospace}
.v-step-name{font:500 clamp(20px,2.2vw,33px)/1.2 Manrope,Arial,sans-serif;letter-spacing:-.04em;margin-top:auto;padding-top:35px}
.v-step-caption{font:11px/1.8 Inter,Arial,sans-serif;margin-top:12px;max-width:150px}
.v-step-mark{position:absolute;top:20px;right:20px;font:17px Inter,Arial,sans-serif}
.v-stage-details{margin-top:24px;border-top:1px solid #11140f30;border-bottom:1px solid #11140f30}
.v-stage-details>div{display:grid;grid-template-columns:1fr 1.5fr auto;gap:30px;align-items:center;padding:28px 0}
.v-stage-details>div>span{font:8px/1.8 "DM Mono",monospace;letter-spacing:.04em}
.v-stage-details>div>p{font-size:14px;line-height:1.8}
.v-stage-details>div>a{font-size:11px;border-bottom:1px solid #11140f70;padding-block:7px;display:flex;align-items:center;gap:20px;justify-self:end}
.v-stage-details .site-arrow{width:15px;height:15px}
.v-evolution-note{font:10px/1.9 "DM Mono",monospace;margin-top:24px;color:#5a6749}
.tmi-visual .v-contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:85px var(--v-gutter);align-items:start;background:var(--v-lime)}
.tmi-visual .v-contact h2{font-size:clamp(47px,6.5vw,102px);margin-top:35px}
.tmi-visual .v-contact h2>span{color:#445f13}
.tmi-visual .v-contact .home-contact-copy>p:not(.v-kicker){font-size:15px;line-height:1.9;margin-top:25px}
.v-contact-person{display:flex;flex-direction:column;gap:7px}
.v-contact-person>b{font-size:12px;font-weight:500}
.v-contact-person>span{font-size:11px}
.v-about-line{display:flex;flex-direction:column;align-items:start;gap:15px;border-top:1px solid #11140f40;margin-top:45px;padding-top:25px}
.v-about-line>span{font:9px "DM Mono",monospace}
.v-about-line>a{font-size:12px;border-bottom:1px solid #11140f70;padding-bottom:5px}
.tmi-visual .v-form{margin:0;padding:38px;background:var(--v-paper);width:100%;border:1px solid #11140f20}
.v-form .form-kicker{margin-bottom:30px;font-size:10px}
.v-optional{margin-top:25px;border-top:1px solid #11140f35;border-bottom:1px solid #11140f35;padding:18px 0}
.v-optional summary{font-size:11px;line-height:1.9;cursor:pointer}
.v-optional summary>span{color:#69745e;font-size:10px}
.v-optional[open]{padding-bottom:25px}
.v-education-alt{font-size:10px;line-height:1.8;color:#59654b;margin-top:23px;border-top:1px solid #11140f25;padding-top:18px}
.v-education-alt>a{text-decoration:underline;text-underline-offset:3px}
.tmi-visual .v-form .form-note{font-size:9px}
@keyframes v-flow{to{stroke-dashoffset:-310}}
@keyframes v-dot{0%,100%{transform:translate(0,0)}50%{transform:translate(175px,130px)}}
@media(min-width:1800px){.tmi-visual{--v-gutter:max(88px,calc((100vw - 1640px)/2))}}
@media(max-width:1150px){
 .tmi-visual .v-hero{min-height:720px}
 .tmi-visual .v-hero h1{font-size:clamp(52px,7.5vw,80px)}
 .v-connect{gap:25px;padding-block:70px}
 .v-network{height:420px}
 .v-network-core{width:155px;height:155px}
 .v-network-core>b{font-size:55px}
 .v-network-core>small{font-size:5px}
 .v-network-node{min-width:110px;padding:14px 10px;gap:8px;font-size:11px}
 .v-network-node>svg{width:20px;height:20px}
 .v-education-image{min-height:570px}
 .v-education-copy{padding:55px 35px}
 .v-service-mosaic{grid-template-rows:550px 470px}
 .v-service-copy{left:25px;right:25px;bottom:28px}
 .v-orbit-art{width:230px;height:230px}
 .v-staircase>li>button{padding:18px}
 .v-step-name{font-size:clamp(18px,2.35vw,29px)}
 .v-step-caption{font-size:10px}
 .v-stage-details>div{grid-template-columns:1fr 1.5fr;gap:15px 25px}
 .v-stage-details>div>a{grid-column:2;justify-self:start}
 .tmi-visual .v-contact{gap:6vw}
}
@media(max-width:760px){
 .tmi-visual .v-hero{min-height:690px}
 .tmi-visual .v-hero .home-hero-content{padding:60px var(--v-gutter) 130px}
 .tmi-visual .v-hero h1{font-size:clamp(32px,9.3vw,60px);line-height:1.09;margin-top:35px;letter-spacing:-.05em}
 .tmi-visual .v-hero .home-eyebrow{font-size:7px;gap:8px;letter-spacing:.03em}
 .tmi-visual .v-hero .home-hero-copy{font-size:14px;margin-top:25px}
 .tmi-visual .v-hero .home-hero-note{font-size:8px;max-width:270px}
 .tmi-visual .v-hero .home-actions{margin-top:25px}
 .tmi-visual .v-route{grid-template-columns:repeat(3,1fr);padding-block:20px;gap:18px;font-size:12px}
 .v-route a{gap:9px}
 .v-route a:last-child{grid-column:1/-1;justify-content:space-between;border-top:1px solid #11140f25;padding-top:14px;font-size:10px}
 .v-route b{font-size:8px}
 .v-connect{grid-template-columns:1fr;padding:55px var(--v-gutter);gap:25px}
 .v-connect-copy h2{font-size:clamp(37px,9.3vw,64px);line-height:1.04;margin-top:25px}
 .v-connect-copy>p:last-child{font-size:14px;margin-top:24px}
 .v-kicker{font-size:8px}
 .v-network{height:340px;max-width:470px;width:100%;justify-self:center}
 .v-network-core{width:138px;height:138px;border-width:8px}
 .v-network-core>b{font-size:47px}
 .v-network-core>small{font-size:4px;margin-top:9px}
 .v-network-node{min-width:95px;max-width:110px;padding:11px 9px;gap:6px;font-size:10px}
 .v-network-node>svg{width:18px;height:18px}
 .v-node-people{left:17%;top:16%}.v-node-systems{left:83%;top:17%}.v-node-knowledge{left:17%;top:74%}.v-node-brand{left:83%;top:73%}.v-node-growth{top:91%}
 .v-education{grid-template-columns:1fr}
 .v-education-image{min-height:0;height:320px}
 .v-education-image img{object-position:64% 60%}
 .v-photo-label{left:22px;right:22px;bottom:22px;font-size:9px}
 .v-education-copy{padding:45px var(--v-gutter) 50px}
 .v-education-copy h2{font-size:clamp(47px,12vw,72px);margin-top:25px}
 .v-education-copy>p:not(.v-kicker){font-size:14px;margin-top:25px}
 .v-education-copy .home-button{font-size:11px}
 .v-build,.v-evolution{padding:55px var(--v-gutter)}
 .v-section-top{margin-bottom:30px;padding-top:14px}
 .v-section-top>span{display:none}
 .v-section-heading{display:block;margin-bottom:30px}
 .v-section-heading h2{font-size:clamp(34px,8.7vw,54px);line-height:1.07}
 .v-section-heading .home-text-link{margin-top:22px;font-size:11px}
 .v-section-heading>p{font-size:14px;margin-top:20px}
 .v-service-mosaic{grid-template-columns:1fr;grid-template-rows:440px 440px 400px 440px;gap:20px}
 .v-service{grid-column:1}
 .v-card-number{left:25px;top:24px;font-size:8px;right:70px}
 .v-card-arrow{right:22px;top:20px;width:36px;height:36px;padding:9px}
 .v-service-copy{left:25px;right:25px;bottom:25px}
 .tmi-visual .v-service-copy h3{font-size:clamp(52px,14vw,78px);line-height:.97}
 .v-service-copy>p{font-size:13px;margin-top:19px}
 .v-service-copy>span{font-size:7px;margin-top:19px;padding-top:15px;letter-spacing:.03em}
 .v-orbit-art{width:190px;height:190px;top:28%}
 .v-orbit-art>b{font-size:40px}
 .v-brand-art{height:140px;top:70px;left:25px;right:25px}
 .v-brand-art>span{font-size:155px}
 .v-more-offerings{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;font-size:10px;align-items:start;margin-top:25px}
 .v-more-offerings>span{grid-column:1/-1;font-size:8px;padding-bottom:5px}
 .v-staircase{grid-template-columns:1fr;gap:8px;margin-top:30px}
 .v-staircase>li>button,.v-staircase>li:nth-child(2)>button,.v-staircase>li:nth-child(3)>button,.v-staircase>li:nth-child(4)>button,.v-staircase>li:nth-child(5)>button{min-height:90px;padding:18px 20px;display:grid;grid-template-columns:24px 1fr 20px;gap:7px 12px;align-items:center}
 .v-step-number{grid-column:1;grid-row:1/3;font-size:9px}
 .v-step-name{font-size:23px;line-height:1.1;padding:0;margin:0}
 .v-step-caption{grid-column:2;font-size:11px;line-height:1.4;margin:0;max-width:none}
 .v-step-mark{position:static;grid-column:3;grid-row:1/3;font-size:18px;justify-self:end}
 .v-staircase>li>button:hover{transform:none}
 .v-stage-details{margin-top:20px}
 .v-stage-details>div{grid-template-columns:1fr;gap:15px;padding:25px 0}
 .v-stage-details>div>span{font-size:8px}
 .v-stage-details>div>p{font-size:15px}
 .v-stage-details>div>a{grid-column:1;font-size:11px}
 .v-evolution-note{font-size:9px;line-height:1.9;max-width:300px}
 .tmi-visual .v-contact{grid-template-columns:1fr;padding:55px var(--v-gutter);gap:35px}
 .tmi-visual .v-contact h2{font-size:clamp(49px,12vw,75px);margin-top:25px}
 .tmi-visual .v-contact .home-contact-copy>p:not(.v-kicker){font-size:14px}
 .v-about-line{margin-top:30px;padding-top:22px}
 .tmi-visual .v-form{padding:27px}
 .v-optional summary{font-size:10px}
 .v-optional summary>span{font-size:9px}
 .v-contact-person>span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.v-flow,.v-orbit-dot{animation:none!important}}
.v-step-mark .site-arrow{width:15px;height:15px}
.v-more-offerings .site-arrow{width:12px;height:12px;margin-left:5px}
.v-about-line .site-arrow,.v-education-alt .site-arrow,.v-contact .home-text-link .site-arrow{width:13px;height:13px}
