:root {
    --red:#ff2c1d;
    --ink:#0a1720;
    --gray:#dce3e5;
    --white:#fff;
    --page:1170px
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:24px
}

body {
    margin:0;
    color:var(--ink);
    background:#fff;
    font-family:"Century Gothic","Avenir Next",Arial,sans-serif;
    font-size:16px;
    line-height:1.4
}

a {
    color:inherit;
    text-decoration:none
}

a:hover {
    text-decoration:underline;
    text-underline-offset:5px
}

button {
    font:inherit;
    cursor:pointer
}

img {
    display:block;
    max-width:100%;
    height:auto
}

p {
    margin:0 0 1em
}

h1,h2,h3,h4 {
    margin:0;
    font-weight:750;
    line-height:1.08;
    letter-spacing:-.04em
}

h1 {
    font-size:clamp(40px,4.9vw,94px)
}

h2 {
    font-size:clamp(30px,3.1vw,59px)
}

h3 {
    font-size:clamp(20px,1.65vw,30px);
    letter-spacing:-.025em
}

h4 {
    font-size:18px
}

h1 span,.manufacturers h2 span {
    color:var(--red)
}

.wrap {
    width:calc(100% - 16.66%);
    max-width:var(--page);
    margin-inline:auto
}

.section {
    padding-block:90px
}

.centered {
    text-align:center
}

.grid {
    display:grid;
    gap:20px
}

.three {
    grid-template-columns:repeat(3,minmax(0,1fr))
}

.four {
    grid-template-columns:repeat(4,minmax(0,1fr))
}

.eyebrow {
    font-size:14px;
    color:var(--red);
    margin-bottom:10px;
    letter-spacing:0
}

.section-head {
    display:flex;
    justify-content:space-between;
    gap:50px;
    margin-bottom:44px
}

.section-head>p {
    width:31%;
    align-self:center;
    font-size:clamp(16px,1.45vw,26px);
    line-height:1.3
}

.narrow {
    max-width:1060px;
    margin:24px auto 0;
    font-size:clamp(16px,1.3vw,23px);
    line-height:1.4
}

.header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
    min-height:110px
}

.logo {
    width:clamp(150px,13vw,246px);
    height:auto
}

.header nav {
    display:flex;
    align-items:center;
    gap:clamp(17px,2.6vw,50px);
    font-size:14px;
    font-weight:700
}

.language {
    font-weight:400
}

.menu-toggle {
    display:none
}

.hero-copy {
    padding-top:95px;
    display:flex;
    justify-content:space-between;
    gap:50px;
    position:relative;
    z-index:1
}

.hero-copy p {
    width:31%;
    font-size:clamp(17px,1.5vw,28px);
    padding-top:14px;
    line-height:1.25
}

.hero-image {
    margin-top:34px;
    position:relative
}

.hero-image>img {
    width:100%;
    aspect-ratio:1810/540;
    object-fit:cover
}

.hero-image>p {
    margin:0;
    padding:12px 8%;
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    background:#82b6c8a8;
    color:white;
    text-align:center;
    text-transform:uppercase;
    letter-spacing:.42em;
    font-size:clamp(12px,1.4vw,26px);
    display:flex;
    justify-content:space-between;
    gap:14px
}

.hero-image b {
    font-weight:400
}

.side-links {
    position:fixed;
    z-index:5;
    right:0;
    top:165px;
    display:grid;
    gap:20px;
    justify-items:end
}

.side-links a {
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    background:var(--red);
    color:#fff;
    padding:20px 13px;
    border-radius:0 18px 18px 0;
    font-size:20px
}

.side-links a+a {
    background:var(--ink)
}

.pillars {
    gap:18px
}

.pillars article {
    background:var(--gray);
    padding:42px max(30px,5vw) 32px;
    display:flex;
    flex-direction:column
}

.pillars h3 {
    margin-bottom:20px
}

.pillars p:not(.eyebrow) {
    font-size:clamp(16px,1.25vw,23px);
    line-height:1.45
}

