/* Mobile review: an edited journey with intentional touch controls. */
.mobile-home,.m-dock{display:none}
@media(max-width:760px){
:root{--g:24px}
.home .desktop-home{display:none!important}
.mobile-home{display:block}
.mobile-home [hidden]{display:none!important}
.mobile-home section{scroll-margin-top:88px}
.mobile-home h1{font-size:clamp(37px,10.5vw,64px);line-height:1.04;letter-spacing:-.035em}
.mobile-home h2{font-size:clamp(34px,9.5vw,54px);line-height:1.06;letter-spacing:-.03em}
.mobile-home h3{font-size:28px;line-height:1.12;letter-spacing:-.02em}
.mobile-home p{font-size:20px;line-height:1.4}
.mobile-home p.eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:28px}
.mobile-home em{font-style:normal;color:var(--red)}
.m-intro,.m-stories,.m-insights,.m-more,.m-assessment{padding:48px var(--g)}
.m-intro>p:not(.eyebrow){margin-top:24px;font-size:22px;max-width:33ch}
.m-action{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:64px;margin-top:28px;padding:16px 0;border-block:1px solid var(--line);font-size:20px;line-height:1.15}
.m-action>span,.m-card-link>b{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;background:var(--red);color:var(--ink);font-size:28px;font-weight:400}
.m-ecosystem{background:var(--ink)}
.m-ecosystem-photo{height:280px;position:relative;overflow:hidden;isolation:isolate}
.m-ecosystem-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:63% center;z-index:-2}
.m-ecosystem-photo:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.08))}
.m-ecosystem-photo>div{padding:32px var(--g)}
.m-ecosystem-photo p.eyebrow{margin-bottom:22px;color:#ff7777}
.m-ecosystem-photo h2{font-size:38px;color:var(--paper)}
.m-ecosystem-body{padding:28px var(--g) 36px}
.m-ecosystem-body>p{color:var(--paper);max-width:36ch}
.m-ecosystem-body>p.m-instruction{font-size:14px;margin-top:26px;color:var(--muted)}
.m-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 24px}
.m-tabs button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:68px;border:1px solid #7b7976;background:transparent;color:var(--paper);padding:14px;text-align:left;font-size:19px;line-height:1.1}
.m-tabs button span{font-size:25px;flex-shrink:0;color:var(--red)}
.m-tabs button[aria-selected=true]{background:var(--red);border-color:var(--red);color:var(--ink)}
.m-tabs button[aria-selected=true] span{color:var(--ink)}
.m-tab-panel{min-height:174px;padding:0 0 20px}
.m-tab-panel h3{font-size:28px;max-width:22ch;color:var(--paper)}
.m-tab-panel p{font-size:19px;margin-top:16px;color:var(--muted)}
.m-detail{border-top:1px solid var(--line);margin-top:0}
.m-detail:last-of-type{border-bottom:1px solid var(--line)}
.m-detail summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:76px;padding:16px 0;font-size:21px;line-height:1.15;cursor:pointer}
.m-detail summary::-webkit-details-marker{display:none}
.m-detail summary>span{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;background:var(--red);color:var(--ink);font-size:30px;transition:transform .2s}
.m-detail[open]>summary>span{transform:rotate(45deg)}
.m-detail-content{padding:8px 0 28px}
.m-detail-content>h3{margin-bottom:24px}
.m-detail-content>p+p{margin-top:18px}
.m-detail-content .section-action{display:none}
.m-detail-content .service-grid{grid-template-columns:1fr;border:0}
.m-detail-content .service-grid article{padding:20px 0;min-height:0;border:0;border-top:1px solid var(--line)}
.m-detail-content .service-grid h3{font-size:30px;margin:12px 0}
.m-detail-content .service-grid p:last-child{max-width:none;font-size:19px}
.m-detail-content .service-grid p.eyebrow{margin:0;font-size:12px}
.m-stories h2,.m-insights h2{margin-bottom:30px}
.m-case{display:block;border-top:1px solid var(--line);padding-top:24px}
.m-case-number{font-size:clamp(70px,22vw,105px);line-height:1;letter-spacing:-.045em;color:#d9252d}
.m-case-number small{font-size:.35em;letter-spacing:0;color:var(--ink)}
.m-case>p{font-size:18px;margin-top:12px;max-width:30ch}
.m-case h3{margin-top:24px;font-size:29px;max-width:22ch}
.m-card-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;font-size:19px;min-height:48px}
.m-source{font-size:13px!important;margin:20px 0 24px;line-height:1.5!important}
.m-list-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:21px}
.m-list-link span{color:#c52129;font-size:28px}
.m-insight-card{display:block}
.m-insight-card img{width:100%;aspect-ratio:1.5;object-fit:cover;margin-bottom:24px}
.m-insight-card h3{font-size:30px;max-width:20ch}
.m-insights .m-action{font-size:19px}
.m-insights .m-action>span{background:var(--paper)}
.m-more h2{margin-bottom:32px;max-width:20ch}
.m-detail-content .problem-list{padding:0}
.m-detail-content .problem-list>div{padding:20px 0;gap:12px;grid-template-columns:16px 1fr}
.m-detail-content .problem-list h3{font-size:25px;margin-bottom:12px}
.m-detail-content .problem-list p{font-size:19px;color:var(--muted)}
.m-detail-content .impact-list{padding:0}
.m-detail-content .impact-row{padding:18px 0;display:block}
.m-detail-content .impact-row h3{font-size:24px;margin-bottom:8px}
.m-detail-content .impact-row p{font-size:18px}
.m-detail-content .dimensions-mobile{display:block;margin:24px 0}
.m-detail-content .dimensions-mobile>div{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:16px 0}
.m-detail-content .dimensions-mobile h3{font-size:22px}
.m-detail-content .dimensions-mobile p{font-size:17px;text-align:right}
.m-detail-content .process-grid{display:block}
.m-detail-content .process-step{padding:18px 0}
.m-detail-content .step-number{font-size:32px;margin-bottom:12px;color:#c52129}
.m-detail-content .process-step h3{font-size:28px;margin-bottom:12px}
.m-detail-content .process-step p{font-size:19px;max-width:none;margin-bottom:18px}
.m-detail-content .phase-arrow,.m-detail-content .phase-arrow-down{display:none}
.m-detail-content .people-grid,.m-detail-content .partner-roles{display:block;margin-top:24px}
.m-detail-content .people-grid article,.m-detail-content .partner-roles>div{padding:22px 0;border-top:1px solid var(--line);border-left:0;min-height:0}
.m-detail-content .people-grid h3,.m-detail-content .partner-roles h3{font-size:27px;margin:16px 0}
.m-detail-content .people-grid p,.m-detail-content .partner-roles p{font-size:19px}
.m-detail-content .people-grid p.eyebrow,.m-detail-content .partner-roles p.eyebrow{font-size:12px;margin-bottom:12px}
.m-assessment{background:var(--red);color:var(--ink);--line:rgba(7,9,11,.3);--muted:#333}
.m-assessment p,.m-assessment p.eyebrow{color:var(--ink)}
.m-assessment>p:not(.eyebrow){margin:24px 0}
.m-assessment>.cta{display:flex;margin-bottom:28px}
.m-assessment .m-detail summary>span{background:var(--ink);color:var(--paper)}
.m-assessment .m-detail-content{background:var(--ink);color:var(--paper);padding:24px;margin-inline:calc(var(--g)*-1)}
.m-assessment .m-detail-content p{color:var(--paper)}
.m-assessment .enquiry .fields{display:grid;grid-template-columns:1fr;gap:22px}
.m-assessment .enquiry .field{grid-column:1;min-width:0}
.m-assessment .enquiry .field span{font-size:17px}
.m-assessment .enquiry .form-privacy{margin-top:24px}
.m-assessment .enquiry .privacy-check{font-size:16px}
.m-assessment .enquiry .form-note{font-size:14px;line-height:1.4}
.m-assessment .enquiry .submit-row{display:block}
.m-assessment .enquiry .submit-action{width:100%}
/* Keep touch actions physically larger than desktop's text links. */
.header,.subpage .header{min-height:80px;padding-block:16px;gap:12px}
.header:after{top:0}
.header .brand-label{font-size:10px;max-width:60%;white-space:normal;line-height:1.35;letter-spacing:.06em}
.header .menu{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);min-height:48px;min-width:102px;padding:10px 14px;font-size:17px}
.header .menu:after{content:'+';font-size:28px;line-height:1}
.header.open .menu:after{content:'×'}
.header.open nav{top:100%;gap:0;background:var(--paper);color:var(--ink);padding:12px var(--g) 24px;max-height:calc(100svh - 80px);border-bottom:1px solid var(--ink)}
.header.open nav a{min-height:60px;padding:18px 0;border-top:1px solid rgba(7,9,11,.2);font-size:24px;line-height:1.1}
.header.open nav a:after{content:'↗';position:static;display:inline;float:right;transform:none;background:none;color:#c52129;height:auto;width:auto}
.header.is-scrolled{padding-block:12px;min-height:72px}
.feature-carousel .feature-slide{height:max(650px,100svh);min-height:650px;padding:112px var(--g) 104px;align-content:center}
.feature-carousel .feature-home{padding:0;min-height:650px}
.feature-home .opening-logo{width:calc(100% - 48px);max-width:calc(100% - 48px);left:24px;top:42%}
.feature-home .opening-foot{left:var(--g);right:var(--g);bottom:84px;width:auto}
.feature-home .opening-foot .eyebrow{max-width:22ch;margin-left:auto;font-size:22px;line-height:1.2;letter-spacing:.02em;margin-bottom:24px}
.feature-home .opening-foot>div{display:none}
.feature-home .opening-foot:after{content:'Explore below ↓';display:block;font-size:14px;letter-spacing:.04em;text-align:right}
.feature-controls{bottom:14px}
.feature-carousel .feature-launch{justify-content:center}
.feature-carousel .feature-copy h2{font-size:42px;max-width:12ch}
.feature-carousel .feature-copy>p:not(.eyebrow){font-size:20px;max-width:29ch}
.feature-carousel .feature-image{height:160px}
.feature-carousel .feature-case{gap:24px}
.feature-carousel .feature-stat{font-size:72px}
.feature-carousel .feature-result>p{font-size:17px;max-width:32ch}
.feature-carousel .feature-result .feature-source{font-size:12px;line-height:1.4}
.feature-carousel .feature-copy>.cta,.feature-actions .cta{min-height:56px;width:100%;font-size:18px}
.m-dock{position:fixed;bottom:0;left:0;right:0;z-index:70;display:grid;grid-template-columns:1fr 56px;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--ink)}
.m-dock>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:12px 18px;background:var(--red);color:var(--ink);font-size:19px;line-height:1.1}
.m-dock>a>span{font-size:28px}
.m-dock>a:last-child{justify-content:center;padding:12px;background:var(--ink);color:var(--paper)}
.home footer{padding:40px var(--g) calc(120px + env(safe-area-inset-bottom))}
.home footer .footer-logo{max-width:140px}
.home footer .footer-line{font-size:34px}
.home footer nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.home footer nav a{font-size:16px;padding:12px 0;min-height:44px}
.home footer p{font-size:14px;line-height:1.5}
.home .cookie-banner{bottom:calc(88px + env(safe-area-inset-bottom));padding:20px;max-height:65svh}
.home .cookie-banner h2{font-size:24px;margin-bottom:8px}
.home .cookie-banner p{font-size:14px;line-height:1.4}
.home .cookie-banner .cookie-actions{grid-template-columns:1fr 1fr;gap:8px}
.home .cookie-banner .cookie-actions button{font-size:14px;padding:10px;min-height:48px}
.home .cookie-banner .cookie-actions button:last-child{grid-column:1/-1;background:none;border:0;min-height:44px;text-decoration:underline}
.mobile-home a:focus-visible,.mobile-home button:focus-visible,.mobile-home summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.subpage .cta{min-height:56px;font-size:19px}
.subpage .article-content .text-link{min-height:48px}
}
@media(max-width:360px){:root{--g:20px}.m-tabs button{padding:12px;font-size:17px}.feature-carousel .feature-copy h2{font-size:36px}.feature-carousel .feature-copy>p:not(.eyebrow){font-size:18px}.feature-carousel .feature-stat{font-size:60px}.m-dock>a{font-size:17px}.m-detail summary{font-size:19px}}