.pillars strong {
    font-size:14px;
    margin-top:auto;
    padding-top:22px
}

.dark {
    background:var(--ink);
    color:#fff
}

.manufacturers>.section {
    padding-block:80px 58px
}

.manufacturers h2 {
    font-size:clamp(27px,3vw,54px)
}

.factory-panorama {
    width:100%;
    height:clamp(260px,43vw,780px);
    object-fit:cover;
    object-position:center 52%
}

.journey {
    margin-top:46px;
    gap:40px
}

.journey article {
    background:var(--red);
    padding:28px 15px 22px
}

.journey small {
    font-size:14px
}

.journey h3 {
    margin-bottom:10px
}

.journey p {
    font-size:clamp(15px,1.2vw,22px);
    margin-bottom:0;
    line-height:1.2
}

.destination {
    font-size:clamp(23px,2.6vw,45px);
    line-height:1.1;
    margin:62px auto
}

.photo-services {
    gap:18px
}

.photo-services article {
    background-image:linear-gradient(0deg,#03111ef2,transparent 80%),var(--photo);
    background-size:cover;
    background-position:center;
    min-height:460px;
    display:flex;
    align-items:end;
    padding:22px 18px
}

.photo-services h3 {
    color:#fff;
    margin-bottom:12px
}

.photo-services p {
    font-size:16px;
    line-height:1.3;
    margin:0
}

.how {
    padding-block:42px 55px;
    margin:0;
    font-size:18px
}

.investment {
    background:var(--red);
    color:#fff;
    padding:65px 0
}

.investment-grid {
    display:grid;
    grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));
    gap:25px;
    align-items:start
}

.investment-grid>div {
    align-self:center;
    padding-right:20px
}

.investment h2 {
    font-size:clamp(28px,2.6vw,48px);
    margin-bottom:24px
}

.investment .text-link {
    font-weight:700;
    color:var(--ink);
    font-size:15px
}

.text-link span {
    font-size:32px;
    padding-left:20px
}

.investment article {
    position:relative
}

.investment article img {
    width:100%;
    aspect-ratio:1.2;
    object-fit:cover
}

.investment article h3 {
    font-size:clamp(21px,2.05vw,38px);
    text-transform:uppercase;
    margin-top:-50px;
    min-height:50px;
    position:relative;
    padding:0 5px;
    text-shadow:0 1px 8px #000
}

.investment article p {
    margin:16px 0 0;
    font-size:16px
}

.services {
    gap:42px 40px;
    margin-top:65px
}

.service-icon {
    color:var(--red);
    font-size:29px;
    line-height:1;
    margin-bottom:16px;
    display:block;
    font-weight:300
}

.services h3 {
    font-size:19px;
    margin-bottom:12px;
    letter-spacing:-.02em
}

.services p {
    font-size:clamp(16px,1.3vw,23px);
    max-width:270px;
    margin:0;
    line-height:1.3
}

.improvement {
    padding-top:95px
}

.improvement-cards {
    gap:16px;
    margin-top:40px
}

.improvement-cards article {
    background:var(--gray);
    padding:25px 24px 30px;
    position:relative
}

.line-icon {
    font-size:56px;
    color:var(--red);
    font-weight:200;
    display:block;
    text-align:right;
    line-height:1;
    margin-bottom:32px;
    opacity:.65
}

.improvement-cards h3 {
    font-size:24px
}

.improvement-cards ul {
    padding-left:18px;
    font-size:16px;
    margin-bottom:0
}

.results-heading {
    margin-top:100px
}

.results-heading>p:last-child {
    font-size:20px;
    margin-top:20px
}

.stats {
    margin-top:55px;
    gap:50px
}

.stats p {
    display:flex;
    align-items:baseline;
    gap:10px;
    margin-bottom:6px;
    flex-wrap:wrap
}

.stats strong {
    color:var(--red);
    font-size:clamp(38px,4.7vw,88px);
    line-height:1;
    letter-spacing:-.05em
}

.stats small {
    font-size:18px;
    font-weight:700
}

.stats h3 {
    font-size:21px
}

.stats article>span {
    font-size:14px;
    color:#ba291e
}

.growth {
    background:var(--gray);
    padding-top:75px
}

.growth-intro {
    display:grid;
    grid-template-columns:1fr 1.35fr;
    gap:70px;
    align-items:center;
    padding-bottom:65px
}

.growth-intro>div>p:last-child {
    margin-top:35px;
    font-size:20px
}

.growth-intro article>img {
    width:100%;
    height:330px;
    object-fit:cover
}

.growth-intro article h3 {
    font-size:21px;
    margin-top:15px
}

.growth-intro article h3 span {
    color:var(--red);
    font-size:44px;
    margin-right:16px
}

.growth-intro article>p {
    margin-top:15px;
    font-size:16px
}

.growth-intro h4 {
    margin-top:26px
}

.case-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px 26px;
    list-style:none;
    padding:0;
    font-size:15px
}

.case-list li {
    padding-left:23px;
    position:relative
}

.case-list li:before {
    content:'□';
    position:absolute;
    left:0;
    color:var(--red);
    font-size:20px;
    top:-4px
}

.growth-services {
    gap:14px;
    background:white
}

.growth-services article {
    background:var(--gray);
    min-height:245px;
    position:relative;
    overflow:hidden;
    padding:35px 17%
}

.growth-services h3 {
    font-size:22px;
    position:relative;
    z-index:1
}

.growth-services p {
    font-size:19px;
    max-width:340px;
    position:relative;
    z-index:1;
    margin-top:12px
}

.growth-services article>span {
    color:var(--red);
    opacity:.35;
    font-size:170px;
    line-height:.8;
    position:absolute;
    right:15px;
    bottom:-15px
}

.categories {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:35px 22px
}

.categories img {
    width:100%;
    aspect-ratio:1.55;
    object-fit:cover
}

.categories h3 {
    font-size:clamp(14px,1.1vw,20px);
    margin-top:12px;
    letter-spacing:-.02em
}

.brands {
    padding-top:25px;
    padding-bottom:100px
}

.brands>.centered>p:last-child {
    font-size:22px;
    margin-top:25px
}

.brand-carousel {
    position:relative;
    margin-top:65px
}

.brand-track {
    display:grid;
    grid-template-columns:1fr 1.25fr 1fr;
    gap:22px;
    align-items:center
}

.brand {
    color:white;
    position:relative;
    min-height:640px;
    overflow:hidden;
    text-align:center;
    padding:45px 25px 150px;
    display:flex;
    align-items:center;
    flex-direction:column
}

.brand-logo {
    height:165px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:32px;
    width:100%
}

.brand-logo img {
    max-height:160px;
    max-width:78%;
    width:auto;
    object-fit:contain
}

.brand p {
    font-size:clamp(17px,1.5vw,27px);
    line-height:1.25;
    z-index:1
}

.brand a {
    position:absolute;
    bottom:80px;
    font-size:23px;
    font-weight:700;
    text-decoration:underline;
    z-index:1
}

.trekko {
    background:#000
}

.mac {
    background:#f01220;
    min-height:720px;
    padding-top:55px
}

.above {
    background:#173952
}

.brand-category {
    font-size:clamp(45px,5.8vw,110px);
    font-weight:800;
    line-height:.86;
    text-transform:uppercase;
    position:absolute;
    bottom:0;
    left:0;
    text-align:left;
    color:#ffffff40;
    letter-spacing:-.04em;
    pointer-events:none
}

.above .brand-category {
    color:#5999b2a0
}

.brand-category small {
    display:block;
    font-size:.33em;
    line-height:1.1;
    white-space:nowrap
}

.carousel-arrow {
    position:absolute;
    top:48%;
    transform:translateY(-50%);
    border:0;
    background:transparent;
    color:var(--red);
    font-size:48px;
    padding:5px;
    z-index:2
}

.previous {
    left:-65px
}

.next {
    right:-65px
}

.contact {
    background:url('../images/contact-background.jpg') center 52%/cover;
    color:#fff;
    padding:90px 0
}