/* Keep all carousel controls above the fixed mobile contact bar. */
@media(max-width:760px){
 :root{--m-dock-height:calc(74px + env(safe-area-inset-bottom))}
 .feature-carousel .feature-controls{bottom:calc(var(--m-dock-height) + 12px)}
 .feature-carousel .feature-slide:not(.feature-home){padding-bottom:calc(var(--m-dock-height) + 88px)}
 .feature-home .opening-foot{bottom:calc(var(--m-dock-height) + 82px)}
 .feature-home .opening-foot:after{content:none}
 .m-tab-panel{min-height:124px;padding-top:0}
 .m-tab-panel p{margin-top:0}
 .home .cookie-banner{bottom:calc(var(--m-dock-height) + 12px)}
}

/* Expanded System menu panels retain their desktop section's visual treatment. */
@media(max-width:760px){
 #mobile-more>.m-detail[open]>.m-detail-content{margin-inline:calc(var(--g)*-1);padding:28px var(--g) 36px;background:var(--paper);color:var(--ink);--line:rgba(7,9,11,.23);--muted:#595a57}
 #mobile-more>.m-detail[data-panel-theme=dark][open]>.m-detail-content{background:var(--ink);color:var(--paper);--line:rgba(255,253,250,.24);--muted:#b6b4ae}
 #mobile-more>.m-detail[data-panel-theme=dark][open]>summary{background:var(--ink);color:var(--paper);margin-inline:calc(var(--g)*-1);padding-inline:var(--g);border-bottom:1px solid rgba(255,253,250,.24)}
 #mobile-more>.m-detail[open]>.m-detail-content p{color:var(--muted)}
 #mobile-more .m-dropdown-photo{display:block;max-width:none;width:calc(100% + var(--g) + var(--g));height:260px;margin: -28px calc(var(--g)*-1) 28px;object-fit:cover;object-position:55% 35%}
 #mobile-impact .m-dropdown-arrow{width:100px;margin:24px 0 28px}
 #mobile-impact .m-dropdown-arrow img{width:100%;height:auto}
 #mobile-more #mobile-impact>.m-detail-content{padding-bottom:0}
 #mobile-impact .m-detail-content .impact-list{margin-inline:calc(var(--g)*-1);padding:12px var(--g) 28px;background:var(--ink);color:var(--paper);--line:rgba(255,253,250,.24);--muted:#b6b4ae}
 #mobile-impact .m-detail-content .impact-row p{color:var(--muted)}
 #mobile-more .m-dropdown-diagram{margin:24px -12px 28px;padding:0}
 #mobile-more .m-system-diagram{display:block;width:100%;height:auto}
 #mobile-more .m-system-diagram .hex{fill:var(--ink);stroke:#b6b4ae;stroke-width:1}
 #mobile-more .m-system-diagram .axis{stroke:var(--red)}
 #mobile-more .m-system-diagram .core{fill:url(#mobile-valent-core)}
 #mobile-more .m-system-diagram .core-text{fill:var(--ink);font-size:22px;font-weight:500}
 #mobile-more #mobile-process .phase-arrow-down{display:block;width:48px;height:56px;margin:20px 0 8px}
 #mobile-more #mobile-process .phase-arrow-down img{width:100%;height:100%;object-fit:contain}
 #mobile-more #mobile-process .process-step:last-child .phase-arrow-down{display:none}
 #mobile-more #mobile-partner .partner-roles .eyebrow{color:var(--red)}
}