.contact>.wrap>p:first-child {
    font-size:22px
}

.contact h2 {
    font-size:clamp(34px,3.8vw,70px)
}

.contact .narrow {
    max-width:1200px
}

.button {
    display:inline-block;
    border-radius:50px;
    background:#fff;
    color:var(--red);
    font-weight:700;
    padding:13px 40px;
    font-size:23px;
    margin-top:32px
}

.button:hover {
    background:#f4f4f4;
    text-decoration:none
}

footer {
    padding-block:65px 24px
}

.footer-grid {
    display:grid;
    grid-template-columns:2.3fr .8fr .8fr 1.2fr;
    gap:35px
}

.footer-grid>div>p {
    margin-top:35px;
    font-size:17px
}

.footer-grid nav,.footer-grid address {
    display:flex;
    flex-direction:column;
    gap:22px;
    font-style:normal;
    font-size:16px
}

.footer-grid address {
    gap:12px
}

.footer-grid address p {
    margin:0
}

.copyright {
    color:#67737a;
    font-size:13px;
    margin-top:60px;
    margin-bottom:0
}

.skip {
    position:absolute;
    left:15px;
    top:-100px;
    z-index:20;
    background:#fff;
    padding:12px;
    color:var(--ink)
}

.skip:focus {
    top:10px
}

:focus-visible {
    outline:3px solid #0077b6;
    outline-offset:5px
}

@media(min-width:1600px) {
    .section {
    padding-block:110px
}

.photo-services article {
    min-height:600px
}

.services {
    gap:60px
}

.growth-intro article>img {
    height:420px
}

.growth-services article {
    min-height:280px
}

.brand {
    min-height:730px
}

.mac {
    min-height:840px
}


}

@media(max-width:1100px) {
    .wrap {
    width:88%
}

.header {
    gap:25px
}

.header nav {
    gap:16px;
    font-size:13px
}

.hero-copy {
    padding-top:65px
}

.hero-copy p {
    width:33%
}

.side-links {
    display:none
}

.pillars article {
    padding:30px 25px
}

.photo-services {
    grid-template-columns:repeat(2,minmax(0,1fr))
}

.photo-services article {
    min-height:420px
}

.investment-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
}

.investment-grid>div {
    grid-column:1/-1
}

.investment-grid>div p {
    display:inline-block;
    margin-right:40px
}

.investment article h3 {
    font-size:25px
}

.services {
    gap:35px 25px
}

.services h3 {
    font-size:17px
}

.improvement-cards h3 {
    font-size:20px
}

.improvement-cards article {
    padding:20px 15px
}

.growth-intro {
    gap:35px
}

.growth-services article {
    padding:28px 25px
}

.brand-track {
    gap:14px
}

.brand {
    min-height:520px;
    padding:25px 20px 100px
}

.mac {
    min-height:580px
}

.brand-logo {
    height:120px
}

.brand-logo img {
    max-height:120px
}

.brand a {
    font-size:18px;
    bottom:60px
}

.previous {
    left:-45px
}

.next {
    right:-45px
}

.carousel-arrow {
    font-size:34px
}

.section {
    padding-block:65px
}

.footer-grid {
    grid-template-columns:1.6fr .7fr .7fr 1.2fr;
    gap:20px
}


}

@media(max-width:760px) {
    .wrap {
    width:88%
}

.header {
    min-height:85px;
    position:relative;
    flex-wrap:wrap;
    gap:0
}

.logo {
    width:155px
}

.menu-toggle {
    display:flex;
    gap:15px;
    align-items:center;
    border:1px solid #cdd4d7;
    background:#fff;
    border-radius:5px;
    padding:8px 12px;
    font-size:15px
}

.header nav {
    display:none;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:0;
    padding:10px 0 20px
}

.header nav.open {
    display:flex
}

.header nav a,.header nav .language {
    padding:12px 0;
    font-size:16px;
    border-bottom:1px solid #e5e8ea
}

.hero-copy {
    padding-top:35px;
    display:block
}

.hero h1 {
    font-size:clamp(36px,7.8vw,58px);
    letter-spacing:-.05em
}

.hero-copy p {
    width:100%;
    font-size:18px;
    max-width:390px;
    margin-top:25px;
    padding:0
}

.hero-image {
    margin-top:24px
}

.hero-image>img {
    height:230px;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center
}

.hero-image>p {
    font-size:10px;
    letter-spacing:.16em;
    gap:8px;
    padding:10px 5%;
    flex-wrap:wrap;
    justify-content:center
}

.section {
    padding-block:55px
}

.section-head {
    display:block;
    margin-bottom:30px
}

.section-head>p {
    width:100%;
    max-width:520px;
    font-size:18px;
    margin-top:25px;
    margin-bottom:0
}

h2 {
    font-size:32px
}

h3 {
    font-size:23px
}

.three {
    grid-template-columns:1fr
}

.four {
    grid-template-columns:repeat(2,minmax(0,1fr))
}

.pillars {
    gap:8px
}

.pillars article {
    padding:30px 6%
}

.pillars p:not(.eyebrow) {
    font-size:17px
}

.pillars strong {
    padding-top:10px
}

.manufacturers>.section {
    padding:55px 0 40px
}

.manufacturers h2 {
    font-size:28px
}

.factory-panorama {
    height:290px
}

.journey {
    gap:12px;
    margin-top:28px
}

.journey article {
    padding:24px 15px
}

.journey h3 {
    font-size:24px
}

.journey p {
    font-size:17px
}

.destination {
    margin:40px 0;
    font-size:26px
}

.photo-services {
    gap:12px
}

.photo-services article {
    min-height:370px;
    padding:20px 15px;
    background-position:45% center
}

.photo-services h3 {
    font-size:23px
}

.photo-services p {
    font-size:15px
}

.how {
    font-size:16px;
    padding:30px 0 40px
}

.investment {
    padding:45px 0
}

.investment-grid {
    grid-template-columns:1fr;
    gap:30px
}

.investment-grid>div {
    grid-column:auto
}

.investment-grid>div p {
    display:block
}

.investment h2 {
    font-size:34px
}

.investment article img {
    aspect-ratio:1.7
}

.investment article h3 {
    font-size:31px
}

.investment article p {
    font-size:17px
}

.services {
    gap:35px 24px;
    margin-top:40px
}

.services h3 {
    font-size:18px
}

.services p {
    font-size:16px
}

.improvement {
    padding-top:60px
}

.improvement-cards {
    gap:12px
}

.improvement-cards h3 {
    font-size:20px
}

.improvement-cards ul {
    font-size:15px
}

.line-icon {
    margin-bottom:20px
}

.results-heading {
    margin-top:60px
}

.results-heading>p:last-child {
    font-size:17px
}

.stats {
    gap:28px;
    margin-top:35px;
    text-align:center
}

.stats p {
    justify-content:center
}

.stats strong {
    font-size:55px
}

.stats h3 {
    font-size:21px
}

.growth {
    padding-top:45px
}

.growth-intro {
    grid-template-columns:1fr;
    gap:25px;
    padding-bottom:30px
}

.growth-intro>div>p:last-child {
    font-size:18px;
    margin-top:24px
}

.growth-intro article>img {
    height:250px
}

.growth-intro article h3 {
    font-size:20px
}

.growth-intro article h3 span {
    display:block;
    font-size:35px;
    margin-bottom:10px
}

.case-list {
    grid-template-columns:1fr;
    gap:15px;
    font-size:16px
}

.growth-services {
    gap:8px
}

.growth-services article {
    min-height:175px;
    padding:28px 6%
}

.growth-services p {
    font-size:17px;
    max-width:75%
}

.categories {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 15px
}

.categories h3 {
    font-size:16px
}

.categories img {
    aspect-ratio:1.35
}

.brands>.centered>p:last-child {
    font-size:18px
}

.brand-carousel {
    margin-top:35px
}

.brand-track {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:16px;
    scrollbar-width:thin;
    padding-bottom:16px
}

.brand {
    flex:0 0 88%;
    min-height:535px;
    scroll-snap-align:center;
    padding:35px 30px 140px
}

.brand p {
    font-size:22px
}

.mac {
    min-height:535px
}

.brand-logo {
    height:140px
}

.brand-logo img {
    max-height:140px
}

.brand-category {
    font-size:77px
}

.brand a {
    font-size:22px
}

.carousel-arrow {
    top:auto;
    bottom:-40px;
    transform:none
}

.previous {
    left:20%
}

.next {
    right:20%
}

.brands.section {
    padding-bottom:100px
}

.contact {
    padding:60px 0
}

.contact h2 {
    font-size:34px
}

.contact>.wrap>p:first-child {
    font-size:18px
}

.button {
    font-size:20px;
    padding:12px 32px
}

.footer-grid {
    grid-template-columns:1fr 1fr;
    gap:35px
}

.footer-grid>div {
    grid-column:1/-1
}

.footer-grid>div>p {
    margin-top:25px
}

.footer-grid address {
    grid-column:1/-1
}

.copyright {
    margin-top:35px;
    font-size:12px
}

.desktop {
    display:none
}


}