/* One scalable Valent arrow across reading pages, menus and call-to-action buttons. */
.button-arrow-svg{display:inline-block;width:12px;height:14px;flex:0 0 auto;vertical-align:-1px;fill:currentColor}
.cta .button-arrow-svg{width:13px;height:16px;margin-left:16px}
.text-link>.button-arrow-svg{margin-left:8px}
.mobile-menu-item{display:none!important}
@media(max-width:760px){
 .header nav .desktop-menu-item,footer nav .desktop-menu-item{display:none!important}
 .header nav .mobile-menu-item,footer nav .mobile-menu-item{display:block!important}
 .header.open nav a:after{content:'';display:block;float:right;width:12px;height:15px;background:currentColor;-webkit-mask:url('/button-arrow.svg') center/contain no-repeat;mask:url('/button-arrow.svg') center/contain no-repeat;color:#c52129;margin:3px 0 0 16px;transform:none}
 #mobile-more .m-dropdown-diagram{width:calc((100% + 24px)*1.15);max-width:none;margin-inline:calc(-12px - (100% + 24px)*.075)}
 #mobile-more #mobile-process .step-number{color:var(--ink)}
 .m-insight-card img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
 .m-tabs button .button-arrow-svg{width:11px;height:14px}
 .m-action .button-arrow-svg,.m-card-link .button-arrow-svg{width:13px;height:16px}
 .m-dock>a .button-arrow-svg{width:14px;height:17px}
 .m-list-link .button-arrow-svg{width:12px;height:15px}
}
@media(max-width:760px){#mobile-system>.m-detail-content{overflow:hidden}}

/* Mobile structure follows the latest desktop content, with its own touch layout. */
@media(min-width:761px){.brand-label .brand-name{margin-right:.35em}}
@media(max-width:760px){
 .home .header,.subpage .header,.header.is-scrolled{min-height:98px;padding:14px var(--g);display:block}
 .header .brand-label{display:block;max-width:100%;font-size:20px;line-height:1.05;letter-spacing:.04em;white-space:normal}
 .header .brand-name,.header .brand-descriptor{display:block;white-space:nowrap}
 .header .brand-descriptor{margin-top:18px}
 .header .menu{position:absolute;right:var(--g);top:8px;min-width:88px;min-height:44px;padding:8px 12px;font-size:17px}
 .header.open nav{max-height:calc(100svh - 100px - var(--m-dock-height,74px));padding-bottom:24px}
 html{scroll-padding-top:112px}
 .mobile-home section,.mobile-home details{scroll-margin-top:112px}
 .m-intro h1{line-height:.936}
 .m-ecosystem-body>p+p{margin-top:20px}
 .m-ecosystem-body br{display:none}
 .m-services .m-detail-content .service-grid p.eyebrow{color:var(--red)}
 .m-people,.m-partner{padding:48px var(--g)}
 .m-people>.eyebrow,.m-partner>.eyebrow{margin-bottom:28px}
 .m-people .people-grid{grid-template-columns:1fr;gap:32px;margin-top:32px}
 .m-people .people-grid article{padding-top:24px}
 .m-people .people-grid h3{margin:18px 0;font-size:29px}
 .m-people .people-grid p:not(.eyebrow){font-size:20px}
 .m-partner .section-head{display:block;margin-bottom:32px}
 .m-partner .section-head h2{margin-bottom:24px}
 .m-partner .section-head>p{font-size:20px}
 .m-partner .partner-roles{grid-template-columns:1fr;gap:28px}
 .m-partner .partner-roles h3{font-size:28px;margin:18px 0}
 .feature-carousel{--feature-height:max(650px,100svh)}
 .feature-carousel .feature-slide{height:var(--feature-height);min-height:0}
 .feature-carousel .feature-home{min-height:0}
 .feature-carousel .feature-insight .feature-image{position:absolute;inset:0;width:100%;height:100%}
 .feature-carousel .feature-insight .feature-copy{max-width:100%}
 .feature-carousel .feature-insight .feature-copy h2{max-width:13ch}
 .feature-carousel .feature-case{gap:20px;align-content:center}
 .feature-carousel .feature-case .feature-copy h2{font-size:36px;max-width:15ch}
 .feature-carousel .feature-case .feature-copy>p:not(.eyebrow){font-size:18px;line-height:1.3}
 .feature-carousel .feature-case .feature-stat{font-size:62px}
 .feature-carousel .feature-case .feature-result>p{font-size:17px;line-height:1.25;margin-top:10px}
 .feature-carousel .feature-case .feature-result{padding-top:14px}
 .feature-carousel .feature-case .feature-copy>.cta{min-height:52px;margin-top:20px}
 .feature-carousel .feature-controls{bottom:calc(var(--m-dock-height) + 12px)}
}
@media(max-width:760px) and (max-height:740px){
 .feature-carousel .feature-slide:not(.feature-home){padding-top:104px;padding-bottom:calc(var(--m-dock-height) + 72px)}
 .feature-carousel .feature-case .feature-copy h2{font-size:32px}
 .feature-carousel .feature-case .feature-copy .eyebrow{margin-bottom:12px;font-size:11px}
 .feature-carousel .feature-case .feature-copy>p:not(.eyebrow){font-size:16px;margin-top:14px;line-height:1.25}
 .feature-carousel .feature-case .feature-stat{font-size:52px}
 .feature-carousel .feature-case .feature-result>p{font-size:16px}
 .feature-carousel .feature-case .feature-copy>.cta{min-height:48px;margin-top:16px}
}

/* Compact two-line brand lockup aligned with the Menu button. */
.header.is-scrolled,.header.open{background:var(--red);color:var(--ink);border-bottom-color:rgba(7,9,11,.2)}
@media(max-width:760px){
 .home .header,.subpage .header,.header.is-scrolled{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:75px;padding:14px var(--g);background:var(--red);color:var(--ink)}
 .header .brand-label{font-size:18px;line-height:19px;letter-spacing:.04em;min-width:0}
 .header .brand-descriptor{margin-top:9px}
 .header .menu{position:static;min-height:47px;height:47px;min-width:88px;margin:0}
 .header.open nav{max-height:calc(100svh - 75px - var(--m-dock-height,0px))}
 html{scroll-padding-top:90px}
 .mobile-home section,.mobile-home details{scroll-margin-top:90px}
 .mobile-detail-page h2{font-size:clamp(34px,9.5vw,54px);line-height:1.06;letter-spacing:-.03em}
 .mobile-detail-page .m-people,.mobile-detail-page .m-partner{padding-top:40px}
}
@media(max-width:360px){.header .menu{min-width:74px;padding-inline:9px}.header .brand-label{letter-spacing:.02em}}

/* Count the fixed header once when positioning a section anchor. */
@media(max-width:760px){
 html{scroll-padding-top:var(--m-header-height,75px)}
 .mobile-home section,.mobile-home details{scroll-margin-top:0}
 .mobile-home #panel-geo:empty{display:none;min-height:0;padding:0}
}