@media(max-width:390px) {
    .photo-services {
    grid-template-columns:1fr
}

.photo-services article {
    min-height:400px
}

.improvement-cards {
    grid-template-columns:1fr
}

.hero-image>p {
    letter-spacing:.08em
}

.hero h1 {
    font-size:35px
}

.brand {
    flex-basis:94%
}

.brand p {
    font-size:20px
}


}

@media(prefers-reduced-motion:reduce) {
    html {
    scroll-behavior:auto
}

.brand-track {
    scroll-behavior:auto
}


}

@media print {
    .side-links,.menu-toggle,.carousel-arrow {
    display:none
}

.header nav {
    display:flex
}

.section {
    padding-block:30px
}

.brand-track {
    overflow:visible
}

.brand {
    min-height:400px
}

body {
    print-color-adjust:exact;
    -webkit-print-color-adjust:exact
}

a[href^='mailto'] {
    text-decoration:underline
}


}

/* One-time scroll reveals;
     content stays visible when JavaScript is unavailable. */
@keyframes scroll-reveal {
    from {
    opacity: 0;
     transform: translateY(24px);
    
}

to {
    opacity: 1;
     transform: translateY(0);
    
}


}

@media (prefers-reduced-motion: no-preference) {
    .scroll-reveal {
    animation: scroll-reveal 800ms cubic-bezier(.22, 1, .36, 1) both;
    
    animation-delay: var(--reveal-delay, 0ms);
    
}

.scroll-reveal:focus-within {
    animation: none;
    
}


}

@media print {
    .scroll-reveal {
    animation: none !important;
    
}


}

/* Supplied vector artwork: fixed visual slots keep headings aligned. */
img.service-icon {
    width: 34px;
    
  height: 34px;
    
  object-fit: contain;
    
  object-position: left center;
    
  margin-bottom: 16px;
    
}

img.line-icon {
    width: 72px;
    
  height: 64px;
    
  object-fit: contain;
    
  object-position: right center;
    
  margin: 0 0 32px auto;
    
  opacity: 1;
    
}

.growth-services article {
    padding-bottom: 115px;
    
}

.growth-services .growth-icon {
    position: absolute;
    
  right: 0;
    
  bottom: 0;
    
  width: 65%;
    
  height: 110px;
    
  object-fit: contain;
    
  object-position: right bottom;
    
  pointer-events: none;
    
}

.case-list li {
    padding-left: 34px;
    
}

.case-list li::before {
    content: none;
    
}

.case-list .case-icon {
    position: absolute;
    
  top: 0;
    
  left: 0;
    
  width: 24px;
    
  height: 25px;
    
  object-fit: contain;
    
}

@media (max-width:760px) {
    img.line-icon {
    width: 62px;
     height: 56px;
     margin-bottom: 20px;
    
}

.growth-services article {
    padding-bottom: 100px;
    
}

.growth-services .growth-icon {
    width: 55%;
     height: 95px;
    
}


}

/* Background video slot: the original image sets the banner height and fallback. */
.hero-video {
    position:absolute;
     inset:0;
     width:100%;
     height:100%;
     object-fit:cover;
     opacity:0;
     pointer-events:none;
    
}

.hero-video.is-playing {
    opacity:1;
    
}

.hero-image > p {
    z-index:1;
    
}

@media (prefers-reduced-motion:reduce) {
    .hero-video {
    display:none;
    
}


}

@media print {
    .hero-video {
    display:none;
    
}


}

/* Show supplied category artwork in full at its original proportions. */
.categories img {
    height:auto;
    aspect-ratio:auto;
    object-fit:contain
}

/* Keep the operation headline compact with its intended two-line break. */
html:lang(en) #operation .section-head h2 {
    font-size:clamp(24px,2.25vw,36px);
    line-height:1.15
}

@media(max-width:760px) {
    html:lang(en) #operation .section-head h2 {
    font-size:clamp(17px,4.1vw,30px)
}


}

/* Three balanced lines for the manufacturer introduction. */
html:lang(en) .manufacturers h2 {
    font-size:clamp(18px,2.4vw,36px);
    line-height:1.2
}

@media(max-width:760px) {
    html:lang(en) .manufacturers h2 {
    font-size:24px
}


}

.stats strong {
    font-variant-numeric:tabular-nums
}

.count-visual {
    display:inline-block
}

.count-accessible {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
    border:0
}

/* Equal image frames and contained titles for investment cards. */
.investment-grid > article {
    min-width:0
}

.investment-media {
    position:relative;
    aspect-ratio:1.2;
    overflow:hidden;
    isolation:isolate
}

.investment .investment-media img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover
}

.investment-media::after {
    content:"";
    position:absolute;
    inset:35% 0 0;
    background:linear-gradient(transparent,rgba(0,0,0,.6));
    pointer-events:none
}

.investment .investment-media h3 {
    position:absolute;
    z-index:1;
    inset:auto 12px 14px;
    margin:0;
    min-height:0;
    padding:0;
    font-size:clamp(18px,1.65vw,26px);
    line-height:1.12;
    overflow-wrap:break-word;
    text-shadow:0 1px 4px #0008
}

@media(max-width:760px) {
    .investment-media {
    aspect-ratio:1.7
}

.investment .investment-media h3 {
    font-size:clamp(20px,5.5vw,28px)
}


}


/* Center primary navigation independently of the logo and language switch. */
@media screen and (min-width: 761px) {
    .header { position: relative; }
    .header nav {
        position: absolute;
        inset: 0;
        justify-content: center;
        pointer-events: none;
    }
    .header nav a { pointer-events: auto; }
    .header nav .language {
        position: absolute;
        right: 0;
    }
}

/* Header contact call to action. */
.header nav .nav-cta {
    background: var(--red);
    color: #fff;
    border-radius: 6px;
    padding: 10px 18px;
    white-space: nowrap;
    text-decoration: none;
}
.header nav .nav-cta:hover { background: #d92316; }
.header nav .nav-cta:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
@media screen and (min-width: 1051px) {
    .header nav .nav-cta { position: absolute; right: 80px; }
}
@media screen and (min-width: 761px) and (max-width: 1050px) {
    .header { gap: 20px; }
    .header nav { position: static; flex: 1; justify-content: flex-end; gap: 16px; }
    .header nav .language { position: static; }
    .header nav .nav-cta { padding: 9px 12px; }
}
@media (max-width: 760px) {
    .header nav .nav-cta { align-self: flex-start; margin: 10px 0; border: 0; }
}

/* The second growth case follows Case 01 in the same content column. */
.growth-intro .growth-case-two {
    grid-column: 2;
    border-top: 1px solid #a9b5bb;
    padding-top: 30px;
}
@media (max-width:760px) {
    .growth-intro .growth-case-two { grid-column: 1; }
}
