:root {
    --ink: #0b0c0e;
    --paper: #f4f3ef;
    --line: #cbc9c2;
    --aqua: #8fd9d6;
    --silver: #d9dde1;
    --max: 1240px
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Arial,Helvetica,sans-serif;
    font-size: 16px;
    line-height: 1.55
}

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

.site-header {
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 max(28px,calc((100vw - var(--max))/2));
    background: #fff;
    position: relative;
    z-index: 20;
    border-bottom: 1px solid #e9e8e4
}

.brand {
    display: flex;
    gap: 10px;
    align-items: center;
    font-weight: 800;
    line-height: .85;
    letter-spacing: .02em
}

.brand small {
    display: block;
    font-size: 8px;
    letter-spacing: .24em;
    margin-top: 7px
}

.brand-mark {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg,#111 45%,#76d6dc 46%,#eecb8b 60%,#111 61%);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 17px
}

.site-header nav {
    display: flex;
    align-items: center;
    gap: 30px;
    font-size: 13px;
    font-weight: 700
}

.nav-cta {
    background: var(--ink);
    color: #fff;
    padding: 14px 19px
}

.menu-toggle {
    display: none
}

.hero {
    height: min(780px,calc(100vh - 78px));
    min-height: 620px;
    position: relative;
    display: flex;
    align-items: center;
    color: #fff;
    overflow: hidden
}

.hero>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,rgba(5,7,10,.88),rgba(5,7,10,.48) 45%,rgba(5,7,10,.04) 75%)
}

.hero-content {
    position: relative;
    width: var(--max);
    max-width: calc(100% - 56px);
    margin: auto;
    padding-bottom: 30px
}

.eyebrow,.kicker {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .2em
}

.hero h1 {
    font-size: clamp(50px,6.3vw,92px);
    line-height: .96;
    letter-spacing: -.055em;
    max-width: 820px;
    margin: 28px 0
}

.hero p:not(.eyebrow) {
    font-size: 18px;
    max-width: 590px;
    color: #d8dadd
}

.actions {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 38px
}

.btn {
    display: inline-block;
    padding: 16px 22px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em
}

.btn.light {
    background: #fff;
    color: #08090b
}

.btn.dark {
    background: #111;
    color: #fff
}

.text-link {
    font-size: 13px;
    font-weight: 800;
    border-bottom: 1px solid currentColor;
    padding-bottom: 6px
}

.scroll {
    position: absolute;
    right: max(28px,calc((100vw - var(--max))/2));
    bottom: 30px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .15em
}

.scroll span {
    margin-left: 14px
}

.section {
    padding: 120px max(28px,calc((100vw - var(--max))/2))
}

.section-head {
    display: grid;
    grid-template-columns: 1fr 2fr 1.3fr;
    gap: 50px;
    align-items: start;
    margin-bottom: 70px
}

.section-head h2,.materials-title h2,.why-title h2,.sustain h2,.contact h2 {
    font-size: clamp(38px,4.5vw,66px);
    line-height: 1.02;
    letter-spacing: -.045em;
    margin: 0
}

.section-head>p:last-child {
    color: #666;
    margin: 8px 0
}

.solution-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: #aaa
}

.solution-card {
    min-height: 620px;
    padding: 40px;
    position: relative;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    background: #17191c
}

.solution-card:after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .55
}

.tobacco:after {
    background: radial-gradient(circle at 80% 20%,#99856b,transparent 35%),linear-gradient(140deg,transparent 50%,#32373d)
}

.optical:after {
    background: radial-gradient(circle at 70% 18%,#80d9dc,transparent 28%),radial-gradient(circle at 90% 50%,#e8a8d3,transparent 32%),linear-gradient(140deg,#15161a 45%,#3b4a57)
}

.card-no,.card-copy {
    position: relative;
    z-index: 1
}

.card-no {
    font-size: 13px
}

.card-copy {
    max-width: 480px
}

.tag {
    font-size: 11px;
    letter-spacing: .18em
}

.card-copy h3 {
    font-size: 42px;
    line-height: 1.03;
    margin: 14px 0 22px
}

.card-copy>p {
    color: #d4d6d7
}

.card-copy ul {
    columns: 2;
    padding: 0;
    list-style: none;
    font-size: 13px;
    margin: 28px 0
}

.card-copy li {
    margin: 8px 0
}

.card-copy li:before {
    content: "+";
    margin-right: 8px;
    color: var(--aqua)
}

.card-copy a {
    font-weight: 800;
    font-size: 13px
}

.markets {
    background: #0d0f12;
    color: #fff
}

.inverse>p:last-child {
    color: #aeb1b4
}

.market-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #3e4144;
    border-bottom: 1px solid #3e4144
}

.market-grid article {
    padding: 30px;
    border-right: 1px solid #3e4144;
    min-height: 340px;
    display: flex;
    flex-direction: column
}

.market-grid article:last-child {
    border: 0
}

.market-grid span {
    font-size: 12px;
    color: #858b91
}

.market-grid h3 {
    font-size: 28px;
    line-height: 1.1;
    margin: 55px 0 20px
}

.market-grid p {
    font-size: 14px;
    color: #aeb1b4
}

.market-grid a {
    font-size: 12px;
    font-weight: 800;
    margin-top: auto
}

.materials {
    display: grid;
    grid-template-columns: .9fr 1.4fr;
    gap: 100px
}

.materials-title {
    position: sticky;
    top: 40px;
    height: max-content
}

.materials-title h2 {
    margin-top: 20px
}

.material-list {
    border-top: 1px solid #999
}

.material-list details {
    border-bottom: 1px solid #aaa;
    padding: 0
}

.material-list summary {
    cursor: pointer;
    list-style: none;
    padding: 27px 0;
    display: flex;
    justify-content: space-between;
    font-size: 27px;
    font-weight: 700
}

.material-list summary::-webkit-details-marker {
    display: none
}

.material-list summary b {
    font-size: 11px;
    color: #888
}

.material-list details div {
    padding: 0 80px 32px 0
}

.material-list details p {
    color: #606265;
    max-width: 620px
}

.material-list details a {
    font-size: 13px;
    font-weight: 800
}

.process {
    background: #e5e4df
}

.steps {
    padding: 0;
    margin: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #aaa
}

.steps li {
    padding: 30px 28px 50px 28px;
    border-right: 1px solid #aaa
}
.steps li:first-child {
    border-left: 1px solid #aaa
}
.steps li+li {
    padding-left: 28px
}

.steps b {
    font-size: 12px;
    color: #777
}

.steps h3 {
    font-size: 22px;
    margin: 45px 0 12px
}

.steps p {
    font-size: 14px;
    color: #666
}

.sustain {
    min-height: 630px;
    background: linear-gradient(100deg,rgba(242,243,242,.98) 0 45%,rgba(242,243,242,.28) 70%),repeating-linear-gradient(105deg,#dfe6e8 0 2px,#b5c0c3 2px 5px,#f7ffff 5px 11px);
    display: flex;
    align-items: center;
    padding: 100px max(28px,calc((100vw - var(--max))/2))
}

.sustain>div {
    max-width: 650px
}

.sustain h2 {
    margin: 20px 0
}

.sustain p {
    max-width: 560px;
    color: #555;
    margin-bottom: 32px
}

.why {
    background: #fff
}

.why {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 90px
}

.why-title .kicker {
    margin-top: 0
}

.why-title h2 {
    margin-top: 20px
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    align-items: center
}

.why-grid b {
    font-size: 52px
}

.why-grid p {
    font-size: 12px;
    color: #666;
    max-width: 120px
}

.note {
    grid-column: 2;
    font-size: 11px;
    color: #888
}

.contact {
    background: linear-gradient(135deg,#29323a,#111 60%);
    color: #fff;
    text-align: center
}

.contact h2 {
    max-width: 850px;
    margin: 20px auto
}

.contact>p:not(.kicker) {
    color: #c8cccf;
    max-width: 650px;
    margin: 25px auto 38px
}

.contact .text-link {
    margin-left: 24px
}

footer {
    background: #08090b;
    color: #fff;
    padding: 60px max(28px,calc((100vw - var(--max))/2));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 35px;
    align-items: start
}

footer p {
    color: #92969a;
    margin: 0
}

footer div {
    display: flex;
    justify-content: flex-end;
    gap: 25px;
    font-size: 12px
}

footer>small {
    grid-column: 1/-1;
    border-top: 1px solid #333;
    padding-top: 25px;
    color: #777
}

.solution-card,.market-grid article {
    transition: transform .3s,filter .3s
}

.solution-card:hover,.market-grid article:hover {
    filter: brightness(1.15)
}

@media(max-width: 900px) {
    .site-header nav {
        display:none;
        position: absolute;
        top: 78px;
        left: 0;
        right: 0;
        background: #fff;
        padding: 25px;
        flex-direction: column;
        align-items: flex-start
    }

    .site-header nav.open {
        display: flex
    }

    .menu-toggle {
        display: block;
        border: 0;
        background: none;
        font-weight: 800
    }

    .hero {
        min-height: 650px
    }

    .hero-content {
        max-width: calc(100% - 40px)
    }

    .hero>img {
        object-position: 62% center
    }

    .section {
        padding: 80px 24px
    }

    .section-head {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .solution-grid,.materials,.why {
        grid-template-columns: 1fr
    }

    .solution-card {
        min-height: 560px
    }

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

    .market-grid article:nth-child(2) {
        border-right: 0
    }

    .market-grid article:nth-child(-n+2) {
        border-bottom: 1px solid #3e4144
    }

    .materials {
        gap: 50px
    }

    .materials-title {
        position: static
    }

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

    .steps li {
        border-bottom: 1px solid #aaa
    }

    .why-grid {
        margin-top: 20px
    }

    .note {
        grid-column: 1
    }

    .market-grid article {
        min-height: 280px
    }

    footer {
        grid-template-columns: 1fr
    }

    footer div {
        justify-content: flex-start;
        flex-wrap: wrap
    }

    footer>small {
        grid-column: 1
    }
}

@media(max-width: 560px) {
    .hero h1 {
        font-size:49px
    }

    .hero-content>p:not(.eyebrow) {
        font-size: 16px
    }

    .actions {
        align-items: flex-start;
        flex-direction: column
    }

    .scroll {
        display: none
    }

    .card-copy h3 {
        font-size: 34px
    }

    .card-copy ul {
        columns: 1
    }

    .market-grid,.steps,.why-grid {
        grid-template-columns: 1fr
    }

    .market-grid article {
        border-right: 0;
        border-bottom: 1px solid #3e4144
    }

    .steps li,.steps li+li {
        padding: 30px 0
    }

    .material-list summary {
        font-size: 21px
    }

    .contact .text-link {
        display: block;
        width: max-content;
        margin: 28px auto 0
    }
}

/* Revised material portfolio hierarchy */
.materials {
    display: block;
    background: #f5f4f0
}

.materials-heading {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 90px;
    align-items: end;
    margin-bottom: 44px
}

.materials-heading h2 {
    font-size: clamp(38px,4.5vw,66px);
    line-height: 1.02;
    letter-spacing: -.045em;
    max-width: 820px;
    margin: 18px 0 0
}

.materials-heading>p {
    color: #666;
    margin: 0 0 6px
}

.material-index {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    opacity: .65
}

.material-feature {
    min-height: 430px;
    padding: 52px;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 70px;
    position: relative;
    color: #fff;
    overflow: hidden
}

.tobacco-feature {
    background: linear-gradient(115deg,#141618 0 56%,#293038 100%)
}

.tobacco-feature:after {
    content: "";
    position: absolute;
    width: 390px;
    height: 390px;
    border: 1px solid rgba(143,217,214,.25);
    transform: rotate(45deg);
    right: -110px;
    top: 10px;
    box-shadow: 0 0 80px rgba(143,217,214,.12)
}

.material-feature>div,.material-feature>ul,.material-feature>a {
    position: relative;
    z-index: 1
}

.material-feature h3 {
    font-size: clamp(38px,4.2vw,62px);
    line-height: 1;
    letter-spacing: -.04em;
    margin: 72px 0 20px
}

.material-feature p {
    color: #bfc3c6;
    max-width: 620px
}

.material-feature ul {
    list-style: none;
    padding: 58px 0 0;
    margin: 0;
    border-top: 1px solid #43474b;
    columns: 2;
    font-size: 14px
}

.material-feature li {
    margin: 0 0 18px
}

.material-feature li:before {
    content: "+";
    color: var(--aqua);
    margin-right: 9px
}

.material-feature>a {
    position: absolute;
    right: 52px;
    bottom: 45px;
    font-size: 13px;
    font-weight: 800
}

.family-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 55px 0 18px
}

.family-label span {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em
}

.family-label p {
    font-size: 13px;
    color: #777
}

.optical-material-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1px;
    background: #aaa
}

.material-card {
    min-height: 480px;
    padding: 34px;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden
}

.material-card:before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    right: -100px;
    top: -90px;
    filter: blur(2px);
    opacity: .8
}

.foil-card:before {
    background: conic-gradient(from 20deg,#d9dbe0,#9edbda,#f2d6ae,#b6a7e8,#d9dbe0)
}

.film-card:before {
    background: linear-gradient(135deg,#b7e4e7,#e9bcd8 40%,#f6dc9d 65%,#b8c8ff)
}

.board-card:before {
    background: repeating-linear-gradient(115deg,#e6e8eb 0 5px,#a9b7c0 5px 9px,#f9ffff 9px 16px)
}

.material-card>span,.material-card>div {
    position: relative;
    z-index: 1
}

.card-category {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
    color: #777
}

.material-card h3 {
    font-size: 40px;
    line-height: 1.03;
    letter-spacing: -.035em;
    margin: 14px 0 20px
}

.material-card div>p:not(.card-category) {
    font-size: 14px;
    color: #666;
    max-width: 300px
}

.material-card a {
    display: inline-block;
    margin-top: 26px;
    font-size: 13px;
    font-weight: 800
}

.specialty-strip {
    margin-top: 22px;
    border: 1px solid #b8b6b0;
    padding: 28px 30px;
    display: grid;
    grid-template-columns: 1fr 1.5fr auto;
    gap: 35px;
    align-items: center;
    background: #ebeae6
}

.specialty-strip h3 {
    font-size: 23px;
    margin: 5px 0 0
}

.specialty-strip p {
    font-size: 13px;
    color: #666;
    margin: 0
}

.specialty-strip a {
    font-size: 13px;
    font-weight: 800
}

@media(max-width: 900px) {
    .materials-heading {
        grid-template-columns:1fr;
        gap: 20px
    }

    .material-feature {
        grid-template-columns: 1fr;
        gap: 25px
    }

    .material-feature ul {
        padding-top: 25px
    }

    .material-feature>a {
        position: static
    }

    .optical-material-grid {
        grid-template-columns: 1fr
    }

    .material-card {
        min-height: 390px
    }

    .specialty-strip {
        grid-template-columns: 1fr
    }
}

.hero h1 {
    font-size: clamp(48px,5.6vw,82px);
    line-height: .98;
    max-width: 900px
}

/* Core solution photography */
.solution-card {
    background-color: #17191c;
    background-size: cover;
    background-position: center
}

.solution-card:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,rgba(7,9,12,.04) 0%,rgba(7,9,12,.16) 34%,rgba(7,9,12,.90) 73%,rgba(7,9,12,.99) 100%);
    z-index: 0
}

.solution-card:after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 1;
    background: none;
    border: 1px solid rgba(255,255,255,.14);
    z-index: 0
}

.solution-card.tobacco {
    background-image: url('tobacco-solution-card.png');
    background-position: 52% center
}

.solution-card.optical {
    background-image: url('optical-solution-card.png');
    background-position: 50% center
}

.solution-card:hover {
    filter: brightness(1.06)
}

.solution-card a,.material-card a,.specialty-strip a,.market-grid a {
    transition: color .2s,transform .2s
}

.solution-card a:hover,.material-card a:hover,.specialty-strip a:hover,.market-grid a:hover {
    color: var(--aqua)
}

/* Overlapping, typography-led core solutions */
.intro {
    position: relative;
    z-index: 5;
    margin-top: -112px;
    padding-top: 0
}

.intro .section-head {
    display: none
}

.solution-grid {
    gap: 24px;
    background: transparent;
    /*box-shadow: 0 30px 70px rgba(9,12,15,.13)*/
}

.solution-card {
    min-height: 500px;
    padding: 42px 44px;
    background-image: none!important;
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: none
}

.solution-card:before {
    background: none
}

.solution-card:after {
    opacity: 1;
    border: 0;
    background: linear-gradient(135deg,transparent 0 64%,rgba(143,217,214,.10) 64.2%,transparent 64.5%),radial-gradient(circle at 88% 8%,rgba(143,217,214,.16),transparent 26%)
}

.solution-card.tobacco {
    background: #111417;
    color: #fff;
    box-shadow: 0 30px 70px rgba(9,12,15,.13)
}

.solution-card.optical {
    background: #f4f3ef;
    color: #101214;
    border-color: #d7d4cc
}

.solution-card.optical:after {
    background: radial-gradient(circle at 88% 8%,rgba(185,171,231,.34),rgba(151,219,216,.20) 28%,rgba(245,213,166,.18) 47%,transparent 48%),linear-gradient(135deg,transparent 0 72%,rgba(17,20,23,.08) 72.2%,transparent 72.5%)
}

.solution-card .card-copy {
    max-width: 510px
}

.solution-card .tag {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em
}

.solution-card .card-copy h3 {
    font-size: clamp(38px,4vw,56px);
    line-height: .98;
    letter-spacing: -.045em;
    max-width: 470px;
    margin: 16px 0 24px
}

.solution-card .card-copy>p {
    font-size: 16px;
    line-height: 1.55;
    max-width: 480px
}

.solution-card.optical .card-copy>p {
    color: #565a5d
}

.solution-card .card-copy ul {
    columns: 2;
    column-gap: 26px;
    font-size: 14px;
    margin: 30px 0 34px
}

.solution-card.optical .card-copy li:before {
    color: #267e80
}

.solution-card .card-copy a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid currentColor;
    padding-bottom: 7px
}

.solution-card.optical .card-no {
    color: #5e6366
}

.solution-card:hover {
    filter: none;
    transform: translateY(-4px)
}

.material-platform-list {
    border-top: 1px solid #aeb3b8
}

.material-platform-row {
    display: grid;
    grid-template-columns: 48px minmax(300px,1.25fr) minmax(260px,.9fr) auto;
    gap: 30px;
    align-items: center;
    min-height: 158px;
    padding: 25px 0;
    border-bottom: 1px solid #aeb3b8;
    position: relative;
    text-decoration: none;
    transition: .5s;
}
.material-platform-row:hover {
    padding-left: 20px;
    padding-right: 20px;
}

.material-platform-row:after {
    /*content: "";*/
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .25s;
    background: linear-gradient(90deg,rgba(19,35,58,.045),transparent 72%);
    pointer-events: none
}

.material-platform-row:hover:after,.material-platform-row:focus-visible:after {
    opacity: 1
}

.material-platform-row:focus-visible {
    outline: 2px solid #267e80;
    outline-offset: 3px
}

.platform-number {
    align-self: start;
    padding-top: 7px;
    color: var(--brand-gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em
}

.material-platform-row h3 {
    margin: 0 0 9px;
    color: var(--brand-navy);
    font-size: clamp(27px,2.7vw,39px);
    line-height: 1;
    letter-spacing: -.035em
}

.material-platform-row div>p,.platform-range {
    margin: 0;
    color: #626d79;
    line-height: 1.5
}

.material-platform-row div>p {
    max-width: 540px
}

.platform-range {
    font-size: 14px;
    font-weight: 700
}

.platform-action {
    position: relative;
    z-index: 1;
    white-space: nowrap;
    color: #111;
    font-size: 13px;
    font-weight: 800;
    border-bottom: 1px solid currentColor;
    padding-bottom: 6px
}

.platform-action i {
    font-style: normal;
    transition: transform .2s;
    display: inline-block
}

.material-platform-row:hover .platform-action,.material-platform-row:focus-visible .platform-action {
    color: #267e80
}

.material-platform-row:hover .platform-action i,.material-platform-row:focus-visible .platform-action i {
    transform: translateX(4px)
}

.optical-platform {
    background: linear-gradient(90deg,transparent 0 74%,rgba(143,217,214,.12) 100%)
}

@media(max-width: 900px) {
    .intro {
        margin-top:-68px;
        padding-top: 0
    }

    .solution-grid {
        gap: 1px
    }

    .solution-card {
        min-height: 500px
    }

    .solution-card.optical {
        border-top: 0
    }
}

@media(max-width: 900px) {
    .materials-heading {
        margin-bottom:34px
    }

    .material-platform-row {
        grid-template-columns: 34px 1fr;
        gap: 14px 16px;
        min-height: 0;
        padding: 27px 0
    }

    .material-platform-row>div,.material-platform-row>.platform-range,.material-platform-row>.platform-action {
        grid-column: 2
    }

    .platform-action {
        justify-self: start
    }

    .platform-number {
        grid-row: 1/5
    }

    .material-platform-row h3 {
        font-size: 30px
    }
}

@media(max-width: 560px) {
    .intro {
        margin-top:-44px
    }

    .solution-card {
        padding: 34px 28px;
        min-height: 520px
    }

    .solution-card .card-copy ul {
        columns: 1
    }

    .solution-card .card-copy h3 {
        font-size: 38px
    }
}

/* Photo-led markets and applications */
.markets {
    background: #ecebe7;
    color: var(--ink)
}

.markets-heading {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 90px;
    align-items: end;
    margin-bottom: 58px
}

.markets-heading h2 {
    font-size: clamp(38px,4.5vw,66px);
    line-height: 1.02;
    letter-spacing: -.045em;
    max-width: 800px;
    margin: 18px 0 0
}

.markets-heading>p {
    color: #62666a;
    margin: 0 0 7px
}

.market-gallery {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 12px
}

.market-photo {
    display: block;
    background: #fff;
    overflow: hidden;
    border: 1px solid #d2d0c9
}

.market-image {
    position: relative;
    display: block;
    aspect-ratio: 1.5/1;
    overflow: hidden;
    background: #17191c
}

.market-image img {
    position: absolute;
    width: 200%;
    height: 200%;
    max-width: none;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.2,.7,.2,1),filter .3s
}

.market-tobacco img {
    left: 0;
    top: 0
}

.market-luxury img {
    left: -100%;
    top: 0
}

.market-labels img {
    left: 0;
    top: -100%
}

.market-collectibles img {
    left: -100%;
    top: -100%
}

.market-print .market-image img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.market-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 96px;
    padding: 20px
}

.market-caption strong {
    font-size: 20px;
    line-height: 1.12;
    letter-spacing: -.025em
}

.market-caption i {
    font-size: 22px;
    font-style: normal;
    transition: transform .25s
}

.market-photo:hover .market-image img {
    transform: scale(1.035);
    filter: brightness(1.05)
}

.market-photo:hover .market-caption i {
    transform: translate(4px,-4px)
}

@media(max-width: 900px) {
    .markets-heading {
        grid-template-columns:1fr;
        gap: 20px
    }

    .market-gallery {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 12px
    }

    .market-photo,.market-photo:nth-child(4),.market-print {
        grid-column: auto
    }

    .market-print:last-child {
        grid-column: 1/-1;
        max-width: calc(50% - 6px);
        width: 100%;
        justify-self: center
    }

    .market-caption {
        min-height: 96px;
        padding: 20px
    }

    .market-caption strong {
        font-size: 20px
    }
}

@media(max-width: 560px) {
    .market-gallery {
        grid-template-columns:1fr
    }

    .market-photo,.market-print,.market-print:last-child {
        grid-column: auto;
        max-width: none
    }

    .market-caption {
        min-height: 96px
    }
}

/* Compact core solution cards */
.solution-card {
    min-height: 450px;
    padding: 34px 38px;
    justify-content: flex-start
}

.solution-card.tobacco {
    background: #303538
}

.solution-card.optical {
    background: #e9e8e4
}

.solution-card:after {
    background: linear-gradient(135deg,transparent 0 76%,rgba(143,217,214,.08) 76.2%,transparent 76.5%),radial-gradient(circle at 92% 5%,rgba(143,217,214,.10),transparent 25%)
}

.solution-card.optical:after {
    background: radial-gradient(circle at 91% 5%,rgba(185,171,231,.17),rgba(151,219,216,.10) 26%,rgba(245,213,166,.08) 43%,transparent 45%),linear-gradient(135deg,transparent 0 78%,rgba(17,20,23,.05) 78.2%,transparent 78.5%)
}

.solution-card .card-copy {
    margin-top: 18px
}

.solution-card .card-copy h3 {
    font-size: clamp(38px,3.25vw,46px);
    margin: 10px 0 16px
}

.solution-card .card-copy>p {
    line-height: 1.45;
    margin: 0
}

.solution-card .card-copy ul {
    margin: 20px 0 22px
}

.solution-card .card-copy li {
    margin: 6px 0
}

@media(max-width: 900px) {
    .solution-card {
        min-height:440px;
        padding: 34px 32px
    }
}

@media(max-width: 560px) {
    .solution-card {
        min-height:0;
        padding: 32px 27px 36px
    }

    .solution-card .card-copy {
        margin-top: 16px
    }

    .solution-card .card-copy h3 {
        font-size: 36px
    }
}

/* Lighter first-screen rhythm */
.hero-shade {
    background: linear-gradient(90deg,rgba(26,32,38,.70),rgba(30,37,44,.28) 48%,rgba(18,23,28,.03) 78%)
}

.intro {
    margin-top: -82px
}

.solution-card {
    min-height: 360px;
    padding: 38px 40px
}

.solution-card.tobacco {
    background: #575d60
}

.solution-card.optical {
    background: #ecebe7
}

.solution-card:after,.solution-card.optical:after {
    background: none
}

.solution-card .card-copy {
    margin-top: 0;
    max-width: 520px
}

.solution-card .card-copy h3 {
    font-size: clamp(36px,3vw,44px);
    margin: 12px 0 16px
}

.solution-card .card-copy>p {
    max-width: 500px
}

.solution-card .card-copy>a {
    margin-top: 28px
}

@media(max-width: 900px) {
    .intro {
        margin-top:-58px
    }

    .solution-card {
        min-height: 350px;
        padding: 34px 32px
    }
}

@media(max-width: 560px) {
    .intro {
        margin-top:-36px
    }

    .solution-card {
        min-height: 0;
        padding: 30px 27px 34px
    }

    .solution-card .card-copy {
        margin-top: 0
    }

    .solution-card .card-copy h3 {
        font-size: 35px
    }

    .solution-card .card-copy>a {
        margin-top: 24px
    }
}

/* Light branded hero */
.hero {
    color: #111820
}

.hero>img {
    object-position: center center
}

.hero-shade {
    background: linear-gradient(90deg,rgba(228,236,245,.56) 0%,rgba(220,231,242,.26) 38%,rgba(220,231,242,.03) 58%,transparent 72%)
}

.hero p:not(.eyebrow) {
    color: #303a44
}

.hero .btn.light {
    background: #111820;
    color: #fff
}

.hero .text-link,.hero .scroll {
    color: #111820
}

@media(max-width: 900px) {
    .hero>img {
        object-position:67% center
    }

    .hero-shade {
        background: linear-gradient(90deg,rgba(232,239,247,.94) 0%,rgba(228,236,245,.78) 48%,rgba(225,234,243,.20) 78%,transparent 100%)
    }
}

/* Keep optical card copy anchored after removing decorative numbering. */
.material-card>div {
    margin-top: auto
}

/* Tobacco materials: product-led photography with restrained supporting copy. */
.tobacco-feature {
    display: block;
    background-image: linear-gradient(90deg,rgba(27,31,34,.98) 0%,rgba(31,36,40,.92) 42%,rgba(35,40,44,.18) 68%,rgba(35,40,44,.02) 100%),url("tobacco-materials-feature-v1.png");
    background-size: cover;
    background-position: center
}

.tobacco-feature:after {
    display: none
}

.tobacco-feature>div {
    max-width: 54%
}

.tobacco-feature h3 {
    margin: 46px 0 18px
}

.tobacco-feature .material-range {
    position: relative;
    z-index: 1;
    width: 54%;
    margin: 24px 0 0;
    color: #c9cdd0;
    font-size: 13px;
    line-height: 1.75
}

.tobacco-feature>a {
    left: 52px;
    right: auto;
    bottom: 35px
}

@media(max-width: 900px) {
    .tobacco-feature {
        min-height:520px;
        background-position: 72% center;
        background-image: linear-gradient(90deg,rgba(27,31,34,.98) 0%,rgba(30,35,39,.93) 58%,rgba(31,36,40,.48) 100%),url("tobacco-materials-feature-v1.png")
    }

    .tobacco-feature>div,.tobacco-feature .material-range {
        max-width: 100%;
        width: 100%
    }

    .tobacco-feature>a {
        position: absolute;
        left: 34px;
        bottom: 32px
    }
}

/* Compact process section: a deliberate visual pause between image-led sections. */
.process {
    padding-top: 88px;
    padding-bottom: 82px;
    background: linear-gradient(135deg,#e8e7e2 0%,#f2f1ed 58%,#e3e7e6 100%)
}

.process .section-head {
    grid-template-columns: 1fr 2.35fr;
    margin-bottom: 46px
}

.process .section-head h2 {
    max-width: 800px
}

.process .steps li {
    position: relative;
    padding-top: 24px;
    padding-bottom: 34px;
    transition: background-color .25s
}

.process .steps h3 {
    margin: 28px 0 10px
}

.process .steps li:before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--aqua);
    transition: width .3s
}

.process .steps li:hover {
    background: rgba(255,255,255,.28)
}

.process .steps li:hover:before {
    width: 100%
}

.process .steps li:hover b {
    color: #287e82
}

.process .steps {
    border-top-color: #9eadae
}

.process .steps b {
    display: inline-block;
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .12em;
    color: #4f9698;
    transition: color .25s
}

@media(max-width: 900px) {
    .process {
        padding-top:70px;
        padding-bottom: 65px
    }

    .process .section-head {
        grid-template-columns: 1fr;
        margin-bottom: 36px
    }

    .process .steps h3 {
        margin-top: 22px
    }
}

/* Keep hero copy within the clear text zone of the photography. */
.hero h1 {
    font-size: clamp(44px,4vw,64px);
    line-height: 1.02;
    max-width: 760px
}

.market-photo:hover .market-caption i {
    transform: translateX(4px)
}

@media(max-width: 560px) {
    .hero h1 {
        font-size:42px;
        line-height: 1.02
    }
}

/* Make homepage application cards respond as complete, accessible links. */
.market-caption {
    transition: background-color .24s ease,box-shadow .24s ease;
}

/* Lock the optical gallery to its intended compact height and prevent portrait
   source images from stretching the whole section. */
@media (min-width: 981px) {
    .optical-materials-page .effects-teaser .curated-effect-grid {
        height:600px;
        min-height: 600px;
        grid-template-rows: repeat(3,minmax(0,1fr));
    }
}

@media (min-width: 651px) and (max-width:980px) {
    .optical-materials-page .effects-teaser .curated-effect-grid {
        height:540px;
        min-height: 540px;
        grid-template-rows: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 650px) {
    .optical-materials-page .effects-teaser .curated-effect-grid {
        height:auto;
    }
}

/* Keep the complete registered carton dielines visible in the optical effects gallery. */
.optical-materials-page .effects-teaser .curated-effect-grid .effect-registered {
    object-fit: contain;
    object-position: center;
    background: #eceeea;
}

.optical-materials-page .effects-teaser .curated-effect-grid .effect-lens {
    object-fit: contain;
    object-position: center;
    box-sizing: border-box;
    padding: 7px;
    background: #eceeea;
}

.market-caption strong,.market-caption i {
    transition: color .24s ease,transform .25s ease;
}

@media(hover: hover) {
    .market-photo:hover .market-caption {
        background:#edf6f5;
        box-shadow: inset 0 -3px #287e82;
    }

    .market-photo:hover .market-caption strong, .market-photo:hover .market-caption i {
        color: #287e82;
    }
}

.market-photo:focus-visible {
    outline: 3px solid #91dbd8;
    outline-offset: 4px;
}

.market-photo:focus-visible .market-caption {
    background: #edf6f5;
    box-shadow: inset 0 -3px #287e82;
}

.market-photo:focus-visible .market-caption strong, .market-photo:focus-visible .market-caption i {
    color: #287e82;
}

@media(prefers-reduced-motion:reduce) {
    .market-caption,.market-caption strong,.market-caption i {
        transition: none;
    }
}

/* Final interaction palette: every filled primary action uses the same aqua
   hover state; Applications card actions follow the shared teal link system. */
@media(hover: hover) {
    .btn.dark:hover, .btn.light:hover, .site-header nav .nav-cta:hover, .form-submit:hover {
        background:#91dbd8;
        border-color: #91dbd8;
        color: #13233a;
    }

    .inspiration-card:hover b {
        color: #287e82;
    }
}

.inspiration-card:focus-visible {
    outline-color: #91dbd8;
}

/* Sustainability as a specific, evidence-led material story. */
.sustain {
    min-height: 560px;
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    align-items: stretch;
    padding: 0;
    background: #202a30;
    color: #fff
}

.sustain-copy {
    max-width: none;
    padding: 74px 64px 70px max(28px,calc((100vw - var(--max))/2))
}

.sustain h2 {
    margin: 18px 0 22px;
    font-size: clamp(40px,4vw,62px)
}

.sustain-copy>p:not(.kicker):not(.sustain-note) {
    max-width: 610px;
    margin: 0;
    color: #c9d0d3
}

.sustain-points {
    max-width: 650px;
    margin-top: 34px;
    border-top: 1px solid rgba(255,255,255,.22)
}

.sustain-points>div {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 22px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,.16)
}

.sustain-points strong {
    font-size: 13px
}

.sustain-points span {
    font-size: 12px;
    line-height: 1.5;
    color: #aeb9bd
}

.sustain-note {
    max-width: 650px;
    margin: 18px 0 0;
    font-size: 11px;
    line-height: 1.5;
    color: #8f9ba0
}

.sustain-actions {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 26px
}

.sustain figure {
    margin: 0;
    min-width: 0;
    overflow: hidden
}

.sustain figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center
}

@media(max-width: 900px) {
    .sustain {
        grid-template-columns:1fr
    }

    .sustain-copy {
        padding: 68px 24px
    }

    .sustain figure {
        height: 380px
    }

    .sustain-points>div {
        grid-template-columns: 1fr;
        gap: 5px
    }
}

@media(max-width: 560px) {
    .sustain-actions {
        align-items:flex-start;
        flex-direction: column
    }

    .sustain figure {
        height: 300px
    }
}

/* Restrain the sustainability story as a contained feature card. */
.sustain {
    width: min(1120px,calc(100% - 56px));
    min-height: 0;
    margin: 88px auto;
    grid-template-columns: 1.08fr .92fr
}

.sustain-copy {
    padding: 52px 48px 48px
}

.sustain h2 {
    font-size: clamp(38px,3.3vw,52px);
    line-height: 1.02;
    margin: 16px 0 18px
}

.sustain-points {
    margin-top: 26px
}

.sustain-points>div {
    padding: 11px 0
}

.sustain-note {
    margin-top: 14px
}

.sustain-actions {
    margin-top: 22px
}

.sustain figure img {
    object-position: 54% center
}

@media(max-width: 900px) {
    .sustain {
        width:calc(100% - 40px);
        margin: 60px auto;
        grid-template-columns: 1fr
    }

    .sustain-copy {
        padding: 48px 34px 44px
    }

    .sustain figure {
        height: 320px
    }
}

@media(max-width: 560px) {
    .sustain {
        width:calc(100% - 28px);
        margin: 44px auto
    }

    .sustain-copy {
        padding: 42px 24px 38px
    }

    .sustain h2 {
        font-size: 38px
    }

    .sustain figure {
        height: 260px
    }
}

/* Full-width, low-profile sustainability band with a restrained image panel. */
.sustain {
    width: 100%;
    margin: 0;
    grid-template-columns: 58% 42%
}

.sustain-copy {
    padding: 50px 54px 48px max(28px,calc((100vw - var(--max))/2))
}

.sustain h2 {
    max-width: 760px;
    font-size: clamp(38px,3.1vw,50px);
    line-height: 1.02
}

.sustain-copy>p:not(.kicker):not(.sustain-note) {
    max-width: 720px
}

.sustain-points {
    max-width: 760px;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr))
}

.sustain-points>div {
    display: block;
    padding: 14px 18px 13px 0;
    border-bottom: 0;
    border-right: 1px solid rgba(255,255,255,.16)
}

.sustain-points>div+div {
    padding-left: 18px
}

.sustain-points>div:last-child {
    border-right: 0
}

.sustain-points strong,.sustain-points span {
    display: block
}

.sustain-points span {
    margin-top: 7px
}

.sustain figure {
    margin: 34px 34px 34px 0
}

.sustain figure img {
    border-radius: 2px
}

@media(max-width: 900px) {
    .sustain {
        width:100%;
        margin: 0;
        grid-template-columns: 1fr
    }

    .sustain-copy {
        padding: 54px 24px 48px
    }

    .sustain-points {
        grid-template-columns: 1fr
    }

    .sustain-points>div,.sustain-points>div+div {
        padding: 12px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.16)
    }

    .sustain figure {
        height: 300px;
        margin: 0 24px 40px
    }
}

@media(max-width: 560px) {
    .sustain {
        width:100%;
        margin: 0
    }

    .sustain-copy {
        padding: 46px 20px 42px
    }

    .sustain h2 {
        font-size: 36px
    }

    .sustain figure {
        height: 240px;
        margin: 0 20px 32px
    }
}

/* Sustainability: outcome-led transfer paperboard story. */
.sustain {
    display: block;
    width: 100%;
    margin: 0;
    padding: 86px max(28px,calc((100vw - var(--max))/2));
    background: #f1f0ec;
    color: var(--ink)
}

.sustain-intro {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    column-gap: 90px;
    align-items: end;
    margin-bottom: 42px
}

.sustain-intro .kicker {
    grid-column: 1/-1;
    margin: 0 0 18px;
    color: #596f59
}

.sustain-intro h2 {
    margin: 0;
    max-width: 750px;
    font-size: clamp(40px,4vw,60px);
    line-height: 1;
    letter-spacing: -.045em
}

.sustain-intro>p:last-child {
    max-width: 510px;
    margin: 0 0 5px;
    color: #5c6265;
    font-size: 17px
}

.sustain-story {
    display: grid;
    grid-template-columns: 56% 44%;
    min-height: 440px;
    background: #fff;
    border: 1px solid #d7d5ce;
    overflow: hidden
}

.transfer-visual {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    background: #e7e9e7
}

.transfer-visual img {
    display: block;
    width: 200%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: left center
}

.sustain-copy {
    position: relative;
    max-width: none;
    padding: 52px 44px 42px;
    background: linear-gradient(145deg,#fdfdfb 0%,#f7f7f3 72%,#e9eeea 100%)
}

.sustain-label {
    margin: 0 0 14px!important;
    font-size: 11px!important;
    font-weight: 800;
    letter-spacing: .16em;
    color: #64835e!important
}

.sustain-copy h3 {
    font-size: clamp(34px,3.2vw,48px);
    line-height: 1.02;
    letter-spacing: -.04em;
    margin: 0 0 18px;
    max-width: 520px
}

.sustain-copy>p:not(.sustain-label):not(.sustain-note) {
    margin: 0;
    max-width: 560px;
    color: #5c6265;
    font-size: 15px;
    line-height: 1.6
}

.sustain-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 24px 0 0;
    padding-right: 135px
}

.sustain-facts span {
    border: 1px solid #c9cdc7;
    background: rgba(255,255,255,.7);
    padding: 8px 10px;
    font-size: 11px;
    font-weight: 700;
    color: #394144
}

.sustain-note {
    max-width: 440px!important;
    margin: 20px 0 0!important;
    font-size: 10px!important;
    line-height: 1.45!important;
    color: #828887!important
}

.sustain-actions {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 24px
}

.sustain-actions .btn {
    padding: 14px 18px
}

.sample-inset {
    position: absolute;
    right: 28px;
    bottom: 28px;
    width: 102px;
    height: 102px!important;
    margin: 0!important;
    border-radius: 50%;
    overflow: hidden;
    border: 5px solid #fff;
    box-shadow: 0 8px 24px rgba(20,24,22,.14)
}

.sample-inset img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 72%
}

.pattern-preview {
    display: grid;
    grid-template-columns: 36% 64%;
    height: 108px;
    margin-top: 14px;
    background: #161a1c;
    color: #fff;
    overflow: hidden
}

.pattern-preview>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 47%;
    filter: saturate(.88)
}

.pattern-preview>span {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 28px;
    align-items: center;
    padding: 18px 28px
}

.pattern-preview small {
    grid-column: 1/-1;
    font-size: 9px;
    letter-spacing: .18em;
    color: #9db3a0
}

.pattern-preview strong {
    font-size: 17px;
    line-height: 1.2
}

.pattern-preview i {
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    border-bottom: 1px solid currentColor;
    padding-bottom: 5px
}

.pattern-preview:hover i {
    color: var(--aqua)
}

@media(max-width: 900px) {
    .sustain {
        padding:68px 24px
    }

    .sustain-intro {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-bottom: 34px
    }

    .sustain-story {
        grid-template-columns: 1fr
    }

    .transfer-visual {
        height: 360px
    }

    .transfer-visual img {
        width: 200%
    }

    .sustain-copy {
        padding: 44px 34px 40px
    }

    .pattern-preview {
        grid-template-columns: 42% 58%
    }

    .pattern-preview>span {
        grid-template-columns: 1fr;
        padding: 14px 20px
    }

    .pattern-preview i {
        width: max-content;
        margin-top: 5px
    }
}

@media(max-width: 560px) {
    .sustain {
        padding:52px 18px
    }

    .sustain-intro h2 {
        font-size: 38px
    }

    .sustain-intro>p:last-child {
        font-size: 16px
    }

    .transfer-visual {
        height: 280px
    }

    .sustain-copy {
        padding: 36px 24px 130px
    }

    .sustain-copy h3 {
        font-size: 34px
    }

    .sustain-facts {
        padding-right: 0
    }

    .sustain-actions {
        align-items: flex-start;
        flex-direction: column
    }

    .sample-inset {
        right: 24px;
        bottom: 22px
    }

    .pattern-preview {
        height: 150px;
        grid-template-columns: 36% 64%
    }

    .pattern-preview>span {
        padding: 13px 15px
    }

    .pattern-preview strong {
        font-size: 14px
    }
}

/* Final compact sustainability band â€” one story, one image. */
.sustain {
    display: grid;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    grid-template-columns: 52% 48%;
    align-items: stretch;
    background: #263239;
    color: #fff
}

.sustain>div {
    max-width: none
}

.sustain-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 58px 62px 56px max(28px,calc((100vw - var(--max))/2));
    background: #263239
}

.sustain-copy .kicker {
    margin: 0 0 16px;
    color: #9cbca8
}

.sustain h2 {
    max-width: 650px;
    margin: 0 0 20px;
    font-size: clamp(38px,3.4vw,52px);
    line-height: 1.02;
    letter-spacing: -.045em
}

.sustain-copy>p:not(.kicker):not(.sustain-note) {
    max-width: 610px;
    margin: 0;
    color: #c9d1d3;
    font-size: 16px;
    line-height: 1.6
}

.sustain-facts {
    display: flex;
    gap: 24px;
    margin: 24px 0 0;
    padding: 0
}

.sustain-facts span {
    position: relative;
    padding-left: 16px;
    border: 0;
    background: none;
    color: #fff;
    font-size: 12px;
    font-weight: 700
}

.sustain-facts span:before {
    content: "";
    position: absolute;
    left: 0;
    top: .45em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--aqua)
}

.sustain-note {
    max-width: 600px!important;
    margin: 18px 0 0!important;
    color: #8f9a9e!important;
    font-size: 10px!important;
    line-height: 1.45!important
}

.sustain-actions {
    display: flex;
    align-items: center;
    gap: 26px;
    margin-top: 25px
}

.sustain-actions .btn {
    padding: 14px 18px
}

.sustain-visual {
    height: auto;
    min-height: 430px;
    margin: 26px 26px 26px 0;
    overflow: hidden;
    background: #141b20
}

.sustain-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 59% center
}

@media(max-width: 900px) {
    .sustain {
        grid-template-columns:1fr
    }

    .sustain-copy {
        padding: 54px 24px 48px
    }

    .sustain-visual {
        height: 330px;
        min-height: 0;
        margin: 0 24px 32px
    }

    .sustain-facts {
        flex-wrap: wrap
    }
}

@media(max-width: 560px) {
    .sustain-copy {
        padding:46px 20px 40px
    }

    .sustain h2 {
        font-size: 36px
    }

    .sustain-actions {
        align-items: flex-start;
        flex-direction: column
    }

    .sustain-visual {
        height: 260px;
        margin: 0 20px 26px
    }
}

/* Holographic film product page */
.holographic-film-page {
    background: #f5f4f0;
    color: #122239
}

.film-hero {
    display: grid;
    grid-template-columns: 44% 56%;
    min-height: 560px;
    background: #e9eef2
}

.film-hero-copy {
    padding: 52px 64px 60px max(28px,calc((100vw - var(--max))/2));
    display: flex;
    flex-direction: column;
    justify-content: center
}

.film-hero .breadcrumbs {
    margin-bottom: 54px
}

.film-hero .kicker {
    margin: 0;
    color: #a36a16
}

.film-hero h1 {
    font-size: clamp(48px,4.5vw,70px);
    line-height: .99;
    letter-spacing: -.052em;
    margin: 20px 0 24px;
    max-width: 720px
}

.film-hero-copy>p:not(.kicker) {
    font-size: 17px;
    line-height: 1.62;
    color: #52667d;
    max-width: 630px;
    margin: 0
}

.film-hero-actions {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 34px
}

.film-hero figure {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #cad6e2
}

.film-hero figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 50% center
}

.film-hero figcaption {
    position: absolute;
    left: 24px;
    bottom: 20px;
    padding: 9px 12px;
    background: rgba(255,255,255,.84);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em
}

.film-intro {
    padding: 90px max(28px,calc((100vw - var(--max))/2))
}

.film-intro>header {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    column-gap: 80px;
    margin-bottom: 44px
}

.film-intro>header .kicker {
    grid-column: 1/-1;
    margin: 0 0 14px;
    color: #a36a16
}

.film-intro>header h2 {
    font-size: clamp(38px,3.9vw,58px);
    line-height: 1;
    letter-spacing: -.045em;
    margin: 0;
    max-width: 760px
}

.film-intro>header>p:last-child {
    margin: 7px 0 0;
    color: #617085;
    max-width: 500px
}

.film-product-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}

.film-product-grid article {
    display: grid;
    grid-template-columns: 38% 62%;
    min-height: 430px;
    background: #fff;
    border: 1px solid #ccd2d5;
    overflow: hidden
}

.film-swatch {
    position: relative;
    overflow: hidden
}

.film-swatch:before,.film-swatch:after {
    content: "";
    position: absolute;
    inset: -10%
}

.film-swatch-pet {
    background: linear-gradient(140deg,#737a83,#e1e4e6 46%,#afb7bf 58%,#59636d)
}

.film-swatch-pet:before {
    background: repeating-linear-gradient(118deg,transparent 0 34px,rgba(255,255,255,.48) 35px 38px,transparent 39px 74px);
    transform: rotate(-3deg)
}

.film-swatch-pet:after {
    background: linear-gradient(155deg,transparent 28%,rgba(117,230,232,.45) 39%,rgba(225,160,239,.42) 49%,rgba(245,217,117,.44) 59%,transparent 72%);
    mix-blend-mode: screen
}

.film-swatch-bopp {
    background: linear-gradient(145deg,#d8eef2,#f9faf7 47%,#d3e2f2)
}

.film-swatch-bopp:before {
    background: repeating-linear-gradient(135deg,rgba(143,219,225,.14) 0 18px,rgba(191,150,231,.19) 19px 35px,rgba(250,220,125,.17) 36px 52px);
    transform: skewX(-8deg)
}

.film-swatch-bopp:after {
    background: radial-gradient(circle at 62% 36%,rgba(255,255,255,.92),transparent 26%),linear-gradient(110deg,transparent 18%,rgba(102,204,231,.38) 40%,rgba(224,160,238,.35) 54%,rgba(250,215,112,.38) 67%,transparent 84%);
    mix-blend-mode: multiply
}

.film-product-copy {
    padding: 38px 34px 34px;
    display: flex;
    flex-direction: column
}

.film-type {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    color: #a36a16;
    margin: 0
}

.film-product-copy h3 {
    font-size: 30px;
    line-height: 1.05;
    letter-spacing: -.035em;
    margin: 15px 0 17px
}

.film-product-copy>p:not(.film-type) {
    font-size: 14px;
    line-height: 1.62;
    color: #607085;
    margin: 0
}

.film-product-copy ul {
    list-style: none;
    padding: 18px 0 0;
    margin: 20px 0 18px;
    border-top: 1px solid #d9dde0;
    font-size: 13px
}

.film-product-copy li {
    margin: 7px 0
}

.film-product-copy li:before {
    content: "+";
    color: #b67b20;
    margin-right: 8px
}

.film-product-copy a {
    font-size: 12px;
    font-weight: 800;
    margin-top: auto
}

.film-guidance {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 70px;
    padding: 78px max(28px,calc((100vw - var(--max))/2));
    background: #14243a;
    color: #fff
}

.film-guidance-copy .kicker {
    color: #d79b42
}

.film-guidance-copy h2 {
    font-size: clamp(36px,3.4vw,50px);
    line-height: 1.02;
    letter-spacing: -.043em;
    margin: 18px 0
}

.film-guidance-copy>p {
    color: #b9c3cf;
    max-width: 500px
}

.film-guidance-copy .text-link {
    display: inline-block;
    margin-top: 18px
}

.film-spec-table {
    border-top: 1px solid #546276
}

.film-spec-table>[role=row] {
    display: grid;
    grid-template-columns: .8fr .65fr 1.55fr;
    border-bottom: 1px solid #546276
}

.film-spec-table strong,.film-spec-table span {
    padding: 15px 14px;
    border-right: 1px solid #546276;
    font-size: 13px
}

.film-spec-table strong:last-child,.film-spec-table span:last-child {
    border-right: 0
}

.film-spec-table>[role=row]:first-child {
    color: #e2ab59
}

.film-spec-note {
    font-size: 10px;
    line-height: 1.5;
    color: #8290a2;
    padding: 13px 0
}

.film-applications {
    padding: 86px max(28px,calc((100vw - var(--max))/2));
    background: #fff
}

.film-applications header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 38px
}

.film-applications .kicker {
    color: #a36a16
}

.film-applications h2 {
    font-size: clamp(38px,3.7vw,54px);
    line-height: 1;
    letter-spacing: -.045em;
    margin: 13px 0 0;
    max-width: 780px
}

.film-applications>div {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #bcc3c8;
    border-bottom: 1px solid #bcc3c8
}

.film-applications article {
    padding: 30px 28px 35px 0;
    min-height: 205px;
    border-right: 1px solid #ccd2d5
}

.film-applications article+article {
    padding-left: 28px
}

.film-applications article:last-child {
    border-right: 0
}

.film-applications h3 {
    font-size: 21px;
    line-height: 1.1;
    margin: 0 0 26px
}

.film-applications p {
    font-size: 13px;
    line-height: 1.55;
    color: #657488;
    margin: 0
}

.film-patterns {
    display: grid;
    grid-template-columns: 43% 57%;
    min-height: 460px;
    background: #ecebe7
}

.film-patterns>div {
    padding: 72px 60px 68px max(28px,calc((100vw - var(--max))/2))
}

.film-patterns .kicker {
    color: #a36a16
}

.film-patterns h2 {
    font-size: clamp(38px,3.6vw,54px);
    line-height: 1;
    letter-spacing: -.045em;
    margin: 18px 0
}

.film-patterns>div>p {
    color: #5c6c80;
    max-width: 530px
}

.film-patterns .text-link {
    display: inline-block;
    margin-top: 20px
}

.film-patterns figure {
    margin: 0;
    position: relative;
    min-width: 0;
    overflow: hidden
}

.film-patterns figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.film-patterns figcaption {
    position: absolute;
    right: 18px;
    bottom: 15px;
    background: rgba(12,23,38,.84);
    color: #fff;
    padding: 8px 11px;
    font-size: 10px;
    letter-spacing: .1em
}

.film-cta {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 70px;
    align-items: center;
    padding: 70px max(28px,calc((100vw - var(--max))/2));
    background: #0d1117;
    color: #fff
}

.film-cta .kicker {
    color: #d59a41
}

.film-cta h2 {
    font-size: clamp(34px,3.2vw,48px);
    line-height: 1.02;
    letter-spacing: -.04em;
    margin: 16px 0
}

.film-cta p:not(.kicker) {
    color: #aeb7c2;
    max-width: 720px
}

.film-cta>div:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px
}

.film-cta .btn {
    background: #fff;
    color: #102038
}

@media(max-width: 1000px) {
    .film-product-grid article {
        grid-template-columns:1fr
    }

    .film-swatch {
        min-height: 230px
    }

    .film-applications>div {
        grid-template-columns: 1fr 1fr
    }

    .film-applications article:nth-child(2) {
        border-right: 0
    }

    .film-applications article:nth-child(-n+2) {
        border-bottom: 1px solid #ccd2d5
    }
}

@media(max-width: 900px) {
    .film-hero {
        grid-template-columns:1fr
    }

    .film-hero-copy {
        padding: 44px 24px 50px
    }

    .film-hero .breadcrumbs {
        margin-bottom: 44px
    }

    .film-hero figure {
        height: 380px
    }

    .film-intro {
        padding: 70px 24px
    }

    .film-intro>header {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .film-product-grid {
        grid-template-columns: 1fr
    }

    .film-guidance {
        grid-template-columns: 1fr;
        padding: 65px 24px;
        gap: 42px
    }

    .film-patterns {
        grid-template-columns: 1fr
    }

    .film-patterns>div {
        padding: 62px 24px
    }

    .film-patterns figure {
        height: 390px
    }

    .film-cta {
        grid-template-columns: 1fr;
        padding: 60px 24px;
        gap: 35px
    }
}

@media(max-width: 560px) {
    .film-hero h1 {
        font-size:42px
    }

    .film-hero figure {
        height: 280px
    }

    .film-hero-actions {
        align-items: flex-start;
        flex-direction: column
    }

    .film-product-grid article {
        min-height: 0
    }

    .film-product-copy {
        padding: 32px 24px
    }

    .film-spec-table>[role=row] {
        grid-template-columns: 1fr
    }

    .film-spec-table strong,.film-spec-table span {
        border-right: 0;
        border-bottom: 1px solid #46566b
    }

    .film-spec-table>[role=row]>:last-child {
        border-bottom: 0
    }

    .film-applications {
        padding: 64px 20px
    }

    .film-applications>div {
        grid-template-columns: 1fr
    }

    .film-applications article,.film-applications article+article {
        padding: 25px 0;
        border-right: 0;
        border-bottom: 1px solid #ccd2d5;
        min-height: 0
    }

    .film-applications article:last-child {
        border-bottom: 0
    }

    .film-patterns figure {
        height: 300px
    }

    .film-cta {
        padding: 54px 20px
    }
}

/* Two-scene homepage hero */
.hero-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .8s ease,visibility .8s
}

.hero-slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 1
}

.hero-slide>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center
}

.hero-slide .hero-content {
    z-index: 2
}

.hero .scroll {
    z-index: 3
}

.hero-controls {
    position: absolute;
    z-index: 4;
    left: max(28px,calc((100vw - var(--max))/2));
    bottom: 32px;
    display: flex;
    gap: 10px
}

.hero-controls button {
    width: 34px;
    height: 3px;
    padding: 0;
    border: 0;
    background: rgba(17,24,32,.25);
    cursor: pointer;
    transition: background .25s,width .25s
}

.hero-controls button.active {
    width: 52px;
    background: #111820
}

.optical-slide .hero-shade {
    background: linear-gradient(90deg,rgba(229,237,246,.76) 0%,rgba(225,234,244,.38) 38%,rgba(222,232,242,.06) 58%,transparent 70%)
}

@media(max-width: 900px) {
    .hero-slide>img {
        object-position:67% center
    }

    .hero-controls {
        bottom: 24px
    }

    .hero .scroll {
        display: none
    }

    .optical-slide .hero-shade {
        background: linear-gradient(90deg,rgba(232,239,247,.96) 0%,rgba(228,236,245,.80) 50%,rgba(225,234,243,.22) 80%,transparent 100%)
    }
}

@media(prefers-reduced-motion:reduce) {
    .hero-slide {
        transition: none
    }
}

/* Editorial mega-menu header */
.site-header {
    z-index: 50
}

.site-header nav {
    gap: 25px
}

.nav-dropdown {
    display: flex;
    align-items: center;
    height: 78px
}

.nav-dropdown>button {
    height: 78px;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    position: relative
}

.nav-dropdown>button span {
    font-size: 14px;
    line-height: 1;
    transition: transform .2s
}

.nav-dropdown:hover>button:after,.nav-dropdown:focus-within>button:after,.nav-dropdown.open>button:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: #17233a
}

.nav-dropdown:hover>button span,.nav-dropdown:focus-within>button span,.nav-dropdown.open>button span {
    transform: rotate(180deg)
}

.mega-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 78px;
    display: grid;
    gap: 0;
    padding: 30px max(28px,calc((100vw - var(--max))/2)) 32px;
    background: #fff;
    border-top: 1px solid #ecebe7;
    box-shadow: 0 22px 52px rgba(16,25,39,.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .2s,transform .2s,visibility .2s;
    z-index: 45
}

.materials-menu {
    grid-template-columns: 1.08fr repeat(2,1fr)
}

.solutions-menu {
    grid-template-columns: .94fr 1fr 1fr
}

.nav-dropdown:hover .mega-menu,.nav-dropdown:focus-within .mega-menu,.nav-dropdown.open .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.mega-intro {
    padding-right: 42px
}

.mega-intro p {
    margin: 0 0 11px;
    color: #9a6b1d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em
}

.mega-intro h2 {
    max-width: 310px;
    margin: 0 0 11px;
    color: #17233a;
    font-size: 25px;
    line-height: 1.04;
    letter-spacing: -.035em
}

.mega-intro span {
    display: block;
    max-width: 320px;
    color: #70777e;
    font-size: 12px;
    line-height: 1.45
}

.mega-menu>a {
    min-height: 145px;
    padding: 18px 25px 20px;
    display: flex;
    flex-direction: column;
    border-left: 1px solid #e0e2e1;
    transition: background-color .2s
}

.mega-menu>a:hover {
    background: #f6f7f5
}

.mega-menu>a b {
    margin-bottom: 18px;
    color: #9a6b1d;
    font-size: 10px;
    letter-spacing: .1em
}

.mega-menu>a strong {
    color: #17233a;
    font-size: 20px;
    line-height: 1.12;
    letter-spacing: -.025em
}

.mega-menu>a small {
    margin-top: 12px;
    color: #727980;
    font-size: 11px;
    line-height: 1.45
}

.mega-menu>a i {
    margin-top: 24px;
    color: #17233a;
    font-size: 11px;
    font-style: normal;
    font-weight: 800
}

@media(max-width: 1040px) {
    .site-header nav {
        gap:17px
    }

    .site-header nav {
        font-size: 12px
    }

    .mega-menu>a {
        padding: 18px 18px 20px
    }

    .mega-intro {
        padding-right: 26px
    }
}

@media(min-width: 1041px) {
    .site-header {
        height:78px
    }

    .site-header nav {
        gap: 29px
    }

    .nav-dropdown,.nav-dropdown>button {
        height: 78px
    }

    .mega-menu {
        top: 78px
    }

    .site-header.is-scrolled .nav-dropdown,.site-header.is-scrolled .nav-dropdown>button {
        height: 64px
    }
    .site-header.is-scrolled .mega-menu {
        top: 64px
    }
}

@media(max-width: 900px) {
    .site-header nav {
        gap:0
    }

    .nav-dropdown {
        display: block;
        width: 100%;
        height: auto
    }

    .nav-dropdown>button {
        width: 100%;
        height: auto;
        padding: 12px 0;
        justify-content: space-between
    }

    .nav-dropdown>button:after {
        display: none
    }

    .mega-menu {
        position: static;
        display: none;
        grid-template-columns: 1fr!important;
        padding: 4px 0 10px;
        box-shadow: none;
        border: 0;
        opacity: 1;
        visibility: visible;
        transform: none;
        background: #f6f6f3
    }

    .nav-dropdown.open .mega-menu {
        display: grid
    }

    .mega-intro {
        display: none
    }

    .mega-menu>a {
        min-height: 0;
        padding: 15px 18px;
        border-left: 0;
        border-bottom: 1px solid #dedfdb
    }

    .mega-menu>a:last-child {
        border-bottom: 0
    }

    .mega-menu>a b {
        margin: 0 0 5px
    }

    .mega-menu>a strong {
        font-size: 17px
    }

    .mega-menu>a small {
        margin-top: 5px
    }

    .mega-menu>a i {
        margin-top: 9px
    }

    .site-header nav>a {
        padding: 12px 0
    }

    .site-header nav .nav-cta {
        padding: 14px 18px;
        margin-top: 10px
    }
}

/* Why DULCET: image-led company proof, without an unverified production-line claim. */
.why {
    display: grid;
    grid-template-columns: 42% 58%;
    gap: 0;
    padding-top: 92px;
    padding-bottom: 92px;
    background: #fff;
    align-items: stretch
}

.why-visual {
    margin: 0;
    min-height: 430px;
    overflow: hidden;
    background: #16191c
}

.why-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 58% center
}

.why-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 0 44px 66px
}

.why-content .kicker {
    margin: 0 0 16px
}

.why-content h2 {
    max-width: 680px;
    margin: 0;
    font-size: clamp(40px,3.7vw,58px);
    line-height: 1.02;
    letter-spacing: -.045em
}

.why-intro {
    max-width: 680px;
    margin: 22px 0 30px;
    color: #5f6467;
    font-size: 16px;
    line-height: 1.62
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    align-items: start;
    max-width: 700px;
    border-top: 1px solid #d4d2cc;
    border-bottom: 1px solid #d4d2cc
}

.why-grid>div {
    min-height: 126px;
    padding: 20px 24px 18px 0;
    border-right: 1px solid #d4d2cc
}

.why-grid>div+div {
    padding-left: 24px
}

.why-grid>div:last-child {
    border-right: 0
}

.why-grid b {
    font-size: 42px;
    line-height: 1;
    letter-spacing: -.04em
}

.why-grid p {
    max-width: 155px;
    margin: 10px 0 0;
    color: #666;
    font-size: 12px;
    line-height: 1.4
}

.why-link {
    width: max-content;
    margin-top: 27px
}

.why .note {
    grid-column: auto;
    margin: 18px 0 0;
    color: #919191;
    font-size: 10px
}

@media(max-width: 900px) {
    .why {
        grid-template-columns:1fr;
        padding-top: 70px;
        padding-bottom: 70px
    }

    .why-visual {
        height: 360px;
        min-height: 0
    }

    .why-content {
        padding: 46px 0 0
    }

    .why-grid {
        max-width: none
    }
}

@media(max-width: 560px) {
    .why {
        padding-top:54px;
        padding-bottom: 54px
    }

    .why-visual {
        height: 280px
    }

    .why-content {
        padding-top: 38px
    }

    .why-content h2 {
        font-size: 38px
    }

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

    .why-grid>div,.why-grid>div+div {
        min-height: 0;
        padding: 16px 0;
        border-right: 0;
        border-bottom: 1px solid #d4d2cc
    }

    .why-grid>div:last-child {
        border-bottom: 0
    }

    .why-grid p {
        max-width: none
    }
}

/* Trust strip and SEO-led technical insights. */
.partners {
    padding-top: 76px;
    padding-bottom: 72px;
    background: #f0efeb;
    border-top: 1px solid #dddcd6
}

.partners-head {
    display: grid;
    grid-template-columns: 1.45fr 1fr;
    gap: 90px;
    align-items: end;
    margin-bottom: 42px
}

.partners-head h2 {
    font-size: clamp(36px,3.7vw,54px);
    line-height: 1.03;
    letter-spacing: -.04em;
    margin: 14px 0 0
}

.partners-head>p {
    max-width: 470px;
    margin: 0 0 4px;
    color: #62666a
}

.partner-row {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    border: 1px solid #d3d1ca;
    background: #fff
}

.partner-row span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 102px;
    padding: 18px;
    border-right: 1px solid #e0ded8;
    color: #565b5e;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .06em;
    text-align: center;
    /*filter: grayscale(1)*/
}

.partner-row span:last-child {
    border-right: 0
}

.partner-note {
    margin: 13px 0 0;
    color: #999;
    font-size: 10px
}

.insights {
    padding-top: 92px;
    padding-bottom: 92px;
    background: #fff
}

.insights-head {
    margin-bottom: 26px
}

.insight-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    border-top: 1px solid #aaa;
    border-bottom: 1px solid #aaa
}

.insight-grid article {
    display: flex;
    flex-direction: column;
    min-height: 290px;
    padding: 30px 32px 28px 0;
    border-right: 1px solid #ccc
}

.insight-grid article+article {
    padding-left: 32px
}

.insight-grid article:last-child {
    border-right: 0
}

.insight-category {
    margin: 0;
    color: #5a8584;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em
}

.insight-grid h3 {
    margin: 34px 0 16px;
    font-size: 25px;
    line-height: 1.14;
    letter-spacing: -.025em
}

.insight-grid article>p:not(.insight-category) {
    margin: 0;
    color: #666;
    font-size: 14px;
    line-height: 1.6
}

.insight-link {
    margin-top: 28px;
    padding-top: 0;
    font-size: 12px;
    font-weight: 800
}

.contact {
    display: grid;
    grid-template-columns: 1.5fr auto;
    gap: 70px;
    align-items: center;
    padding-top: 64px;
    padding-bottom: 64px;
    text-align: left;
    background: linear-gradient(110deg,#253038,#111 72%)
}

.contact h2 {
    max-width: 760px;
    margin: 12px 0 10px;
    font-size: clamp(34px,3.4vw,50px)
}

.contact>div>p:not(.kicker) {
    max-width: 620px;
    margin: 0;
    color: #c8cccf
}

.contact-actions {
    display: flex;
    align-items: center;
    gap: 24px;
    white-space: nowrap
}

.contact .text-link {
    margin: 0
}

@media(max-width: 900px) {
    .partners-head {
        grid-template-columns:1fr;
        gap: 18px
    }

    .partner-row {
        grid-template-columns: repeat(3,1fr)
    }

    .partner-row span:nth-child(3) {
        border-right: 0
    }

    .partner-row span:nth-child(-n+3) {
        border-bottom: 1px solid #e0ded8
    }

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

    .insight-grid article,.insight-grid article+article {
        min-height: 260px;
        padding: 28px 0;
        border-right: 0;
        border-bottom: 1px solid #ccc
    }

    .insight-grid article:last-child {
        border-bottom: 0
    }

    .contact {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .contact-actions {
        justify-content: flex-start
    }
}

@media(max-width: 560px) {
    .partner-row {
        grid-template-columns:repeat(2,1fr)
    }

    .partner-row span {
        min-height: 82px;
        border-bottom: 1px solid #e0ded8
    }

    .partner-row span:nth-child(odd) {
        border-right: 1px solid #e0ded8
    }

    .partner-row span:nth-child(even) {
        border-right: 0
    }

    .partner-row span:nth-last-child(-n+2) {
        border-bottom: 0
    }

    .contact-actions {
        align-items: flex-start;
        flex-direction: column;
        white-space: normal
    }
}

/* DULCET brand identity: official logo and restrained title colour system. */
:root {
    --brand-navy: #18243b;
    --brand-gold: #b7862e;
    --brand-gold-light: #d5ac59
}

.brand-logo {
    position: relative;
    width: 154px;
    height: 58px;
    overflow: hidden;
    flex: 0 0 auto;
    background: #fff
}

.brand-logo img {
    position: absolute;
    width: 210px;
    height: 210px;
    max-width: none;
    left: -34px;
    top: -76px;
    display: block
}

footer .brand-logo {
    width: 154px;
    height: 58px;
    background: #fff
}

.eyebrow,.kicker,.tag,.family-label>span,.card-category,.insight-category {
    color: var(--brand-gold)
}

.section-head h2,.markets-heading h2,.materials-heading h2,.solution-card.optical .card-copy h3,.market-grid h3,.material-card h3,.specialty-strip h3,.process .steps h3,.why-content h2,.partners-head h2,.insight-grid h3 {
    color: var(--brand-navy)
}

.hero h1 {
    color: var(--brand-navy)
}

.why-grid b {
    color: var(--brand-gold)
}

.solution-card.tobacco .tag,.sustain-copy .kicker,.contact .kicker {
    color: var(--brand-gold-light)
}

.solution-card.optical .tag {
    color: var(--brand-gold)
}

@media(max-width: 560px) {
    .brand-logo {
        width:142px;
        height: 54px
    }

    .brand-logo img {
        width: 200px;
        height: 200px;
        left: -33px;
        top: -73px
    }
}

/* Tobacco packaging materials category */
.material-page {
    background: #f7f7f4;
    color: #13233a
}

.material-page .site-header {
    background: rgba(255,255,255,.97)
}

.material-page-head {
    padding: 40px max(3.5vw,32px) 18px;
    background: linear-gradient(110deg,#fff 0%,#f8f8f5 72%,#f1f3f4 100%)
}

.breadcrumbs {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 44px;
    color: #657080;
    font-size: 13px
}

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

.breadcrumbs strong {
    font-weight: 500;
    color: #26374c
}

.material-page-head .kicker {
    margin: 0 0 13px;
    font-size: 12px;
    letter-spacing: .28em;
    color: #0d347e
}

.material-page-head h1 {
    max-width: 1080px;
    margin: 0;
    font-size: clamp(38px,3.15vw,52px);
    line-height: 1.05;
    letter-spacing: -.042em;
    color: #0d347e
}

.material-lede {
    max-width: 900px;
    margin: 10px 0 0;
    font-size: clamp(17px,1.35vw,21px);
    line-height: 1.35;
    color: #637ca6
}

.material-catalog {
    display: grid;
    grid-template-columns: repeat(12,minmax(0,1fr));
    gap: 8px;
    padding: 0 max(1.5vw,22px) 36px;
    background: #f7f7f4
}

.catalog-card {
    grid-column: span 4;
    display: flex;
    flex-direction: column;
    min-height: 350px;
    padding: 16px 18px 12px;
    border: 1px solid #b9c8da;
    background: rgba(255,255,255,.78)
}

.catalog-copy {
    min-height: 66px;
    display: flex;
    align-items: flex-start
}

.catalog-card h2 {
    margin: 0;
    font-size: clamp(22px,1.75vw,29px);
    line-height: 1.08;
    letter-spacing: -.035em;
    color: #0d347e
}

.capabilities {
    display: flex;
    flex-wrap: wrap;
    gap: 7px
}

.capabilities span,.capabilities a {
    padding: 8px 11px;
    background: #f1f2f2;
    border-radius: 2px;
    font-size: 13px;
    line-height: 1.2;
    color: #344357;
    border: 0;
    transition: background-color .2s,color .2s
}

.capabilities a:hover {
    background: #13233a;
    color: #fff
}

.catalog-card img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    margin-top: auto;
    filter: saturate(.9)
}

.catalog-card>a.catalog-link,.catalog-card>div~a {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    align-items: center;
    width: max-content;
    padding: 10px 2px 5px;
    color: #0d347e;
    text-decoration: none;
    font-weight: 650;
    border-bottom: 1px solid #b08635
}

.catalog-card>a span {
    transition: transform .2s
}

.catalog-card:hover>a span {
    transform: translateX(5px)
}

.material-guidance {
    display: grid;
    grid-template-columns: 1.2fr 1fr auto;
    gap: 48px;
    align-items: end;
    padding: 70px max(5vw,48px);
    background: #13233a;
    color: #fff
}

.material-guidance .kicker {
    color: #d8b56a
}

.material-guidance h2 {
    margin: 12px 0 0;
    max-width: 700px;
    font-size: clamp(32px,3.3vw,54px);
    line-height: 1.05;
    letter-spacing: -.035em
}

.material-guidance>p {
    margin: 0;
    color: #c7ced7;
    font-size: 17px;
    line-height: 1.6
}

.material-guidance .btn {
    white-space: nowrap
}

.specialty-inline {
    display: grid;
    grid-template-columns: 1fr 1.35fr auto;
    gap: 52px;
    align-items: start;
    margin: 0 max(1.5vw,22px) 36px;
    padding: 42px 46px;
    border: 1px solid #b9c8da;
    background: #fff
}

.specialty-inline h2 {
    margin: 10px 0 0;
    color: #13233a;
    font-size: clamp(30px,3vw,46px);
    line-height: 1.02;
    letter-spacing: -.04em
}

.specialty-inline>div:nth-child(2)>p {
    margin: 0;
    color: #607085;
    line-height: 1.65
}

.specialty-families {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px
}

.specialty-families span {
    padding: 8px 11px;
    background: #eef0f1;
    color: #263950;
    font-size: 12px;
    font-weight: 750
}

.specialty-inline>a {
    align-self: end;
    white-space: nowrap
}

@media(max-width: 1000px) {
    .material-catalog {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .catalog-card {
        grid-column: span 1
    }

    .material-guidance,.specialty-inline {
        grid-template-columns: 1fr
    }

    .specialty-inline>a {
        align-self: start
    }

    .catalog-copy {
        min-height: 76px
    }

    .catalog-card img {
        height: 210px
    }
}

@media(max-width: 680px) {
    .material-page-head {
        padding:30px 20px
    }

    .breadcrumbs {
        margin-bottom: 30px;
        flex-wrap: wrap
    }

    .material-catalog {
        grid-template-columns: 1fr;
        padding: 20px 16px 56px
    }

    .catalog-card {
        grid-column: 1;
        min-height: 0
    }

    .catalog-copy {
        min-height: 0;
        margin-bottom: 22px
    }

    .catalog-card img {
        height: 210px
    }

    .specialty-inline {
        margin: 0 16px 28px;
        padding: 30px 22px;
        gap: 24px
    }

    .material-guidance {
        padding: 50px 22px;
        gap: 26px
    }
}

/* Specialty and base paperboard product page */
.specialty-board-page main {
    background: #f7f7f4;
    color: #13233a
}

.specialty-product-hero {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    min-height: 420px;
    border-bottom: 1px solid #b9c3cf
}

.specialty-product-copy {
    padding: 30px max(5vw,64px) 38px
}

.specialty-product-copy .breadcrumbs {
    margin: 0 0 34px
}

.specialty-product-copy h1 {
    margin: 10px 0 18px;
    font-size: clamp(48px,4.5vw,70px);
    line-height: .96;
    letter-spacing: -.05em
}

.specialty-product-copy>p:not(.kicker) {
    max-width: 700px;
    color: #5e6e82;
    font-size: 16px;
    line-height: 1.6
}

.specialty-product-actions {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 24px
}

.specialty-product-hero figure {
    margin: 0;
    min-height: 420px;
    overflow: hidden;
    background: #e8e6e0
}

.specialty-product-hero figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.specialty-family-section {
    padding: 86px max(5vw,64px)
}

.specialty-family-section>header {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 9vw;
    align-items: end;
    margin-bottom: 42px
}

.specialty-family-section h2,.specialty-selection-section h2,.specialty-project-cta h2 {
    margin: 12px 0 0;
    font-size: clamp(38px,4.2vw,62px);
    line-height: 1;
    letter-spacing: -.045em
}

.specialty-family-section>header>p {
    margin: 0;
    color: #617084;
    line-height: 1.65
}

.specialty-family-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #aeb8c1;
    border-bottom: 1px solid #aeb8c1
}

.specialty-family-grid article {
    min-height: 310px;
    padding: 30px 28px 28px 0;
    display: flex;
    flex-direction: column
}

.specialty-family-grid article+article {
    padding-left: 28px;
    border-left: 1px solid #aeb8c1
}

.specialty-family-grid span {
    color: #ae761c;
    font-size: 12px;
    font-weight: 800
}

.specialty-family-grid h3 {
    margin: 58px 0 14px;
    font-size: clamp(24px,2vw,32px);
    line-height: 1.08;
    letter-spacing: -.035em
}

.specialty-family-grid p {
    margin: 0;
    color: #617084;
    line-height: 1.55
}

.specialty-family-grid small {
    margin-top: auto;
    padding-top: 26px;
    color: #31445c;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.45
}

.specialty-selection-section {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 9vw;
    padding: 24px max(5vw,64px) 96px
}

.specialty-selection-section>div>p:last-child {
    max-width: 470px;
    color: #617084;
    line-height: 1.65
}

.specialty-selection-section dl {
    margin: 0;
    border-top: 1px solid #aeb8c1
}

.specialty-selection-section dl div {
    display: grid;
    grid-template-columns: 180px 1fr;
    border-bottom: 1px solid #c7cdd3
}

.specialty-selection-section dt,.specialty-selection-section dd {
    margin: 0;
    padding: 15px 0;
    font-size: 14px
}

.specialty-selection-section dt {
    font-weight: 800
}

.specialty-selection-section dd {
    color: #617084
}

.specialty-project-cta {
    display: grid;
    grid-template-columns: 1.1fr .9fr auto;
    gap: 55px;
    align-items: end;
    margin: 0 max(5vw,64px) 84px;
    padding: 58px 60px;
    background: #13233a;
    color: #fff
}

.specialty-project-cta h2 {
    font-size: clamp(34px,3.5vw,52px)
}

.specialty-project-cta>p {
    margin: 0;
    color: #c6ced8;
    line-height: 1.65
}

.specialty-project-cta>div:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    white-space: nowrap
}

.specialty-project-cta .kicker {
    color: #d6af62
}

@media(max-width: 1000px) {
    .specialty-product-hero {
        grid-template-columns:1fr
    }

    .specialty-product-copy .breadcrumbs {
        margin-bottom: 42px
    }

    .specialty-product-hero figure {
        min-height: 300px
    }

    .specialty-family-section>header,.specialty-selection-section,.specialty-project-cta {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .specialty-family-grid {
        grid-template-columns: 1fr 1fr
    }

    .specialty-family-grid article:nth-child(3) {
        border-left: 0
    }

    .specialty-family-grid article:nth-child(n+3) {
        border-top: 1px solid #aeb8c1
    }

    .specialty-project-cta>div:last-child {
        flex-direction: row;
        align-items: center
    }
}

@media(max-width: 650px) {
    .specialty-product-copy {
        padding:30px 20px 48px
    }

    .specialty-product-copy h1 {
        font-size: 48px
    }

    .specialty-product-actions {
        align-items: flex-start;
        flex-direction: column
    }

    .specialty-product-hero figure {
        min-height: 230px
    }

    .specialty-family-section {
        padding: 62px 20px
    }

    .specialty-family-grid {
        grid-template-columns: 1fr
    }

    .specialty-family-grid article,.specialty-family-grid article+article {
        min-height: 0;
        padding: 25px 0;
        border-left: 0;
        border-top: 1px solid #aeb8c1
    }

    .specialty-family-grid h3 {
        margin-top: 28px
    }

    .specialty-family-grid small {
        margin-top: 20px
    }

    .specialty-selection-section {
        padding: 0 20px 64px
    }

    .specialty-selection-section dl div {
        grid-template-columns: 1fr
    }

    .specialty-selection-section dt {
        padding-bottom: 2px
    }

    .specialty-selection-section dd {
        padding-top: 2px
    }

    .specialty-project-cta {
        margin: 0 20px 64px;
        padding: 42px 24px
    }

    .specialty-project-cta>div:last-child {
        flex-direction: column;
        align-items: flex-start;
        white-space: normal
    }
}

/* Cigarette packaging board family */
.board-page {
    background: #f8f8f5
}

.board-head {
    padding: 28px max(3.8vw,36px) 0;
    background: #fff;
    border-bottom: 1px solid #ccd0d3
}

.board-head .breadcrumbs {
    margin-bottom: 28px
}

.board-head .kicker {
    margin: 0 0 8px;
    color: #9a6b1d
}

.board-head h1 {
    max-width: 1180px;
    margin: 0;
    color: #13233a;
    font-size: clamp(38px,4.2vw,64px);
    line-height: 1.04;
    letter-spacing: -.047em
}

.board-tabs {
    display: flex;
    gap: 48px;
    margin-top: 24px;
    overflow-x: auto
}

.board-tabs button {
    flex: 0 0 auto;
    padding: 0 0 13px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: none;
    color: #53647a;
    font: inherit;
    font-size: 16px;
    cursor: pointer
}

.board-tabs button[aria-selected="true"] {
    border-color: #b7862e;
    color: #13233a;
    font-weight: 800
}

.board-panel {
    padding: 24px max(3.8vw,36px) 20px
}

.board-panel[hidden] {
    display: none
}

.board-section-title {
    margin-bottom: 18px
}

.board-section-title h2 {
    margin: 0 0 3px;
    color: #13233a;
    font-size: clamp(30px,3vw,45px);
    line-height: 1.06;
    letter-spacing: -.04em
}

.board-section-title p {
    margin: 0;
    color: #52647a;
    font-size: 15px
}

.board-bento {
    display: grid;
    grid-template-columns: 1.72fr 1fr;
    gap: 16px
}

.board-main-card,.board-side-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #d0d3d5;
    background: #fff
}

.board-main-card {
    min-height: 490px;
    display: flex;
    flex-direction: column
}

.board-side-stack {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 16px
}

.board-side-card {
    min-height: 237px;
    display: flex;
    flex-direction: column
}

.board-card-copy {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    padding: 18px 20px 12px
}

.board-card-copy h3 {
    margin: 0;
    color: #13233a;
    font-size: 25px;
    line-height: 1.05;
    letter-spacing: -.03em
}

.board-card-copy p {
    margin: 5px 0 9px;
    color: #53647a;
    font-size: 13px
}

.board-card-copy>a {
    flex: 0 0 auto;
    color: #9a6b1d;
    font-size: 12px;
    white-space: nowrap
}

.spec-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px
}

.spec-tags span {
    padding: 5px 9px;
    background: #f0f1f1;
    color: #465466;
    font-size: 11px
}

.board-main-card>img,.board-side-card>img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover
}

.board-main-card>img {
    flex: 1
}

.board-side-card>img {
    flex: 1;
    max-height: 142px
}

.performance-note {
    position: absolute;
    right: 22px;
    top: 94px;
    max-width: 265px;
    padding: 12px 14px;
    background: rgba(255,255,255,.86);
    backdrop-filter: blur(5px);
    border-left: 1px solid #b7862e
}

.performance-note strong,.performance-note span {
    display: block
}

.performance-note strong {
    color: #9a6b1d;
    font-size: 10px;
    letter-spacing: .12em
}

.performance-note span {
    margin-top: 5px;
    color: #53647a;
    font-size: 10px
}

.board-placeholder {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    min-height: 490px;
    border: 1px solid #d0d3d5;
    background: #fff
}

.board-placeholder>img {
    width: 100%;
    height: 100%;
    min-height: 490px;
    object-fit: cover
}

.board-placeholder>div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 55px
}

.board-placeholder h3 {
    margin: 10px 0 15px;
    color: #13233a;
    font-size: 38px;
    line-height: 1.05;
    letter-spacing: -.035em
}

.board-placeholder>div>p:not(.kicker) {
    color: #5c6672
}

.board-placeholder .btn {
    width: max-content;
    margin-top: 20px
}

.laminated-placeholder>img {
    object-position: center
}

.board-guidance {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr auto;
    gap: 30px;
    align-items: center;
    margin: 0 max(3.8vw,36px) 48px;
    padding: 26px 28px;
    border: 1px solid #d0d3d5;
    background: #fff
}

.board-guidance .kicker {
    margin: 0 0 5px
}

.board-guidance h2 {
    margin: 0;
    color: #13233a;
    font-size: 27px;
    line-height: 1.08;
    letter-spacing: -.03em
}

.board-guidance>p {
    margin: 0;
    color: #596677;
    font-size: 13px
}

.board-guidance>div:last-child {
    display: flex;
    align-items: center;
    gap: 22px
}

.board-guidance .btn {
    white-space: nowrap
}

.board-guidance .text-link {
    white-space: nowrap;
    color: #9a6b1d
}

@media(max-width: 960px) {
    .board-bento {
        grid-template-columns:1fr
    }

    .board-side-stack {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto
    }

    .board-guidance {
        grid-template-columns: 1fr
    }

    .board-placeholder {
        grid-template-columns: 1fr
    }

    .board-placeholder>img {
        min-height: 330px
    }

    .performance-note {
        display: none
    }
}

@media(max-width: 680px) {
    .board-head {
        padding:28px 20px 0
    }

    .board-tabs {
        gap: 26px
    }

    .board-panel {
        padding: 24px 16px 18px
    }

    .board-side-stack {
        grid-template-columns: 1fr
    }

    .board-card-copy {
        flex-direction: column
    }

    .board-main-card {
        min-height: 430px
    }

    .board-side-card {
        min-height: 300px
    }

    .board-placeholder>div {
        padding: 34px 24px
    }

    .board-placeholder h3 {
        font-size: 32px
    }

    .board-guidance {
        margin: 0 16px 35px;
        padding: 25px 22px
    }

    .board-guidance>div:last-child {
        align-items: flex-start;
        flex-direction: column
    }
}

/* Conventional board master-detail selector */
.board-selector {
    display: grid;
    grid-template-columns: 26% 74%;
    min-height: 505px;
    border: 1px solid #cfd3d6;
    background: #fff
}

.board-selector-nav {
    display: flex;
    flex-direction: column;
    border-right: 1px solid #cfd3d6
}

.board-selector-nav button {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 18px;
    gap: 4px 12px;
    align-items: center;
    min-height: 112px;
    padding: 22px 22px;
    border: 0;
    border-bottom: 1px solid #d9dcde;
    background: #fff;
    color: #13233a;
    text-align: left;
    cursor: pointer
}

.board-selector-nav button:last-child {
    border-bottom: 0
}

.board-selector-nav button strong {
    font-size: 19px;
    line-height: 1.12;
    letter-spacing: -.025em
}

.board-selector-nav button small {
    color: #52647a;
    font-size: 12px;
    line-height: 1.35
}

.board-selector-nav button i {
    grid-column: 2;
    grid-row: 1/3;
    color: #b7862e;
    font-size: 28px;
    font-style: normal
}

.board-selector-nav button.active {
    background: linear-gradient(115deg,#173b69,#0d2a50);
    color: #fff;
    box-shadow: inset 5px 0 #c39232
}

.board-selector-nav button.active i {
    color: #fff
}

.board-selector-nav button.active small {
    color: #eef4fb
}

.board-detail {
    display: grid;
    grid-template-columns: 61% 39%;
    min-width: 0
}

.board-detail-main {
    padding: 20px 26px 16px;
    min-width: 0
}

.board-detail-main h3 {
    margin: 0;
    color: #13233a;
    font-size: 32px;
    line-height: 1.05;
    letter-spacing: -.035em;
    text-transform: uppercase
}

.board-detail-main>p {
    margin: 5px 0 10px;
    color: #52647a;
    font-size: 14px;
    line-height: 1.35
}

.grade-tabs {
    display: flex;
    gap: 18px;
    border-bottom: 1px solid #d5d9dc
}

.grade-tabs button {
    min-width: 84px;
    padding: 5px 10px 8px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: none;
    color: #52647a;
    font: inherit;
    font-size: 13px;
    cursor: pointer
}

.grade-tabs button.active {
    border-color: #b7862e;
    color: #13233a;
    font-weight: 800
}

.application-row {
    padding: 8px 0
}

.application-row>span {
    display: block;
    margin-bottom: 3px;
    color: #a06e1c;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase
}

.application-row>div {
    display: flex;
    gap: 24px;
    color: #13233a
}

.application-row b {
    font-size: 12px;
    font-weight: 500
}

.board-detail-main>img {
    display: block;
    width: 100%;
    height: 275px;
    object-fit: cover;
    object-position: center
}

.board-detail-specs {
    display: flex;
    flex-direction: column;
    padding: 20px 22px 14px;
    border-left: 1px solid #d5d9dc
}

.board-detail-specs section+section {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #d5d9dc
}

.board-detail-specs h4 {
    margin: 0 0 8px;
    color: #a06e1c;
    font-size: 10px;
    letter-spacing: .13em;
    text-transform: uppercase
}

.board-detail-specs ul {
    margin: 0;
    padding-left: 18px;
    color: #274464;
    font-size: 12px;
    line-height: 1.5
}

.board-detail-specs li+li {
    margin-top: 4px
}

.board-detail-specs li::marker {
    color: #b7862e
}

.board-detail-specs dl {
    margin: 0;
    border: 1px solid #d4d8db
}

.board-detail-specs dl>div {
    display: grid;
    grid-template-columns: 36% 64%;
    border-bottom: 1px solid #d4d8db
}

.board-detail-specs dl>div:last-child {
    border-bottom: 0
}

.board-detail-specs dt,.board-detail-specs dd {
    margin: 0;
    padding: 6px 8px;
    color: #274464;
    font-size: 10.5px;
    line-height: 1.25
}

.board-detail-specs dt {
    border-right: 1px solid #d4d8db
}

.board-detail-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: auto;
    padding-top: 12px
}

.board-detail-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid #b7862e;
    color: #9a6b1d;
    font-size: 11px;
    font-weight: 700;
    text-align: center
}

.board-detail-actions a:last-child {
    background: #b7862e;
    color: #fff
}

.technical-options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px
}

.technical-options span {
    padding: 5px 8px;
    border: 1px solid #d4d8db;
    background: #f7f7f5;
    color: #274464;
    font-size: 10.5px;
    line-height: 1.25
}

.technical-documentation p {
    margin: 0;
    color: #52647a;
    font-size: 10.5px;
    line-height: 1.45
}

.language-menu span[role="button"] {
    cursor: pointer
}

.language-menu span[aria-current="true"] {
    color: #b7862e;
    font-weight: 800
}

#google_translate_element {
    position: fixed;
    left: -9999px;
    top: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden
}

.goog-te-banner-frame.skiptranslate,body>.skiptranslate {
    display: none!important
}

body {
    top: 0!important
}

.goog-tooltip,.goog-tooltip:hover {
    display: none!important
}

@media(max-width: 1050px) {
    .board-selector {
        grid-template-columns:1fr
    }

    .board-selector-nav {
        display: grid;
        grid-template-columns: repeat(3,1fr);
        border-right: 0;
        border-bottom: 1px solid #cfd3d6
    }

    .board-selector-nav button {
        min-height: 110px;
        border-right: 1px solid #d9dcde;
        border-bottom: 0
    }

    .board-detail {
        grid-template-columns: 58% 42%
    }

    .board-detail-main>img {
        height: 260px
    }
}

@media(max-width: 760px) {
    .board-selector-nav {
        grid-template-columns:1fr
    }

    .board-selector-nav button {
        min-height: 92px;
        border-right: 0;
        border-bottom: 1px solid #d9dcde
    }

    .board-detail {
        grid-template-columns: 1fr
    }

    .board-detail-specs {
        border-top: 1px solid #d5d9dc;
        border-left: 0
    }

    .board-detail-main {
        padding: 22px 18px 16px
    }

    .board-detail-main h3 {
        font-size: 28px
    }

    .board-detail-main>img {
        height: 225px
    }

    .board-detail-specs {
        padding: 22px 18px
    }

    .board-detail-actions {
        margin-top: 18px
    }
}

.board-selector-nav button {
    flex: 1
}

.board-detail-main>.spec-tags {
    margin: 10px 0 4px
}

.board-detail-main>.spec-tags span {
    font-size: 10px
}

.board-detail-main>.spec-tags+.application-row {
    padding-top: 5px
}

.grade-tabs[hidden] {
    display: none
}

.board-intro,.tipping-intro {
    max-width: 900px;
    margin: 7px 0 0;
    color: #5f7187;
    font-size: 16px;
    line-height: 1.5
}

.board-page .board-head {
    padding-top: 22px
}

.board-page .board-head .breadcrumbs {
    margin-bottom: 22px
}

.board-page .board-head h1 {
    font-size: clamp(38px,3.5vw,54px)
}

.board-page .board-tabs {
    margin-top: 20px
}

.board-page .board-panel {
    padding-top: 20px
}

.tipping-note {
    margin: 4px max(3.8vw,36px) 26px;
    padding: 14px 18px;
    border-left: 2px solid #b7862e;
    background: #f1f2ef;
    color: #5c6877;
    font-size: 12px;
    line-height: 1.55
}

.tipping-page .board-detail-main h3 {
    text-transform: none
}

.tipping-page:not(.inner-liner-page) .board-detail-main>img {
    width: min(100%,360px);
    height: 210px;
    margin: 10px auto 0;
    object-fit: contain;
    background: #fff;
    border: 1px solid #e1e3e4
}

@media(max-width: 1050px) {
    .tipping-page .board-selector-nav {
        grid-template-columns:repeat(auto-fit,minmax(210px,1fr))
    }

    .tipping-page .board-selector-nav button {
        border-bottom: 1px solid #d9dcde
    }
}

@media(max-width: 680px) {
    .board-page .board-head {
        padding-top:20px
    }

    .tipping-note {
        margin: 4px 16px 24px
    }

    .board-intro,.tipping-intro {
        font-size: 15px
    }

    .tipping-page:not(.inner-liner-page) .board-detail-main>img {
        width: min(100%,300px);
        height: 190px
    }
}

.liner-summary {
    max-width: 900px;
    margin: 5px 0 0;
    color: #718095;
    font-size: 13px;
    line-height: 1.55
}

.inner-liner-page .board-detail-main>img {
    object-fit: contain;
    background: linear-gradient(135deg,#f4f3ef,#e5e5e2)
}

.liner-capabilities {
    display: grid;
    grid-template-columns: 1.05fr 1.6fr;
    gap: 50px;
    margin: 8px max(3.8vw,36px) 20px;
    padding: 30px;
    border: 1px solid #d0d3d5;
    background: #fff
}

.liner-capabilities h2 {
    max-width: 480px;
    margin: 8px 0 0;
    color: #13233a;
    font-size: 31px;
    line-height: 1.08;
    letter-spacing: -.035em
}

.liner-capability-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    border-top: 1px solid #d7d9db
}

.liner-capability-grid span {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 15px 18px 13px 0;
    border-bottom: 1px solid #d7d9db;
    color: #647184;
    font-size: 11px
}

.liner-capability-grid span:nth-child(even) {
    padding-left: 18px;
    border-left: 1px solid #d7d9db
}

.liner-capability-grid b {
    color: #13233a;
    font-size: 13px
}

.liner-related {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    margin: 0 max(3.8vw,36px) 28px;
    padding: 24px 30px;
    border: 1px solid #d0d3d5;
    background: #f6f6f3
}

.liner-related h2 {
    margin: 5px 0 7px;
    color: #13233a;
    font-size: 24px
}

.liner-related p:not(.kicker) {
    max-width: 760px;
    margin: 0;
    color: #5f6e80;
    font-size: 13px;
    line-height: 1.55
}

.liner-related .btn {
    flex: 0 0 auto
}

.inner-liner-page .board-selector-nav button {
    min-height: 105px
}

@media(max-width: 900px) {
    .liner-capabilities {
        grid-template-columns:1fr
    }

    .liner-capability-grid {
        grid-template-columns: 1fr
    }

    .liner-capability-grid span:nth-child(even) {
        padding-left: 0;
        border-left: 0
    }

    .liner-related {
        align-items: flex-start;
        flex-direction: column
    }
}

@media(max-width: 680px) {
    .liner-summary {
        font-size:12px
    }

    .liner-capabilities {
        margin: 8px 16px 18px;
        padding: 24px 20px
    }

    .liner-capability-grid {
        grid-template-columns: 1fr
    }

    .liner-related {
        margin: 0 16px 24px;
        padding: 22px 20px
    }
}

.inner-frame-page .board-detail-main h3 {
    text-transform: none
}

.inner-frame-page .board-selector-nav button {
    min-height: 126px
}

.tipping-page.inner-frame-page .board-detail-main>img {
    width: min(100%,420px);
    height: 260px;
    object-fit: contain;
    background: linear-gradient(135deg,#f5f4f0,#e5e4df)
}

.frame-context {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    margin: 8px max(3.8vw,36px) 28px;
    border: 1px solid #cfd3d6;
    background: #fff
}

.frame-context-copy {
    padding: 30px 38px
}

.frame-context h2,.frame-finish-section h2 {
    margin: 7px 0 10px;
    color: #13233a;
    font-size: clamp(28px,2.55vw,38px);
    line-height: 1.04;
    letter-spacing: -.04em
}

.frame-context-copy>p:not(.kicker),.frame-finish-section>div:first-child>p:not(.kicker) {
    color: #5a6b7f;
    font-size: 14px;
    line-height: 1.55
}

.frame-context ul {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #d7d9db
}

.frame-context li {
    padding: 11px 14px 0 0;
    color: #274464;
    font-size: 12px;
    line-height: 1.4
}

.frame-context li+li {
    padding-left: 14px;
    border-left: 1px solid #d7d9db
}

.frame-context figure {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    background: #ececea
}

.frame-context figure img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center 25%
}

.frame-finish-section {
    display: grid;
    grid-template-columns: .8fr 1.15fr .9fr;
    gap: 30px;
    align-items: center;
    margin: 0 max(3.8vw,36px) 28px;
    padding: 34px;
    border: 1px solid #cfd3d6;
    background: #0f1825
}

.frame-finish-section h2 {
    color: #fff
}

.frame-finish-section .kicker {
    color: #c99942
}

.frame-finish-section>div:first-child>p:not(.kicker) {
    color: #acb8c7
}

.frame-finish-section>img {
    display: block;
    width: 100%;
    height: 290px;
    object-fit: cover;
    background: #111
}

.frame-finish-list {
    border-top: 1px solid rgba(255,255,255,.18)
}

.frame-finish-list span {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255,255,255,.18);
    color: #9eabba;
    font-size: 11px;
    line-height: 1.4
}

.frame-finish-list b {
    color: #fff;
    font-size: 13px
}

@media(max-width: 980px) {
    .frame-context {
        grid-template-columns:1fr
    }

    .frame-context figure img {
        height: 320px
    }

    .frame-finish-section {
        grid-template-columns: 1fr 1fr
    }

    .frame-finish-list {
        grid-column: 1/-1;
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    .frame-finish-list span:nth-child(odd) {
        padding-right: 18px
    }

    .frame-finish-list span:nth-child(even) {
        padding-left: 18px;
        border-left: 1px solid rgba(255,255,255,.18)
    }
}

@media(max-width: 680px) {
    .frame-context,.frame-finish-section {
        margin:8px 16px 24px
    }

    .frame-context-copy {
        padding: 26px 22px
    }

    .frame-context ul {
        grid-template-columns: 1fr
    }

    .frame-context li {
        padding: 10px 0;
        border-bottom: 1px solid #d7d9db
    }

    .frame-context li+li {
        padding-left: 0;
        border-left: 0
    }

    .frame-context figure img {
        height: 250px
    }

    .frame-finish-section {
        grid-template-columns: 1fr;
        padding: 26px 22px
    }

    .frame-finish-section>img {
        height: 220px
    }

    .frame-finish-list {
        grid-column: auto;
        display: block
    }

    .frame-finish-list span:nth-child(odd),.frame-finish-list span:nth-child(even) {
        padding-left: 0;
        padding-right: 0;
        border-left: 0
    }
}

/* Optical materials landing page */
.optical-materials-page {
    background: #f4f4f1;
    color: #14243b
}

.optical-materials-page .site-header {
    background: rgba(255,255,255,.98)
}

.optical-hero {
    display: grid;
    grid-template-columns: 42% 58%;
    height: 390px;
    background: #eef2f5
}

.optical-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 26px 44px 32px max(38px,calc((100vw - var(--max))/2))
}

.optical-hero .breadcrumbs {
    margin-bottom: 18px
}

.optical-hero h1 {
    max-width: 590px;
    margin: 9px 0 15px;
    font-size: clamp(40px,3.45vw,54px);
    line-height: .98;
    letter-spacing: -.052em
}

.optical-hero-copy>p:not(.kicker) {
    max-width: 560px;
    margin: 0;
    color: #5f7186;
    font-size: 16px;
    line-height: 1.5
}

.optical-hero-actions {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-top: 22px
}

.optical-hero figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    background: #dce6ef
}

.optical-hero figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.optical-hero figcaption {
    display: none
}

.optical-platforms,.route-section,.optical-applications {
    padding: 94px max(28px,calc((100vw - var(--max))/2))
}

.optical-section-head {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 80px;
    align-items: end;
    margin-bottom: 45px
}

.optical-section-head h2,.route-section h2,.effects-teaser h2,.optical-applications h2,.optical-cta h2 {
    margin: 12px 0 0;
    font-size: clamp(38px,4vw,58px);
    line-height: 1.02;
    letter-spacing: -.045em
}

.optical-section-head>p {
    margin: 0;
    color: #617084;
    font-size: 15px;
    line-height: 1.65
}

.optical-platform-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px
}

.optical-platform-grid article {
    display: flex;
    flex-direction: column;
    min-height: 470px;
    border: 1px solid #cfd4d8;
    background: #fff
}

.optical-platform-grid article>img {
    display: block;
    width: 100%;
    height: 235px;
    object-fit: cover
}

.optical-platform-grid article:nth-child(1)>img {
    object-position: 72% center
}

.optical-platform-grid article:nth-child(2)>img {
    object-position: center
}

.optical-platform-grid article>div {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 26px 28px 24px
}

.optical-platform-grid h3 {
    margin: 0 0 13px;
    font-size: 30px;
    line-height: 1.04;
    letter-spacing: -.035em
}

.optical-platform-grid div>p {
    margin: 0;
    max-width: 360px;
    color: #637084;
    font-size: 14px;
    line-height: 1.55
}

.optical-platform-grid a {
    width: max-content;
    margin-top: auto;
    padding-top: 22px;
    color: #16355f;
    font-size: 12px;
    font-weight: 800
}

.route-section {
    background: #122033;
    color: #fff
}

.route-section header {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    align-items: end;
    margin-bottom: 42px
}

.route-section .kicker,.optical-cta .kicker {
    color: #d4ac5b
}

.route-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #526070;
    border-bottom: 1px solid #526070
}

.route-grid article {
    display: flex;
    flex-direction: column;
    min-height: 300px;
    padding: 28px 30px 28px 0;
    border-right: 1px solid #526070
}

.route-grid article+article {
    padding-left: 30px
}

.route-grid article:last-child {
    border-right: 0
}

.route-grid span {
    color: #d4ac5b;
    font-size: 11px
}

.route-grid h3 {
    margin: 45px 0 14px;
    font-size: 24px;
    line-height: 1.1
}

.route-grid p {
    margin: 0;
    color: #b3beca;
    font-size: 13px;
    line-height: 1.6
}

.route-grid a {
    margin-top: auto;
    color: #fff;
    font-size: 12px;
    font-weight: 800
}

.effects-teaser {
    display: grid;
    grid-template-columns: 48% 52%;
    background: #fff
}

.effects-copy {
    padding: 84px 70px 84px max(38px,calc((100vw - var(--max))/2))
}

.effects-copy>p:not(.kicker) {
    max-width: 620px;
    color: #607084;
    font-size: 15px;
    line-height: 1.65
}

.effect-families {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin: 28px 0 30px;
    border-top: 1px solid #d1d5d7
}

.effect-families span {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 15px 16px 15px 0;
    border-bottom: 1px solid #d1d5d7;
    color: #708095;
    font-size: 11px
}

.effect-families span:nth-child(even) {
    padding-left: 16px;
    border-left: 1px solid #d1d5d7
}

.effect-families b {
    color: #1b304c;
    font-size: 13px
}

.effects-teaser figure {
    margin: 0;
    overflow: hidden;
    background: #10151c
}

.effects-teaser figure img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 680px;
    object-fit: cover
}

.effects-teaser figcaption {
    padding: 9px 15px;
    background: #10151c;
    color: #929ca8;
    font-size: 9px
}

.effects-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 24px
}

.effects-actions .text-link {
    width: max-content
}

.effects-actions .effects-secondary {
    color: #68788a
}

.effects-teaser .curated-effect-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    grid-template-rows: repeat(3,1fr);
    gap: 5px;
    min-height: 600px;
    padding: 5px;
    background: #fff
}

.effects-teaser .curated-effect-grid img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover
}

.effects-teaser .curated-effect-grid .effect-registered {
    grid-row: 1/4;
    object-position: center
}

.optical-applications header {
    max-width: 760px;
    margin-bottom: 38px
}

.optical-applications>div {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #bfc4c7;
    border-bottom: 1px solid #bfc4c7
}

.optical-applications article {
    min-height: 230px;
    padding: 25px 24px 25px 0;
    border-right: 1px solid #cfd2d4
}

.optical-applications article+article {
    padding-left: 24px
}

.optical-applications article:last-child {
    border-right: 0
}

.optical-applications span {
    color: #a06e1c;
    font-size: 10px
}

.optical-applications h3 {
    margin: 46px 0 12px;
    font-size: 21px;
    line-height: 1.15
}

.optical-applications p {
    margin: 0;
    color: #69768a;
    font-size: 12px;
    line-height: 1.55
}

.optical-applications-bridge {
    display: grid;
    grid-template-columns: 1.15fr 1fr auto;
    gap: 54px;
    align-items: end;
    padding: 52px max(28px,calc((100vw - var(--max))/2));
    border-top: 1px solid #cdd1d4;
    background: #eef0ef
}

.optical-applications-bridge h2 {
    max-width: 650px;
    margin: 8px 0 0;
    font-size: clamp(30px,3vw,44px);
    line-height: 1.04;
    letter-spacing: -.04em
}

.optical-applications-bridge>p {
    max-width: 520px;
    margin: 0;
    color: #657286;
    font-size: 14px;
    line-height: 1.65
}

.optical-applications-bridge>a {
    align-self: end;
    white-space: nowrap;
    color: #16355f
}

.optical-cta {
    display: grid;
    grid-template-columns: 1.3fr auto;
    gap: 80px;
    align-items: center;
    padding: 68px max(28px,calc((100vw - var(--max))/2));
    background: linear-gradient(115deg,#263542,#0d1118);
    color: #fff
}

.optical-cta h2 {
    max-width: 820px
}

.optical-cta div>p:not(.kicker) {
    max-width: 700px;
    color: #bdc5ce
}

.optical-cta>div:last-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px
}

.optical-cta .text-link {
    color: #fff
}

@media(max-width: 980px) {
    .optical-hero {
        grid-template-columns:1fr
    }

    .optical-hero-copy {
        padding: 42px 34px 50px
    }

    .optical-hero .breadcrumbs {
        margin-bottom: 35px
    }

    .optical-hero figure,.optical-hero figure img {
        min-height: 390px
    }

    .optical-section-head {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .optical-platform-grid {
        grid-template-columns: 1fr 1fr
    }

    .optical-platform-grid article:last-child {
        grid-column: 1/-1
    }

    .route-section header {
        grid-template-columns: 1fr
    }

    .effects-teaser {
        grid-template-columns: 1fr
    }

    .effects-copy {
        padding: 70px 34px
    }

    .effects-teaser .curated-effect-grid {
        min-height: 540px
    }

    .optical-applications>div {
        grid-template-columns: 1fr 1fr
    }

    .optical-applications article:nth-child(2) {
        border-right: 0
    }

    .optical-applications article:nth-child(-n+2) {
        border-bottom: 1px solid #cfd2d4
    }

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

@media(max-width: 650px) {
    .optical-hero-copy {
        padding:30px 20px 44px
    }

    .optical-hero h1 {
        font-size: 43px
    }

    .optical-hero-actions {
        align-items: flex-start;
        flex-direction: column
    }

    .optical-hero figure,.optical-hero figure img {
        min-height: 290px
    }

    .optical-platforms,.route-section,.optical-applications {
        padding: 62px 18px
    }

    .optical-platform-grid {
        grid-template-columns: 1fr
    }

    .optical-platform-grid article:last-child {
        grid-column: auto
    }

    .optical-platform-grid article {
        min-height: 560px
    }

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

    .route-grid article,.route-grid article+article {
        min-height: 235px;
        padding: 24px 0;
        border-right: 0;
        border-bottom: 1px solid #526070
    }

    .route-grid article:last-child {
        border-bottom: 0
    }

    .route-grid h3 {
        margin-top: 28px
    }

    .effects-copy {
        padding: 62px 20px
    }

    .effect-families {
        grid-template-columns: 1fr
    }

    .effect-families span:nth-child(even) {
        padding-left: 0;
        border-left: 0
    }

    .effects-teaser .curated-effect-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(2,180px);
        min-height: 0
    }

    .effects-teaser .curated-effect-grid .effect-registered {
        grid-row: auto
    }

    .optical-applications>div {
        grid-template-columns: 1fr
    }

    .optical-applications article,.optical-applications article+article {
        min-height: 190px;
        padding: 22px 0;
        border-right: 0;
        border-bottom: 1px solid #cfd2d4
    }

    .optical-applications article:last-child {
        border-bottom: 0
    }

    .optical-applications h3 {
        margin-top: 28px
    }

    .optical-cta {
        padding: 56px 20px
    }
}

/* Compact optical category refinements */
.route-grid h3 {
    margin-top: 18px
}

@media(max-width: 980px) {
    .optical-hero {
        height:auto
    }

    .optical-hero .breadcrumbs {
        margin-bottom: 30px
    }

    .optical-hero figure,.optical-hero figure img {
        min-height: 360px
    }
}

@media(max-width: 980px) {
    .optical-applications-bridge {
        grid-template-columns:1fr;
        gap: 20px;
        align-items: start
    }

    .optical-applications-bridge>a {
        align-self: start
    }
}

@media(max-width: 650px) {
    .optical-platform-grid article {
        min-height:470px
    }

    .route-grid article,.route-grid article+article {
        min-height: 220px
    }

    .route-grid h3 {
        margin-top: 12px
    }
}

@media(max-width: 650px) {
    .optical-applications-bridge {
        padding:42px 20px
    }
}

/* Compact process selector and design-center preview */
.route-section {
    padding-top: 62px;
    padding-bottom: 62px
}

.route-section header {
    display: block;
    max-width: 780px;
    margin-bottom: 28px
}

.route-section header h2 {
    margin-top: 8px;
    font-size: clamp(32px,3.2vw,46px)
}

.route-grid article {
    min-height: 190px;
    padding-top: 22px;
    padding-bottom: 22px
}

.route-grid article+article {
    padding-left: 28px
}

.route-grid h3 {
    margin: 0 0 10px;
    font-size: 21px
}

.route-grid p {
    max-width: 340px
}

.route-grid a {
    padding-top: 24px
}

.effects-copy {
    padding-top: 70px;
    padding-bottom: 70px
}

.effects-copy h2 {
    max-width: 610px
}

.effects-copy>p:not(.kicker) {
    max-width: 560px
}

.effects-teaser figure img {
    min-height: 600px
}

@media(max-width: 650px) {
    .route-section {
        padding-top:48px;
        padding-bottom: 48px
    }

    .route-section header {
        margin-bottom: 22px
    }

    .route-grid article,.route-grid article+article {
        min-height: 165px;
        padding: 20px 0
    }

    .effects-copy {
        padding-top: 54px;
        padding-bottom: 54px
    }

    .effects-teaser figure img {
        min-height: 330px
    }
}

/* PET-only film structure refinement */
.film-swatch-clear {
    background: linear-gradient(145deg,#d8eef2,#f9faf7 47%,#d3e2f2)
}

.film-swatch-clear:before {
    background: repeating-linear-gradient(135deg,rgba(143,219,225,.14) 0 18px,rgba(191,150,231,.19) 19px 35px,rgba(250,220,125,.17) 36px 52px);
    transform: skewX(-8deg)
}

.film-swatch-clear:after {
    background: radial-gradient(circle at 62% 36%,rgba(255,255,255,.92),transparent 26%),linear-gradient(110deg,transparent 18%,rgba(102,204,231,.38) 40%,rgba(224,160,238,.35) 54%,rgba(250,215,112,.38) 67%,transparent 84%);
    mix-blend-mode: multiply
}

.film-applications>div {
    grid-template-columns: repeat(3,1fr)
}

@media(max-width: 1000px) {
    .film-applications>div {
        grid-template-columns:1fr 1fr
    }

    .film-applications article:nth-child(3) {
        grid-column: 1/-1;
        border-top: 1px solid #ccd2d5
    }
}

@media(max-width: 560px) {
    .film-applications>div {
        grid-template-columns:1fr
    }

    .film-applications article:nth-child(3) {
        grid-column: auto;
        border-top: 0
    }
}

/* Compact film header and integrated effect catalogue */
.holographic-film-page .film-hero {
    min-height: 360px;
    max-height: 410px;
    grid-template-columns: 52% 48%
}

.holographic-film-page .film-hero-copy {
    padding-top: 34px;
    padding-bottom: 38px
}

.holographic-film-page .film-hero .breadcrumbs {
    margin-bottom: 25px
}

.holographic-film-page .film-hero h1 {
    max-width: 760px;
    margin: 13px 0 16px;
    font-size: clamp(40px,3.45vw,55px)
}

.holographic-film-page .film-hero-copy>p:not(.kicker) {
    max-width: 650px;
    font-size: 16px;
    line-height: 1.5
}

.holographic-film-page .film-hero-actions {
    margin-top: 23px
}

.film-effects {
    display: grid;
    grid-template-columns: 35% 65%;
    padding: 76px max(28px,calc((100vw - var(--max))/2));
    background: #f5f4f0
}

.film-overview {
    padding: 4px 58px 10px 0;
    border-right: 1px solid #bdc4c9
}

.film-overview .kicker {
    margin: 0;
    color: #a36a16
}

.film-overview h2 {
    max-width: 420px;
    margin: 17px 0 21px;
    font-size: clamp(36px,3.35vw,49px);
    line-height: 1.02;
    letter-spacing: -.045em
}

.film-overview>p:not(.kicker) {
    max-width: 430px;
    margin: 0;
    color: #5c6c80;
    font-size: 15px;
    line-height: 1.62
}

.film-overview dl {
    margin: 27px 0 28px;
    border-top: 1px solid #c8cdd0
}

.film-overview dl>div {
    display: grid;
    grid-template-columns: 118px 1fr;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid #c8cdd0
}

.film-overview dt {
    font-size: 11px;
    font-weight: 800;
    color: #6b7785
}

.film-overview dd {
    margin: 0;
    font-size: 12px;
    font-weight: 700
}

.film-effect-catalog {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
    padding-left: 40px
}

.film-effect-catalog article {
    min-width: 0;
    border: 1px solid #cbd1d5;
    background: #fff
}

.effect-chip {
    display: block;
    height: 128px;
    overflow: hidden;
    background: #d8dce0
}

.effect-silver {
    background: linear-gradient(112deg,#777f87,#f7f9fa 24%,#9da5ad 41%,#fff 60%,#68727d 80%,#d8dde1)
}

.effect-gold {
    background: linear-gradient(112deg,#7d5513,#f8dc78 25%,#b77c20 43%,#fff1a5 63%,#9c6412 82%,#e6c45d)
}

.effect-clear {
    background: linear-gradient(135deg,#eef5f7 0%,#d5f4f2 24%,#eee0fb 46%,#fff7d8 68%,#e4eff7 100%)
}

.effect-rainbow {
    background: linear-gradient(118deg,#db477e,#794fd5 18%,#3aaeea 36%,#47d2b2 54%,#f4d353 72%,#ef824d 86%,#ce4d98)
}

.effect-linear {
    background: repeating-linear-gradient(105deg,#5f6972 0 12px,#f2f5f6 13px 23px,#9ca5ad 24px 31px,#fff 32px 43px)
}

.effect-geometry {
    background: conic-gradient(from 45deg at 25% 25%,#f3f6f7 25%,#79838c 0 50%,#cfd5d9 0 75%,#fff 0) 0 0/48px 48px
}

.film-effect-catalog article>div {
    padding: 16px 17px 18px
}

.film-effect-catalog h3 {
    margin: 0 0 6px;
    font-size: 17px;
    line-height: 1.13;
    letter-spacing: -.02em
}

.film-effect-catalog article p {
    margin: 0;
    color: #68778a;
    font-size: 12px;
    line-height: 1.45
}

.film-custom-note {
    grid-column: 1/3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    padding: 17px 19px;
    border: 1px solid #cbd1d5;
    background: #e9ecec
}

.film-custom-note strong {
    font-size: 14px
}

.film-custom-note span {
    margin-top: 4px;
    color: #697687;
    font-size: 11px
}

.film-effect-catalog>.text-link {
    align-self: center;
    justify-self: end;
    width: max-content;
    margin-right: 4px
}

@media(max-width: 1000px) {
    .holographic-film-page .film-hero {
        max-height:none;
        grid-template-columns: 1fr
    }

    .holographic-film-page .film-hero figure {
        height: 280px
    }

    .film-effects {
        grid-template-columns: 1fr;
        padding: 62px 24px
    }

    .film-overview {
        padding: 0 0 36px;
        border-right: 0;
        border-bottom: 1px solid #bdc4c9
    }

    .film-effect-catalog {
        padding: 36px 0 0
    }

    .film-custom-note {
        grid-column: 1/3
    }
}

@media(max-width: 700px) {
    .film-effect-catalog {
        grid-template-columns:1fr 1fr
    }

    .film-custom-note {
        grid-column: 1/-1
    }

    .film-effect-catalog>.text-link {
        grid-column: 1/-1;
        justify-self: start;
        margin-top: 8px
    }
}

@media(max-width: 480px) {
    .holographic-film-page .film-hero-copy {
        padding:30px 20px 35px
    }

    .holographic-film-page .film-hero h1 {
        font-size: 38px
    }

    .holographic-film-page .film-hero figure {
        height: 220px
    }

    .film-effects {
        padding: 50px 20px
    }

    .film-effect-catalog {
        grid-template-columns: 1fr
    }

    .film-custom-note,.film-effect-catalog>.text-link {
        grid-column: 1
    }

    .effect-chip {
        height: 150px
    }
}

/* Hot & Cold Foils */
.foil-page main {
    background: #f5f4f1;
    color: #13233a
}

.foil-hero {
    max-width: 1520px;
    margin: auto;
    padding: 42px 5vw 72px;
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 32px 8vw;
    border-bottom: 1px solid #c8ced4
}

.foil-hero .breadcrumbs {
    grid-column: 1/-1;
    margin-bottom: 28px
}

.foil-hero h1 {
    max-width: 760px;
    margin: .5rem 0 0;
    font-size: clamp(3rem,5.6vw,6.8rem);
    line-height: .92;
    letter-spacing: -.055em
}

.foil-hero>div:last-child {
    align-self: end;
    max-width: 520px;
    padding-bottom: 8px
}

.foil-hero>div:last-child p {
    font-size: 1.25rem;
    line-height: 1.55;
    color: #5a6b80;
    margin: 0 0 28px
}

.foil-routes,.foil-effects,.foil-colors,.foil-guidance {
    max-width: 1520px;
    margin: auto;
    padding: 88px 5vw
}

.foil-routes header,.foil-effects header,.foil-colors>header,.foil-guidance>div:first-child {
    display: grid;
    grid-template-columns: .8fr 1.6fr;
    gap: 5vw;
    margin-bottom: 42px
}

.foil-routes h2,.foil-effects h2,.foil-colors h2,.foil-guidance h2 {
    font-size: clamp(2.4rem,4.4vw,5rem);
    line-height: 1;
    letter-spacing: -.04em;
    margin: 0;
    max-width: 900px
}

.foil-route-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #aeb7c0;
    border-bottom: 1px solid #aeb7c0
}

.foil-route-grid article {
    padding: 44px 8% 42px 0;
    min-height: 290px;
    display: flex;
    flex-direction: column
}

.foil-route-grid article+article {
    border-left: 1px solid #aeb7c0;
    padding-left: 8%
}

.foil-route-grid article>p,.foil-swatch-grid article>p {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .13em;
    color: #ad751c;
    margin: 0 0 30px
}

.foil-route-grid h3 {
    font-size: 2rem;
    margin: 0 0 18px
}

.foil-route-grid span {
    font-size: 1.05rem;
    line-height: 1.55;
    color: #5a6b80;
    max-width: 560px
}

.foil-route-grid a {
    margin-top: auto;
    padding-top: 34px;
    font-weight: 800;
    color: #13233a;
    text-decoration: none
}

.foil-effects {
    background: #13233a;
    color: white;
    max-width: none;
    padding-left: max(5vw,calc((100vw - 1520px)/2 + 5vw));
    padding-right: max(5vw,calc((100vw - 1520px)/2 + 5vw))
}

.foil-effects header>p:last-child {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #bdc8d4;
    max-width: 620px;
    margin: 8px 0 0
}

.foil-effects>div {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #526175;
    border-bottom: 1px solid #526175
}

.foil-effects article {
    padding: 34px 7% 36px 0
}

.foil-effects article+article {
    border-left: 1px solid #526175;
    padding-left: 7%
}

.foil-effects h3 {
    font-size: 1.45rem;
    margin: 0 0 10px
}

.foil-effects article p {
    margin: 0;
    color: #bdc8d4;
    line-height: 1.5
}

.foil-colors>header>p {
    font-size: 1.08rem;
    line-height: 1.6;
    color: #5a6b80;
    max-width: 560px;
    margin: 8px 0 0
}

.foil-series {
    margin-top: 70px
}

.foil-series-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid #aeb7c0;
    padding-bottom: 18px;
    margin-bottom: 24px
}

.foil-series-head h3 {
    font-size: 2rem;
    margin: 0
}

.foil-series-head span {
    color: #64758a
}

.foil-swatch-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 22px
}

.foil-swatch-grid article {
    background: #fff;
    border: 1px solid #d3d8dd;
    padding: 12px 12px 24px;
    min-width: 0
}

.foil-swatch-grid figure {
    margin: 0 0 20px;
    height: 230px;
    overflow: hidden;
    background: #fff
}

.foil-swatch-grid img {
    width: 100%;
    height: 125%;
    object-fit: cover;
    object-position: center top;
    display: block
}

.foil-swatch-grid article>p {
    margin: 0 0 7px;
    padding: 0 8px
}

.foil-swatch-grid h4 {
    font-size: 1.2rem;
    line-height: 1.25;
    margin: 0;
    padding: 0 8px
}

.foil-guidance {
    border-top: 1px solid #c8ced4
}

.foil-guidance-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 0;
    border-top: 1px solid #aeb7c0;
    border-bottom: 1px solid #aeb7c0
}

.foil-guidance-grid article {
    padding: 32px 7% 34px 0
}

.foil-guidance-grid article+article {
    border-left: 1px solid #aeb7c0;
    padding-left: 7%
}

.foil-guidance-grid h3 {
    margin: 0 0 12px;
    font-size: 1.3rem
}

.foil-guidance-grid p {
    margin: 0;
    color: #5a6b80;
    line-height: 1.55
}

.foil-cta {
    margin-top: 0
}

@media(max-width: 900px) {
    .foil-hero {
        grid-template-columns:1fr;
        padding-top: 26px
    }

    .foil-hero .breadcrumbs {
        margin-bottom: 8px
    }

    .foil-hero h1 {
        font-size: clamp(2.8rem,13vw,5rem)
    }

    .foil-routes,.foil-effects,.foil-colors,.foil-guidance {
        padding-top: 64px;
        padding-bottom: 64px
    }

    .foil-routes header,.foil-effects header,.foil-colors>header,.foil-guidance>div:first-child {
        grid-template-columns: 1fr;
        gap: 16px
    }

    .foil-route-grid,.foil-effects>div,.foil-guidance-grid {
        grid-template-columns: 1fr
    }

    .foil-route-grid article+article,.foil-effects article+article,.foil-guidance-grid article+article {
        border-left: 0;
        border-top: 1px solid #aeb7c0;
        padding-left: 0
    }

    .foil-effects article+article {
        border-color: #526175
    }

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

    .foil-swatch-grid figure {
        height: 190px
    }

    .foil-series-head {
        align-items: start;
        flex-direction: column
    }
}

@media(max-width: 520px) {
    .foil-swatch-grid {
        grid-template-columns:1fr
    }

    .foil-swatch-grid figure {
        height: 250px
    }

    .foil-series {
        margin-top: 52px
    }
}

/* Embellishment foil product platform */
.foil-new-hero .film-new-hero-copy h1 {
    max-width: 760px
}

.foil-new-hero figure img {
    object-position: center
}

.foil-routes>header {
    grid-template-columns: 1fr 1fr;
    gap: 8vw
}

.foil-routes>header>p {
    margin: 9px 0 0;
    color: #607085;
    font-size: 1.05rem;
    line-height: 1.65
}

.foil-platform-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #aeb7c0;
    border-bottom: 1px solid #aeb7c0
}

.foil-platform-grid>article {
    padding: 38px 7% 40px 0;
    display: flex;
    flex-direction: column;
    min-width: 0
}

.foil-platform-grid>article+article {
    padding-left: 7%;
    border-left: 1px solid #aeb7c0
}

.foil-platform-label {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .13em;
    color: #ad751c;
    margin: 0 0 25px
}

.foil-platform-grid h3 {
    font-size: clamp(1.8rem,2.2vw,2.6rem);
    line-height: 1.02;
    letter-spacing: -.035em;
    margin: 0 0 18px
}

.foil-platform-lede {
    color: #596b80;
    line-height: 1.6;
    margin: 0 0 26px
}

.foil-platform-grid dl {
    margin: 0 0 28px;
    border-top: 1px solid #d0d5da
}

.foil-platform-grid dl div {
    display: grid;
    grid-template-columns: 42% 58%;
    border-bottom: 1px solid #d0d5da
}

.foil-platform-grid dt,.foil-platform-grid dd {
    margin: 0;
    padding: 11px 0;
    font-size: .8rem;
    line-height: 1.4
}

.foil-platform-grid dt {
    font-weight: 800;
    color: #25364c
}

.foil-platform-grid dd {
    color: #607085
}

.foil-platform-grid>a {
    font-size: .79rem;
    font-weight: 800;
    margin-top: auto
}

.foil-effects header {
    grid-template-columns: 1fr 1fr;
    gap: 8vw
}

.foil-effects header>div .kicker {
    margin-top: 0
}

.foil-effects header>p:last-child {
    align-self: end
}

.foil-application-routes {
    border-top: 0
}

@media(max-width: 1050px) {
    .foil-platform-grid {
        grid-template-columns:1fr
    }

    .foil-platform-grid>article {
        padding: 34px 0
    }

    .foil-platform-grid>article+article {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid #aeb7c0
    }

    .foil-platform-grid dl div {
        grid-template-columns: 150px 1fr
    }
}

@media(max-width: 900px) {
    .foil-routes>header,.foil-effects header {
        grid-template-columns:1fr;
        gap: 16px
    }

    .foil-new-hero .film-new-hero-copy h1 {
        font-size: clamp(2.7rem,12vw,4.8rem)
    }
}

@media(max-width: 520px) {
    .foil-platform-grid dl div {
        grid-template-columns:1fr
    }

    .foil-platform-grid dt {
        padding-bottom: 2px
    }

    .foil-platform-grid dd {
        padding-top: 2px
    }

    .foil-new-hero .film-new-hero-copy h1 {
        font-size: 2.55rem
    }
}

.paperboard-new-hero figure img {
    object-position: center
}

.paperboard-routes .film-two-route-grid>article {
    background: #f5f4f0
}

.paperboard-page .film-effect-feature img {
    object-fit: cover
}

/* Film effect library */
.film-effects-browser {
    display: grid;
    grid-template-columns: 340px minmax(0,1fr);
    gap: 56px;
    max-width: 1520px;
    margin: auto;
    padding: 82px 5vw;
    background: #f5f4f0;
    color: #13233a
}

.film-effects-browser>aside {
    align-self: start;
    position: sticky;
    top: 108px
}

.film-effects-browser>aside h2 {
    font-size: clamp(2.25rem,3.5vw,3.8rem);
    line-height: 1;
    letter-spacing: -.045em;
    margin: 16px 0 20px
}

.film-effects-browser>aside>p:not(.kicker) {
    color: #607085;
    line-height: 1.6;
    margin: 0 0 14px
}

.film-effects-browser>aside>.effect-availability-note {
    margin: 23px 0 30px;
    padding-top: 20px;
    border-top: 1px solid #b9c1c8;
    font-size: .9rem
}

.film-effect-nav {
    border-top: 1px solid #b9c1c8
}

.film-effect-nav button {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #b9c1c8;
    background: transparent;
    color: #13233a;
    text-align: left;
    padding: 20px 42px 20px 0;
    position: relative;
    cursor: pointer;
    font: inherit
}

.film-effect-nav button:after {
    content: '+';
    position: absolute;
    right: 4px;
    top: 20px;
    font-size: 1.3rem;
    color: #a66e18
}

.film-effect-nav button[aria-selected="true"] {
    padding-left: 16px;
    background: #13233a;
    color: #fff
}

.film-effect-nav button[aria-selected="true"]:after {
    content: '→';
    right: 16px;
    color: #d9a541
}

.film-effect-nav span {
    display: block;
    font-size: 1.05rem;
    font-weight: 800
}

.film-effect-nav i {
    display: block;
    margin-top: 5px;
    font-size: .8rem;
    font-style: normal;
    color: #68798d
}

.film-effect-nav button[aria-selected="true"] i {
    color: #bfc9d4
}

.film-effect-panel[hidden] {
    display: none
}

.film-effect-panel>header {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 34px;
    border-bottom: 1px solid #b9c1c8;
    padding-bottom: 26px;
    margin-bottom: 34px
}

.film-effect-panel>header h3 {
    font-size: clamp(2rem,3vw,3.6rem);
    line-height: 1;
    margin: 9px 0 0;
    letter-spacing: -.04em
}

.film-effect-panel>header>p {
    color: #607085;
    line-height: 1.6;
    margin: 8px 0 0
}

.film-metallic-group {
    margin-top: 42px
}

.film-metallic-group>h4 {
    font-size: 1.45rem;
    margin: 0 0 16px
}

.film-metallic-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 15px
}

.film-metallic-grid article {
    min-width: 0;
    background: #fff;
    border: 1px solid #d0d5da;
    padding: 9px 9px 17px
}

.film-metallic-grid figure {
    height: 170px;
    margin: 0 0 14px;
    overflow: hidden;
    background: #fff
}

.film-metallic-grid img {
    display: block;
    width: 100%;
    height: 126%;
    object-fit: cover;
    object-position: center top
}

.film-metallic-grid article>p {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .11em;
    color: #a66e18;
    margin: 0 7px 5px
}

.film-metallic-grid h5 {
    font-size: 1rem;
    line-height: 1.25;
    margin: 0 7px
}

.film-effect-feature {
    margin: 0 0 28px;
    background: #fff;
    border: 1px solid #d0d5da
}

.film-effect-feature img {
    display: block;
    width: 100%;
    height: 500px;
    object-fit: cover
}

.film-effect-feature figcaption {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 24px
}

.film-effect-feature figcaption b {
    font-size: 1.1rem
}

.film-effect-feature figcaption span {
    max-width: 560px;
    color: #607085;
    line-height: 1.5
}

@media(max-width: 1100px) {
    .film-effects-browser {
        grid-template-columns:270px minmax(0,1fr);
        gap: 34px
    }

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

@media(max-width: 780px) {
    .film-effects-browser {
        grid-template-columns:1fr;
        padding: 58px 24px
    }

    .film-effects-browser>aside {
        position: static
    }

    .film-effect-panel>header {
        grid-template-columns: 1fr
    }

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

    .film-effect-feature img {
        height: 320px
    }

    .film-effect-feature figcaption {
        flex-direction: column
    }
}

@media(max-width: 460px) {
    .film-metallic-grid {
        grid-template-columns:1fr
    }

    .film-metallic-grid figure {
        height: 240px
    }
}

.pattern-family-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 34px
}

.pattern-family-tabs button {
    border: 1px solid #aeb7c0;
    background: transparent;
    color: #13233a;
    padding: 11px 15px;
    font: 700 .8rem/1.2 inherit;
    cursor: pointer
}

.pattern-family-tabs button.active {
    background: #13233a;
    border-color: #13233a;
    color: #fff
}

.metallic-family-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 34px
}

.metallic-family-tabs button {
    border: 1px solid #aeb7c0;
    background: transparent;
    color: #13233a;
    padding: 11px 15px;
    font: 700 .8rem/1.2 inherit;
    cursor: pointer
}

.metallic-family-tabs button.active {
    background: #13233a;
    border-color: #13233a;
    color: #fff
}

.film-metallic-group[hidden] {
    display: none
}

.metallic-family-tabs+.film-metallic-group {
    margin-top: 0
}

.pattern-family-panel[hidden] {
    display: none
}

.pattern-family-heading {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 28px;
    align-items: end;
    margin-bottom: 20px
}

.pattern-family-heading h4 {
    font-size: 1.7rem;
    margin: 0
}

.pattern-family-heading p {
    margin: 0;
    color: #607085;
    line-height: 1.5
}

.pattern-card-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px
}

.pattern-card-grid article {
    background: #fff;
    border: 1px solid #d0d5da;
    padding: 12px 12px 20px;
    min-width: 0
}

.pattern-card-grid figure {
    height: 240px;
    margin: 0 0 17px;
    overflow: hidden;
    background: #e8e8e6
}

.pattern-card-grid img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.pattern-card-grid article>p {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    color: #a66e18;
    margin: 0 8px 6px
}

.pattern-card-grid h5 {
    font-size: 1.04rem;
    line-height: 1.25;
    margin: 0 8px
}

.pattern-catalogue-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-top: 34px;
    padding-top: 22px;
    border-top: 1px solid #b9c1c8
}

.pattern-catalogue-link>span {
    color: #6a7889;
    font-size: .82rem
}

@media(max-width: 1050px) {
    .pattern-card-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 700px) {
    .pattern-family-heading {
        grid-template-columns:1fr
    }

    .pattern-card-grid {
        grid-template-columns: 1fr
    }

    .pattern-card-grid figure {
        height: 300px
    }

    .pattern-catalogue-link {
        align-items: flex-start;
        flex-direction: column
    }
}

/* Optical film: lamination and transfer */
.film-redesign-page main {
    background: #f5f4f0;
    color: #13233a
}

.film-new-hero {
    display: grid;
    grid-template-columns: 46% 54%;
    max-width: 1520px;
    margin: auto;
    min-height: 360px
}

.film-new-hero>.breadcrumbs {
    grid-column: 1/-1;
    align-self: start;
    margin: 22px 5vw 0
}

.film-new-hero-copy {
    padding: 28px 7vw 36px 5vw;
    align-self: center
}

.film-new-hero-copy h1 {
    font-size: clamp(2.55rem,3.65vw,4.35rem);
    line-height: .97;
    letter-spacing: -.052em;
    margin: 11px 0 17px
}

.film-new-hero-copy>p:not(.kicker) {
    max-width: 620px;
    color: #5b6d82;
    font-size: 1rem;
    line-height: 1.55
}

.film-new-hero-copy>div {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
    margin-top: 21px
}

.film-new-hero figure {
    margin: 0;
    min-height: 350px;
    position: relative;
    overflow: hidden
}

.film-new-hero figure img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.film-new-hero figcaption {
    display: none
}

.film-two-routes,.film-effects-preview,.film-application-routes,.film-guidance {
    max-width: 1520px;
    margin: auto;
    padding: 88px 5vw
}

.film-two-routes>header,.film-effects-preview>header,.film-application-routes>header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8vw;
    margin-bottom: 45px
}

.film-two-routes h2,.film-effects-preview h2,.film-application-routes h2,.film-process-copy h2 {
    font-size: clamp(2.6rem,4.6vw,5.2rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 10px 0 0
}

.film-two-routes>header>p,.film-effects-preview>header>p,.film-application-routes>header>p {
    color: #607085;
    line-height: 1.65;
    font-size: 1.05rem;
    margin: 9px 0 0
}

.film-two-route-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #9da8b3;
    border-bottom: 1px solid #9da8b3
}

.film-two-route-grid>article {
    padding: 43px 7% 44px 0
}

.film-two-route-grid>article+article {
    border-left: 1px solid #9da8b3;
    padding-left: 7%
}

.film-route-label {
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .14em;
    color: #a66e18
}

.film-two-route-grid h3 {
    font-size: clamp(2rem,3vw,3.2rem);
    line-height: 1.05;
    margin: 18px 0
}

.film-route-lede {
    color: #5b6d82;
    line-height: 1.6;
    min-height: 82px
}

.film-two-route-grid dl {
    margin: 30px 0;
    border-top: 1px solid #ccd1d5
}

.film-two-route-grid dl>div {
    display: grid;
    grid-template-columns: 135px 1fr;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #ccd1d5
}

.film-two-route-grid dt {
    font-size: .73rem;
    font-weight: 800;
    color: #67778a
}

.film-two-route-grid dd {
    margin: 0;
    font-size: .85rem;
    font-weight: 700
}

.film-two-route-grid ul {
    padding-left: 18px;
    color: #516378;
    line-height: 1.7;
    margin: 25px 0 30px
}

.film-two-route-grid a {
    font-weight: 800;
    color: #13233a;
    text-decoration: none
}

.film-preview-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 24px;
    margin-bottom: 30px
}

.film-preview-grid article {
    background: #fff;
    border: 1px solid #d0d5da
}

.film-preview-grid img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block
}

.film-preview-grid article>div {
    padding: 22px
}

.film-preview-grid h3 {
    font-size: 1.35rem;
    margin: 0 0 9px
}

.film-preview-grid p {
    color: #607085;
    line-height: 1.5;
    margin: 0
}

.film-application-routes {
    border-top: 1px solid #c4cbd1
}

.film-application-routes>div {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #aeb7c0;
    border-bottom: 1px solid #aeb7c0
}

.film-application-routes article {
    padding: 34px 7% 38px 0
}

.film-application-routes article+article {
    border-left: 1px solid #aeb7c0;
    padding-left: 7%
}

.film-application-routes span {
    font-size: .73rem;
    font-weight: 800;
    color: #a66e18
}

.film-application-routes h3 {
    font-size: 1.55rem;
    margin: 22px 0 12px
}

.film-application-routes article p {
    color: #607085;
    line-height: 1.55;
    margin: 0
}

@media(max-width: 900px) {
    .film-new-hero {
        grid-template-columns:1fr
    }

    .film-new-hero>.breadcrumbs {
        margin-top: 22px
    }

    .film-new-hero-copy {
        padding: 34px 24px 42px
    }

    .film-new-hero figure {
        height: 280px;
        min-height: 0
    }

    .film-two-route-grid,.film-preview-grid,.film-application-routes>div {
        grid-template-columns: 1fr
    }

    .film-two-route-grid>article+article,.film-application-routes article+article {
        border-left: 0;
        border-top: 1px solid #b8c0c8;
        padding-left: 0
    }

    .film-two-routes>header,.film-effects-preview>header,.film-application-routes>header {
        grid-template-columns: 1fr;
        gap: 15px
    }

    .film-two-routes,.film-effects-preview,.film-application-routes {
        padding: 64px 24px
    }

    .film-two-route-grid>article {
        padding: 34px 0
    }

    .film-preview-grid img {
        height: 300px
    }

    .film-application-routes article {
        padding: 30px 0
    }
}

@media(max-width: 520px) {
    .film-new-hero-copy h1 {
        font-size:2.8rem
    }

    .film-two-route-grid dl>div {
        grid-template-columns: 1fr;
        gap: 5px
    }

    .film-preview-grid img {
        height: 240px
    }
}

.foil-page.shared-effects-loaded .foil-colors {
    display: none
}

/* Solution pages */
.solution-page main {
    background: #f5f4f0;
    color: #13233a
}

.solution-hero {
    display: grid;
    grid-template-columns: 48% 52%;
    max-width: 1520px;
    margin: auto;
    min-height: 460px
}

.solution-hero-copy {
    padding: 28px 6vw 38px 5vw;
    align-self: center
}

.solution-hero-copy .breadcrumbs {
    margin: 0 0 28px
}

.solution-hero-copy h1 {
    font-size: clamp(2.7rem,4.25vw,4.85rem);
    line-height: .96;
    letter-spacing: -.05em;
    margin: 12px 0 20px
}

.solution-hero-copy>p:not(.kicker) {
    max-width: 650px;
    color: #596b80;
    font-size: 1.02rem;
    line-height: 1.62
}

.solution-hero-copy>div {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 24px
}

.solution-hero>figure {
    position: relative;
    min-height: 460px;
    margin: 0;
    overflow: hidden;
    background: #d9dce0
}

.solution-hero>figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.solution-hero>figure figcaption {
    position: absolute;
    right: 22px;
    bottom: 20px;
    background: #fff;
    padding: 9px 13px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em
}

.solution-intro {
    max-width: 1520px;
    margin: auto;
    padding: 78px 5vw;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 10vw;
    border-top: 1px solid #bbc3ca
}

.solution-intro h2,.finished-format-section h2,.production-chain h2,.solution-advantages h2,.solution-route-section h2,.optical-use-section h2,.effect-library-bridge h2 {
    font-size: clamp(2.7rem,4.8vw,5.3rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 11px 0 0
}

.solution-intro>p {
    font-size: 1.12rem;
    line-height: 1.75;
    color: #5e6e82;
    margin: 20px 0 0
}

.finished-format-section,.production-chain,.solution-advantages,.solution-route-section,.optical-use-section {
    max-width: 1520px;
    margin: auto;
    padding: 92px 5vw
}

.finished-format-section>header,.solution-route-section>header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9vw;
    margin-bottom: 46px
}

.finished-format-section>header>p,.solution-route-section>header>p {
    color: #617186;
    font-size: 1.03rem;
    line-height: 1.65
}

.finished-format-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    border-top: 1px solid #aeb8c1;
    border-left: 1px solid #aeb8c1
}

.finished-format-grid article {
    padding: 40px;
    border-right: 1px solid #aeb8c1;
    border-bottom: 1px solid #aeb8c1;
    min-height: 280px;
    background: rgba(255,255,255,.35)
}

.finished-format-grid span,.production-chain li>span,.solution-route-grid span,.optical-solution-logic>article>span {
    color: #ad7419;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em
}

.finished-format-grid h3 {
    font-size: clamp(1.8rem,2.5vw,2.75rem);
    line-height: 1.06;
    margin: 29px 0 18px
}

.finished-format-grid p {
    color: #607085;
    line-height: 1.65
}

.finished-format-grid b {
    display: block;
    margin-top: 28px;
    font-size: .78rem;
    color: #13233a
}

.production-network {
    max-width: 1520px;
    margin: auto;
    padding: 78px 5vw 88px;
    border-top: 1px solid #c2c9cf
}

.production-network>header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9vw;
    margin-bottom: 42px
}

.production-network h2 {
    font-size: clamp(2.5rem,4.2vw,4.7rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 11px 0 0
}

.production-network>header>p {
    color: #607085;
    font-size: 1.03rem;
    line-height: 1.65;
    margin: 8px 0 0
}

.production-network-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #aeb8c1;
    border-bottom: 1px solid #aeb8c1
}

.production-network-grid article {
    padding: 30px 25px 34px 0
}

.production-network-grid article+article {
    border-left: 1px solid #aeb8c1;
    padding-left: 25px
}

.production-network-grid span {
    color: #ad7419;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em
}

.production-network-grid h3 {
    font-size: 1.25rem;
    line-height: 1.15;
    margin: 22px 0 13px
}

.production-network-grid p {
    color: #607085;
    line-height: 1.58;
    margin: 0
}

.production-network-note {
    margin: 22px 0 0;
    font-weight: 800;
    color: #13233a
}

.production-chain {
    background: #13233a;
    color: #fff;
    max-width: none;
    padding-left: max(5vw,calc((100vw - 1520px)/2 + 5vw));
    padding-right: max(5vw,calc((100vw - 1520px)/2 + 5vw))
}

.production-chain header {
    max-width: 1520px;
    margin: auto
}

.production-chain ol {
    max-width: 1520px;
    margin: 48px auto 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    list-style: none;
    border-top: 1px solid #5a6677;
    border-bottom: 1px solid #5a6677
}

.production-chain li {
    padding: 31px 24px 36px 0
}

.production-chain li+li {
    border-left: 1px solid #5a6677;
    padding-left: 24px
}

.production-chain h3 {
    font-size: 1.2rem;
    line-height: 1.2;
    margin: 24px 0 12px
}

.production-chain li p {
    color: #bcc5d0;
    line-height: 1.55;
    font-size: .9rem
}

.solution-advantages {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 9vw
}

.advantage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #afb8c0;
    border-left: 1px solid #afb8c0
}

.advantage-grid article {
    padding: 28px;
    border-right: 1px solid #afb8c0;
    border-bottom: 1px solid #afb8c0
}

.advantage-grid h3 {
    font-size: 1.25rem;
    margin: 0 0 12px
}

.advantage-grid p {
    color: #607085;
    line-height: 1.6;
    margin: 0
}

.solution-split-cta {
    display: grid;
    grid-template-columns: 1fr 1fr
}

.solution-split-cta>div {
    box-sizing: border-box;
    min-height: 330px;
    padding: 52px max(5vw,calc((100vw - 1520px)/2 + 5vw));
    background: #e9e9e5
}

.solution-split-cta>div+div {
    background: #13233a;
    color: #fff
}

.solution-split-cta h2 {
    max-width: 650px;
    font-size: clamp(2rem,2.6vw,2.85rem);
    line-height: 1.04;
    letter-spacing: -.04em;
    margin: 10px 0 14px
}

.solution-split-cta p:not(.kicker) {
    max-width: 620px;
    margin: 0;
    color: #65758a;
    line-height: 1.55
}

.solution-split-cta>div+div p:not(.kicker) {
    color: #c1cad3
}

.solution-split-cta a {
    display: inline-flex;
    margin-top: 16px
}

.optical-solution-logic {
    max-width: 1520px;
    margin: auto;
    padding: 0 5vw 92px;
    display: grid;
    grid-template-columns: repeat(3,1fr)
}

.optical-solution-logic article {
    padding: 39px 7% 42px 0;
    border-top: 1px solid #aeb8c1;
    border-bottom: 1px solid #aeb8c1
}

.optical-solution-logic article+article {
    border-left: 1px solid #aeb8c1;
    padding-left: 7%
}

.optical-solution-logic .kicker {
    margin-top: 25px
}

.optical-solution-logic h3 {
    font-size: 1.8rem;
    line-height: 1.08;
    margin: 13px 0
}

.optical-solution-logic p:last-child {
    color: #607085;
    line-height: 1.6
}

.solution-route-section {
    background: #ececea;
    max-width: none;
    padding-left: max(5vw,calc((100vw - 1520px)/2 + 5vw));
    padding-right: max(5vw,calc((100vw - 1520px)/2 + 5vw))
}

.solution-route-section>header,.solution-route-grid {
    max-width: 1520px;
    margin-left: auto;
    margin-right: auto
}

.solution-route-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px
}

.solution-route-grid article {
    background: #fff;
    padding: 34px;
    min-height: 315px;
    display: flex;
    flex-direction: column
}

.solution-route-grid h3 {
    font-size: 2rem;
    line-height: 1.05;
    margin: 22px 0
}

.solution-route-grid p {
    color: #607085;
    line-height: 1.65
}

.solution-route-grid a {
    color: #13233a;
    text-decoration: none;
    font-weight: 800;
    margin-top: auto;
    padding-top: 28px
}

.optical-use-section {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 9vw
}

.optical-use-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 36px 42px
}

.optical-use-grid article {
    border-top: 1px solid #aeb8c1;
    padding-top: 25px
}

.optical-use-grid h3 {
    font-size: 1.3rem;
    margin: 0 0 12px
}

.optical-use-grid p {
    color: #607085;
    line-height: 1.6;
    margin: 0
}

.effect-library-bridge {
    max-width: 1520px;
    margin: auto;
    padding: 0 5vw 96px;
    display: grid;
    grid-template-columns: 1.1fr .9fr
}

.effect-library-bridge figure {
    margin: 0;
    min-height: 480px;
    overflow: hidden
}

.effect-library-bridge figure img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.effect-library-bridge>div {
    background: #fff;
    padding: 58px;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.effect-library-bridge h2 {
    font-size: clamp(2.6rem,4vw,4.7rem)
}

.effect-library-bridge>div>p:not(.kicker) {
    color: #607085;
    line-height: 1.65
}

.effect-library-bridge a {
    align-self: flex-start;
    margin-top: 23px
}

.optical-capability-section {
    max-width: 1520px;
    margin: auto;
    padding: 92px 5vw
}

.optical-capability-section>header {
    display: grid;
    grid-template-columns: 1.12fr .88fr;
    gap: 9vw;
    margin-bottom: 48px
}

.optical-capability-section h2,.optical-development-route h2 {
    font-size: clamp(2.7rem,4.8vw,5.3rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 11px 0 0
}

.optical-capability-section>header>p {
    color: #607085;
    font-size: 1.03rem;
    line-height: 1.68;
    margin-top: 22px
}

.optical-platform-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #aeb8c1;
    border-left: 1px solid #aeb8c1
}

.optical-platform-grid article {
    display: grid;
    grid-template-columns: 38% 62%;
    min-height: 390px;
    border-right: 1px solid #aeb8c1;
    border-bottom: 1px solid #aeb8c1;
    background: rgba(255,255,255,.5)
}

.optical-platform-grid figure {
    margin: 0;
    overflow: hidden;
    background: #111820
}

.optical-platform-grid figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.85) contrast(1.05)
}

.optical-platform-grid article>div {
    padding: 34px
}

.optical-platform-grid span,.optical-development-route li>span {
    color: #ad7419;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em
}

.optical-platform-grid .kicker {
    margin: 24px 0 10px
}

.optical-platform-grid h3 {
    font-size: clamp(1.7rem,2.2vw,2.45rem);
    line-height: 1.05;
    margin: 0 0 17px
}

.optical-platform-grid p:not(.kicker) {
    color: #607085;
    line-height: 1.62
}

.optical-platform-grid small {
    display: block;
    margin-top: 25px;
    padding-top: 18px;
    border-top: 1px solid #c4cbd1;
    color: #13233a;
    font-weight: 800;
    line-height: 1.55
}

.advanced-effect-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    margin-top: 38px
}

.advanced-effect-grid article {
    padding: 27px 6% 10px 0;
    border-top: 1px solid #aeb8c1
}

.advanced-effect-grid article+article {
    border-left: 1px solid #aeb8c1;
    padding-left: 7%
}

.advanced-effect-grid h3 {
    font-size: 1.35rem;
    margin: 0 0 12px
}

.advanced-effect-grid p {
    color: #607085;
    line-height: 1.62;
    margin: 0
}

.optical-development-route {
    max-width: 1520px;
    margin: auto;
    padding: 20px 5vw 96px
}

.optical-development-route>header {
    max-width: 850px;
    margin-bottom: 42px
}

.optical-development-route ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    border-top: 1px solid #aeb8c1;
    border-bottom: 1px solid #aeb8c1
}

.optical-development-route li {
    min-height: 190px;
    padding: 28px 24px
}

.optical-development-route li+li {
    border-left: 1px solid #aeb8c1
}

.optical-development-route h3 {
    font-size: 1.2rem;
    line-height: 1.25;
    margin: 48px 0 0
}

.effect-route-links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 24px
}

.effect-route-links a {
    color: #13233a;
    text-decoration: none;
    font-weight: 800;
    border-bottom: 1px solid #13233a;
    padding-bottom: 5px;
    margin-top: 0
}

.optical-effect-system-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #aeb8c1;
    border-left: 1px solid #aeb8c1
}

.optical-effect-system-grid article {
    border-right: 1px solid #aeb8c1;
    border-bottom: 1px solid #aeb8c1;
    background: rgba(255,255,255,.5)
}

.optical-effect-system-grid figure {
    height: 250px;
    margin: 0;
    overflow: hidden;
    background: #111820
}

.optical-effect-system-grid img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: saturate(.9) contrast(1.06)
}

.optical-effect-system-grid article>div {
    padding: 29px 31px 34px;
    min-height: 220px
}

.optical-effect-system-grid span,.route-effect-list span {
    color: #ad7419;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em
}

.optical-effect-system-grid h3 {
    font-size: clamp(1.65rem,2vw,2.25rem);
    line-height: 1.05;
    margin: 24px 0 14px
}

.optical-effect-system-grid p {
    color: #607085;
    line-height: 1.62;
    margin: 0
}

.route-effect-section {
    max-width: 1520px;
    margin: auto;
    padding: 0 5vw 96px;
    display: grid;
    grid-template-columns: 1.08fr .92fr
}

.route-effect-section>figure {
    margin: 0;
    min-height: 640px;
    overflow: hidden;
    background: #111820
}

.route-effect-section>figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.route-effect-content {
    background: #fff;
    padding: 54px 52px
}

.route-effect-content>h2 {
    font-size: clamp(2.5rem,4vw,4.7rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 11px 0 21px
}

.route-effect-content>p:not(.kicker) {
    color: #607085;
    line-height: 1.65;
    margin-bottom: 30px
}

.route-effect-list {
    border-top: 1px solid #aeb8c1
}

.route-effect-list>a {
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: 15px;
    align-items: start;
    padding: 22px 0;
    border-bottom: 1px solid #aeb8c1;
    color: #13233a;
    text-decoration: none
}

.route-effect-list h3 {
    font-size: 1.35rem;
    line-height: 1.08;
    margin: 0 0 8px
}

.route-effect-list p {
    color: #607085;
    line-height: 1.45;
    margin: 0;
    font-size: .92rem
}

.route-effect-list b {
    font-size: .78rem;
    white-space: nowrap
}

.solution-project-cta {
    max-width: 1520px;
    margin: 0 auto 96px;
    padding: 72px 6vw;
    background: #13233a;
    color: #fff
}

.solution-project-cta h2 {
    max-width: 980px;
    font-size: clamp(2.7rem,4.8vw,5.3rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 12px 0 22px
}

.solution-project-cta>p:not(.kicker) {
    max-width: 720px;
    color: #c6cfda;
    font-size: 1.02rem;
    line-height: 1.65
}

.solution-project-cta .btn {
    margin-top: 22px
}

@media(max-width: 980px) {
    .solution-hero {
        grid-template-columns:1fr
    }

    .solution-hero-copy {
        padding: 30px 5vw 40px
    }

    .solution-hero-copy .breadcrumbs {
        margin-bottom: 25px
    }

    .solution-hero>figure {
        min-height: 320px
    }

    .solution-intro,.solution-advantages,.optical-use-section {
        grid-template-columns: 1fr;
        gap: 45px
    }

    .production-network>header,.optical-capability-section>header {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .production-network-grid {
        grid-template-columns: 1fr 1fr
    }

    .production-network-grid article:nth-child(3) {
        border-left: 0
    }

    .production-network-grid article:nth-child(n+3) {
        border-top: 1px solid #aeb8c1
    }

    .production-chain ol {
        grid-template-columns: 1fr 1fr
    }

    .production-chain li {
        border-bottom: 1px solid #5a6677
    }

    .optical-platform-grid {
        grid-template-columns: 1fr
    }

    .optical-platform-grid article {
        min-height: 340px
    }

    .optical-effect-system-grid {
        grid-template-columns: 1fr 1fr
    }

    .optical-effect-system-grid article:last-child {
        grid-column: 1/-1
    }

    .route-effect-section {
        grid-template-columns: 1fr
    }

    .route-effect-section>figure {
        min-height: 420px
    }

    .optical-development-route ol {
        grid-template-columns: repeat(3,1fr)
    }

    .optical-development-route li:nth-child(4) {
        border-left: 0
    }

    .optical-development-route li:nth-child(n+4) {
        border-top: 1px solid #aeb8c1
    }

    .solution-route-grid {
        grid-template-columns: 1fr
    }

    .solution-route-grid article {
        min-height: 0
    }

    .effect-library-bridge {
        grid-template-columns: 1fr
    }

    .effect-library-bridge figure {
        min-height: 360px
    }
}

@media(max-width: 720px) {
    .solution-hero-copy h1 {
        font-size:2.75rem
    }

    .solution-hero>figure {
        min-height: 250px
    }

    .solution-intro,.finished-format-section,.production-network,.production-chain,.solution-advantages,.solution-route-section,.optical-use-section,.optical-capability-section {
        padding-top: 64px;
        padding-bottom: 64px
    }

    .finished-format-section>header,.solution-route-section>header {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .finished-format-grid,.production-network-grid,.advantage-grid,.optical-solution-logic,.optical-use-grid,.advanced-effect-grid,.optical-effect-system-grid {
        grid-template-columns: 1fr
    }

    .optical-effect-system-grid article:last-child {
        grid-column: auto
    }

    .optical-effect-system-grid article>div {
        min-height: 0;
        padding: 26px
    }

    .optical-effect-system-grid figure {
        height: 220px
    }

    .route-effect-section {
        padding: 0 5vw 64px
    }

    .route-effect-section>figure {
        min-height: 280px
    }

    .route-effect-content {
        padding: 36px 25px
    }

    .route-effect-list>a {
        grid-template-columns: 30px 1fr
    }

    .route-effect-list b {
        display: none
    }

    .solution-project-cta {
        margin-bottom: 64px;
        padding: 54px 7vw
    }

    .finished-format-grid article {
        min-height: 0;
        padding: 30px
    }

    .production-network-grid article,.production-network-grid article+article {
        border-left: 0;
        padding: 27px 0
    }

    .production-network-grid article+article {
        border-top: 1px solid #aeb8c1
    }

    .production-chain ol {
        grid-template-columns: 1fr
    }

    .production-chain li+li {
        border-left: 0;
        padding-left: 0
    }

    .optical-solution-logic article+article,.advanced-effect-grid article+article {
        border-left: 0;
        padding-left: 0
    }

    .optical-platform-grid article {
        grid-template-columns: 1fr;
        min-height: 0
    }

    .optical-platform-grid figure {
        height: 240px
    }

    .optical-platform-grid article>div {
        padding: 28px
    }

    .optical-development-route {
        padding: 0 5vw 64px
    }

    .optical-development-route ol {
        grid-template-columns: 1fr
    }

    .optical-development-route li,.optical-development-route li:nth-child(4) {
        min-height: 0;
        border-left: 0;
        border-top: 1px solid #aeb8c1;
        padding: 24px 0
    }

    .optical-development-route h3 {
        margin: 20px 0 0
    }

    .solution-split-cta {
        grid-template-columns: 1fr
    }

    .solution-split-cta>div {
        min-height: 0;
        padding: 42px 7vw
    }

    .effect-library-bridge>div {
        padding: 36px 26px
    }

    .effect-library-bridge figure {
        min-height: 280px
    }
}

/* Compact inner-page hierarchy */
.solution-hero>figure figcaption,.film-new-hero figcaption,.optical-hero figcaption {
    display: none
}

.finished-format-section>header h2 {
    font-size: clamp(2.2rem,3.3vw,3.8rem);
    line-height: 1.02
}

.finished-format-grid h3,.production-network-grid h3,.optical-effect-system-grid h3,.film-application-routes h3 {
    margin-top: 0
}

.finished-format-grid article {
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden
}

.finished-format-image {
    margin: 0;
    aspect-ratio: 32/13;
    background: #eef0f1;
    border-bottom: 1px solid #aeb8c1;
    overflow: hidden
}

.finished-format-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.finished-format-copy {
    padding: 34px 40px 38px
}

.finished-format-copy h3 {
    margin: 0 0 18px
}

.finished-format-copy p {
    margin: 0
}

@media(max-width: 720px) {
    .finished-format-copy {
        padding:27px 28px 31px
    }

    .finished-format-image {
        aspect-ratio: 2/1
    }
}

.route-effect-list>a {
    grid-template-columns: 1fr auto
}

@media(min-width: 981px) {
    .solution-hero {
        min-height:370px
    }

    .solution-hero-copy {
        padding: 23px 6vw 30px 5vw
    }

    .solution-hero-copy .breadcrumbs {
        margin-bottom: 20px
    }

    .solution-hero-copy h1 {
        font-size: clamp(2.45rem,3.7vw,4.25rem);
        line-height: .97;
        margin: 10px 0 17px
    }

    .solution-hero-copy>p:not(.kicker) {
        font-size: 1rem;
        line-height: 1.56
    }

    .solution-hero-copy>div {
        margin-top: 21px
    }

    .solution-hero>figure {
        min-height: 370px
    }

    .optical-hero {
        height: 390px
    }

    .optical-hero-copy {
        padding-top: 26px;
        padding-bottom: 32px
    }

    .optical-hero .breadcrumbs {
        margin-bottom: 18px
    }

    .optical-hero h1 {
        font-size: clamp(40px,3.45vw,54px);
        margin: 9px 0 15px
    }

    .optical-hero-copy>p:not(.kicker) {
        font-size: 16px
    }

    .optical-hero-actions {
        margin-top: 22px
    }
}

/* Optical Materials overview follows the same catalogue rhythm as Tobacco Materials. */
.optical-material-page-head {
    background: #f7f7f4
}

.optical-material-page-head h1 {
    max-width: 900px
}

.optical-material-page-head .material-lede {
    max-width: 980px;
    color: #617084
}

.optical-platforms-catalog {
    padding-top: 0;
    background: #f7f7f4
}

@media(min-width: 901px) {
    .film-new-hero {
        min-height:360px
    }

    .film-new-hero>.breadcrumbs {
        margin-top: 22px
    }

    .film-new-hero-copy {
        padding-top: 28px;
        padding-bottom: 36px
    }

    .film-new-hero-copy h1 {
        font-size: clamp(2.55rem,3.65vw,4.35rem);
        line-height: .97;
        margin: 11px 0 17px
    }

    .film-new-hero-copy>p:not(.kicker) {
        font-size: 1rem;
        line-height: 1.55
    }

    .film-new-hero-copy>div {
        margin-top: 21px
    }

    .film-new-hero figure {
        min-height: 350px
    }
}

@media(max-width: 720px) {
    .route-effect-list>a {
        grid-template-columns:1fr
    }
}

/* Applications */
.applications-page main {
    background: #f4f3ef;
    color: #13233a
}

.applications-page .site-header nav>a.active {
    border-bottom: 1px solid #13233a;
    padding-bottom: 5px
}

.applications-hero {
    max-width: 1520px;
    min-height: 300px;
    margin: auto;
    padding: 23px 5vw 38px;
    border-bottom: 1px solid #b8c0c7
}

.applications-hero .breadcrumbs {
    margin-bottom: 32px
}

.applications-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 10vw;
    align-items: center
}

.applications-hero h1 {
    font-size: clamp(2.45rem,3.7vw,4.25rem);
    line-height: .97;
    letter-spacing: -.05em;
    margin: 10px 0 0
}

.applications-hero-grid>div:last-child {
    padding-bottom: 0
}

.applications-hero-grid>div:last-child>p {
    max-width: 590px;
    color: #5d6d81;
    font-size: 1rem;
    line-height: 1.56;
    margin: 0
}

.application-jump {
    position: sticky;
    top: 0;
    z-index: 12;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    max-width: 1520px;
    margin: auto;
    background: #13233a;
    color: #fff
}

.application-jump a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 68px;
    padding: 13px 18px;
    border-right: 1px solid #425064;
    text-align: center;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.25
}

.application-jump a:last-child {
    border-right: 0
}

.application-jump a:hover {
    background: #1e314b
}

.application-intro {
    max-width: 1520px;
    margin: auto;
    padding: 100px 5vw 75px;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 10vw
}

.application-intro h2 {
    max-width: 800px;
    font-size: clamp(3rem,5vw,5.8rem);
    line-height: .98;
    letter-spacing: -.05em;
    margin: 14px 0 0
}

.application-intro>p {
    align-self: end;
    color: #5d6d81;
    font-size: 1.03rem;
    line-height: 1.7;
    margin: 0 0 8px
}

.inspiration-group {
    max-width: 1520px;
    margin: auto;
    padding: 78px 5vw 92px;
    border-top: 1px solid #b8c0c7;
    scroll-margin-top: 68px
}

.inspiration-group>header {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 10vw;
    margin-bottom: 42px
}

.inspiration-group h2 {
    max-width: 780px;
    font-size: clamp(2.5rem,4.15vw,4.8rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 12px 0 0
}

.inspiration-group>header>p {
    align-self: end;
    color: #5d6d81;
    font-size: 1rem;
    line-height: 1.7;
    margin: 0 0 6px
}

.inspiration-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}

.inspiration-card {
    display: grid;
    grid-template-columns: 57% 43%;
    height: 390px;
    min-height: 0;
    background: #fff;
    border: 1px solid #ccd1d4;
    overflow: hidden
}

.inspiration-card figure {
    margin: 0;
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    background: #d8dce0
}

.inspiration-card figure img {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    object-fit: cover;
    transition: transform .65s cubic-bezier(.2,.7,.2,1)
}

.inspiration-card>div {
    display: flex;
    flex-direction: column;
    padding: 32px 28px
}

.inspiration-card>div>p {
    color: #ad7419;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .12em;
    margin: 0
}

.inspiration-card>div>em {
    display: inline-block;
    align-self: flex-start;
    margin-top: 13px;
    padding: 6px 8px;
    background: #edf0f2;
    color: #4f6073;
    font-size: .62rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase
}

.inspiration-card h3 {
    font-size: clamp(1.55rem,2vw,2.2rem);
    line-height: 1.05;
    letter-spacing: -.035em;
    margin: 30px 0 18px
}

.inspiration-card span {
    color: #68778a;
    font-size: .82rem;
    line-height: 1.55
}

.inspiration-card b {
    margin-top: auto;
    padding-top: 28px;
    font-size: .76rem
}

.inspiration-card:hover figure img {
    transform: scale(1.035)
}

.inspiration-card:hover b {
    color: #ad7419
}

.inspiration-note {
    max-width: 1368px;
    margin: 0 auto 92px;
    padding: 30px 34px;
    display: grid;
    grid-template-columns: .65fr 1.35fr;
    gap: 50px;
    border: 1px solid #b9c1c8;
    background: #e9eae7
}

.inspiration-note strong {
    font-size: 1.02rem
}

.inspiration-note p {
    margin: 0;
    color: #617085;
    line-height: 1.6
}

.application-contact {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 9vw;
    padding: 78px max(5vw,calc((100vw - 1520px)/2 + 5vw));
    background: #13233a;
    color: #fff
}

.application-contact h2 {
    max-width: 820px;
    font-size: clamp(2.7rem,4.8vw,5.3rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 13px 0 0
}

.application-contact>div:last-child {
    align-self: end
}

.application-contact>div:last-child>p {
    max-width: 590px;
    color: #c3ccd6;
    line-height: 1.65;
    margin: 0 0 28px
}

.application-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.btn.outline-light {
    border: 1px solid #fff;
    background: transparent;
    color: #fff
}

.btn.outline-light:hover {
    background: #fff;
    color: #13233a
}

@media(max-width: 1050px) {
    .applications-hero-grid,.application-intro,.inspiration-group>header {
        grid-template-columns:1fr;
        gap: 25px
    }

    .application-jump {
        grid-template-columns: repeat(3,1fr)
    }

    .application-jump a {
        border-bottom: 1px solid #425064
    }

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

    .inspiration-card {
        height: 360px
    }

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

@media(max-width: 680px) {
    .applications-hero {
        min-height:0;
        padding: 24px 20px 34px
    }

    .applications-hero .breadcrumbs {
        margin-bottom: 24px
    }

    .applications-hero h1 {
        font-size: 2.75rem
    }

    .application-jump {
        position: static;
        grid-template-columns: 1fr 1fr
    }

    .application-jump a {
        min-height: 58px
    }

    .application-intro,.inspiration-group {
        padding: 62px 20px
    }

    .inspiration-card {
        grid-template-columns: 1fr;
        height: auto;
        min-height: 0
    }

    .inspiration-card figure {
        min-height: 260px;
        height: 260px
    }

    .inspiration-card>div {
        min-height: 270px;
        padding: 26px 23px
    }

    .inspiration-card h3 {
        margin-top: 32px
    }

    .inspiration-note {
        margin: 0 20px 62px;
        grid-template-columns: 1fr;
        gap: 12px
    }

    .application-contact {
        padding: 58px 20px
    }
}

/* Applications gallery details */
.inspiration-card {
    width: 100%;
    padding: 0;
    text-align: left;
    color: #13233a;
    font: inherit;
    cursor: pointer
}

.inspiration-card:focus-visible {
    outline: 3px solid #ad7419;
    outline-offset: 3px
}

.application-modal {
    width: min(1180px,92vw);
    max-height: 86vh;
    padding: 0;
    border: 0;
    background: #f4f3ef;
    color: #13233a;
    box-shadow: 0 28px 90px rgba(8,20,38,.3)
}

.application-modal::backdrop {
    background: rgba(5,15,28,.78)
}

.application-modal-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    min-height: min(710px,86vh)
}

.application-modal figure {
    min-height: 0;
    margin: 0;
    background: #d8dce0;
    overflow: hidden
}

.application-modal figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.application-modal-content {
    display: flex;
    flex-direction: column;
    padding: 38px 44px 36px
}

.application-modal-content h2 {
    font-size: clamp(2.25rem,3.25vw,3.7rem);
    line-height: .96;
    letter-spacing: -.05em;
    margin: 11px 0 25px
}

.application-modal dl {
    margin: 0
}

.application-modal dl>div {
    display: grid;
    grid-template-columns: 118px 1fr;
    gap: 18px;
    padding: 13px 0;
    border-top: 1px solid #b8c0c7
}

.application-modal dl>div:last-child {
    border-bottom: 1px solid #b8c0c7
}

.application-modal dt {
    color: #6b7889;
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .09em
}

.application-modal dd {
    margin: 0;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.4
}

.application-modal-content .btn {
    align-self: flex-start;
    margin-top: auto
}

.application-modal-close {
    position: absolute;
    right: 15px;
    top: 12px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 0;
    background: #13233a;
    color: #fff;
    font-size: 1.7rem;
    line-height: 1;
    cursor: pointer
}

.application-modal[open] {
    animation: modal-in .25s ease-out
}

@keyframes modal-in {
    from {
        opacity: 0;
        transform: translateY(12px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

body.modal-open {
    overflow: hidden
}

.film-two-route-grid article,.foil-platform-grid article {
    scroll-margin-top: 88px
}

.application-modal {
    overflow: hidden
}

.application-modal-figure {
    position: relative
}

.application-gallery-arrow {
    display: none;
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 44px;
    height: 44px;
    place-items: center;
    transform: translateY(-50%);
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 50%;
    background: rgba(19,35,58,.78);
    color: #fff;
    font-size: 1.8rem;
    line-height: 1;
    cursor: pointer
}

.application-modal-figure.has-gallery .application-gallery-arrow {
    display: grid
}

.application-gallery-prev {
    left: 18px
}

.application-gallery-next {
    right: 18px
}

.application-gallery-meta {
    display: none;
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 2;
    align-items: center;
    justify-content: space-between;
    padding: 9px 12px;
    background: rgba(19,35,58,.82);
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase
}

.application-modal-figure.has-gallery .application-gallery-meta {
    display: flex
}

@media(max-width: 900px) {
    .application-modal {
        overflow:auto
    }

    .application-modal-grid {
        grid-template-columns: 1fr;
        min-height: 0
    }

    .application-modal figure {
        min-height: 320px;
        height: 320px
    }

    .application-modal-content {
        padding: 38px 30px
    }

    .application-modal-content .btn {
        margin-top: 28px
    }
}

@media(max-width: 680px) {
    .application-modal {
        width:94vw
    }

    .application-modal figure {
        height: 245px;
        min-height: 245px
    }

    .application-modal-content {
        padding: 30px 22px
    }

    .application-modal-content h2 {
        font-size: 2.35rem;
        margin-bottom: 25px
    }

    .application-modal dl>div {
        grid-template-columns: 1fr;
        gap: 5px
    }

    .application-modal-close {
        right: 8px;
        top: 8px
    }
}

.inspiration-card figure.photo-contain,.application-modal figure img.photo-contain {
    background: #17191b
}

.inspiration-card figure.photo-contain img,.application-modal figure img.photo-contain {
    object-fit: contain
}

.inspiration-card figure.photo-contain.photo-light {
    background: #f3f1eb
}

.material-possibilities {
    padding: 88px max(6vw,28px);
    background: #f4f3ef;
    border-top: 1px solid #d4d7da
}

.material-possibilities>header {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(280px,.65fr);
    gap: 8vw;
    align-items: end;
    margin-bottom: 34px
}

.material-possibilities>header h2 {
    max-width: 780px;
    margin: 10px 0 0;
    font-size: clamp(2.2rem,4vw,4.6rem);
    line-height: .98;
    letter-spacing: -.05em
}

.material-possibilities>header>p {
    max-width: 560px;
    margin: 0;
    color: #5d6d80;
    line-height: 1.65
}

.material-possibility-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px
}

.material-possibility-grid figure {
    margin: 0;
    background: #fff;
    border: 1px solid #ced3d8
}

.material-possibility-grid img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover
}

.material-possibility-grid figcaption {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 18px 20px
}

.material-possibility-grid b {
    font-size: 1rem
}

.material-possibility-grid span {
    color: #667588;
    font-size: .78rem
}

.material-possibilities>footer {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-top: 30px
}

.material-possibilities .text-link {
    color: #13233a
}

@media(max-width: 850px) {
    .material-possibilities>header {
        grid-template-columns:1fr;
        gap: 18px
    }

    .material-possibility-grid {
        grid-template-columns: 1fr 1fr
    }

    .material-possibility-grid figure:last-child {
        grid-column: 1/-1
    }

    .material-possibility-grid img {
        height: 260px
    }
}

@media(max-width: 560px) {
    .material-possibilities {
        padding:62px 20px
    }

    .material-possibility-grid {
        grid-template-columns: 1fr
    }

    .material-possibility-grid figure:last-child {
        grid-column: auto
    }

    .material-possibility-grid img {
        height: 235px
    }

    .material-possibilities>footer {
        align-items: flex-start;
        flex-direction: column
    }
}

/* Application case detail */
.case-page main {
    background: #f4f3ef;
    color: #13233a
}

.case-hero {
    max-width: 1520px;
    margin: auto;
    padding: 23px 5vw 54px
}

.case-hero .breadcrumbs {
    margin-bottom: 24px
}

.case-hero-grid {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 6vw;
    align-items: stretch
}

.case-hero-copy {
    display: flex;
    flex-direction: column;
    padding: 28px 0 10px
}

.case-hero h1 {
    font-size: clamp(2.7rem,4.4vw,5.3rem);
    line-height: .94;
    letter-spacing: -.052em;
    margin: 12px 0 22px
}

.case-hero-copy>p:not(.kicker) {
    max-width: 590px;
    color: #5d6d81;
    font-size: 1.04rem;
    line-height: 1.68
}

.case-hero-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: auto;
    border-top: 1px solid #b8c0c7
}

.case-hero-meta div {
    padding: 18px 18px 0 0
}

.case-hero-meta div+div {
    border-left: 1px solid #b8c0c7;
    padding-left: 18px
}

.case-hero-meta span {
    display: block;
    color: #ad7419;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .12em;
    margin-bottom: 7px
}

.case-hero-meta strong {
    font-size: .9rem;
    line-height: 1.45
}

.case-hero figure {
    min-height: 540px;
    margin: 0;
    overflow: hidden;
    background: #d9dce0
}

.case-hero figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.case-summary {
    max-width: 1520px;
    margin: auto;
    padding: 82px 5vw;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 10vw;
    border-top: 1px solid #b8c0c7
}

.case-summary h2,.case-process h2,.case-material h2 {
    font-size: clamp(2.55rem,4.4vw,5rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 12px 0 0
}

.case-summary-copy>p {
    color: #5d6d81;
    font-size: 1.08rem;
    line-height: 1.75;
    margin: 0 0 32px
}

.case-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #b8c0c7
}

.case-facts div {
    padding: 22px 20px 21px 0;
    border-bottom: 1px solid #b8c0c7
}

.case-facts div:nth-child(even) {
    padding-left: 20px;
    border-left: 1px solid #b8c0c7
}

.case-facts span {
    display: block;
    color: #6a7889;
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .11em;
    margin-bottom: 9px
}

.case-facts strong {
    font-size: .94rem
}

.case-process {
    max-width: 1520px;
    margin: auto;
    padding: 82px 5vw 96px;
    border-top: 1px solid #b8c0c7
}

.case-process>header {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 10vw;
    margin-bottom: 44px
}

.case-process>header>p {
    align-self: end;
    color: #5d6d81;
    line-height: 1.7;
    margin: 0
}

.case-process ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #13233a;
    border-bottom: 1px solid #13233a
}

.case-process li {
    min-height: 245px;
    padding: 28px 30px 30px 0
}

.case-process li+li {
    border-left: 1px solid #b8c0c7;
    padding-left: 30px
}

.case-process b {
    display: block;
    color: #ad7419;
    font-size: .7rem;
    letter-spacing: .12em
}

.case-process h3 {
    font-size: 1.65rem;
    line-height: 1.08;
    margin: 50px 0 16px
}

.case-process p {
    color: #657488;
    line-height: 1.62;
    margin: 0
}

.case-material {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1520px;
    margin: auto;
    background: #13233a;
    color: #fff
}

.case-material figure {
    min-height: 500px;
    margin: 0;
    overflow: hidden
}

.case-material figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.case-material>div {
    padding: 64px 6vw
}

.case-material>div>p:not(.kicker) {
    color: #c2cbd5;
    line-height: 1.72;
    margin: 28px 0 34px
}

.case-material-list {
    display: grid;
    gap: 0;
    border-top: 1px solid #526073
}

.case-material-list div {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid #526073
}

.case-material-list span {
    color: #b9c4d1
}

.case-material-list strong {
    font-size: .9rem
}

.case-disclaimer {
    max-width: 1368px;
    margin: 72px auto;
    padding: 28px 34px;
    border: 1px solid #b9c1c8;
    background: #e9eae7;
    color: #617085;
    line-height: 1.65
}

.case-disclaimer strong {
    color: #13233a
}

.case-next {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1520px;
    margin: auto;
    border-top: 1px solid #b8c0c7
}

.case-next a {
    padding: 52px 5vw;
    color: #13233a
}

.case-next a:last-child {
    background: #13233a;
    color: #fff
}

.case-next span {
    display: block;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    margin-bottom: 13px;
    color: #ad7419
}

.case-next strong {
    font-size: clamp(1.5rem,2.3vw,2.7rem);
    line-height: 1.05
}

.compact-case-summary {
    padding-bottom: 68px
}

.case-value {
    max-width: 1520px;
    margin: auto;
    padding: 68px 5vw;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 10vw;
    border-top: 1px solid #b8c0c7
}

.case-value h2 {
    font-size: clamp(2.35rem,3.8vw,4.45rem);
    line-height: .98;
    letter-spacing: -.045em;
    margin: 12px 0 0
}

.case-value ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #13233a
}

.case-value li {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 30px;
    padding: 20px 0;
    border-bottom: 1px solid #b8c0c7
}

.case-value li strong {
    font-size: 1rem
}

.case-value li span {
    color: #657488;
    line-height: 1.55
}

.case-note {
    max-width: 1368px;
    margin: 42px auto;
    padding: 0 34px;
    color: #6a7889;
    font-size: .82rem;
    line-height: 1.6
}

.case-note strong {
    color: #13233a
}

@media(max-width: 980px) {
    .case-hero-grid,.case-summary,.case-process>header {
        grid-template-columns:1fr
    }

    .case-hero figure {
        min-height: 420px
    }

    .case-process ol {
        grid-template-columns: 1fr
    }

    .case-process li {
        min-height: 0;
        padding: 26px 0
    }

    .case-process li+li {
        border-left: 0;
        border-top: 1px solid #b8c0c7;
        padding-left: 0
    }

    .case-process h3 {
        margin-top: 30px
    }

    .case-material {
        grid-template-columns: 1fr
    }

    .case-material figure {
        min-height: 420px
    }
}

@media(max-width: 980px) {
    .case-value {
        grid-template-columns:1fr;
        gap: 35px
    }
}

@media(max-width: 680px) {
    .case-hero {
        padding:24px 20px 42px
    }

    .case-hero-copy {
        padding-top: 10px
    }

    .case-hero h1 {
        font-size: 2.75rem
    }

    .case-hero figure {
        min-height: 290px
    }

    .case-summary,.case-process {
        padding: 62px 20px
    }

    .case-facts {
        grid-template-columns: 1fr
    }

    .case-facts div:nth-child(even) {
        padding-left: 0;
        border-left: 0
    }

    .case-material figure {
        min-height: 290px
    }

    .case-material>div {
        padding: 48px 20px
    }

    .case-material-list div {
        grid-template-columns: 1fr;
        gap: 7px
    }

    .case-disclaimer {
        margin: 48px 20px;
        padding: 24px
    }

    .case-next {
        grid-template-columns: 1fr
    }

    .case-next a {
        padding: 38px 20px
    }
}

@media(max-width: 680px) {
    .case-value {
        padding:54px 20px
    }

    .case-value li {
        grid-template-columns: 1fr;
        gap: 8px
    }

    .case-note {
        margin: 34px auto;
        padding: 0 20px
    }
}

.product-viewer {
    position: relative;
    height: 275px;
    overflow: hidden;
    background: linear-gradient(135deg,#f4f3ef,#e5e5e2)
}

.product-viewer>img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center
}

.viewer-arrow {
    display: none;
    position: absolute;
    top: 50%;
    width: 38px;
    height: 38px;
    margin-top: -19px;
    border: 1px solid rgba(19,35,58,.2);
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    color: #13233a;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 18px rgba(14,31,52,.12)
}

.product-viewer.has-gallery .viewer-arrow {
    display: grid;
    place-items: center
}

.viewer-prev {
    left: 12px
}

.viewer-next {
    right: 12px
}

.viewer-meta {
    position: absolute;
    right: 12px;
    bottom: 10px;
    left: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none
}

.viewer-caption {
    padding: 6px 9px;
    background: rgba(19,35,58,.88);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase
}

.viewer-dots {
    display: flex;
    gap: 5px
}

.viewer-dots i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(19,35,58,.28)
}

.viewer-dots i.active {
    background: #b7862e
}

@media(max-width: 1050px) {
    .product-viewer {
        height:260px
    }
}

@media(max-width: 760px) {
    .product-viewer {
        height:225px
    }
}

.cigarette-board-page .product-viewer {
    width: min(100%,520px);
    height: auto;
    aspect-ratio: 1;
    margin: 16px auto 0
}

@media(max-width: 760px) {
    .cigarette-board-page .product-viewer {
        width:min(100%,420px);
        height: auto
    }
}

#metallized .product-viewer {
    padding: 20px 12% 24px;
    box-sizing: border-box
}

#metallized .product-viewer>img {
    max-width: 760px;
    margin: 0 auto
}

@media(max-width: 760px) {
    #metallized .product-viewer {
        padding:16px 13% 22px
    }
}

/* Tobacco components: overwrap film and tear tape */
.component-product-page main {
    background: #f6f5f2;
    color: #13233a
}

.component-hero {
    max-width: 1520px;
    margin: auto;
    padding: 26px max(3.8vw,36px) 70px;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 58px 7vw
}

.component-hero .breadcrumbs {
    grid-column: 1/-1;
    margin-bottom: 10px
}

.component-hero-copy {
    align-self: center
}

.component-hero h1 {
    max-width: 800px;
    margin: 12px 0 22px;
    font-size: clamp(3rem,5.8vw,6.8rem);
    line-height: .91;
    letter-spacing: -.058em
}

.component-hero-copy>p:not(.kicker) {
    max-width: 680px;
    margin: 0 0 30px;
    color: #5c6d81;
    font-size: 1.12rem;
    line-height: 1.58
}

.component-hero-copy>div {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap
}

.component-hero-media {
    align-self: end;
    margin: 0;
    border: 1px solid #cfd3d6;
    background: #fff
}

.component-hero-media img {
    display: block;
    width: 100%;
    height: 360px;
    object-fit: contain;
    padding: 7%;
    box-sizing: border-box;
    background: linear-gradient(135deg,#f8f8f6,#e8e8e5)
}

.component-hero-media figcaption {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px;
    border-top: 1px solid #d4d7d9
}

.component-hero-media figcaption span {
    color: #667588;
    text-align: right
}

.component-summary {
    max-width: 1520px;
    margin: auto;
    padding: 78px max(3.8vw,36px);
    border-top: 1px solid #cbd0d4;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8vw;
    align-items: end
}

.component-summary h2,.component-performance h2,.component-spec-intro h2,.component-solutions h2,.tear-range h2,.tear-customization h2 {
    margin: 8px 0 0;
    font-size: clamp(2.5rem,4.6vw,5.2rem);
    line-height: .98;
    letter-spacing: -.045em
}

.component-summary>p {
    margin: 0;
    color: #5c6d81;
    font-size: 1.12rem;
    line-height: 1.7
}

.component-performance,.tear-range {
    max-width: 1520px;
    margin: auto;
    padding: 82px max(3.8vw,36px)
}

.component-performance header,.tear-range header {
    display: grid;
    grid-template-columns: .7fr 1.5fr;
    gap: 6vw;
    margin-bottom: 38px
}

.component-feature-grid,.tear-range-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #aeb6bd;
    border-bottom: 1px solid #aeb6bd
}

.component-feature-grid article,.tear-range-grid article {
    min-height: 250px;
    padding: 28px 9% 30px 0
}

.component-feature-grid article+article,.tear-range-grid article+article {
    padding-left: 9%;
    border-left: 1px solid #aeb6bd
}

.component-feature-grid article>b,.tear-range-grid article>span {
    display: block;
    margin-bottom: 42px;
    color: #b17a22;
    font-size: .78rem;
    letter-spacing: .12em
}

.component-feature-grid h3,.tear-range-grid h3 {
    margin: 0 0 14px;
    font-size: 1.55rem
}

.component-feature-grid p,.tear-range-grid p {
    margin: 0;
    color: #657487;
    line-height: 1.6
}

.tear-range-grid article>b {
    display: block;
    margin-top: 22px;
    font-size: .77rem;
    line-height: 1.45;
    color: #13233a
}

.component-spec-section {
    background: #13233a;
    color: #fff;
    padding: 88px max(3.8vw,calc((100vw - 1520px)/2 + 3.8vw));
    display: grid;
    grid-template-columns: .72fr 1.35fr;
    gap: 6vw
}

.component-spec-intro p:last-child {
    max-width: 500px;
    color: #bdc8d4;
    line-height: 1.65
}

.component-spec-table {
    align-self: start;
    border-top: 1px solid #576476
}

.component-spec-table>div {
    display: grid;
    grid-template-columns: .8fr 1.45fr .75fr;
    border-bottom: 1px solid #576476
}

.component-spec-table>div>* {
    padding: 14px 16px;
    border-left: 1px solid #576476;
    font-size: .9rem;
    line-height: 1.4
}

.component-spec-table>div>*:last-child {
    border-right: 1px solid #576476
}

.component-spec-table .spec-head {
    background: #203550
}

.component-spec-table strong {
    font-weight: 700
}

.component-spec-table span {
    color: #d6dde5
}

.component-solutions {
    max-width: 1520px;
    margin: auto;
    padding: 88px max(3.8vw,36px);
    display: grid;
    grid-template-columns: .72fr 1.35fr;
    gap: 6vw
}

.component-solution-list {
    border-top: 1px solid #b8bfc6
}

.component-solution-list article {
    display: grid;
    grid-template-columns: .72fr 1.3fr;
    gap: 30px;
    padding: 22px 0;
    border-bottom: 1px solid #b8bfc6
}

.component-solution-list h3 {
    margin: 0;
    font-size: 1.15rem
}

.component-solution-list p {
    margin: 0;
    color: #657487;
    line-height: 1.55
}

.tear-range {
    background: #fff;
    max-width: none;
    padding-left: max(3.8vw,calc((100vw - 1520px)/2 + 3.8vw));
    padding-right: max(3.8vw,calc((100vw - 1520px)/2 + 3.8vw))
}

.tear-customization {
    max-width: 1520px;
    margin: auto;
    padding: 88px max(3.8vw,36px);
    display: grid;
    grid-template-columns: .75fr 1.35fr;
    gap: 6vw
}

.tear-customization-intro>p:last-child {
    color: #657487;
    line-height: 1.65
}

.tear-customization-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #b8bfc6
}

.tear-customization-grid article {
    padding: 25px 7% 25px 0;
    border-bottom: 1px solid #b8bfc6
}

.tear-customization-grid article:nth-child(even) {
    padding-left: 7%;
    border-left: 1px solid #b8bfc6
}

.tear-customization-grid h3 {
    margin: 0 0 14px
}

.tear-customization-grid ul {
    margin: 0;
    padding-left: 18px;
    color: #657487;
    line-height: 1.65
}

.tear-performance {
    background: #fff;
    max-width: none;
    padding-left: max(3.8vw,calc((100vw - 1520px)/2 + 3.8vw));
    padding-right: max(3.8vw,calc((100vw - 1520px)/2 + 3.8vw))
}

.component-product-page .board-guidance {
    max-width: calc(1520px - 7.6vw);
    margin-left: auto;
    margin-right: auto
}

.component-product-page .tipping-note {
    max-width: calc(1520px - 7.6vw);
    margin-left: auto;
    margin-right: auto
}

@media(max-width: 1050px) {
    .component-hero {
        grid-template-columns:1fr;
        gap: 35px
    }

    .component-hero-media {
        width: 100%
    }

    .component-summary,.component-spec-section,.component-solutions,.tear-customization {
        grid-template-columns: 1fr
    }

    .component-feature-grid,.tear-range-grid {
        grid-template-columns: 1fr 1fr
    }

    .component-feature-grid article:nth-child(3),.tear-range-grid article:nth-child(3) {
        border-left: 0
    }

    .component-feature-grid article:nth-child(n+3),.tear-range-grid article:nth-child(n+3) {
        border-top: 1px solid #aeb6bd
    }

    .component-performance header,.tear-range header {
        grid-template-columns: 1fr
    }

    .component-product-page .board-guidance,.component-product-page .tipping-note {
        margin-left: 36px;
        margin-right: 36px
    }
}

@media(max-width: 680px) {
    .component-hero {
        padding:22px 20px 48px
    }

    .component-hero h1 {
        font-size: 3.05rem
    }

    .component-hero-media img {
        height: 230px
    }

    .component-hero-media figcaption {
        display: block
    }

    .component-hero-media figcaption span {
        display: block;
        margin-top: 6px;
        text-align: left
    }

    .component-summary,.component-performance,.tear-range,.component-solutions,.tear-customization {
        padding: 58px 20px
    }

    .component-summary {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .component-feature-grid,.tear-range-grid,.tear-customization-grid {
        grid-template-columns: 1fr
    }

    .component-feature-grid article,.tear-range-grid article {
        min-height: 0;
        padding: 24px 0
    }

    .component-feature-grid article+article,.tear-range-grid article+article,.component-feature-grid article:nth-child(3),.tear-range-grid article:nth-child(3) {
        padding-left: 0;
        border-left: 0;
        border-top: 1px solid #aeb6bd
    }

    .component-feature-grid article>b,.tear-range-grid article>span {
        margin-bottom: 24px
    }

    .component-spec-section {
        padding: 58px 20px
    }

    .component-spec-table {
        overflow-x: auto
    }

    .component-spec-table>div {
        min-width: 680px
    }

    .component-solutions {
        gap: 30px
    }

    .component-solution-list article {
        grid-template-columns: 1fr;
        gap: 8px
    }

    .tear-customization-grid article,.tear-customization-grid article:nth-child(even) {
        padding: 22px 0;
        border-left: 0
    }

    .component-product-page .board-guidance,.component-product-page .tipping-note {
        margin-left: 16px;
        margin-right: 16px
    }
}

.bopp-board-head {
    padding-bottom: 24px
}

.bopp-single-panel {
    padding-top: 20px
}

.bopp-single-panel .board-detail {
    grid-template-columns: minmax(0,1.65fr) minmax(360px,.85fr);
    border: 1px solid #cfd3d6;
    background: #fff
}

.bopp-single-panel .board-detail-main>img {
    width: min(100%,620px);
    height: 240px;
    margin: 18px auto 0;
    object-fit: contain;
    background: #fff;
    border: 1px solid #e1e3e4
}

.bopp-performance-strip {
    display: grid;
    grid-template-columns: 1fr 1.7fr;
    gap: 50px;
    margin: 8px max(3.8vw,36px) 28px;
    padding: 30px;
    border: 1px solid #d0d3d5;
    background: #fff
}

.bopp-performance-strip h2 {
    max-width: 460px;
    margin: 8px 0 0;
    color: #13233a;
    font-size: 31px;
    line-height: 1.08;
    letter-spacing: -.035em
}

.bopp-performance-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    border-top: 1px solid #d7d9db
}

.bopp-performance-grid span {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 15px 18px 13px 0;
    border-bottom: 1px solid #d7d9db;
    color: #647184;
    font-size: 11px
}

.bopp-performance-grid span:nth-child(even) {
    padding-left: 18px;
    border-left: 1px solid #d7d9db
}

.bopp-performance-grid b {
    color: #13233a;
    font-size: 13px
}

@media(max-width: 900px) {
    .bopp-single-panel .board-detail {
        grid-template-columns:1fr
    }

    .bopp-performance-strip {
        grid-template-columns: 1fr
    }

    .bopp-performance-grid {
        grid-template-columns: 1fr
    }

    .bopp-performance-grid span:nth-child(even) {
        padding-left: 0;
        border-left: 0
    }
}

@media(max-width: 680px) {
    .bopp-single-panel {
        padding-top:12px
    }

    .bopp-single-panel .board-detail-main>img {
        width: min(100%,320px);
        height: 190px
    }

    .bopp-performance-strip {
        margin: 8px 16px 24px;
        padding: 24px 20px
    }

    .bopp-performance-grid {
        grid-template-columns: 1fr
    }
}

/* Material sourcing and documentation */
.documentation-panel {
    max-width: 1520px;
    margin: 42px auto 28px;
    padding: 36px max(3.8vw,36px);
    display: grid;
    grid-template-columns: 1.2fr 1fr auto;
    gap: 36px;
    align-items: center;
    border-top: 1px solid #b9c0c7;
    border-bottom: 1px solid #b9c0c7;
    background: #eef0f1;
    color: #13233a
}

.documentation-panel h2 {
    margin: 7px 0 10px;
    font-size: clamp(1.8rem,2.8vw,3.2rem);
    line-height: 1;
    letter-spacing: -.035em
}

.documentation-panel p {
    margin: 0;
    color: #5d6d80;
    line-height: 1.55
}

.documentation-panel ul {
    margin: 0;
    padding-left: 20px;
    color: #44566c;
    line-height: 1.8
}

.documentation-panel>a {
    white-space: nowrap;
    color: #9a6b1d
}

.documentation-panel.documentation-overview {
    margin-top: 0;
    margin-bottom: 0;
    background: #fff
}

.documentation-nonpaper {
    background: #f2f1ee
}

.solution-documentation {
    max-width: 1520px;
    margin: auto;
    padding: 68px max(3.8vw,36px);
    display: grid;
    grid-template-columns: 1.05fr 1.15fr auto;
    gap: 5vw;
    align-items: end;
    border-top: 1px solid #b9c0c7
}

.solution-documentation h2 {
    margin: 8px 0 0;
    font-size: clamp(2.2rem,3.8vw,4.5rem);
    line-height: 1;
    letter-spacing: -.045em
}

.solution-documentation>p {
    margin: 0;
    color: #5d6d80;
    font-size: 1.05rem;
    line-height: 1.65
}

.solution-documentation>a {
    white-space: nowrap;
    color: #9a6b1d
}

.sustain-facts {
    flex-wrap: wrap
}

@media(max-width: 1050px) {
    .documentation-panel,.solution-documentation {
        grid-template-columns:1fr;
        align-items: start
    }

    .documentation-panel>a,.solution-documentation>a {
        white-space: normal
    }
}

@media(max-width: 680px) {
    .documentation-panel {
        margin:30px 16px 24px;
        padding: 28px 22px;
        gap: 22px
    }

    .documentation-panel.documentation-overview {
        margin-left: 0;
        margin-right: 0;
        padding-left: 20px;
        padding-right: 20px
    }

    .solution-documentation {
        padding: 52px 20px;
        gap: 24px
    }
}

.available-grades {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0 4px
}

.available-grades span {
    margin-right: 2px;
    color: #9a6b1d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase
}

.available-grades b {
    padding: 6px 10px;
    background: #eef0f1;
    color: #13233a;
    font-size: 12px;
    font-weight: 700
}

.selector-eyebrow {
    margin: 0 0 10px;
    color: #9a6b1d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase
}

.board-selector.single-option {
    grid-template-columns: 1fr
}

.board-selector.single-option>.board-selector-nav {
    display: none
}

.board-selector.single-option>.selector-eyebrow {
    display: none
}

.material-possibilities>footer {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    justify-content: flex-start;
    gap: 25px;
    margin-top: 30px;
    padding: 0;
    background: transparent;
    color: #13233a
}

.material-possibilities>footer .btn.dark {
    color: #fff
}

@media(max-width: 560px) {
    .material-possibilities>footer {
        align-items:flex-start;
        flex-direction: column
    }
}

.compact-possibilities {
    padding-top: 58px;
    padding-bottom: 64px
}

.compact-possibilities>header {
    display: block;
    margin: 0 0 20px
}

.compact-possibilities .material-possibility-grid {
    max-width: 1180px;
    gap: 16px
}

.compact-possibilities .material-possibility-grid figure {
    position: relative;
    overflow: hidden;
    background: #fff
}

.compact-possibilities .material-possibility-grid img {
    height: 210px;
    object-fit: contain;
    transition: transform .35s ease
}

.compact-possibilities .material-possibility-grid figcaption {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 18px;
    background: linear-gradient(180deg,transparent 48%,rgba(11,29,51,.82));
    color: #fff;
    opacity: 0;
    transition: opacity .25s ease
}

.compact-possibilities .material-possibility-grid figcaption {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 4px
}

.compact-possibilities .material-possibility-grid figcaption b {
    font-size: 15px
}

.compact-possibilities .material-possibility-grid figcaption span {
    font-size: 11px;
    color: #e2e8ee
}

.compact-possibilities .material-possibility-grid figure:hover img {
    transform: scale(1.025)
}

.compact-possibilities .material-possibility-grid figure:hover figcaption {
    opacity: 1
}

@media(max-width: 850px) {
    .compact-possibilities .material-possibility-grid img {
        height:190px
    }
}

@media(max-width: 560px) {
    .compact-possibilities {
        padding-top:46px;
        padding-bottom: 48px
    }

    .compact-possibilities .material-possibility-grid img {
        height: 220px
    }

    .compact-possibilities .material-possibility-grid figcaption {
        opacity: 1
    }
}

/* Keep product imagery compact within the technical information panel. */
.cigarette-board-page .product-viewer {
    height: 210px
}

#metallized .product-viewer {
    padding: 12px 15% 18px
}

@media(max-width: 1050px) {
    .cigarette-board-page .product-viewer {
        height:195px
    }
}

@media(max-width: 760px) {
    .cigarette-board-page .product-viewer {
        height:180px
    }

    #metallized .product-viewer {
        padding: 10px 14% 16px
    }
}

.tear-board-head {
    padding-bottom: 24px
}

.tear-single-panel {
    padding-top: 20px
}

.tear-single-panel .board-detail {
    grid-template-columns: minmax(0,1.65fr) minmax(360px,.85fr);
    border: 1px solid #cfd3d6;
    background: #fff
}

.tear-single-panel .board-detail-main>img {
    width: min(100%,620px);
    height: 240px;
    margin: 18px auto 0;
    object-fit: contain;
    background: linear-gradient(135deg,#f4f3ef,#e5e5e2);
    border: 1px solid #e1e3e4
}

.tear-performance-strip {
    display: grid;
    grid-template-columns: 1fr 1.7fr;
    gap: 50px;
    margin: 8px max(3.8vw,36px) 28px;
    padding: 30px;
    border: 1px solid #d0d3d5;
    background: #fff
}

.tear-performance-strip h2 {
    max-width: 460px;
    margin: 8px 0 0;
    color: #13233a;
    font-size: 31px;
    line-height: 1.08;
    letter-spacing: -.035em
}

.tear-performance-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    border-top: 1px solid #d7d9db
}

.tear-performance-grid span {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 15px 18px 13px 0;
    border-bottom: 1px solid #d7d9db;
    color: #647184;
    font-size: 11px
}

.tear-performance-grid span:nth-child(even) {
    padding-left: 18px;
    border-left: 1px solid #d7d9db
}

.tear-performance-grid b {
    color: #13233a;
    font-size: 13px
}

@media(max-width: 900px) {
    .tear-single-panel .board-detail {
        grid-template-columns:1fr
    }

    .tear-performance-strip {
        grid-template-columns: 1fr
    }

    .tear-performance-grid {
        grid-template-columns: 1fr
    }

    .tear-performance-grid span:nth-child(even) {
        padding-left: 0;
        border-left: 0
    }
}

@media(max-width: 680px) {
    .tear-single-panel {
        padding-top:12px
    }

    .tear-single-panel .board-detail-main>img {
        width: min(100%,320px);
        height: 190px
    }

    .tear-performance-strip {
        margin: 8px 16px 24px;
        padding: 24px 20px
    }

    .tear-performance-grid {
        grid-template-columns: 1fr
    }

    .tear-single-panel .available-grades {
        align-items: flex-start;
        flex-wrap: wrap
    }
}

.product-documentation-note {
    max-width: 920px;
    margin: 9px 0 0;
    padding-left: 12px;
    border-left: 2px solid #b7862e;
    color: #667588;
    font-size: 12px;
    line-height: 1.5
}

.product-documentation-note b {
    color: #13233a
}

.film-new-hero-copy .product-documentation-note,.optical-hero-copy .product-documentation-note {
    margin-top: 13px;
    font-size: 12px
}

.material-page-head .product-documentation-note {
    margin-top: 14px
}

.board-detail-main>.product-documentation-note {
    max-width: 760px;
    margin: 10px 0 16px;
    font-size: 11.5px
}

/* Match the optical paperboard hero to the compact product-detail rhythm. */
@media(min-width: 901px) {
    .paperboard-new-hero {
        min-height:0
    }

    .paperboard-new-hero .film-new-hero-copy {
        padding-top: 20px;
        padding-bottom: 28px
    }

    .paperboard-new-hero figure {
        min-height: 300px;
        height: 300px
    }
}

/* Consistent compact hierarchy for tobacco material hubs and product details. */
@media(min-width: 681px) {
    .material-page-head {
        min-height:290px;
        padding-top: 24px;
        padding-bottom: 42px
    }

    .material-page-head .breadcrumbs {
        margin-bottom: 34px
    }

    .board-page .board-head {
        display: flex;
        min-height: 225px;
        flex-direction: column;
        padding-top: 26px
    }

    .board-page .board-head .breadcrumbs {
        margin-bottom: 24px
    }

    .board-page .board-tabs {
        margin-top: auto
    }

    .tear-board-head,.bopp-board-head,.specialty-board-head {
        padding-bottom: 36px
    }
}

.specialty-material-preview {
    max-width: 520px;
    margin: 0 0 34px;
    border: 1px solid #cfd3d6;
    background: #fff
}

.specialty-material-preview img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover
}

.specialty-material-preview figcaption {
    padding: 10px 12px;
    color: #617084;
    font-size: 12px
}

.specialty-product-panel {
    padding-bottom: 18px
}

.specialty-selector {
    min-height: 545px
}

.specialty-selector .board-selector-nav button {
    min-height: 124px
}

.specialty-selector .board-detail-main h3 {
    text-transform: none
}

.specialty-selector .board-detail-main>img {
    height: 300px;
    object-fit: contain;
    background: #f2f1ed;
    border: 1px solid #e1e3e4
}

.specialty-selector .specialty-detail-action {
    grid-template-columns: 1fr
}

.specialty-note {
    margin-top: 0
}

@media(max-width: 1050px) {
    .specialty-selector .board-selector-nav {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .specialty-selector .board-selector-nav button {
        border-bottom: 1px solid #d9dcde
    }

    .specialty-selector .board-detail-main>img {
        height: 270px
    }
}

@media(max-width: 760px) {
    .specialty-selector .board-selector-nav {
        grid-template-columns:1fr
    }

    .specialty-selector .board-detail-main>img {
        height: 230px
    }
}

/* Keep the three optical material families compact and on one desktop row. */
@media(min-width: 981px) {
    .optical-materials-page .optical-platforms {
        padding-top:78px;
        padding-bottom: 78px
    }

    .optical-materials-page .optical-platform-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 14px;
        border: 0
    }

    .optical-materials-page .optical-platform-grid article {
        display: flex;
        min-height: 370px;
        grid-template-columns: none;
        flex-direction: column;
        border: 1px solid #cfd4d8;
        background: #fff
    }

    .optical-materials-page .optical-platform-grid article>img {
        width: 100%;
        height: 180px;
        object-fit: cover
    }

    .optical-materials-page .optical-platform-grid article>div {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 22px 24px 20px
    }

    .optical-materials-page .optical-platform-grid h3 {
        font-size: 26px
    }

    .optical-materials-page .optical-platform-grid a {
        margin-top: auto
    }
}

/* Sustainability detail page */
.sustainability-page main {
    background: #f5f5f2;
    color: #13233a
}

.sust-hero {
    max-width: 1520px;
    margin: auto;
    padding: 24px 5vw 62px;
    border-bottom: 1px solid #c3cbd0
}

.sust-hero .breadcrumbs {
    margin-bottom: 42px
}

.sust-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 8vw;
    align-items: end
}

.sust-hero h1 {
    font-size: clamp(2.7rem,4.6vw,5.25rem);
    line-height: .98;
    letter-spacing: -.05em;
    margin: 12px 0 0;
    max-width: 820px
}

.sust-hero-grid>p {
    font-size: 1.1rem;
    line-height: 1.65;
    color: #596a7d;
    margin: 0 0 5px;
    max-width: 540px
}

.sust-feature {
    max-width: 1520px;
    margin: auto;
    padding: 84px 5vw;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 7vw;
    align-items: center
}

.sust-feature figure {
    margin: 0;
    background: #dce5e7;
    min-height: 430px;
    overflow: hidden
}

.sust-feature img {
    display: block;
    width: 100%;
    height: 430px;
    object-fit: cover
}

.sust-feature h2,.sust-pillars h2,.sust-compare h2,.sust-proof h2 {
    font-size: clamp(2.35rem,3.8vw,4rem);
    line-height: 1.04;
    letter-spacing: -.045em;
    margin: 12px 0 22px
}

.sust-feature p:not(.kicker),.sust-compare p:not(.kicker) {
    font-size: 1rem;
    line-height: 1.7;
    color: #596a7d
}

.sust-feature .text-link {
    display: inline-block;
    margin-top: 18px
}

.sust-pillars {
    background: #e8eceb;
    padding: 82px max(5vw,calc((100vw - 1520px)/2 + 5vw))
}

.sust-pillars header {
    display: grid;
    grid-template-columns: .55fr 1fr;
    gap: 5vw;
    align-items: start;
    margin-bottom: 45px
}

.sust-pillars h2 {
    margin: 0;
    max-width: 700px
}

.sust-pillar-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #adb9bd
}

.sust-pillar-grid article {
    padding: 27px 30px 16px 0
}

.sust-pillar-grid article+article {
    border-left: 1px solid #adb9bd;
    padding-left: 30px
}

.sust-pillar-grid span {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    color: #687d87
}

.sust-pillar-grid h3 {
    font-size: 1.6rem;
    line-height: 1.16;
    margin: 48px 0 14px
}

.sust-pillar-grid p {
    color: #596a7d;
    line-height: 1.62
}

.sust-compare {
    max-width: 1520px;
    margin: auto;
    padding: 94px 5vw;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 9vw
}

.sust-compare-rows {
    border-top: 1px solid #b9c4ca
}

.sust-compare-rows a {
    display: grid;
    grid-template-columns: .75fr 1fr auto;
    gap: 25px;
    align-items: center;
    padding: 30px 0;
    border-bottom: 1px solid #b9c4ca
}

.sust-compare-rows strong {
    font-size: 1.1rem
}

.sust-compare-rows span {
    color: #596a7d;
    line-height: 1.5
}

.sust-compare-rows b {
    white-space: nowrap;
    font-size: .8rem
}

.sust-proof {
    background: #13233a;
    color: #fff;
    padding: 82px max(5vw,calc((100vw - 1520px)/2 + 5vw));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9vw
}

.sust-proof h2 {
    max-width: 650px
}

.sust-proof>div:last-child {
    padding-top: 28px
}

.sust-proof>div:last-child p {
    color: #d1dbe4;
    line-height: 1.65;
    font-size: 1rem
}

.sust-proof .sust-proof-note {
    font-size: .88rem!important;
    color: #aab9c8!important;
    margin: 24px 0 30px
}

.sust-proof .btn {
    display: inline-block
}

@media(max-width: 900px) {
    .sust-hero-grid,.sust-feature,.sust-compare,.sust-proof {
        grid-template-columns:1fr;
        gap: 32px
    }

    .sust-hero {
        padding: 24px 24px 48px
    }

    .sust-hero .breadcrumbs {
        margin-bottom: 28px
    }

    .sust-feature {
        padding: 60px 24px
    }

    .sust-feature figure,.sust-feature img {
        min-height: 0;
        height: 330px
    }

    .sust-pillars,.sust-proof {
        padding: 62px 24px
    }

    .sust-pillars header {
        grid-template-columns: 1fr;
        gap: 15px
    }

    .sust-pillar-grid {
        grid-template-columns: 1fr
    }

    .sust-pillar-grid article,.sust-pillar-grid article+article {
        border-left: 0;
        border-bottom: 1px solid #adb9bd;
        padding: 23px 0
    }

    .sust-pillar-grid h3 {
        margin: 20px 0 10px
    }

    .sust-compare {
        padding: 65px 24px
    }

    .sust-proof>div:last-child {
        padding-top: 0
    }
}

@media(max-width: 600px) {
    .sust-hero h1 {
        font-size:2.65rem
    }

    .sust-feature figure,.sust-feature img {
        height: 250px
    }

    .sust-compare-rows a {
        grid-template-columns: 1fr auto;
        gap: 10px
    }

    .sust-compare-rows span {
        grid-column: 1/-1;
        grid-row: 2
    }

    .sust-compare-rows b {
        grid-column: 2;
        grid-row: 1
    }

    .sust-pillars h2,.sust-feature h2,.sust-compare h2,.sust-proof h2 {
        font-size: 2.3rem
    }
}

/* Sustainable material pathways */
.sust-hero-grid {
    align-items: start
}

.sust-hero .sust-subhead {
    font-size: 1.25rem;
    color: #344e65;
    line-height: 1.4;
    margin: 22px 0 0;
    max-width: 700px
}

.sust-hero-grid>div:last-child>p {
    font-size: 1.06rem;
    line-height: 1.65;
    color: #596a7d;
    margin: 0
}

.sust-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
    margin-top: 28px
}

.sust-pathways {
    padding: 82px max(5vw,calc((100vw - 1520px)/2 + 5vw));
    background: #edf0ef
}

.sust-pathways header {
    display: grid;
    grid-template-columns: .5fr 1fr;
    gap: 6vw;
    align-items: start;
    margin-bottom: 42px
}

.sust-pathways h2,.sust-matrix h2,.sust-transition h2 {
    font-size: clamp(2.3rem,3.7vw,4rem);
    line-height: 1.04;
    letter-spacing: -.045em;
    margin: 0
}

.sust-pathway-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    border-top: 1px solid #abb7bf
}

.sust-pathway-grid article {
    min-width: 0;
    padding: 25px 20px 24px 0;
    display: flex;
    flex-direction: column
}

.sust-pathway-grid article+article {
    border-left: 1px solid #abb7bf;
    padding-left: 20px
}

.sust-pathway-grid span {
    font-size: .76rem;
    letter-spacing: .08em;
    font-weight: 800;
    color: #607887
}

.sust-pathway-grid h3 {
    font-size: 1.45rem;
    line-height: 1.18;
    margin: 32px 0 16px
}

.sust-pathway-grid p,.sust-pathway-grid li {
    line-height: 1.55;
    color: #596a7d
}

.sust-pathway-grid p {
    margin: 0
}

.sust-pathway-grid ul {
    padding-left: 17px;
    margin: 20px 0 26px
}

.sust-pathway-grid li+li {
    margin-top: 9px
}

.sust-pathway-grid a {
    margin-top: auto;
    font-size: .84rem;
    font-weight: 800
}

.sust-matrix {
    padding: 88px max(5vw,calc((100vw - 1520px)/2 + 5vw));
    background: #f5f5f2
}

.sust-matrix-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8vw;
    align-items: end;
    margin-bottom: 32px
}

.sust-matrix-head p:last-child {
    color: #596a7d;
    line-height: 1.6
}

.sust-table-wrap {
    overflow-x: auto
}

.sust-matrix table {
    width: 100%;
    border-collapse: collapse;
    min-width: 780px;
    text-align: left
}

.sust-matrix th,.sust-matrix td {
    padding: 18px 18px 18px 0;
    border-bottom: 1px solid #c5ccd1;
    vertical-align: top;
    line-height: 1.5
}

.sust-matrix thead th {
    font-size: .77rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #607487;
    border-top: 1px solid #a9b5bd
}

.sust-matrix tbody th {
    font-size: .96rem;
    width: 17%
}

.sust-matrix tbody td {
    color: #596a7d
}

.sust-matrix-note {
    font-size: .86rem;
    color: #68798a;
    line-height: 1.6;
    margin: 22px 0 0
}

.sust-proof h3 {
    font-size: 1.4rem;
    margin: 0 0 20px
}

.sust-proof ul {
    padding-left: 20px;
    color: #d1dbe4;
    line-height: 1.65
}

.sust-proof li+li {
    margin-top: 9px
}

.sust-transition {
    padding: 88px 5vw;
    text-align: center;
    max-width: 1100px;
    margin: auto
}

.sust-transition>p:not(.kicker) {
    max-width: 700px;
    margin: 22px auto 30px;
    color: #596a7d;
    line-height: 1.65;
    font-size: 1.06rem
}

.sust-transition>div {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap
}

@media(max-width: 1100px) {
    .sust-pathway-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .sust-pathway-grid article:nth-child(3) {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid #abb7bf
    }

    .sust-pathway-grid article:nth-child(4) {
        border-top: 1px solid #abb7bf
    }
}

@media(max-width: 680px) {
    .sust-pathways,.sust-matrix,.sust-transition {
        padding:58px 22px
    }

    .sust-pathways header,.sust-matrix-head {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .sust-pathway-grid {
        grid-template-columns: 1fr
    }

    .sust-pathway-grid article,.sust-pathway-grid article+article,.sust-pathway-grid article:nth-child(3) {
        padding: 24px 0;
        border-left: 0;
        border-top: 1px solid #abb7bf
    }

    .sust-pathway-grid article:first-child {
        border-top: 0
    }

    .sust-pathway-grid h3 {
        margin-top: 15px
    }

    .sust-hero-actions {
        align-items: flex-start;
        flex-direction: column
    }
}

/* About page */
.about-page main {
    background: #f5f5f2;
    color: #13233a
}

.about-hero {
    max-width: 1520px;
    margin: auto;
    padding: 24px 5vw 70px;
    border-bottom: 1px solid #c0c8ce
}

.about-hero .breadcrumbs {
    margin-bottom: 42px
}

.about-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 8vw;
    align-items: end
}

.about-hero h1 {
    font-size: clamp(2.8rem,4.7vw,5.5rem);
    letter-spacing: -.055em;
    line-height: .97;
    margin: 12px 0 0;
    max-width: 780px
}

.about-hero-grid>p {
    font-size: 1.1rem;
    color: #5b6e80;
    line-height: 1.65;
    margin: 0
}

.about-intro {
    max-width: 1520px;
    margin: auto;
    padding: 84px 5vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9vw
}

.about-intro h2,.about-platforms h2,.about-method h2,.about-support h2,.about-contact h2 {
    font-size: clamp(2.4rem,3.9vw,4.3rem);
    letter-spacing: -.045em;
    line-height: 1.03;
    margin: 12px 0 0
}

.about-intro>div:last-child p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #596a7d;
    margin: 0 0 20px
}

.about-platforms {
    background: #e9edf0;
    padding: 84px max(5vw,calc((100vw - 1520px)/2 + 5vw))
}

.about-platforms header {
    display: grid;
    grid-template-columns: .6fr 1fr;
    gap: 7vw;
    margin-bottom: 38px
}

.about-platforms h2 {
    margin: 0
}

.about-platform-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}

.about-platform-grid>a {
    display: block;
    background: #fff
}

.about-platform-grid figure {
    height: 320px;
    margin: 0;
    overflow: hidden;
    background: #d8e0e5
}

.about-platform-grid img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-platform-grid>a>div {
    padding: 32px 34px 36px
}

.about-platform-grid span {
    font-size: .76rem;
    letter-spacing: .1em;
    color: #61798a;
    font-weight: 800
}

.about-platform-grid h3 {
    font-size: 2rem;
    letter-spacing: -.03em;
    margin: 18px 0 12px
}

.about-platform-grid p {
    color: #596a7d;
    line-height: 1.6;
    min-height: 75px
}

.about-platform-grid b {
    font-size: .84rem
}

.about-method {
    max-width: 1520px;
    margin: auto;
    padding: 92px 5vw;
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 8vw
}

.about-method>div>p:last-child {
    color: #596a7d;
    line-height: 1.65;
    max-width: 420px
}

.about-method ol {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid #b6c2ca
}

.about-method li {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 25px;
    padding: 20px 0;
    border-bottom: 1px solid #b6c2ca
}

.about-method li span {
    font-size: .8rem;
    font-weight: 800;
    color: #768b98
}

.about-method h3 {
    font-size: 1.26rem;
    margin: 0 0 7px
}

.about-method li p {
    color: #596a7d;
    line-height: 1.55;
    margin: 0
}

.about-support {
    text-align: center;
    background: #eef1f1;
    padding: 82px 5vw
}

.about-support h2 {
    max-width: 780px;
    margin: 12px auto 20px
}

.about-support>p:not(.kicker) {
    max-width: 740px;
    margin: 0 auto 28px;
    color: #596a7d;
    line-height: 1.65
}

.about-support>div {
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap
}

.about-contact {
    background: #13233a;
    color: #fff;
    padding: 82px max(5vw,calc((100vw - 1520px)/2 + 5vw));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9vw
}

.about-contact>div:last-child {
    padding-top: 30px
}

.about-contact>div:last-child p {
    color: #d1dce5;
    line-height: 1.65;
    margin: 0 0 28px
}

.about-contact .btn {
    display: inline-block
}

@media(max-width: 900px) {
    .about-hero-grid,.about-intro,.about-method,.about-contact {
        grid-template-columns:1fr;
        gap: 30px
    }

    .about-hero {
        padding: 24px 24px 55px
    }

    .about-hero .breadcrumbs {
        margin-bottom: 28px
    }

    .about-intro,.about-method {
        padding: 65px 24px
    }

    .about-platforms,.about-support,.about-contact {
        padding: 65px 24px
    }

    .about-platforms header {
        grid-template-columns: 1fr;
        gap: 15px
    }

    .about-contact>div:last-child {
        padding-top: 0
    }
}

@media(max-width: 650px) {
    .about-hero h1 {
        font-size:2.75rem
    }

    .about-platform-grid {
        grid-template-columns: 1fr
    }

    .about-platform-grid figure {
        height: 260px
    }

    .about-platform-grid p {
        min-height: 0
    }

    .about-method li {
        grid-template-columns: 46px 1fr;
        gap: 14px
    }
}

.about-figures {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 5vw 78px
}

.about-figures>div {
    border-top: 1px solid #b5c2ca;
    padding: 22px 24px 0 0
}

.about-figures>div+div {
    border-left: 1px solid #b5c2ca;
    padding-left: 24px
}

.about-figures strong {
    display: block;
    font-size: clamp(2.8rem,4.8vw,5rem);
    line-height: 1;
    letter-spacing: -.05em
}

.about-figures span {
    display: block;
    margin-top: 12px;
    color: #596a7d;
    font-size: .95rem
}

@media(max-width: 650px) {
    .about-figures {
        padding:0 24px 60px;
        grid-template-columns: 1fr
    }

    .about-figures>div,.about-figures>div+div {
        padding: 18px 0;
        border-left: 0;
        border-top: 1px solid #b5c2ca
    }

    .about-figures strong {
        font-size: 3rem
    }
}

/* Right-aligned section heading rhythm for the tobacco production network. */
.production-network>header {
    grid-template-columns: .54fr 1fr;
    gap: 7vw;
    align-items: start
}

.production-network>header>.kicker {
    margin: 14px 0 0
}

.production-network-heading h2 {
    margin: 0;
    max-width: 810px;
    font-size: clamp(2.5rem,3.7vw,4.35rem)
}

.production-network-heading>p {
    max-width: 760px;
    margin: 20px 0 0;
    color: #607085;
    font-size: 1.03rem;
    line-height: 1.65
}

@media(max-width: 980px) {
    .production-network>header {
        grid-template-columns:1fr;
        gap: 15px
    }

    .production-network>header>.kicker {
        margin: 0
    }

    .production-network-heading>p {
        margin-top: 18px
    }
}

/* Keep the homepage material photograph at a credible editorial scale. */
.sustain {
    grid-template-columns: minmax(0,58%) minmax(0,42%);
    align-items: center
}

.sustain-copy {
    padding-top: 54px;
    padding-bottom: 54px
}

.sustain-visual {
    width: calc(100% - 72px);
    max-width: 610px;
    height: 410px;
    min-height: 0;
    margin: 34px 40px 34px 0;
    justify-self: center
}

.sustain-visual img {
    object-position: 57% center
}

@media(max-width: 900px) {
    .sustain {
        grid-template-columns:1fr
    }

    .sustain-visual {
        width: calc(100% - 48px);
        max-width: 610px;
        height: 300px;
        margin: 0 auto 36px
    }
}

@media(max-width: 560px) {
    .sustain-visual {
        width:calc(100% - 40px);
        height: 235px;
        margin: 0 auto 28px
    }
}

/* Center the production-network introduction above the four capabilities. */
.production-network>header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    text-align: center;
    margin-bottom: 46px
}

.production-network>header>.kicker {
    margin: 0 0 17px
}

.production-network-heading {
    width: 100%;
    max-width: 900px
}

.production-network-heading h2 {
    max-width: 850px;
    margin: 0 auto;
    font-size: clamp(2.4rem,3.45vw,4rem);
    line-height: 1.04
}

.production-network-heading>p {
    max-width: 760px;
    margin: 22px auto 0;
    font-size: 1.03rem;
    line-height: 1.65
}

@media(max-width: 680px) {
    .production-network>header {
        text-align:left;
        align-items: flex-start;
        margin-bottom: 34px
    }

    .production-network-heading h2 {
        margin: 0;
        font-size: clamp(2.25rem,9vw,3rem)
    }

    .production-network-heading>p {
        margin: 18px 0 0
    }
}

/* About: partner process photography and material application references. */
.about-production {
    max-width: 1520px;
    margin: auto;
    padding: 82px 5vw
}

.about-production-head,.about-examples header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8vw;
    align-items: end;
    margin-bottom: 34px
}

.about-production h2,.about-examples h2 {
    font-size: clamp(2.4rem,3.9vw,4.3rem);
    line-height: 1.03;
    letter-spacing: -.045em;
    margin: 12px 0 0
}

.about-production-head>p,.about-examples header>p {
    color: #596a7d;
    line-height: 1.65;
    margin: 0
}

.about-production-gallery {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 16px
}

.about-production-gallery figure {
    margin: 0;
    background: #d9dfe2;
    position: relative;
    overflow: hidden;
    height: 470px
}

.about-production-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-production-gallery figure:first-child img {
    object-position: center 47%
}

.about-production-gallery figure:last-child img {
    object-position: center 42%
}

.about-production-gallery figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: #fff;
    padding: 30px 22px 17px;
    background: linear-gradient(transparent,rgba(9,20,30,.75));
    font-size: .88rem;
    font-weight: 700
}

.about-photo-note {
    font-size: .82rem;
    color: #677a88;
    margin: 15px 0 0
}

.about-examples {
    background: #e9edf0;
    padding: 85px max(5vw,calc((100vw - 1520px)/2 + 5vw))
}

.about-example-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}

.about-example-grid a {
    display: block;
    background: #fff
}

.about-example-grid figure {
    height: 300px;
    margin: 0;
    overflow: hidden;
    background: #d9e0e5
}

.about-example-grid img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-example-grid a>div {
    padding: 30px 32px 35px
}

.about-example-grid span {
    font-size: .75rem;
    color: #687e8d;
    font-weight: 800;
    letter-spacing: .08em
}

.about-example-grid h3 {
    font-size: 1.8rem;
    line-height: 1.12;
    margin: 14px 0
}

.about-example-grid p {
    color: #596a7d;
    line-height: 1.6
}

.about-example-grid b {
    font-size: .84rem
}

@media(max-width: 900px) {
    .about-production,.about-examples {
        padding:65px 24px
    }

    .about-production-head,.about-examples header {
        grid-template-columns: 1fr;
        gap: 18px
    }
}

@media(max-width: 650px) {
    .about-production-gallery,.about-example-grid {
        grid-template-columns:1fr
    }

    .about-production-gallery figure {
        height: 300px
    }

    .about-production-gallery figure:last-child {
        height: 230px
    }

    .about-example-grid figure {
        height: 250px
    }
}

/* Shared DULCET footer */
footer.site-footer {
    display: block;
    background: #13233a;
    color: #fff;
    padding: 0 max(28px,calc((100vw - 1280px)/2));
    font-size: 1rem
}

.site-footer .footer-main {
    display: grid;
    grid-template-columns: 1.45fr .75fr 1fr 1.1fr;
    gap: clamp(32px,4vw,82px);
    padding: 70px 0 72px
}

.site-footer .footer-brand img {
    display: block;
    max-width: 210px;
    height: auto;
    max-height: 70px;
    object-fit: contain;
    object-position: left center
}

.site-footer .footer-brand p {
    max-width: 290px;
    margin: 25px 0 0;
    color: #b5c4d0;
    line-height: 1.6;
    font-size: .93rem
}

.site-footer .footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 15px;
    min-width: 0
}

.site-footer .footer-column h2 {
    font-size: .78rem;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #9ab5c6;
    margin: 0 0 9px;
    font-weight: 800
}

.site-footer .footer-column a {
    font-size: .94rem;
    line-height: 1.35;
    color: #e5ebef;
    text-decoration: none;
    overflow-wrap: anywhere
}

.site-footer .footer-column a:hover,.site-footer .footer-column a:focus-visible {
    color: #91dbd8;
    text-decoration: underline;
    text-underline-offset: 5px
}

.site-footer .footer-contact p {
    margin: 1px 0 5px;
    color: #b5c4d0;
    font-size: .88rem;
    line-height: 1.55;
    max-width: 280px
}

.site-footer .footer-column .footer-enquiry {
    border-bottom: 1px solid #91dbd8;
    padding-bottom: 6px;
    color: #fff;
    font-weight: 700
}

.site-footer .footer-enquiry span {
    margin-left: 9px
}

.site-footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #415264;
    padding: 22px 0 28px;
    color: #91a6b6;
    font-size: .78rem
}

@media(max-width: 1000px) {
    .site-footer .footer-main {
        grid-template-columns:1fr 1fr;
        gap: 48px 34px
    }
}

@media(max-width: 600px) {
    footer.site-footer {
        padding:0 22px
    }

    .site-footer .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 38px 22px;
        padding: 54px 0
    }

    .site-footer .footer-brand,.site-footer .footer-contact {
        grid-column: 1/-1
    }

    .site-footer .footer-brand p {
        margin-top: 15px
    }

    .site-footer .footer-bottom {
        flex-direction: column;
        gap: 6px
    }
}

/* Distinct About page: validation and production coordination. */
.about-focus-links {
    display: flex;
    gap: 25px;
    flex-wrap: wrap;
    margin-top: 28px
}

.about-focus-links a {
    font-weight: 800;
    font-size: .9rem;
    border-bottom: 1px solid #13233a;
    padding-bottom: 5px
}

.about-validation {
    background: #e9edf0;
    padding: 82px max(5vw,calc((100vw - 1520px)/2 + 5vw))
}

.about-validation-head {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 9vw;
    align-items: end;
    margin-bottom: 43px
}

.about-validation h2,.about-coordination h2 {
    font-size: clamp(2.4rem,3.9vw,4.3rem);
    line-height: 1.03;
    letter-spacing: -.045em;
    margin: 12px 0 0
}

.about-validation-head>p {
    color: #596a7d;
    line-height: 1.65;
    margin: 0
}

.about-validation-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #aebbc4
}

.about-validation-grid article {
    padding: 27px 30px 22px 0
}

.about-validation-grid article+article {
    border-left: 1px solid #aebbc4;
    padding-left: 30px
}

.about-validation-grid span {
    font-size: .76rem;
    letter-spacing: .09em;
    font-weight: 800;
    color: #637f90
}

.about-validation-grid h3 {
    font-size: 1.5rem;
    line-height: 1.16;
    margin: 37px 0 15px
}

.about-validation-grid p {
    color: #596a7d;
    line-height: 1.6
}

.about-coordination {
    max-width: 1520px;
    margin: auto;
    padding: 88px 5vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9vw
}

.about-coordination>div:last-child p {
    color: #596a7d;
    line-height: 1.7;
    margin: 0 0 20px;
    font-size: 1.03rem
}

.process .steps {
    grid-template-columns: repeat(3,1fr)
}

@media(max-width: 900px) {
    .about-validation {
        padding:65px 24px
    }

    .about-validation-head,.about-coordination {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .about-coordination {
        padding: 65px 24px
    }

    .about-validation-grid {
        grid-template-columns: 1fr
    }

    .about-validation-grid article,.about-validation-grid article+article {
        border-left: 0;
        border-bottom: 1px solid #aebbc4;
        padding: 25px 0
    }

    .about-validation-grid h3 {
        margin-top: 18px
    }

    .process .steps {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width: 560px) {
    .process .steps {
        grid-template-columns:1fr
    }
}

/* Contact enquiry page */
.contact-page {
    background: #f5f7f7;
    color: #18283d
}

.contact-page .form-shell {
    max-width: 1320px;
    margin: 0 auto;
    padding: 70px 36px 105px;
    display: grid;
    grid-template-columns: minmax(280px,.85fr) minmax(500px,1.15fr);
    gap: clamp(55px,8vw,135px);
    align-items: start
}

.form-intro {
    position: sticky;
    top: 110px
}

.form-breadcrumb {
    font-size: 13px;
    color: #69778a;
    margin: 0 0 90px
}

.form-breadcrumb a {
    text-decoration: underline;
    text-underline-offset: 3px
}

.form-intro .kicker {
    color: #ac7e32;
    margin-bottom: 22px
}

.form-intro h1 {
    font-size: clamp(42px,4.1vw,64px);
    line-height: 1.02;
    letter-spacing: -.045em;
    max-width: 540px;
    margin: 0 0 25px
}

.form-intro>p:not(.kicker):not(.form-breadcrumb):not(.form-direct) {
    font-size: 19px;
    color: #596a7d;
    line-height: 1.55;
    max-width: 520px
}

.form-assurance {
    border-top: 1px solid #bac6ce;
    margin-top: 65px;
    padding-top: 25px;
    max-width: 510px
}

.form-assurance strong {
    font-size: 16px
}

.form-assurance p {
    font-size: 15px;
    color: #596a7d;
    line-height: 1.65
}

.form-direct {
    font-size: 14px;
    color: #596a7d;
    margin-top: 35px
}

.form-direct a {
    font-weight: 700;
    color: #18283d;
    border-bottom: 1px solid
}

.form-panel {
    background: #fff;
    border: 1px solid #d8e0e4;
    padding: 38px 42px 42px;
    box-shadow: 0 22px 60px rgba(24,40,61,.06)
}

.form-panel-top {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    letter-spacing: .14em;
    font-weight: 800;
    color: #9a763d;
    margin-bottom: 22px
}

.intent-tabs {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-bottom: 1px solid #c6d0d7;
    margin-bottom: 32px;
    gap: 4px
}

.intent-tabs button {
    appearance: none;
    border: 0;
    border-bottom: 3px solid transparent;
    background: none;
    color: #637386;
    font: 700 14px Arial,Helvetica,sans-serif;
    line-height: 1.25;
    padding: 13px 5px 15px;
    cursor: pointer
}

.intent-tabs button[aria-pressed=true] {
    border-bottom-color: #18283d;
    color: #18283d
}

.intent-tabs button:hover,.intent-tabs button:focus-visible {
    color: #18283d
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 21px 19px
}

.form-panel label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #18283d;
    line-height: 1.3
}

.form-panel label span:not(#message-label) {
    color: #a87535
}

.form-panel input,.form-panel select,.form-panel textarea {
    display: block;
    width: 100%;
    border: 1px solid #bfcbd3;
    border-radius: 0;
    background: #fff;
    color: #18283d;
    font: 16px Arial,Helvetica,sans-serif;
    padding: 13px 14px;
    margin-top: 8px;
    min-height: 50px
}

.form-panel textarea {
    resize: vertical;
    min-height: 120px;
    line-height: 1.5
}

.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus {
    outline: 2px solid #477f93;
    outline-offset: 1px
}

.form-panel input::placeholder,.form-panel textarea::placeholder {
    color: #718093
}

.form-message {
    margin-top: 24px
}

.intent-extra:not([hidden]) {
    display: grid;
    gap: 20px;
    margin-top: 24px
}

.form-upload-note {
    font-size: 13px;
    color: #657487;
    margin: 15px 0 0
}

.form-submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px
}

.form-submit {
    border: 0;
    background: #18283d;
    color: #fff;
    padding: 17px 20px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    min-height: 54px
}

.form-submit span {
    margin-left: 24px
}

.form-submit:hover {
    background: #304964
}

.form-submit-row>span,.form-disclosure {
    font-size: 12px;
    color: #657487;
    line-height: 1.5
}

.form-disclosure {
    margin: 17px 0 0
}

.form-status {
    border-left: 3px solid #477f93;
    background: #eff6f7;
    padding: 12px 14px;
    font-size: 14px
}

.form-file-label {
    margin-top: 22px
}

.form-file-label small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    color: #657487;
    margin-top: 4px
}

.form-panel input[type=file] {
    font-size: 14px;
    padding: 11px;
    cursor: pointer
}

.form-panel input[type=file]::file-selector-button {
    background: #edf2f4;
    border: 1px solid #bfcbd3;
    padding: 8px 11px;
    color: #18283d;
    font-weight: 700;
    margin-right: 12px
}

.form-submit:disabled {
    background: #667688;
    cursor: not-allowed
}

.form-disclosure a {
    text-decoration: underline;
    text-underline-offset: 2px
}

.form-topic {
    background: #f0f5f6;
    border-left: 3px solid #7faeb3;
    padding: 11px 14px;
    margin: -10px 0 26px;
    color: #18283d;
    font-size: 14px;
    line-height: 1.45
}

.form-topic span {
    display: block;
    color: #587080;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    margin-bottom: 3px
}

/* Shared persistent navigation */
html {
    scroll-padding-top: 86px
}

.site-header {
    position: sticky;
    top: 0;
    height: 78px;
    z-index: 100;
    background: #fff;
    box-shadow: 0 1px 0 rgba(24,40,61,.08);
    transition: height .22s ease,box-shadow .22s ease
}

.site-header.is-scrolled {
    height: 64px;
    box-shadow: 0 5px 22px rgba(24,40,61,.12)
}

.site-header .brand-logo {
    transform-origin: left center;
    transition: transform .22s ease
}

.site-header.is-scrolled .brand-logo {
    transform: scale(.88)
}

.site-header nav {
    gap: clamp(12px,1.5vw,24px);
    font-size: 13px
}

.site-header nav .nav-cta {
    white-space: nowrap;
    background: #18283d;
    color: #fff;
    padding: 13px 17px
}

.site-header nav .nav-cta:hover {
    background: #304964
}

.site-header nav .nav-contact {
    white-space: nowrap
}

.site-header nav .nav-home,.site-header nav .nav-contact {
    display: inline-flex;
    align-items: center
}

@media(max-width: 1100px) {
    .site-header nav {
        gap:12px;
        font-size: 12px
    }

    .site-header nav .nav-cta {
        padding: 12px
    }
}

@media(max-width: 900px) {
    .site-header nav {
        top:100%;
        max-height: calc(100vh - 64px);
        overflow-y: auto;
        box-shadow: 0 12px 22px rgba(24,40,61,.12)
    }

    .site-header nav .nav-home,.site-header nav .nav-contact {
        display: block
    }

    .site-header nav .nav-cta {
        width: 100%;
        text-align: center;
        margin-top: 10px
    }
}

@media(max-width: 900px) {
    .contact-page .form-shell {
        grid-template-columns:1fr;
        gap: 35px;
        padding: 40px 24px 75px
    }

    .form-intro {
        position: static
    }

    .form-breadcrumb {
        margin-bottom: 42px
    }

    .form-assurance {
        margin-top: 30px
    }
}

@media(max-width: 560px) {
    .contact-page .form-shell {
        padding:25px 18px 60px
    }

    .form-intro h1 {
        font-size: 43px
    }

    .form-intro>p:not(.kicker):not(.form-breadcrumb):not(.form-direct) {
        font-size: 16px
    }

    .form-panel {
        padding: 24px 18px
    }

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

    .intent-tabs button {
        font-size: 13px;
        padding: 10px 3px 13px
    }

    .form-submit-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px
    }

    .form-submit {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center
    }
}

/* Separate the final enquiry from the shared dark footer. */
.material-guidance,.application-contact,.about-contact,.contact {
    background: #e9eef0;
    color: #13233a
}

.material-guidance {
    align-items: center;
    padding-top: 64px;
    padding-bottom: 68px
}

.material-guidance>p,.application-contact>div:last-child>p,.about-contact>div:last-child p,.contact>div>p:not(.kicker) {
    color: #526475
}

.material-guidance .kicker,.application-contact .kicker,.about-contact .kicker,.contact .kicker {
    color: #9b712e
}

.material-guidance .btn.light,.application-contact .btn.light,.about-contact .btn.light,.contact .btn.light {
    background: #13233a;
    color: #fff
}

.application-contact .btn.outline-light {
    border-color: #13233a;
    color: #13233a
}

.application-contact .btn.outline-light:hover {
    background: #13233a;
    color: #fff
}

.contact .text-link {
    color: #13233a
}

footer.site-footer {
    border-top: 1px solid #c8d1d8
}

.site-footer .footer-brand .brand-logo img {
    position: absolute;
    width: 210px;
    height: 210px;
    max-width: none;
    max-height: none;
    left: -34px;
    top: -76px;
    object-fit: initial
}

@media(max-width: 560px) {
    .site-footer .footer-brand .brand-logo img {
        width:200px;
        height: 200px;
        left: -33px;
        top: -73px
    }
}

/* Shared closing enquiry panels for material and product pages. */
.material-guidance {
    width: min(1400px,calc(100% - 72px));
    margin: 68px auto 84px;
    padding: 52px 48px;
    background: #f1f0ec;
    border: 1px solid #d2d4d3;
}

.board-guidance,.component-product-page .board-guidance {
    width: min(1400px,calc(100% - 72px));
    max-width: 1400px;
    margin: 68px auto 84px;
    padding: 46px 42px;
    background: #f1f0ec;
    border: 1px solid #d2d4d3;
}

@media(max-width: 900px) {
    .material-guidance,.board-guidance,.component-product-page .board-guidance {
        width:calc(100% - 48px);
        margin: 52px auto 68px;
        padding: 40px 30px
    }
}

@media(max-width: 560px) {
    .material-guidance,.board-guidance,.component-product-page .board-guidance {
        width:calc(100% - 32px);
        margin: 40px auto 56px;
        padding: 32px 22px
    }
}

/* Compact final CTA shared by product-detail pages. */
.board-guidance,.component-product-page .board-guidance {
    grid-template-columns: minmax(260px,1fr) minmax(280px,1.15fr) auto;
    gap: 24px;
    min-height: 0;
    margin: 30px auto 52px;
    padding: 24px 28px;
    background: #f1f0ec;
}

.board-guidance .kicker,.component-product-page .board-guidance .kicker {
    display: none
}

.board-guidance>p,.component-product-page .board-guidance>p {
    display: block;
    max-width: 520px;
    color: #596677;
    font-size: 13px;
    line-height: 1.6;
}

.board-guidance h2,.component-product-page .board-guidance h2 {
    max-width: none;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.02em;
}

.board-guidance>div:last-child,.component-product-page .board-guidance>div:last-child {
    justify-content: flex-end
}

@media(max-width: 900px) {
    .board-guidance,.component-product-page .board-guidance {
        grid-template-columns:minmax(0,1fr) auto
    }

    .board-guidance>p,.component-product-page .board-guidance>p {
        grid-column: 1
    }

    .board-guidance>div:last-child,.component-product-page .board-guidance>div:last-child {
        grid-column: 2;
        grid-row: 1 / span 2
    }
}

@media(max-width: 680px) {
    .board-guidance,.component-product-page .board-guidance {
        width:calc(100% - 32px);
        grid-template-columns: 1fr;
        gap: 18px;
        margin: 24px auto 42px;
        padding: 22px 20px;
    }

    .board-guidance h2,.component-product-page .board-guidance h2 {
        font-size: 20px
    }

    .board-guidance>p,.component-product-page .board-guidance>p {
        max-width: none
    }

    .board-guidance>div:last-child,.component-product-page .board-guidance>div:last-child {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start
    }
}

/* Unified Applications conversion panel. */
.application-contact {
    display: block;
    width: min(1100px,calc(100% - 72px));
    max-width: 1100px;
    margin: 70px auto 84px;
    padding: 88px 5vw;
    text-align: center;
    background: #e9eef0;
    color: #13233a;
}

.application-contact h2 {
    max-width: 850px;
    margin: 13px auto 0;
    font-size: clamp(2.3rem,3.7vw,4rem);
    line-height: 1.04
}

.application-contact>p:not(.kicker) {
    max-width: 700px;
    margin: 22px auto 30px;
    color: #526475;
    line-height: 1.65;
    font-size: 1.06rem
}

.application-contact-actions {
    justify-content: center;
    align-items: center;
    gap: 28px
}

.application-contact-actions .text-link {
    color: #13233a
}

/* Reserved social profiles; activate links when official accounts are available. */
.footer-social {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 13px
}

.footer-social-label {
    margin-right: 4px;
    color: #9ab5c6;
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase
}

.footer-social-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid #607386;
    border-radius: 50%;
    color: #e5ebef;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1;
    cursor: default
}

.footer-social-icon[aria-label="Facebook"] {
    font-family: Arial,Helvetica,sans-serif;
    font-size: 1rem
}

@media(max-width: 680px) {
    .application-contact {
        width:calc(100% - 32px);
        margin: 48px auto 60px;
        padding: 58px 22px
    }
}

/* Footer brand lockup for the dark footer. */
.site-footer .footer-brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #fff;
    text-decoration: none
}

.site-footer .footer-brand-mark {
    position: relative;
    display: block;
    width: 50px;
    height: 69px;
    overflow: hidden;
    clip-path: polygon(0 0,60% 0,100% 30%,100% 72%,60% 100%,0 100%);
    flex: 0 0 auto
}

.site-footer .footer-brand-mark img {
    position: absolute!important;
    width: 250px!important;
    height: 250px!important;
    max-width: none!important;
    max-height: none!important;
    left: -43px!important;
    top: -91px!important;
    object-fit: initial!important
}

.site-footer .footer-brand-name {
    display: flex;
    flex-direction: column;
    line-height: 1;
    color: #fff
}

.site-footer .footer-brand-name b {
    font-size: 1.55rem;
    font-weight: 500;
    letter-spacing: .025em
}

.site-footer .footer-brand-name small {
    margin-top: 5px;
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .08em
}

/* Shared product-detail media frame.
   Keep every tobacco-material product image on the same visual canvas so
   replacement assets can be prepared to one consistent specification. */
.board-detail-main>img, .product-viewer {
    width: 100%!important;
    height: 280px!important;
    max-width: none!important;
    margin: 16px 0 0!important;
    padding: 0!important;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid #e1e3e4!important;
    background: #f2f1ed!important;
}

.board-detail-main>img {
    display: block;
    object-fit: contain!important;
    object-position: center!important;
}

.product-viewer>img {
    display: block;
    width: 100%!important;
    height: 100%!important;
    max-width: none!important;
    margin: 0!important;
    padding: 0;
    object-fit: contain!important;
    object-position: center!important;
}

@media(max-width: 760px) {
    .board-detail-main>img, .product-viewer {
        height:220px!important;
        margin-top: 14px!important;
    }
}

.site-footer .footer-brand p {
    margin-top: 24px
}

.site-footer .footer-contact .footer-social {
    margin-top: 20px
}

@media(max-width: 560px) {
    .site-footer .footer-brand-mark img {
        width:250px!important;
        height: 250px!important;
        left: -43px!important;
        top: -91px!important
    }
}

/* Shared closing CTA system for primary editorial pages. */
.closing-cta,.contact.closing-cta,.application-contact.closing-cta,.sust-transition.closing-cta,.about-contact.closing-cta {
    display: block;
    width: min(1400px,calc(100% - 72px));
    max-width: 1400px;
    margin: 54px auto 68px;
    padding: 58px 50px 62px;
    text-align: center;
    background: #e9eef0;
    color: #13233a;
}

.closing-cta .kicker {
    margin: 0 0 17px;
    color: #9b712e
}

.closing-cta h2,.contact.closing-cta h2,.application-contact.closing-cta h2,.sust-transition.closing-cta h2,.about-contact.closing-cta h2 {
    max-width: 950px;
    margin: 0 auto;
    font-size: clamp(2.25rem,3.1vw,3.4rem);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.closing-cta>p:not(.kicker),.contact.closing-cta>p:not(.kicker),.application-contact.closing-cta>p:not(.kicker),.sust-transition.closing-cta>p:not(.kicker),.about-contact.closing-cta>p:not(.kicker) {
    max-width: 760px;
    margin: 18px auto 26px;
    color: #526475;
    font-size: 1.06rem;
    line-height: 1.65;
}

.closing-cta>div,.contact.closing-cta .contact-actions,.application-contact.closing-cta .application-contact-actions,.sust-transition.closing-cta>div,.about-contact.closing-cta>div {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}

.closing-cta .btn.light,.closing-cta .btn.dark {
    background: #13233a;
    color: #fff
}

.closing-cta .text-link {
    margin: 0;
    color: #13233a
}

@media(max-width: 680px) {
    .closing-cta,.contact.closing-cta,.application-contact.closing-cta,.sust-transition.closing-cta,.about-contact.closing-cta {
        width:calc(100% - 32px);
        margin: 40px auto 52px;
        padding: 46px 20px 50px
    }
}

/* Optical Solutions: registered optics first, then commercial production routes. */
.optics-registered,.optics-routes,.optics-markets,.optics-workflow {
    color: #13233a
}

.optics-registered {
    max-width: 1520px;
    margin: auto;
    padding: 86px 5vw 92px
}

.optics-registered>header,.optics-routes>header {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 8vw;
    align-items: end;
    margin-bottom: 40px
}

.optics-registered h2,.optics-routes h2,.optics-markets h2,.optics-workflow h2 {
    font-size: clamp(2.45rem,3.8vw,4.25rem);
    line-height: 1.02;
    letter-spacing: -.047em;
    margin: 12px 0 0
}

.optics-registered>header>p,.optics-routes>header>p {
    margin: 0;
    color: #5c6d80;
    font-size: 1.02rem;
    line-height: 1.68
}

.optics-registered-body {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    border: 1px solid #c8d0d6;
    background: #fff
}

.optics-registered-visuals {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-width: 0;
    background: #dfe4e7
}

.optics-registered-visuals figure {
    position: relative;
    height: 100%;
    min-height: 520px;
    margin: 0;
    overflow: hidden
}

.optics-registered-visuals figure+figure {
    border-left: 1px solid rgba(255,255,255,.75)
}

.optics-registered-visuals img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.optics-registered-visuals figure:first-child img {
    object-position: center
}

.optics-registered-visuals figure:last-child img {
    object-position: center
}

.optics-registered-visuals figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 35px 18px 16px;
    background: linear-gradient(transparent,rgba(9,24,40,.84));
    color: #fff
}

.optics-registered-visuals figcaption b {
    font-size: .7rem;
    color: #e1ad55
}

.optics-registered-visuals figcaption span {
    font-size: .77rem;
    font-weight: 800;
    letter-spacing: .03em
}

.optics-registered-capabilities {
    padding: 30px 34px 32px
}

.optics-registered-capabilities article {
    padding: 17px 0;
    border-bottom: 1px solid #d3d9dd
}

.optics-registered-capabilities article>span {
    grid-row: 1/3;
    color: #ad7419;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    padding-top: 4px
}

.optics-registered-capabilities h3 {
    margin: 0 0 6px;
    font-size: 1.3rem;
    line-height: 1.12
}

.optics-registered-capabilities article p {
    margin: 0;
    color: #607085;
    font-size: .91rem;
    line-height: 1.55
}

.optics-registered-apps {
    padding-top: 24px
}

.optics-registered-apps small {
    color: #ad7419;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .13em
}

.optics-registered-apps p {
    margin: 8px 0 20px;
    color: #455a70;
    font-size: .86rem;
    line-height: 1.55
}

.optics-registered-apps .text-link {
    display: inline-block
}

.optics-routes {
    padding: 86px max(5vw,calc((100vw - 1520px)/2 + 5vw));
    background: #e9edf0
}

.optics-routes>header,.optics-route-grid {
    max-width: 1520px;
    margin-left: auto;
    margin-right: auto
}

.optics-route-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid #aeb9c1;
    border-left: 1px solid #aeb9c1
}

.optics-route-grid article {
    display: flex;
    min-height: 390px;
    flex-direction: column;
    padding: 35px 34px 32px;
    background: #f8f8f6;
    border-right: 1px solid #aeb9c1;
    border-bottom: 1px solid #aeb9c1
}

.optics-route-grid article>span {
    color: #ad7419;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em
}

.optics-route-grid h3 {
    font-size: clamp(1.8rem,2.35vw,2.55rem);
    line-height: 1.05;
    letter-spacing: -.035em;
    margin: 34px 0 17px
}

.optics-route-grid p {
    color: #53667a;
    line-height: 1.64;
    margin: 0
}

.optics-route-grid small {
    display: block;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #d2d8dc;
    color: #788694;
    font-size: .76rem;
    line-height: 1.5
}

.optics-route-grid a {
    margin-top: auto;
    padding-top: 26px;
    font-size: .82rem;
    font-weight: 800
}

.optics-markets {
    max-width: 1520px;
    margin: auto;
    padding: 88px 5vw
}

.optics-markets header {
    display: grid;
    grid-template-columns: .55fr 1fr;
    gap: 7vw;
    align-items: end;
    margin-bottom: 35px
}

.optics-markets header .kicker {
    margin: 0 0 10px
}

.optics-markets header h2 {
    margin: 0
}

.optics-markets>div {
    border-top: 1px solid #b7c0c7
}

.optics-markets a {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 32px;
    padding: 20px 0;
    border-bottom: 1px solid #b7c0c7;
    transition: padding-left .25s ease
}

.optics-markets a:hover {
    padding-left: 10px
}

.optics-markets span {
    font-size: 1.05rem;
    font-weight: 800
}

.optics-markets b {
    color: #617286;
    font-size: .9rem;
    font-weight: 500
}

.optics-workflow {
    padding: 78px max(5vw,calc((100vw - 1520px)/2 + 5vw));
    background: #13233a;
    color: #fff
}

.optics-workflow header {
    max-width: 850px;
    margin-bottom: 38px
}

.optics-workflow .kicker {
    color: #d6a555
}

.optics-workflow ol {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    padding: 0;
    margin: 0;
    border-top: 1px solid #526277;
    list-style: none
}

.optics-workflow li {
    padding: 27px 32px 8px 0
}

.optics-workflow li+li {
    padding-left: 32px;
    border-left: 1px solid #526277
}

.optics-workflow li>span {
    color: #d6a555;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em
}

.optics-workflow h3 {
    font-size: 1.45rem;
    line-height: 1.15;
    margin: 34px 0 12px
}

.optics-workflow li p {
    color: #b9c6d2;
    line-height: 1.62;
    margin: 0
}

.optics-closing-cta {
    margin-top: 68px
}

@media(max-width: 980px) {
    .optics-registered>header,.optics-routes>header,.optics-markets header {
        grid-template-columns:1fr;
        gap: 18px
    }

    .optics-registered-body {
        grid-template-columns: 1fr
    }

    .optics-registered-visuals figure {
        min-height: 380px
    }

    .optics-route-grid {
        grid-template-columns: 1fr
    }

    .optics-route-grid article {
        min-height: 0
    }
}

@media(max-width: 680px) {
    .optics-registered,.optics-routes,.optics-markets,.optics-workflow {
        padding-top:62px;
        padding-bottom: 62px
    }

    .optics-registered-visuals {
        grid-template-columns: 1fr
    }

    .optics-registered-visuals figure {
        min-height: 270px
    }

    .optics-registered-visuals figure+figure {
        border-left: 0;
        border-top: 1px solid #fff
    }

    .optics-registered-capabilities {
        padding: 22px 20px 27px
    }

    .optics-route-grid article {
        padding: 28px 24px
    }

    .optics-markets a {
        grid-template-columns: 1fr;
        gap: 7px
    }

    .optics-workflow ol {
        grid-template-columns: 1fr
    }

    .optics-workflow li,.optics-workflow li+li {
        padding: 24px 0;
        border-left: 0;
        border-bottom: 1px solid #526277
    }

    .optics-workflow h3 {
        margin-top: 18px
    }
}

/* Consistent interactive feedback across primary and secondary actions. */
.btn, .site-header nav .nav-cta, .form-submit {
    cursor: pointer;
    transition: background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}

.btn span, .site-header nav .nav-cta span, .form-submit span {
    display: inline-block;
    transition: transform .2s ease;
}

.text-link {
    display: inline-block;
    transition: color .2s ease,border-color .2s ease,transform .2s ease;
}

@media(hover: hover) {
    .btn.dark:hover, .site-header nav .nav-cta:hover, .form-submit:hover {
        background:#304964;
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 9px 20px rgba(19,35,58,.18);
    }

    .btn.light:hover {
        background: #91dbd8;
        color: #13233a;
        transform: translateY(-2px);
        box-shadow: 0 9px 20px rgba(19,35,58,.16);
    }

    .btn.outline-light:hover {
        background: #fff;
        border-color: #fff;
        color: #13233a;
        transform: translateY(-2px);
        box-shadow: 0 9px 20px rgba(5,15,28,.18);
    }

    .btn:hover span, .site-header nav .nav-cta:hover span, .form-submit:hover span {
        transform: translateX(4px);
    }

    .text-link:hover {
        color: #287e82;
        border-color: #287e82;
        transform: translateX(3px);
    }
}

.btn:active, .site-header nav .nav-cta:active, .form-submit:active {
    transform: translateY(0);
    box-shadow: none;
}

.btn:focus-visible, .text-link:focus-visible, .site-header nav .nav-cta:focus-visible, .form-submit:focus-visible {
    outline: 3px solid #91dbd8;
    outline-offset: 4px;
}

@media(prefers-reduced-motion:reduce) {
    .btn, .btn span, .text-link, .site-header nav .nav-cta, .site-header nav .nav-cta span, .form-submit, .form-submit span {
        transition: none;
    }
}

/* Site-wide action audit: align page-specific links and controls with the
   shared button system without animating ordinary navigation or body links. */
:is( .catalog-card>a, .film-product-copy>a, .foil-platform-grid article>a, .optical-platform-grid article a, .route-grid article a, .solution-route-grid article a, .optics-route-grid article a, .sust-pathway-grid article a, .documentation-panel>a, .solution-documentation>a, .insight-link, .about-focus-links a ) {
    display: inline-block;
    width: max-content;
    max-width: 100%;
    transition: color .2s ease,border-color .2s ease,transform .2s ease;
}

.catalog-card>a span, .solution-card a span, .material-platform-row .platform-action i {
    display: inline-block;
    transition: transform .2s ease;
}

.board-detail-actions a {
    transition: background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}

.board-selector-nav button, .grade-tabs button, .viewer-arrow, .application-modal-close {
    transition: background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}

.about-platform-grid>a, .about-example-grid a, .case-next a {
    transition: transform .22s ease,box-shadow .22s ease,background-color .22s ease;
}

.about-platform-grid img, .about-example-grid img {
    transition: transform .3s ease,filter .3s ease;
}

.sust-compare-rows a {
    transition: background-color .2s ease,box-shadow .2s ease;
}

@media(hover: hover) {
    :is( .catalog-card>a, .film-product-copy>a, .foil-platform-grid article>a, .optical-platform-grid article a, .route-grid article a, .solution-route-grid article a, .optics-route-grid article a, .sust-pathway-grid article a, .documentation-panel>a, .solution-documentation>a, .insight-link, .about-focus-links a ):hover {
        color:#287e82;
        border-color: #287e82;
        transform: translateX(3px);
    }

    .catalog-card>a:hover span, .solution-card a:hover span {
        transform: translateX(4px);
    }

    .board-detail-actions a:hover {
        background: #13233a;
        border-color: #13233a;
        color: #fff;
        transform: translateY(-2px);
        box-shadow: 0 7px 16px rgba(19,35,58,.15);
    }

    .board-detail-actions a:last-child:hover {
        background: #8f641d;
        border-color: #8f641d;
    }

    .board-selector-nav button:not(.active):hover, .grade-tabs button:not(.active):hover {
        background: #eef2f4;
        color: #13233a;
    }

    .viewer-arrow:hover {
        background: #13233a;
        border-color: #13233a;
        color: #fff;
        transform: scale(1.05);
    }

    .application-modal-close:hover {
        background: #304964;
        transform: rotate(4deg);
    }

    .about-platform-grid>a:hover, .about-example-grid a:hover, .case-next a:hover {
        transform: translateY(-3px);
        box-shadow: 0 14px 30px rgba(19,35,58,.12);
    }

    .about-platform-grid>a:hover img, .about-example-grid a:hover img {
        transform: scale(1.025);
        filter: brightness(1.03);
    }

    .sust-compare-rows a:hover {
        background: rgba(19,35,58,.04);
        box-shadow: inset 4px 0 #287e82;
    }
}

main a[href]:focus-visible, main button:focus-visible, .board-selector-nav button:focus-visible, .grade-tabs button:focus-visible, .viewer-arrow:focus-visible, .application-modal-close:focus-visible {
    outline: 3px solid #91dbd8;
    outline-offset: 4px;
}

.board-detail-actions a:active, .about-platform-grid>a:active, .about-example-grid a:active, .case-next a:active {
    transform: translateY(0);
    box-shadow: none;
}

@media(prefers-reduced-motion:reduce) {
    :is( .catalog-card>a, .film-product-copy>a, .foil-platform-grid article>a, .optical-platform-grid article a, .route-grid article a, .solution-route-grid article a, .optics-route-grid article a, .sust-pathway-grid article a, .documentation-panel>a, .solution-documentation>a, .insight-link, .about-focus-links a, .board-detail-actions a, .board-selector-nav button, .grade-tabs button, .viewer-arrow, .application-modal-close, .about-platform-grid>a, .about-example-grid a, .case-next a, .sust-compare-rows a, .about-platform-grid img, .about-example-grid img ) {
        transition: none;
    }
}

/* Final cascade overrides for consistent primary actions and restrained
   homepage application-card feedback. Keep these after page-specific rules. */
@media(hover: hover) {
    .btn.dark:hover, .btn.light:hover, .closing-cta .btn.dark:hover, .closing-cta .btn.light:hover, .site-header nav .nav-cta:hover, .form-submit:hover {
        background:#91dbd8;
        border-color: #91dbd8;
        color: #13233a;
    }

    .market-photo:hover .market-caption {
        background: #fff;
        box-shadow: none;
    }
}

.market-photo:focus-visible .market-caption {
    background: #fff;
    box-shadow: none;
}

/* Unified compact rhythm for image-led interior heroes. The homepage retains
   its larger editorial hero; product and solution pages expose content sooner. */
@media(min-width: 901px) {
    .film-new-hero {
        min-height:0;
    }

    .film-new-hero-copy {
        padding-top: 18px;
        padding-bottom: 30px;
    }

    .film-new-hero-copy h1 {
        font-size: clamp(2.45rem,3.15vw,3.75rem);
        line-height: .98;
    }

    .film-new-hero figure, .paperboard-new-hero figure {
        align-self: center;
        height: 330px;
        min-height: 330px;
    }

    .solution-hero {
        min-height: 420px;
    }

    .solution-hero>figure {
        height: 420px;
        min-height: 420px;
    }

    .solution-hero-copy h1 {
        font-size: clamp(2.6rem,3.75vw,4.3rem);
    }
}

/* Insights hub and article system */
.insights-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px
}

.insights-head h2 {
    max-width: 760px;
    margin: 12px 0 0;
    font-size: clamp(2rem,3.2vw,3.6rem);
    line-height: 1
}

.insight-card {
    display: block;
    color: inherit;
    text-decoration: none;
    border-right: 1px solid #ccc;
    transition: background-color .22s ease,transform .22s ease
}

.insight-card:last-child {
    border-right: 0
}

.insight-card article {
    border-right: 0!important;
    height: 100%
}

.insight-card:hover,.insight-card:focus-visible {
    background: #eef3f4;
    transform: translateY(-4px)
}

@media(min-width: 901px) {
    .insight-card:not(:first-child) article {
        padding-left:32px
    }
}

.insights-page main,.insight-article-page main {
    background: #f8f7f4
}

.insights-hero,.article-hero {
    max-width: 1660px;
    margin: auto;
    padding: 105px 7vw 82px;
    border-bottom: 1px solid #c6cbd0
}

.insights-hero h1,.article-hero h1 {
    max-width: 1050px;
    margin: 16px 0 22px;
    font-size: clamp(3rem,6vw,6.4rem);
    line-height: .94
}

.insights-hero>p:last-child,.article-deck {
    max-width: 820px;
    color: #586d82;
    font-size: 1.22rem;
    line-height: 1.65
}

.insights-list {
    max-width: 1660px;
    margin: auto;
    padding: 70px 7vw 110px;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px
}

.insights-list-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    color: inherit;
    text-decoration: none;
    border: 1px solid #d0d4d6;
    transition: transform .22s ease,box-shadow .22s ease
}

.insights-list-card:hover,.insights-list-card:focus-visible {
    transform: translateY(-6px);
    box-shadow: 0 16px 35px rgba(15,34,55,.12)
}

.insights-list-card img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover
}

.insights-list-copy {
    padding: 28px 28px 32px;
    display: flex;
    flex: 1;
    flex-direction: column
}

.insights-list-copy h2 {
    margin: 10px 0 14px;
    font-size: 1.8rem;
    line-height: 1.06
}

.insights-list-copy p {
    color: #5b6d7d;
    line-height: 1.6
}

.insights-list-copy span:last-child {
    margin-top: auto;
    padding-top: 22px;
    font-weight: 700
}

.article-hero {
    padding-bottom: 64px
}

.article-meta {
    color: #b67818;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase
}

.article-layout {
    max-width: 1280px;
    margin: auto;
    padding: 64px 7vw 110px;
    display: grid;
    grid-template-columns: minmax(0,2.2fr) minmax(250px,.8fr);
    gap: 80px
}

.article-body figure {
    margin: 0 0 48px
}

.article-body figure img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover
}

.article-body h2 {
    margin: 48px 0 16px;
    font-size: clamp(1.8rem,3vw,2.8rem);
    line-height: 1.05
}

.article-body p,.article-body li {
    color: #40566c;
    font-size: 1.08rem;
    line-height: 1.8
}

.article-body a {
    color: #10243d;
    font-weight: 700
}

.article-aside {
    align-self: start;
    position: sticky;
    top: 120px;
    border-top: 3px solid #10243d;
    padding-top: 22px
}

.article-aside h2 {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .12em
}

.article-aside a {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid #cbd1d5;
    color: #10243d;
    text-decoration: none;
    font-weight: 700
}

.article-aside a:hover {
    color: #b67818
}

@media(max-width: 900px) {
    .insights-head {
        align-items:start;
        flex-direction: column
    }

    .insight-card {
        border-right: 0;
        border-bottom: 1px solid #ccc
    }

    .insights-list {
        grid-template-columns: 1fr;
        padding-top: 36px
    }

    .article-layout {
        grid-template-columns: 1fr;
        gap: 38px
    }

    .article-aside {
        position: static
    }

    .insights-hero,.article-hero {
        padding-top: 68px
    }

    .insights-hero h1,.article-hero h1 {
        font-size: clamp(2.7rem,12vw,4.5rem)
    }
}

/* Expandable language navigation */
.language-switcher {
    position: relative;
    display: flex;
    align-items: center
}

.language-switcher>button {
    border: 0;
    background: transparent;
    color: #10243d;
    font: inherit;
    font-weight: 700;
    padding: 16px 8px;
    cursor: pointer
}

.language-menu {
    position: absolute;
    z-index: 30;
    right: 0;
    top: calc(100% - 4px);
    display: none;
    min-width: 150px;
    padding: 8px;
    background: #fff;
    border: 1px solid #cbd1d5;
    box-shadow: 0 12px 28px rgba(16,36,61,.14)
}

.language-switcher:hover .language-menu,.language-switcher:focus-within .language-menu {
    display: block
}

.language-menu a {
    display: block!important;
    padding: 10px 12px!important;
    white-space: nowrap;
    text-decoration: none
}

.language-menu a:hover,.language-menu a:focus-visible {
    background: #eef3f4;
    color: #b67818
}

.language-menu a[aria-current="true"] {
    font-weight: 800;
    color: #b67818
}

@media(max-width: 900px) {
    .language-switcher {
        display:block
    }

    .language-switcher>button {
        width: 100%;
        padding: 14px 0;
        text-align: left
    }

    .language-menu {
        position: static;
        display: flex;
        box-shadow: none;
        border: 0;
        padding: 0;
        gap: 8px
    }

    .language-menu a {
        padding: 8px 10px!important;
        border: 1px solid #cbd1d5
    }
}

.language-menu span {
    display: block;
    padding: 10px 12px;
    white-space: nowrap;
    color: #647486;
    cursor: default
}

.language-menu span[aria-current="true"] {
    font-weight: 800;
    color: #b67818
}

.language-menu span:not([aria-current])::after {
    content: "Soon";
    margin-left: 10px;
    color: #9ba6af;
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase
}

@media(max-width: 900px) {
    .language-menu span {
        padding:8px 10px;
        border: 1px solid #cbd1d5
    }
}

/* Optical Materials catalogue cards: one clear destination per whole card. */
.optical-materials-page .optical-platforms-catalog {
    padding-top: 0
}

.optical-materials-page .optical-platform-grid article {
    position: relative;
    overflow: hidden;
    transition: border-color .25s,box-shadow .25s,transform .25s
}

.optical-materials-page .optical-platform-grid article>img {
    transition: transform .45s cubic-bezier(.2,.7,.2,1)
}

.optical-materials-page .optical-platform-grid article a::after {
    content: "";
    position: absolute;
    inset: 0
}

.optical-materials-page .optical-platform-grid article:hover {
    border-color: #8295a8;
    box-shadow: 0 12px 28px rgba(19,35,58,.11);
    transform: translateY(-2px)
}

.optical-materials-page .optical-platform-grid article:hover>img {
    transform: scale(1.025)
}

.optical-materials-page .optical-platform-grid article:hover a {
    color: #a36e18
}

.optical-materials-page .optical-platform-grid article:has(a:focus-visible) {
    outline: 3px solid #0d347e;
    outline-offset: 3px
}

.optical-materials-page .optical-platform-grid article a:focus-visible {
    outline: 0
}

/* Tobacco Materials catalogue cards: make the full card the product link. */
.material-page .catalog-card {
    position: relative;
    overflow: hidden;
    transition: border-color .25s,box-shadow .25s,transform .25s
}

.material-page .catalog-card img {
    transition: transform .45s cubic-bezier(.2,.7,.2,1)
}

.material-page .catalog-card>a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100vw;
    height: 100vh;
    top: -50vh;
    left: -50vw;
}

.material-page .catalog-card:hover {
    border-color: #8295a8;
    box-shadow: 0 12px 28px rgba(19,35,58,.11);
    transform: translateY(-2px)
}

.material-page .catalog-card:hover img {
    transform: scale(1.025)
}

.material-page .catalog-card:hover>a {
    color: #a36e18
}

.material-page .catalog-card:has(>a:focus-visible) {
    outline: 3px solid #0d347e;
    outline-offset: 3px
}

.material-page .catalog-card>a:focus-visible {
    outline: 0
}

/* Cigarette board galleries use square source photography. Keep this after
   the shared product-detail media frame so the page-specific ratio wins. */
.cigarette-board-page .product-viewer {
    width: min(100%,520px)!important;
    max-width: 520px!important;
    height: auto!important;
    aspect-ratio: 1;
    margin: 16px auto 0!important;
}

@media(min-width: 1051px) {
    .cigarette-board-page .board-selector-nav {
        align-self:stretch;
        justify-content: flex-start;
        background: #f4f5f3;
    }

    .cigarette-board-page .board-selector-nav button {
        flex: 0 0 116px;
        min-height: 116px;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .cigarette-board-page .board-selector-nav button:last-child {
        border-bottom: 1px solid #d9dcde;
    }

    .cigarette-board-page .board-detail {
        grid-template-columns: 1fr 1fr;
    }

    .cigarette-board-page .board-detail-main, .cigarette-board-page .board-detail-specs {
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* Keep the cigarette-board sub-navigation compact and intentional at the
   horizontal breakpoint, regardless of whether a family has one or two items. */
@media(max-width: 1050px) and (min-width:761px) {
    .cigarette-board-page .board-selector-nav {
        grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
        background: #f4f5f3;
    }

    .cigarette-board-page .board-selector-nav button {
        min-height: 92px;
        padding: 17px 22px;
        border-right: 1px solid #d9dcde;
        border-bottom: 0;
    }

    .cigarette-board-page .board-selector-nav button:last-child {
        border-right: 0;
    }
}

.cigarette-board-page .board-detail-actions {
    margin-top: 16px;
    padding-top: 0;
}

@media(max-width: 760px) {
    .cigarette-board-page .product-viewer {
        width:min(100%,420px)!important;
        max-width: 420px!important;
        height: auto!important;
    }
}

/* Homepage material rows after removal of decorative number column. */
.material-platform-row {
    grid-template-columns: minmax(300px,1.25fr) minmax(260px,.9fr) auto
}

@media(max-width: 900px) {
    .material-platform-row {
        grid-template-columns:1fr;
        gap: 12px;
        min-height: 0;
        padding: 27px 0
    }

    .material-platform-row>div, .material-platform-row>.platform-range, .material-platform-row>.platform-action {
        grid-column: 1
    }
}

/* Unified product-detail selector: secondary product choices sit above the
   detail panel on every board-family page. Single choices are not repeated. */
.board-page .board-selector-nav:has(>button:only-child) {
    display: none
}

.board-page .board-detail-actions {
    margin-top: 16px;
    padding-top: 0
}

@media(min-width: 761px) {
    .board-page .board-selector {
        grid-template-columns:1fr;
        min-height: 0;
    }

    .board-page .board-selector-nav {
        display: grid;
        grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
        border-right: 0;
        border-bottom: 1px solid #cfd3d6;
        background: #f4f5f3;
    }

    .board-page .board-selector-nav button {
        min-height: 92px;
        flex: none;
        padding: 17px 22px;
        border-right: 1px solid #d9dcde;
        border-bottom: 0;
    }

    .board-page .board-selector-nav button:last-child {
        border-right: 0;
    }

    .board-page .board-detail {
        grid-template-columns: 1fr 1fr;
    }
}

/* Local Chinese reading version */
.language-switcher.language-open .language-menu {
    display: block
}

.language-menu a[aria-current="false"] {
    color: #10243d;
    font-weight: 400
}

html:lang(zh-CN) body {
    font-family: Arial,"PingFang SC","Microsoft YaHei",sans-serif
}

html:lang(zh-CN) h1,html:lang(zh-CN) h2,html:lang(zh-CN) h3 {
    line-height: 1.3;
    letter-spacing: 0
}

html:lang(zh-CN) .hero-content h1 {
    font-size: clamp(2.5rem,4.8vw,5.2rem)
}

html:lang(zh-CN) .hero-content p {
    line-height: 1.7
}

html:lang(zh-CN) .kicker,html:lang(zh-CN) .eyebrow {
    letter-spacing: .08em
}

/* Give finished packaging examples consistent breathing room without cropping. */
.tobacco-solution-page .finished-format-image {
    box-sizing: border-box;
    padding: clamp(16px,2vw,28px)
}

.tobacco-solution-page .finished-format-image img {
    object-fit: contain;
    object-position: center
}

/* Consistent product summaries in the tobacco materials overview. */
.tobacco-materials-page .catalog-copy {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 132px;
    padding-bottom: 20px
}

.tobacco-materials-page .catalog-copy p {
    margin: 0;
    color: #5e7189;
    font-size: .95rem;
    line-height: 1.55;
    max-width: 48ch
}

@media(max-width: 1000px) {
    .tobacco-materials-page .catalog-copy {
        min-height:150px
    }
}

@media(max-width: 680px) {
    .tobacco-materials-page .catalog-copy {
        min-height:0;
        margin-bottom: 0;
        padding-bottom: 22px
    }
}

/* Material listings: summary, image, then exploration link. */
.optical-materials-page .optical-platform-grid article {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 18px;
    gap: 0
}

.optical-materials-page .optical-platform-grid article>.optical-listing-copy {
    box-sizing: border-box;
    flex: none;
    min-height: 175px;
    padding: 0 0 20px
}

.optical-materials-page .optical-platform-grid .optical-listing-copy .kicker {
    font-size: .68rem;
    margin: 0 0 12px;
    letter-spacing: .12em
}

.optical-materials-page .optical-platform-grid .optical-listing-copy h3 {
    color: #0d347e;
    margin: 0 0 12px;
    font-size: clamp(22px,1.75vw,29px)
}

.optical-materials-page .optical-platform-grid .optical-listing-copy p:not(.kicker) {
    font-size: .95rem;
    line-height: 1.55;
    max-width: 48ch
}

.optical-materials-page .optical-platform-grid article>img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    margin-top: auto
}

.optical-materials-page .optical-platform-grid article>a {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px 2px 5px;
    border-bottom: 1px solid #b08635;
    font-size: .9rem;
    align-self: flex-start;
    color: #0d347e
}

@media(max-width: 650px) {
    .optical-materials-page .optical-platform-grid article>.optical-listing-copy {
        min-height:0;
        padding-bottom: 22px
    }

    .optical-materials-page .optical-platform-grid article>img {
        height: 210px
    }
}

/* Balanced image spacing across both material overview pages. */
.tobacco-materials-page .catalog-card, .optical-materials-page .optical-platform-grid article {
    padding: 18px;
    min-height: 0
}

.tobacco-materials-page .catalog-copy {
    box-sizing: border-box;
    min-height: 112px;
    margin: 0;
    padding: 0 0 22px;
    gap: 12px
}

.optical-materials-page .optical-platform-grid article>.optical-listing-copy {
    min-height: 142px;
    padding: 0 0 22px
}

.tobacco-materials-page .catalog-card>img, .optical-materials-page .optical-platform-grid article>img {
    height: 220px;
    flex: none;
    margin-top: auto;
    object-position: center
}

.tobacco-materials-page .catalog-card>a, .optical-materials-page .optical-platform-grid article>a {
    margin: 18px 0 0;
    padding: 0 2px 7px;
    line-height: 1.5;
    align-self: flex-start;
    position: relative;
    z-index: 1;
}

.tobacco-materials-page .catalog-card:hover, .optical-materials-page .optical-platform-grid article:hover {
    transform: none
}

.tobacco-materials-page .catalog-card:hover img, .optical-materials-page .optical-platform-grid article:hover>img {
    transform: scale(1.025)
}

@media(max-width: 1000px) {
    .tobacco-materials-page .catalog-copy {
        min-height:112px
    }
}

@media(max-width: 680px) {
    .tobacco-materials-page .catalog-copy {
        min-height:0
    }

    .tobacco-materials-page .catalog-card>img {
        height: 210px
    }
}

@media(max-width: 650px) {
    .optical-materials-page .optical-platform-grid article>.optical-listing-copy {
        min-height:0
    }

    .optical-materials-page .optical-platform-grid article>img {
        height: 210px
    }
}

/* Concise specifications for cigarette packaging board. */
.cigarette-board-page .board-specification-note {
    margin: 18px 0;
    color: #5e7189;
    font-size: .85rem;
    line-height: 1.65
}

.cigarette-board-page .board-application-note {
    margin: 0;
    color: #5e7189;
    font-size: .85rem;
    line-height: 1.65
}

/* Tobacco product media: match the inner-liner reference across all six pages. */
.board-detail-main {
    text-align: center;
}
.board-detail-main h3,
.board-detail-main p {
    text-align: left;
}
.tobacco-detail-media .board-detail-main>img, .tobacco-detail-media .board-detail-main .product-viewer {
    width: auto!important;
    display: inline-flex;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%!important;
    height: auto!important;
    aspect-ratio: auto;
    margin: 16px 0 0!important;
    padding: 0!important;
    box-sizing: border-box;
    border: 1px solid #e1e3e4!important;
    background: #f2f1ed!important;
    object-fit: contain!important;
    object-position: center!important;
}

@media(max-width: 760px) {
    .tobacco-detail-media .board-detail-main>img, .tobacco-detail-media .board-detail-main .product-viewer {
        height:220px!important;
        margin-top: 14px!important;
    }
}

.tipping-performance-options p {
    color: #5f6e80;
    font-size: 13px;
    line-height: 1.65
}

.performance-parameter-note {
    color: #647184;
    font-size: 12px;
    line-height: 1.55
}

.tipping-page .js-application-copy {
    color: #42566c;
    font-size: 13px;
    line-height: 1.65
}

.tipping-page .js-performance-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

/* Shared capability and performance sections across tobacco material pages. */
.material-capabilities {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1.6fr);
    align-items: start;
    gap: 40px;
    padding: 36px;
    background: #f4f5f3;
    border: 1px solid #d9dedf;
}

.material-capabilities>div {
    min-width: 0
}

.material-capabilities .material-capabilities-intro {
    max-width: 440px;
    margin: 18px 0 0;
    color: #5f6e80;
    font-size: 14px;
    line-height: 1.65;
}

.material-capability-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
    border: 0;
}

.material-capability-grid>span, .material-capability-grid>span:nth-child(even) {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    padding: 20px;
    border: 1px solid #dce1e3;
    background: #fff;
    color: #5f6e80;
    font-size: 12px;
    line-height: 1.6;
}

.material-capability-grid>span>b {
    color: #13233a;
    font-size: 14px;
    line-height: 1.4
}

.material-capability-grid>span:last-child:nth-child(odd) {
    grid-column: 1/-1
}

@media(max-width: 900px) {
    .material-capabilities {
        grid-template-columns:1fr;
        gap: 26px
    }
}

@media(max-width: 680px) {
    .material-capabilities {
        padding:24px 20px
    }

    .material-capability-grid {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .material-capability-grid>span, .material-capability-grid>span:nth-child(even) {
        padding: 18px
    }
}

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

.film-application-grid figure:last-child {
    grid-column: auto
}

@media(max-width: 1000px) {
    .film-application-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 560px) {
    .film-application-grid {
        grid-template-columns:1fr
    }
}

/* Film application gallery: four square media cards with visible captions. */
.compact-possibilities:has(.film-application-grid)>header, .compact-possibilities .film-application-grid {
    width: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}

.compact-possibilities .film-application-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 24px;
}

.compact-possibilities .film-application-grid figure {
    min-width: 0;
    grid-column: auto;
    background: #fff
}

.compact-possibilities .film-application-grid img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    box-sizing: border-box;
    padding: 14px;
    object-fit: contain;
    object-position: center;
    background: #f4f3ef;
}

.compact-possibilities .film-application-grid .application-card-crop img {
    padding: 0;
    object-fit: cover;
    object-position: center;
}

.compact-possibilities .film-application-grid figcaption {
    position: static;
    inset: auto;
    opacity: 1;
    background: #fff;
    color: #13233a;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 6px;
    padding: 16px 18px 18px;
    min-height: 80px;
    box-sizing: border-box;
}

.compact-possibilities .film-application-grid figcaption span {
    color: #667588;
    font-size: 12px;
    line-height: 1.5
}

.compact-possibilities .film-application-grid figure:hover img {
    transform: none
}

@media(max-width: 1050px) {
    .compact-possibilities .film-application-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 560px) {
    .compact-possibilities .film-application-grid {
        grid-template-columns:1fr;
        gap: 20px
    }
}

/* Equal square application tiles with captions inside the image. */
.compact-possibilities .film-application-grid figure {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
}

.compact-possibilities .film-application-grid img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
}

.compact-possibilities .film-application-grid figcaption {
    position: absolute;
    inset: auto 0 0;
    min-height: 0;
    padding: 36px 18px 18px;
    background: linear-gradient(180deg,transparent,rgba(11,29,51,.88));
    color: #fff;
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}

.compact-possibilities .film-application-grid figcaption span {
    color: #e2e8ee
}

.compact-possibilities .film-application-grid figure:hover figcaption, .compact-possibilities .film-application-grid figure:focus figcaption {
    opacity: 1
}

.compact-possibilities .film-application-grid figure:focus-visible {
    outline: 3px solid #b7862e;
    outline-offset: 3px
}

@media(hover: none),(max-width:560px) {
    .compact-possibilities .film-application-grid figcaption {
        opacity:1
    }

    .compact-possibilities .film-application-grid figcaption span {
        display: none
    }
}

@media(prefers-reduced-motion:reduce) {
    .compact-possibilities .film-application-grid figcaption {
        transition: none
    }
}

/* Fill every film application tile using the same crop as the first image. */
.compact-possibilities .film-application-grid img {
    padding: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%
}

/* Optical film hero: neutral material scene integrated with live page copy. */
.film-new-hero.film-integrated-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    max-width: none;
    min-height: clamp(440px,38vw,620px);
    background: #e9e9e9;
    overflow: hidden;
    padding: 0 max(5vw,24px);
    box-sizing: border-box;
}

.film-integrated-hero>.breadcrumbs {
    position: relative;
    z-index: 2;
    align-self: auto;
    margin: 24px 0 0
}

.film-integrated-hero .film-new-hero-copy {
    position: relative;
    z-index: 2;
    align-self: flex-start;
    width: 40%;
    box-sizing: border-box;
    padding: 40px 0 54px;
    margin: auto 0;
}

.film-integrated-hero .film-new-hero-copy h1 {
    font-size: clamp(38px,3.65vw,64px);
    line-height: 1.05
}

.film-integrated-hero>figure {
    position: absolute;
    z-index: 0;
    inset: 0;
    margin: 0;
    height: 100%;
    min-height: 0;
}

.film-integrated-hero>figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right center;
}

@media(max-width: 900px) {
    .film-new-hero.film-integrated-hero {
        min-height:0;
        padding: 0 24px
    }

    .film-integrated-hero .film-new-hero-copy {
        width: 100%;
        padding: 32px 0 12px;
        margin: 0
    }

    .film-integrated-hero .film-new-hero-copy h1 {
        max-width: 650px
    }

    .film-integrated-hero>figure {
        position: relative;
        inset: auto;
        width: 100%;
        height: clamp(240px,46vw,400px);
        margin: 0
    }

    .film-integrated-hero>figure img {
        width: 165%;
        max-width: none;
        object-fit: contain;
        object-position: right center;
        position: absolute;
        right: 0
    }
}

/* Seamless warm-neutral opening matching the film content background. */
.film-new-hero.film-integrated-hero {
    background: #f5f4f0
}

.film-integrated-hero>figure {
    -webkit-mask-image: linear-gradient(to right,transparent 0%,#000 40%,#000 100%);
    mask-image: linear-gradient(to right,transparent 0%,#000 40%,#000 100%);
}

.film-integrated-hero>figure::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to bottom,#f5f4f0 0%,transparent 10%,transparent 88%,#f5f4f0 100%);
}

@media(max-width: 900px) {
    .film-integrated-hero>figure {
        -webkit-mask-image:none;
        mask-image: none
    }
}

/* Compact integrated film hero while retaining the warm seamless backdrop. */
@media(min-width: 901px) {
    .film-new-hero.film-integrated-hero {
        min-height:clamp(400px,30vw,460px)
    }

    .film-integrated-hero>.breadcrumbs {
        margin-top: 20px
    }

    .film-integrated-hero .film-new-hero-copy {
        padding-top: 24px;
        padding-bottom: 30px
    }

    .film-integrated-hero>figure img {
        transform: translateX(-4%) scale(.97);
        transform-origin: right center
    }
}

/* Compact route introduction: one heading row above the product comparison. */
.film-two-routes#film-routes {
    padding-top: 44px
}

.film-two-routes>.film-route-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin: 0 0 24px;
}

.film-two-routes>.film-route-summary h2 {
    flex: 0 0 auto;
    max-width: none;
    margin: 0;
    font-size: 28px;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.film-two-routes>.film-route-summary p {
    max-width: 660px;
    margin: 0;
    font-size: 15px;
    line-height: 1.6
}

@media(max-width: 900px) {
    .film-two-routes#film-routes {
        padding-top:32px
    }

    .film-two-routes>.film-route-summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 22px
    }

    .film-two-routes>.film-route-summary h2 {
        font-size: 24px
    }
}

/* Stable film effect navigation while switching between unequal panel heights. */
@media(min-width: 781px) {
    .film-effects-browser>aside {
        position:sticky;
        top: 96px;
        align-self: start;
        max-height: calc(100dvh - 116px);
        overflow-y: auto;
        scrollbar-width: thin;
        padding-right: 4px
    }

    .film-effects-browser>aside h2 {
        font-size: clamp(28px,2.4vw,38px);
        line-height: 1.12;
        margin: 12px 0 16px
    }

    .film-effects-browser>aside>p:not(.kicker) {
        font-size: 14px;
        line-height: 1.55;
        margin-bottom: 12px
    }

    .film-effects-browser>aside>.effect-availability-note {
        margin: 16px 0 18px;
        padding-top: 14px;
        font-size: 13px
    }

    .film-effects-browser .film-effect-nav button {
        padding-top: 14px;
        padding-bottom: 14px
    }

    .film-effects-browser {
        overflow-anchor: none
    }
}

@media(max-width: 780px) {
    .film-effects-browser .film-effect-panels {
        min-height:0!important
    }
}

/* Shared registered optics gallery */
.registered-gallery {
    margin: 24px 0
}

.registered-gallery-stage {
    margin: 0;
    position: relative;
    aspect-ratio: 4/3;
    background: #f5f4f0;
    overflow: hidden;
    border-radius: 10px
}

.registered-gallery-stage>img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain
}

.registered-gallery-stage figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 28px 20px 16px;
    background: linear-gradient(transparent,rgba(0,0,0,.7));
    color: white;
    font-size: 15px
}

.registered-gallery-thumbs {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
    margin-top: 14px
}

.registered-gallery-thumbs button {
    padding: 3px;
    border: 2px solid transparent;
    border-radius: 7px;
    background: #f5f4f0;
    cursor: pointer;
    overflow: hidden
}

.registered-gallery-thumbs button[aria-pressed="true"] {
    border-color: #b5945e
}

.registered-gallery-thumbs button:focus-visible {
    outline: 2px solid #16283e;
    outline-offset: 3px
}

.registered-gallery-thumbs img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: contain;
    display: block
}

@media(max-width: 560px) {
    .registered-gallery-thumbs {
        gap:6px
    }

    .registered-gallery-stage figcaption {
        font-size: 13px;
        padding: 24px 12px 10px
    }
}

.registered-quad {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
    margin: 24px 0
}

.registered-quad-card {
    display: block;
    position: relative;
    aspect-ratio: 4/3;
    padding: 0;
    border: 0;
    border-radius: 9px;
    overflow: hidden;
    background: #f5f4f0;
    cursor: zoom-in
}

.registered-quad-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform .3s
}

.registered-quad-card span {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 30px 16px 14px;
    background: linear-gradient(transparent,rgba(0,0,0,.72));
    color: #fff;
    font-size: 14px;
    text-align: left;
    opacity: 0;
    transition: opacity .2s
}

.registered-quad-card:hover img {
    transform: scale(1.035)
}

.registered-quad-card:hover span,.registered-quad-card:focus-visible span {
    opacity: 1
}

.registered-quad-card:focus-visible {
    outline: 2px solid #b5945e;
    outline-offset: 4px
}

.optic-image-dialog {
    border: 0;
    padding: 40px 12px 12px;
    background: #f5f4f0;
    border-radius: 10px;
    max-width: 94vw;
    max-height: 94dvh
}

.optic-image-dialog::backdrop {
    background: rgba(10,15,20,.82)
}

.optic-image-dialog>img {
    display: block;
    max-width: 88vw;
    max-height: 80dvh;
    object-fit: contain
}

.optic-image-close {
    position: absolute;
    top: 2px;
    right: 10px;
    border: 0;
    background: none;
    font-size: 30px;
    cursor: pointer;
    color: #172b3d
}

@media(max-width: 560px) {
    .registered-quad {
        grid-template-columns:1fr;
        gap: 16px
    }

    .registered-quad-card span {
        opacity: 1
    }
}

@media(hover: none) {
    .registered-quad-card span {
        opacity:1
    }
}

@media(prefers-reduced-motion:reduce) {
    .registered-quad-card img,.registered-quad-card span {
        transition: none
    }
}

/* Foil opening uses the same integrated composition as optical film. */
.foil-routes>.film-route-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 24px
}

.foil-routes>.film-route-summary h2 {
    font-size: 28px;
    line-height: 1.2;
    margin: 0
}

.foil-routes>.film-route-summary>p {
    font-size: 15px;
    max-width: 660px;
    margin: 0
}

.foil-routes {
    padding-top: 44px
}

@media(max-width: 780px) {
    .foil-routes>.film-route-summary {
        display:block
    }

    .foil-routes>.film-route-summary h2 {
        font-size: 24px;
        margin-bottom: 12px
    }
}

.compact-possibilities .foil-application-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))
}

@media(max-width: 780px) {
    .compact-possibilities .foil-application-grid {
        grid-template-columns:1fr
    }
}

.compact-possibilities .foil-application-grid {
    grid-template-columns: repeat(4,minmax(0,1fr))
}

@media(max-width: 1050px) {
    .compact-possibilities .foil-application-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 560px) {
    .compact-possibilities .foil-application-grid {
        grid-template-columns:1fr
    }
}

/* Paperboard uses the shared film/foil seamless hero treatment. */
.paperboard-integrated-hero>figure {
    left: 30%;
    height: 100%;
    min-height: 0
}

.paperboard-integrated-hero>figure img {
    object-fit: cover;
    object-position: center;
    transform: none
}

.paperboard-integrated-hero>figure {
    -webkit-mask-image: linear-gradient(to right,transparent 0%,#000 28%,#000 100%);
    mask-image: linear-gradient(to right,transparent 0%,#000 28%,#000 100%)
}

@media(max-width: 900px) {
    .paperboard-integrated-hero>figure {
        left:auto;
        height: clamp(240px,46vw,400px);
        -webkit-mask-image: none;
        mask-image: none
    }

    .paperboard-integrated-hero>figure img {
        width: 100%;
        position: static;
        object-fit: cover;
        transform: none
    }
}

/* Match the compact film/foil route introduction. */
.paperboard-routes {
    padding-top: 44px
}

@media(max-width: 780px) {
    .paperboard-routes>.film-route-summary {
        display:block
    }

    .paperboard-routes>.film-route-summary h2 {
        font-size: 24px;
        margin-bottom: 12px
    }
}

.compact-possibilities .paperboard-application-grid {
    grid-template-columns: repeat(4,minmax(0,1fr))
}

.compact-possibilities .paperboard-application-grid img {
    object-fit: cover;
    background: #f5f4f0
}

@media(max-width: 1050px) {
    .compact-possibilities .paperboard-application-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 560px) {
    .compact-possibilities .paperboard-application-grid {
        grid-template-columns:1fr
    }
}

/* Keep approved material/process descriptions visible on touch screens. */
@media(hover: none),(max-width:560px) {
    .compact-possibilities .film-application-grid figcaption span {
        display:block
    }
}

/* Applications: compact heading hierarchy keeps focus on case imagery. */
.applications-page .applications-hero h1 {
    font-size: clamp(48px,3.7vw,56px);
    line-height: 1.05
}

.applications-page .inspiration-group {
    padding-top: 58px;
    padding-bottom: 68px
}

.applications-page .inspiration-group>header {
    align-items: start;
    gap: 6vw;
    margin-bottom: 28px
}

.applications-page .inspiration-group h2 {
    font-size: clamp(30px,2.5vw,36px);
    line-height: 1.15;
    letter-spacing: -.025em;
    max-width: 680px;
    margin-top: 10px
}

.applications-page .inspiration-group>header>p {
    align-self: start;
    margin: 0;
    font-size: 16px;
    line-height: 1.65
}

.applications-page .inspiration-group>header .kicker {
    font-size: 12px
}

.applications-page .inspiration-card h3 {
    font-size: clamp(22px,1.8vw,26px);
    line-height: 1.15;
    letter-spacing: -.025em;
    margin: 22px 0 16px
}

.applications-page .inspiration-card span {
    font-size: 15px;
    line-height: 1.55
}

@media(max-width: 680px) {
    .applications-page .applications-hero h1 {
        font-size:38px
    }

    .applications-page .inspiration-group {
        padding: 44px 20px 50px
    }

    .applications-page .inspiration-group>header {
        gap: 16px;
        margin-bottom: 24px
    }

    .applications-page .inspiration-group h2 {
        font-size: 28px
    }

    .applications-page .inspiration-card h3 {
        font-size: 23px;
        margin-top: 22px
    }
}

/* Shared application detail: equal media and content columns, viewport-bounded. */
.applications-page .application-modal {
    width: min(1180px,94vw);
    max-height: 90dvh;
    overflow: auto
}

.applications-page .application-modal-grid {
    grid-template-columns: 1fr 1fr;
    min-height: 0;
    height: min(680px,85dvh)
}

.applications-page .application-modal .application-modal-figure {
    height: 100%;
    min-height: 0;
    min-width: 0;
    background: #f4f3ef;
    padding: 24px;
    box-sizing: border-box
}

.applications-page .application-modal figure img,.applications-page .application-modal figure img.photo-contain {
    height: 100%;
    width: 100%;
    object-fit: contain;
    background: #f4f3ef
}

.applications-page .application-modal-content {
    min-width: 0;
    min-height: 0;
    padding: 40px 32px 24px;
    overflow: auto;
    box-sizing: border-box
}

.applications-page .application-modal-content>.kicker {
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .1em;
    margin: 0 38px 12px 0
}

.applications-page .application-modal-content h2 {
    font-size: clamp(28px,2.3vw,32px);
    line-height: 1.12;
    letter-spacing: -.025em;
    margin: 0 0 20px
}

.applications-page .application-modal dl>div {
    grid-template-columns: 104px minmax(0,1fr);
    gap: 16px;
    padding: 11px 0
}

.applications-page .application-modal dt {
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .04em
}

.applications-page .application-modal dd {
    font-size: 14px;
    line-height: 1.45
}

.applications-page .application-modal-content .btn {
    margin-top: 20px;
    padding: 14px 20px;
    font-size: 14px;
    min-height: 0;
    align-self: flex-start;
    flex-shrink: 0
}

@media(max-width: 900px) {
    .applications-page .application-modal-grid {
        grid-template-columns:1fr;
        height: auto
    }

    .applications-page .application-modal .application-modal-figure {
        height: clamp(240px,45vw,380px);
        padding: 20px
    }

    .applications-page .application-modal-content {
        overflow: visible;
        padding: 26px 24px
    }

    .applications-page .application-modal-content h2 {
        font-size: 28px
    }
}

@media(max-width: 520px) {
    .applications-page .application-modal dl>div {
        grid-template-columns:1fr;
        gap: 5px
    }

    .applications-page .application-modal-content h2 {
        font-size: 25px
    }
}

/* Tobacco application summaries: information stays beside the image. */
.applications-page .tobacco-summary-card {
    cursor: default;
    height: 390px
}

.applications-page .tobacco-summary-card>div {
    padding: 26px 24px;
    min-width: 0
}

.applications-page .tobacco-summary-card h3 {
    margin: 0 0 20px;
    font-size: 24px;
    line-height: 1.15
}

.application-photo-button {
    display: block;
    position: relative;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: #f4f3ef;
    overflow: hidden;
    cursor: zoom-in
}

.application-photo-button img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.application-photo-button.photo-contain img {
    object-fit: contain
}

.application-photo-button:focus-visible {
    outline: 3px solid #ad7419;
    outline-offset: -4px
}

.application-summary {
    margin: 0
}

.application-summary>div {
    margin-bottom: 15px
}

.application-summary dt {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #697789;
    margin-bottom: 4px
}

.application-summary dd {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: #24364b
}

.application-project-link {
    margin-top: auto;
    padding-top: 10px;
    color: #13233a;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none
}

.application-project-link:hover {
    color: #ad7419
}

.applications-page .application-modal.image-only {
    width: min(1000px,94vw)
}

.applications-page .application-modal.image-only .application-modal-grid {
    display: block;
    height: min(780px,88dvh)
}

.applications-page .application-modal.image-only .application-modal-content {
    display: none
}

@media(max-width: 680px) {
    .applications-page .tobacco-summary-card {
        height:auto
    }

    .tobacco-summary-card .application-photo-button {
        height: 300px
    }

    .applications-page .tobacco-summary-card>div {
        min-height: 0;
        padding: 24px
    }

    .applications-page .application-modal.image-only .application-modal-figure {
        height: 100%
    }
}

/* Inline technical references expand without a separate detail dialog. */
.applications-page #tobacco .inspiration-grid {
    align-items: start
}

.applications-page .tobacco-summary-card {
    height: auto;
    min-height: 420px;
    overflow: visible;
    align-items: stretch
}

.tobacco-summary-card .application-photo-button {
    height: 420px;
    align-self: start
}

.case-technical-details {
    margin: 3px 0 16px;
    border-top: 1px solid #d8dde1;
    border-bottom: 1px solid #d8dde1
}

.case-technical-details summary {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 0;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    color: #13233a;
    list-style: none
}

.case-technical-details summary::-webkit-details-marker {
    display: none
}

.case-technical-details summary::after {
    content: '+';
    font-size: 16px;
    line-height: 1
}

.case-technical-details[open] summary::after {
    content: 'âˆ’'
}

.case-technical-details summary:focus-visible {
    outline: 2px solid #ad7419;
    outline-offset: 3px
}

.case-technical-details dl {
    margin: 0 0 14px
}

.case-technical-details dl>div {
    padding: 10px 0;
    border-top: 1px solid #e7e9eb
}

.case-technical-details dt {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    color: #697789;
    margin-bottom: 4px
}

.case-technical-details dd {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #24364b
}

@media(max-width: 680px) {
    .applications-page .tobacco-summary-card {
        min-height:0
    }

    .tobacco-summary-card .application-photo-button {
        height: 300px
    }
}

/* Technical data opens across the full row, leaving both cards aligned. */
.applications-page #tobacco .inspiration-grid {
    align-items: stretch
}

.applications-page .tobacco-summary-card {
    min-height: 420px;
    height: 100%;
    box-sizing: border-box;
    overflow: hidden
}

.case-technical-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 3px 0 16px;
    padding: 13px 0;
    border: 0;
    border-top: 1px solid #d8dde1;
    border-bottom: 1px solid #d8dde1;
    background: transparent;
    color: #13233a;
    text-align: left;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer
}

.case-technical-toggle::after {
    content: '+';
    font-size: 16px
}

.case-technical-toggle[aria-expanded="true"]::after {
    content: 'âˆ’'
}

.case-technical-toggle:focus-visible {
    outline: 2px solid #ad7419;
    outline-offset: 3px
}

.case-technical-panel {
    grid-column: 1/-1;
    padding: 24px 28px;
    background: #f4f3ef;
    border: 1px solid #ccd1d4;
    box-sizing: border-box
}

.case-technical-panel h4 {
    margin: 0 0 18px;
    color: #13233a;
    font-size: 18px
}

.case-technical-panel dl {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px 30px;
    margin: 0
}

.case-technical-panel dl>div {
    padding-top: 12px;
    border-top: 1px solid #cdd2d6
}

.case-technical-panel dt {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    color: #697789;
    margin-bottom: 6px
}

.case-technical-panel dd {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #24364b
}

@media(max-width: 1050px) {
    .case-technical-panel dl {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 680px) {
    .applications-page .tobacco-summary-card {
        height:auto;
        min-height: 0
    }

    .case-technical-panel {
        padding: 22px
    }

    .case-technical-panel dl {
        grid-template-columns: 1fr;
        gap: 12px
    }
}

/* Four distinct facts per tobacco application, with no duplicate detail panel. */
.applications-page .tobacco-summary-card>div {
    padding: 26px 24px
}

.applications-page .tobacco-summary-card h3 {
    margin-bottom: 22px
}

.tobacco-summary-card .application-summary>div {
    margin-bottom: 18px
}

.tobacco-summary-card .application-summary dt {
    font-size: 10px;
    line-height: 1.4;
    margin-bottom: 5px
}

.tobacco-summary-card .application-summary dd {
    font-size: 14px;
    line-height: 1.5
}

.tobacco-summary-card .application-project-link {
    padding-top: 12px
}

.tobacco-options-note {
    margin: 22px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: #68778a;
    max-width: 900px
}

/* Shared application cards use a concise preview and a separate detail dialog. */
.applications-page .inspiration-card {
    height: 390px;
    min-height: 0
}

.applications-page .inspiration-card>div {
    padding: 32px 28px
}

.applications-page .inspiration-card h3 {
    margin: 0 0 20px
}

.applications-page .inspiration-card>div>b {
    margin-top: auto
}

.applications-page .application-modal-category {
    display: none
}

.applications-page #application-modal-category {
    display: none
}

.applications-page .application-modal dl>div {
    grid-template-columns: 112px minmax(0,1fr);
    padding: 14px 0
}

@media(max-width: 680px) {
    .applications-page .inspiration-card {
        height:auto
    }

    .applications-page .inspiration-card>div {
        min-height: 220px;
        padding: 26px 23px
    }

    .applications-page .application-modal dl>div {
        grid-template-columns: 1fr;
        gap: 5px
    }
}

/* Keep the project CTA in a consistent detail-dialog footer position. */
.applications-page .application-modal-content .btn {
    margin-top: auto;
    align-self: flex-end;
    flex-shrink: 0;
    padding: 13px 20px;
    font-size: 14px
}

.applications-page .application-modal-content dl {
    margin-bottom: 24px
}

@media(max-width: 900px) {
    .applications-page .application-modal-content .btn {
        margin-top:0;
        align-self: flex-start
    }
}

.application-case-outcome {
    margin: 0 0 24px;
    padding: 14px 16px;
    border-left: 3px solid #ad7419;
    background: #eae9e4;
    color: #24364b;
    font-size: 14px;
    line-height: 1.6
}

.application-case-outcome[hidden] {
    display: none
}

/* Separate detail and material actions without nesting interactive elements. */
.applications-page .application-linked-card {
    cursor: default
}

.application-card-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin-top: auto;
    padding-top: 24px
}

.application-details-link {
    padding: 0;
    border: 0;
    background: none;
    color: #13233a;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    text-align: left
}

.application-material-link {
    font-size: 12px;
    font-weight: 600;
    color: #68778a;
    text-decoration: none
}

.application-details-link:hover,.application-material-link:hover {
    color: #ad7419
}

.application-details-link:focus-visible,.application-material-link:focus-visible {
    outline: 2px solid #ad7419;
    outline-offset: 4px
}

/* Inner-liner material images keep a consistent square stage. */
.inner-liner-page .board-detail-main .product-viewer {
    width: 100%;
    aspect-ratio: 1/1;
    height: auto;
    background: #f4f3ef;
    overflow: hidden
}

.inner-liner-page .board-detail-main .product-viewer .js-detail-image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
    background: #f4f3ef;
    max-height: none
}

.inner-liner-page .liner-custom-gallery {
    max-width: 640px;
    margin: 36px auto 0
}

.inner-liner-page .liner-custom-gallery .product-viewer {
    position: relative;
    aspect-ratio: 1/1;
    background: #f4f3ef;
    overflow: hidden
}

.inner-liner-page .liner-custom-gallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain
}

.inner-liner-page .liner-custom-gallery>p {
    font-size: 13px;
    line-height: 1.6;
    color: #68778a;
    margin: 14px 0 0
}

/* Inner-liner layout: override legacy fixed-height media frames. */
.inner-liner-page.tobacco-detail-media .board-detail-main .product-viewer {
    width: 100%!important;
    height: auto!important;
    aspect-ratio: 1/1!important;
    margin: 20px 0 0!important;
    position: relative
}

.inner-liner-page.tobacco-detail-media .board-detail-main .product-viewer>img {
    position: absolute;
    inset: 0;
    width: 100%!important;
    height: 100%!important;
    object-fit: contain!important;
    transform: scale(1.16);
    transform-origin: center
}

.inner-liner-page .board-detail-main {
    align-self: start
}

.inner-liner-page .liner-capabilities {
    grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
    grid-template-areas: 'intro intro' 'options gallery';
    gap: 28px 36px;
    padding: 32px
}

.inner-liner-page .liner-capabilities>div:first-child {
    grid-area: intro;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    column-gap: 40px;
    align-items: start
}

.inner-liner-page .liner-capabilities>div:first-child .kicker {
    grid-column: 1/-1
}

.inner-liner-page .liner-capabilities h2 {
    margin: 6px 0 0;
    max-width: 650px;
    font-size: 30px;
    line-height: 1.15
}

.inner-liner-page .liner-capabilities .material-capabilities-intro {
    margin: 6px 0 0;
    max-width: 560px
}

.inner-liner-page .liner-capability-grid {
    grid-area: options;
    align-self: stretch;
    gap: 12px
}

.inner-liner-page .liner-capability-grid>span {
    padding: 18px
}

.inner-liner-page .liner-custom-gallery {
    grid-area: gallery;
    max-width: none;
    width: 100%;
    margin: 0
}

.inner-liner-page .liner-custom-gallery .product-viewer {
    height: auto!important;
    aspect-ratio: 1/1!important;
    margin: 0!important;
    position: relative
}

.inner-liner-page .liner-custom-gallery .product-viewer>img {
    position: absolute;
    inset: 0;
    width: 100%!important;
    height: 100%!important;
    object-fit: contain!important
}

.inner-liner-page .liner-custom-gallery>p {
    margin: 12px 0 0
}

@media(max-width: 900px) {
    .inner-liner-page .liner-capabilities {
        grid-template-columns:1fr;
        grid-template-areas: 'intro' 'options' 'gallery';
        padding: 24px
    }

    .inner-liner-page .liner-capabilities>div:first-child {
        display: block
    }

    .inner-liner-page .liner-capabilities .material-capabilities-intro {
        margin-top: 16px
    }

    .inner-liner-page .liner-custom-gallery {
        max-width: 600px;
        margin: auto
    }
}

/* Keep customization text-only; place visual references with product content. */
.inner-liner-page .liner-visual-examples {
    display: grid;
    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
    align-items: center;
    gap: 48px;
    margin: 32px max(3.8vw,36px);
    padding: 32px;
    background: #fff;
    border: 1px solid #d9dedf
}

.inner-liner-page .liner-visual-examples h2 {
    font-size: 30px;
    line-height: 1.15;
    margin: 12px 0 0;
    max-width: 460px
}

.inner-liner-page .liner-visual-examples .liner-custom-gallery {
    grid-area: auto;
    max-width: 640px;
    width: 100%;
    margin: 0 0 0 auto
}

.inner-liner-page .liner-capabilities {
    grid-template-columns: minmax(0,1fr) minmax(0,1.6fr);
    grid-template-areas: 'intro options';
    align-items: start;
    gap: 40px
}

.inner-liner-page .liner-capabilities>div:first-child {
    display: block
}

.inner-liner-page .liner-capabilities .material-capabilities-intro {
    margin: 18px 0 0
}

.inner-liner-page .liner-capabilities h2 {
    font-size: 30px;
    max-width: 460px
}

@media(max-width: 900px) {
    .inner-liner-page .liner-visual-examples {
        grid-template-columns:1fr;
        gap: 24px;
        margin: 24px 20px;
        padding: 24px
    }

    .inner-liner-page .liner-visual-examples .liner-custom-gallery {
        margin: auto
    }

    .inner-liner-page .liner-capabilities {
        grid-template-columns: 1fr;
        grid-template-areas: 'intro' 'options';
        gap: 26px
    }
}

.inner-liner-page [data-material-selector="liner-optical"] .board-selector-nav {
    grid-template-columns: repeat(2,minmax(0,1fr))
}

@media(max-width: 680px) {
    .inner-liner-page [data-material-selector="liner-optical"] .board-selector-nav {
        grid-template-columns:1fr
    }
}

/* Four direct inner-liner material choices. */
.inner-liner-page [data-material-selector="liner-all"] .board-selector-nav {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    border-right: 0
}

.inner-liner-page [data-material-selector="liner-all"] .board-selector-nav button {
    min-height: 88px;
    padding: 16px 18px
}

@media(max-width: 900px) {
    .inner-liner-page [data-material-selector="liner-all"] .board-selector-nav {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 480px) {
    .inner-liner-page [data-material-selector="liner-all"] .board-selector-nav button {
        padding:12px;
        font-size: 13px
    }
}

/* Compact liner overview: content stays visible without an internal scroll area. */
.inner-liner-page .liner-sample-notice {
    display: none
}

.inner-liner-page .product-viewer.sample-pending .liner-sample-notice {
    display: flex;
    position: absolute;
    inset: 0;
    flex-direction: column;
    justify-content: center;
    padding: 36px;
    text-align: center;
    color: #52647a
}

.inner-liner-page .liner-sample-notice strong {
    font-size: 21px;
    color: #13233a
}

.inner-liner-page .liner-sample-notice p {
    font-size: 14px;
    line-height: 1.5
}

.inner-liner-page .product-viewer.sample-pending .viewer-meta {
    display: none
}

.inner-liner-page .product-viewer>img[hidden] {
    display: none!important
}

@media(min-width: 901px) {
    .inner-liner-page .board-panel {
        padding-top:8px
    }

    .inner-liner-page [data-material-selector="liner-all"] .board-selector-nav button {
        min-height: 62px;
        padding: 13px 18px
    }

    .inner-liner-page .board-selector-nav button strong {
        font-size: 16px
    }

    .inner-liner-page .board-detail {
        grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr)
    }

    .inner-liner-page .board-detail-main {
        padding: 18px 22px
    }

    .inner-liner-page .board-detail-main h3 {
        font-size: 25px
    }

    .inner-liner-page .board-detail-main>p {
        font-size: 13px;
        line-height: 1.4;
        margin: 8px 0
    }

    .inner-liner-page.tobacco-detail-media .board-detail-main .product-viewer {
        width: min(100%,390px,44vh)!important;
        height: auto!important;
        aspect-ratio: 1/1!important;
        margin: 14px auto 0!important
    }

    .inner-liner-page.tobacco-detail-media .board-detail-main .product-viewer>img {
        transform: none
    }

    .inner-liner-page .board-detail-specs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px 18px;
        padding: 18px 20px;
        align-content: start
    }

    .inner-liner-page .board-detail-specs>section:nth-child(1),.inner-liner-page .board-detail-specs>section:nth-child(2),.inner-liner-page .technical-documentation,.inner-liner-page .board-detail-actions {
        grid-column: 1/-1
    }

    .inner-liner-page .board-detail-specs section+section {
        margin-top: 0;
        padding-top: 10px
    }

    .inner-liner-page .board-detail-specs h4 {
        margin-bottom: 6px
    }

    .inner-liner-page .board-detail-specs p {
        font-size: 12px;
        line-height: 1.45;
        margin: 0
    }

    .inner-liner-page .board-detail-specs li {
        font-size: 12px;
        line-height: 1.4
    }

    .inner-liner-page .board-detail-specs li+li {
        margin-top: 3px
    }

    .inner-liner-page .board-detail-specs dt,.inner-liner-page .board-detail-specs dd {
        padding: 6px 8px;
        font-size: 11px;
        line-height: 1.3
    }

    .inner-liner-page .technical-documentation p {
        font-size: 10.5px
    }

    .inner-liner-page .board-detail-actions {
        padding-top: 0;
        margin-top: 0
    }

    .inner-liner-page .board-detail-actions a {
        min-height: 38px
    }
}

/* Four direct inner-frame board options. */
.inner-frame-page [data-material-selector="frame-all"] .board-selector-nav {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    border-right: 0
}

.inner-frame-page [data-material-selector="frame-all"] .board-selector-nav button {
    min-height: 74px;
    padding: 16px 18px;
    grid-template-columns: 1fr
}

.inner-frame-page [data-material-selector="frame-all"] .board-selector-nav button strong {
    font-size: 17px
}

@media(max-width: 900px) {
    .inner-frame-page [data-material-selector="frame-all"] .board-selector-nav {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 480px) {
    .inner-frame-page [data-material-selector="frame-all"] .board-selector-nav button {
        padding:12px
    }

    .inner-frame-page [data-material-selector="frame-all"] .board-selector-nav button strong {
        font-size: 14px
    }
}

/* Consistent square material and in-pack frame galleries. */
.inner-frame-page.tobacco-detail-media .board-detail-main .product-viewer {
    width: min(100%,450px)!important;
    height: auto!important;
    aspect-ratio: 1/1!important;
    margin: 18px auto 0!important;
    background: #f4f3ef
}

.inner-frame-page.tobacco-detail-media .board-detail-main .product-viewer>img {
    width: 100%!important;
    height: 100%!important;
    object-fit: contain!important
}

@media(max-width: 760px) {
    .inner-frame-page.tobacco-detail-media .board-detail-main .product-viewer {
        width:min(100%,380px)!important
    }
}

/* Five parallel inner-frame materials. */
@media(min-width: 1101px) {
    .inner-frame-page [data-material-selector="frame-all"] .board-selector-nav {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }

    .inner-frame-page [data-material-selector="frame-all"] .board-selector-nav button {
        padding: 15px 16px;
        min-height: 82px
    }

    .inner-frame-page [data-material-selector="frame-all"] .board-selector-nav button strong {
        font-size: 16px
    }
}

@media(min-width: 901px) and (max-width:1100px) {
    .inner-frame-page [data-material-selector="frame-all"] .board-selector-nav {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

.inner-frame-page .board-detail-specs .js-application-copy {
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
    color: #274464
}

/* Direct packaging-board choices in requested order. */
.cigarette-board-page [data-material-selector="packaging-all"] .board-selector-nav {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    border-right: 0
}

.cigarette-board-page [data-material-selector="packaging-all"] .board-selector-nav button {
    grid-template-columns: 1fr;
    min-height: 80px;
    padding: 15px 18px
}

.cigarette-board-page [data-material-selector="packaging-all"] .board-selector-nav button strong {
    font-size: 17px
}

@media(max-width: 1100px) {
    .cigarette-board-page [data-material-selector="packaging-all"] .board-selector-nav {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media(max-width: 700px) {
    .cigarette-board-page [data-material-selector="packaging-all"] .board-selector-nav {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .cigarette-board-page [data-material-selector="packaging-all"] .board-selector-nav button strong {
        font-size: 14px
    }
}

/* Square reference photos for the two optical packaging boards. */
.cigarette-board-page.tobacco-detail-media .board-detail-main .product-viewer.optical-board-viewer {
    /*width: min(100%,460px)!important;*/
    height: auto!important;
    aspect-ratio: 1/1!important;
    margin: 18px auto 0!important;
    padding: 0!important;
    background: #f4f3ef
}

.cigarette-board-page.tobacco-detail-media .board-detail-main .product-viewer.optical-board-viewer>img {
    width: 100%!important;
    height: 100%!important;
    object-fit: contain!important
}

.tobacco-solution-page .finished-format-image.standard-printed-image {
    padding: 0;
    background: #f4f3ef
}

.tobacco-solution-page .standard-printed-image img {
    object-fit: contain
}

/* Finished formats share one product page. */
.products-menu {
    grid-template-columns: .9fr 1.15fr 1fr 1fr
}

.product-menu-group {
    padding: 18px 26px;
    border-left: 1px solid #dedfdb;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.product-menu-group a {
    color: #17233a;
    text-decoration: none;
    font-size: 14px
}

.product-menu-group .product-group-title {
    font-size: 21px;
    line-height: 1.15;
    margin-bottom: 6px
}

.product-menu-group a:hover {
    text-decoration: underline;
    text-underline-offset: 5px
}

.pack-page-intro,.pack-product,.pack-project-note {
    max-width: 1240px;
    margin: auto;
    padding: 54px 28px
}

.pack-page-intro {
    padding-top: 35px
}

.pack-page-intro h1 {
    font-size: clamp(40px,5.4vw,72px);
    line-height: 1.03;
    letter-spacing: -.045em;
    color: #17283e;
    margin: 25px 0
}

.pack-page-intro>p:not(.kicker) {
    max-width: 650px;
    color: #53647a;
    line-height: 1.65;
    font-size: 18px
}

.pack-jump {
    display: flex;
    gap: 30px;
    margin-top: 32px
}

.pack-jump a {
    color: #17283e;
    font-weight: 700;
    border-bottom: 1px solid #b7862e;
    padding: 12px 0;
    text-decoration: none
}

.pack-product {
    border-top: 1px solid #cbc9c2;
    scroll-margin-top: 110px
}

.pack-product-heading h2 {
    font-size: clamp(32px,3.4vw,46px);
    letter-spacing: -.035em;
    color: #17283e;
    margin: 12px 0
}

.pack-product-heading>p:last-child {
    max-width: 750px;
    color: #53647a;
    line-height: 1.65;
    margin-bottom: 30px
}

.pack-product-grid {
    display: grid;
    grid-template-columns: 1fr 1.04fr;
    gap: 54px;
    align-items: start
}

.pack-gallery-stage {
    background: #eeefed;
    aspect-ratio: 1;
    overflow: hidden
}

.pack-gallery-stage figure {
    margin: 0;
    height: 100%;
    position: relative
}

.pack-gallery-stage figure[hidden] {
    display: none
}

.pack-gallery-stage img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain
}

.pack-gallery-stage figcaption {
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 7px 10px;
    background: rgba(19,35,58,.9);
    color: white;
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase
}

.pack-gallery-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 14px
}

.pack-gallery-controls button {
    border: 1px solid #aeb8c1;
    background: transparent;
    color: #17283e;
    width: 42px;
    height: 38px;
    font-size: 20px;
    cursor: pointer
}

.pack-gallery-controls button:hover {
    background: #e3e4df
}

.pack-gallery-count {
    font-size: 12px;
    color: #53647a
}

.pack-technical h3 {
    font-size: 12px;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: #9a6b1d;
    margin: 0 0 12px
}

.pack-technical dl {
    margin: 0
}

.pack-technical dl>div {
    display: grid;
    grid-template-columns: 135px 1fr;
    gap: 18px;
    border-top: 1px solid #d9d8d2;
    padding: 14px 0;
    font-size: 13px;
    line-height: 1.55
}

.pack-technical dt {
    font-weight: 700;
    color: #17283e
}

.pack-technical dd {
    margin: 0;
    color: #53647a
}

.pack-actions {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 22px
}

.pack-actions .btn {
    font-size: 12px
}

.pack-project-note {
    border-top: 1px solid #cbc9c2;
    margin-bottom: 30px
}

.pack-project-note h2 {
    font-size: 30px;
    letter-spacing: -.03em;
    color: #17283e
}

.pack-project-note p {
    max-width: 740px;
    color: #53647a;
    line-height: 1.7
}

@media(max-width: 900px) {
    .products-menu .product-menu-group {
        padding:15px 18px;
        border-left: 0;
        border-bottom: 1px solid #dedfdb
    }

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

    .pack-gallery {
        max-width: 550px;
        width: 100%
    }

    .pack-product,.pack-page-intro,.pack-project-note {
        padding: 32px 22px
    }

    .pack-jump {
        gap: 20px;
        flex-wrap: wrap
    }
}

@media(max-width: 480px) {
    .pack-technical dl>div {
        grid-template-columns:1fr;
        gap: 4px;
        padding: 12px 0
    }

    .pack-actions {
        align-items: flex-start;
        flex-direction: column
    }
}

.finished-pack-page .pack-integrated-hero {
    max-width: 1240px;
    padding: 24px 28px 30px
}

.pack-hero-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: center;
    min-height: 300px
}

.pack-integrated-hero .pack-hero-copy h1 {
    font-size: clamp(34px,3.6vw,48px);
    line-height: 1.06;
    max-width: 520px;
    margin: 14px 0 18px
}

.pack-hero-copy>p:not(.kicker) {
    max-width: 530px;
    color: #53647a;
    font-size: 16px;
    line-height: 1.65
}

.pack-hero-copy .kicker {
    font-size: 11px
}

.pack-integrated-hero figure {
    margin: 0;
    min-width: 0
}

.pack-integrated-hero figure img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: contain;
    mix-blend-mode: multiply
}

.pack-integrated-hero .pack-jump {
    margin-top: 20px;
    gap: 24px;
    font-size: 12px
}

.finished-pack-page .pack-unified-cta {
    max-width: 1184px;
    margin: 24px auto 56px
}

.pack-integrated-hero .breadcrumbs {
    margin-bottom: 14px
}

@media(max-width: 900px) {
    .pack-hero-layout {
        grid-template-columns:1fr;
        gap: 8px
    }

    .pack-integrated-hero figure img {
        height: 240px
    }

    .finished-pack-page .pack-unified-cta {
        margin: 22px 22px 38px
    }

    .finished-pack-page .pack-integrated-hero {
        padding: 24px 22px
    }

    .pack-hero-copy>p:not(.kicker) {
        max-width: 650px
    }
}

.tobacco-solution-page .finished-solutions-section .finished-format-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))
}

.finished-solutions-section>header h2 {
    font-size: clamp(30px,2.8vw,44px);
    line-height: 1.08
}

.tobacco-solution-page .finished-solutions-section .finished-format-image {
    aspect-ratio: 3/2;
    padding: 12px;
    background: #f4f3ef
}

.finished-solutions-section .finished-format-image img {
    object-fit: contain;
    mix-blend-mode: multiply
}

.finished-solutions-section .finished-format-copy {
    padding: 26px;
    display: flex;
    flex-direction: column;
    flex: 1;
    align-items: flex-start
}

.finished-solutions-section .finished-format-copy h3 {
    font-size: clamp(22px,2vw,29px);
    line-height: 1.12;
    letter-spacing: -.025em;
    min-height: 2.24em
}

.finished-solutions-section .finished-format-copy p {
    font-size: 14px;
    line-height: 1.65;
    margin-bottom: 26px
}

.finished-solutions-section .finished-format-copy .text-link {
    margin-top: auto;
    font-size: 12px
}

@media(max-width: 900px) {
    .tobacco-solution-page .finished-solutions-section .finished-format-grid {
        grid-template-columns:1fr
    }

    .finished-solutions-section .finished-format-copy h3 {
        min-height: 0
    }

    .tobacco-solution-page .finished-solutions-section .finished-format-image {
        aspect-ratio: 2/1
    }
}

/* Blend the finished-pack hero into the page surface. */
.finished-pack-page .pack-integrated-hero {
    background: #f4f3ef
}

.finished-pack-page .pack-integrated-hero figure {
    background: transparent;
    border: 0;
    box-shadow: none
}

.finished-pack-page .pack-integrated-hero figure img {
    mix-blend-mode: multiply;
    -webkit-mask-image: radial-gradient(ellipse farthest-corner at center,#000 88%,transparent 100%);
    mask-image: radial-gradient(ellipse farthest-corner at center,#000 88%,transparent 100%)
}

.tobacco-solution-page .finished-solutions-section .finished-format-grid article:nth-child(-n+2) .finished-format-image img {
    mix-blend-mode: normal
}

/* Single shoulder-box hero: one focal product on the page background. */
.finished-pack-page .pack-hero-layout {
    grid-template-columns: 1.05fr .95fr;
    gap: 42px;
    min-height: 330px
}

.finished-pack-page .pack-integrated-hero figure {
    display: flex;
    align-items: center;
    justify-content: center
}

.finished-pack-page .pack-integrated-hero figure img {
    width: 100%;
    max-width: 430px;
    height: 330px;
    object-fit: contain;
    mix-blend-mode: normal;
    -webkit-mask-image: none;
    mask-image: none
}

.finished-pack-page .pack-integrated-hero .pack-hero-copy h1 {
    max-width: 500px
}

.finished-pack-page .pack-hero-copy>p:not(.kicker) {
    max-width: 480px
}

@media(max-width: 900px) {
    .finished-pack-page .pack-hero-layout {
        grid-template-columns:1fr;
        gap: 12px;
        min-height: 0
    }

    .finished-pack-page .pack-integrated-hero figure img {
        height: 260px;
        max-width: 360px
    }
}

/* Compact product headings: title and summary share one row. */
.finished-pack-page .pack-product {
    padding-top: 30px;
    padding-bottom: 40px
}

.finished-pack-page .pack-product-heading {
    display: grid;
    grid-template-columns: 1fr 1.04fr;
    gap: 54px;
    align-items: center;
    margin-bottom: 24px
}

.finished-pack-page .pack-product-heading h2 {
    margin: 0
}

.finished-pack-page .pack-product-heading>p:last-child {
    max-width: none;
    margin: 0;
    font-size: 15px;
    line-height: 1.6
}

@media(max-width: 900px) {
    .finished-pack-page .pack-product-heading {
        grid-template-columns:1fr;
        gap: 12px;
        margin-bottom: 22px
    }

    .finished-pack-page .pack-product {
        padding-top: 26px;
        padding-bottom: 32px
    }
}

.production-materials-link {
    margin-top: 24px;
    text-align: center
}

.production-materials-link .text-link {
    display: inline-block;
    padding: 8px 0
}

/* Two complementary box views fill the hero without crowding the copy. */
.finished-pack-page .pack-hero-layout {
    grid-template-columns: .92fr 1.08fr;
    gap: 28px
}

.finished-pack-page .pack-integrated-hero figure img {
    max-width: 600px;
    height: 350px
}

@media(max-width: 900px) {
    .finished-pack-page .pack-hero-layout {
        grid-template-columns:1fr;
        gap: 12px
    }

    .finished-pack-page .pack-integrated-hero figure img {
        height: auto;
        max-height: 330px;
        max-width: 520px
    }
}

/* Home applications: individual case photos, with room for complete products. */
.market-photo .market-image {
    aspect-ratio: 1;
    background: #f4f3ef
}

.market-photo .market-image img {
    position: static;
    left: auto;
    top: auto;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center
}

.market-labels .market-image img {
    object-fit: cover;
    object-position: 100% center
}

.market-print .market-image img {
    object-fit: cover;
    object-position: center
}

/* Why DULCET: printed converting examples, shown in full. */
.why-visual {
    background: #f4f3ef;
    min-height: 0;
    aspect-ratio: 1;
    align-self: center
}

.why-visual img {
    height: 100%;
    object-fit: contain;
    object-position: center
}

@media(max-width: 900px) {
    .why-visual {
        height:auto;
        min-height: 0;
        max-width: 620px;
        width: 100%;
        margin-inline:auto}
}

/* Specialty paper follows the current material-detail layout. */
.specialty-board-page main {
    background: #f4f3ef
}

.specialty-board-page .specialty-selector {
    min-height: 0;
    grid-template-columns: 1fr
}

.specialty-board-page .specialty-selector .board-selector-nav {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    border-right: 0;
    border-bottom: 1px solid #cfd3d6
}

.specialty-board-page .specialty-selector .board-selector-nav button {
    min-height: 74px;
    padding: 16px 18px;
    grid-template-columns: 1fr;
    border-bottom: 0;
    border-right: 1px solid #d9dcde
}

.specialty-board-page .specialty-selector .board-selector-nav button:last-child {
    border-right: 0
}

.specialty-board-page .board-selector-nav button strong {
    font-size: 16px
}

.specialty-board-page .board-detail {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr)
}

.specialty-board-page .product-viewer {
    width: 100%;
    max-width: 490px;
    height: auto;
    aspect-ratio: 1;
    margin: 20px auto 0;
    background: #f4f3ef
}

.specialty-board-page .product-viewer>img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: none
}

.specialty-board-page .specialty-applications {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.specialty-board-page .specialty-applications b {
    font-size: 12px;
    font-weight: 500;
    color: #53647a
}

.specialty-board-page .specialty-applications b+b:before {
    content: "Â·";
    padding-right: 8px
}

@media(max-width: 900px) {
    .specialty-board-page .specialty-selector .board-selector-nav {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .specialty-board-page .board-detail {
        grid-template-columns: 1fr
    }

    .specialty-board-page .specialty-selector .board-selector-nav button {
        border-bottom: 1px solid #d9dcde
    }

    .specialty-board-page .product-viewer {
        max-width: 460px
    }
}

/* Match the packaging-board square viewer, overriding legacy 280px media rules. */
.specialty-board-page .board-detail-main .product-viewer {
    width: min(100%,460px)!important;
    max-width: 460px!important;
    height: auto!important;
    aspect-ratio: 1/1!important;
    margin: 18px auto 0!important;
    padding: 0!important;
    background: #f4f3ef!important
}

.specialty-board-page .board-detail-main .product-viewer>img {
    display: block;
    width: 100%!important;
    height: 100%!important;
    object-fit: contain!important;
    transform: none!important
}

.tobacco-materials-page .catalog-card>img.catalog-real-photo {
    object-fit: contain;
    background: #f4f3ef;
    filter: none
}

/* Tipping application photos share the packaging-board square canvas. */
.tipping-page .board-detail-main .product-viewer {
    width: min(100%,460px)!important;
    max-width: 460px!important;
    height: auto!important;
    aspect-ratio: 1/1!important;
    margin: 18px auto 0!important;
    padding: 0!important;
    background: #f4f3ef!important
}

.tipping-page .board-detail-main .product-viewer>img {
    width: 100%!important;
    height: 100%!important;
    object-fit: contain!important;
    transform: none!important
}

.tear-tape-product-page .board-detail-main .product-viewer {
    width: min(100%,460px)!important;
    max-width: 460px!important;
    height: auto!important;
    aspect-ratio: 1/1!important;
    margin: 18px auto 0!important;
    padding: 0!important;
    background: #f4f3ef!important
}

.tear-tape-product-page .board-detail-main .product-viewer>img {
    width: 100%!important;
    height: 100%!important;
    object-fit: contain!important;
    transform: none!important
}

.bopp-product-page .board-detail-main .product-viewer {
    width: min(100%,460px)!important;
    max-width: 460px!important;
    height: auto!important;
    aspect-ratio: 1/1!important;
    margin: 18px auto 0!important;
    padding: 0!important;
    background: #f4f3ef!important
}

.bopp-product-page .board-detail-main .product-viewer>img {
    width: 100%!important;
    height: 100%!important;
    object-fit: contain!important;
    transform: none!important
}

/* Optical paperboard: concise construction comparison and shared capabilities. */
.paperboard-page .paperboard-routes .film-two-route-grid>article {
    padding-top: 28px;
    padding-bottom: 28px
}

.paperboard-page .paperboard-routes .film-route-lede {
    min-height: 0;
    margin-bottom: 22px
}

.paperboard-page .paperboard-routes .film-two-route-grid h3 {
    font-size: clamp(25px,2.8vw,40px);
    line-height: 1.12
}

.paperboard-page .paperboard-routes .film-two-route-grid dl {
    margin-top: 20px
}

.paperboard-page .paperboard-routes .film-two-route-grid .text-link {
    margin-top: 22px
}

.paperboard-shared-specs {
    padding: 26px 0 12px;
    border-top: 1px solid #cfd3d6
}

.paperboard-shared-specs h3 {
    font-size: 21px;
    margin: 0 0 18px;
    color: #13233a
}

.paperboard-shared-specs dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 36px;
    margin: 0
}

.paperboard-shared-specs dl>div {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #d3d6d8;
    font-size: 14px
}

.paperboard-shared-specs dt {
    color: #647184;
    font-weight: 600
}

.paperboard-shared-specs dd {
    margin: 0;
    color: #13233a
}

.paperboard-shared-specs>p,.custom-optics-brief {
    font-size: 14px;
    line-height: 1.65;
    color: #52657b
}

.custom-optics-showcase {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 24px;
    margin: 22px 0
}

.custom-optics-showcase figure {
    margin: 0;
    aspect-ratio: 1/1;
    background: #eeede9;
    overflow: hidden;
    align-self: start
}

.custom-optics-showcase figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.custom-optics-options {
    display: flex;
    flex-direction: column
}

.custom-optics-options button {
    text-align: left;
    border: 0;
    border-top: 1px solid #cfd3d6;
    background: transparent;
    color: #13233a;
    padding: 16px 12px;
    cursor: pointer
}

.custom-optics-options button b {
    font-size: 17px;
    line-height: 1.2;
    display: block
}

.custom-optics-options button span {
    display: none;
    font-size: 14px;
    line-height: 1.6;
    margin-top: 10px;
    color: #52657b
}

.custom-optics-options button.active {
    box-shadow: inset 3px 0 #b48732;
    background: #f4f3ef
}

.custom-optics-options button.active span {
    display: block
}

.paperboard-page .board-guidance>div:last-child {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

@media(max-width: 760px) {
    .paperboard-shared-specs dl,.custom-optics-showcase {
        grid-template-columns:1fr
    }

    .custom-optics-showcase figure {
        aspect-ratio: 4/3
    }

    .custom-optics-options button {
        padding: 14px 12px
    }
}

/* Custom optics use the same horizontal selection format as pattern families. */
.film-effects-browser .film-effect-panel:has(.custom-optics-showcase)>header {
    display: block;
    padding-bottom: 20px
}

.film-effects-browser .film-effect-panel:has(.custom-optics-showcase)>header h3 {
    font-size: clamp(26px,2.3vw,36px);
    line-height: 1.12;
    max-width: none;
    margin: 8px 0 12px
}

.film-effects-browser .film-effect-panel:has(.custom-optics-showcase)>header>p {
    max-width: none;
    font-size: 16px;
    line-height: 1.5;
    margin: 0
}

.film-effects-browser .custom-optics-showcase {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 24px 0 18px
}

.film-effects-browser .custom-optics-options {
    flex-direction: row;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px
}

.film-effects-browser .custom-optics-options button {
    flex: 0 0 auto;
    border: 1px solid #b8c0c8;
    padding: 12px 17px;
    background: transparent;
    box-shadow: none
}

.film-effects-browser .custom-optics-options button b {
    font-size: 15px;
    white-space: nowrap;
    font-weight: 600
}

.film-effects-browser .custom-optics-options button span,.film-effects-browser .custom-optics-options button.active span {
    display: none
}

.film-effects-browser .custom-optics-options button.active {
    background: #13233a;
    color: #fff;
    border-color: #13233a;
    box-shadow: none
}

.film-effects-browser .custom-optic-description {
    font-size: 15px;
    line-height: 1.6;
    color: #52657b;
    margin: 16px 0 20px
}

.film-effects-browser .custom-optics-showcase figure {
    width: min(100%,760px);
    height: auto;
    aspect-ratio: 16/9;
    align-self: center;
    background: #eeede9
}

.film-effects-browser .custom-optics-showcase figure img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

@media(max-width: 680px) {
    .film-effects-browser .custom-optics-options button {
        padding:11px 14px
    }

    .film-effects-browser .film-effect-panel:has(.custom-optics-showcase)>header>p {
        font-size: 14px
    }

    .film-effects-browser .custom-optics-showcase figure {
        aspect-ratio: 4/3
    }
}

.film-effects-browser .custom-optics-showcase .registered-material-cards {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px;
    width: 100%
}

.film-effects-browser .custom-optics-showcase .registered-material-cards[hidden],.film-effects-browser .custom-optics-showcase .custom-effect-image[hidden] {
    display: none!important
}

.film-effects-browser .custom-optics-showcase .registered-material-cards figure {
    width: 100%;
    aspect-ratio: auto;
    background: #fff;
    border: 1px solid #cfd3d6;
    padding: 12px;
    margin: 0
}

.registered-material-cards a {
    display: block;
    aspect-ratio: 1/1;
    overflow: hidden;
    background: #f4f3ef
}

.film-effects-browser .custom-optics-showcase .registered-material-cards img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.registered-material-cards figcaption {
    padding: 16px 6px 6px;
    color: #13233a;
    font-size: 16px;
    font-weight: 700
}

.paperboard-page .paperboard-application-grid img.board-comparison-photo {
    object-fit: contain;
    background: #f3ede4
}

@media(max-width: 580px) {
    .film-effects-browser .custom-optics-showcase .registered-material-cards {
        gap:12px
    }

    .registered-material-cards figcaption {
        font-size: 13px
    }
}

.film-effects-browser .custom-optics-showcase .registered-material-cards {
    display: block;
    width: min(100%,760px);
    align-self: center
}

.film-effects-browser .custom-optics-showcase .registered-material-cards figure {
    width: 100%;
    aspect-ratio: 16/9;
    padding: 0;
    border: 0;
    background: #eeede9
}

.film-effects-browser .custom-optics-showcase .registered-material-cards img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

@media(max-width: 680px) {
    .film-effects-browser .custom-optics-showcase .registered-material-cards figure {
        aspect-ratio:4/3
    }
}

/* Compact material comparison. */
.paperboard-page .paperboard-routes {
    padding-top: 36px;
    padding-bottom: 30px
}

.paperboard-page .paperboard-routes .film-route-summary {
    margin-bottom: 20px;
    gap: 24px
}

.paperboard-page .paperboard-routes .film-route-summary h2 {
    font-size: clamp(24px,2.4vw,32px)
}

.paperboard-page .paperboard-routes .film-route-summary p {
    font-size: 15px;
    line-height: 1.6
}

.paperboard-page .paperboard-routes .film-two-route-grid>article {
    padding-top: 20px;
    padding-bottom: 22px
}

.paperboard-page .paperboard-routes .film-two-route-grid h3 {
    font-size: clamp(24px,2.5vw,34px);
    margin: 10px 0 16px
}

.paperboard-page .paperboard-routes .film-two-route-grid dl {
    margin: 0
}

.paperboard-page .paperboard-routes .film-two-route-grid dl>div {
    padding: 11px 0;
    grid-template-columns: 100px 1fr
}

.paperboard-page .paperboard-routes .film-two-route-grid .text-link {
    display: inline-block;
    margin-top: 16px;
    font-size: 14px
}

.paperboard-common-line {
    border-top: 1px solid #cfd3d6;
    padding-top: 16px;
    color: #13233a;
    font-size: 14px;
    line-height: 1.65
}

.paperboard-common-line p {
    margin: 0 0 7px
}

.paperboard-common-line .paperboard-print-note {
    font-size: 13px;
    color: #52657b
}

.film-effects-browser .custom-effect-image img[src*="chunghwa-filled"] {
    object-fit: cover!important
}

/* Coordinated optical closing CTAs and complete tobacco supply links. */
.paperboard-page .board-guidance>div:last-child {
    flex-wrap: nowrap
}

.production-materials-link {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px 36px;
    flex-wrap: wrap
}

.film-effects-browser .custom-effect-image:has(img[src="registered-gallery-red-carton.png"]) {
    background: transparent
}

.film-effects-browser .custom-effect-image img[src="registered-gallery-red-carton.png"] {
    object-fit: contain!important
}

/* Compact film route comparison, scoped away from paperboard and effects. */
.film-two-routes.compact-film-routes {
    padding-top: 36px!important;
    padding-bottom: 30px
}

.compact-film-routes>.film-route-summary {
    margin-bottom: 20px;
    gap: 24px
}

.compact-film-routes .film-two-route-grid>article {
    padding-top: 20px;
    padding-bottom: 22px
}

.compact-film-routes .film-two-route-grid h3 {
    font-size: clamp(24px,2.5vw,34px);
    line-height: 1.12;
    margin: 10px 0 16px
}

.compact-film-routes .film-two-route-grid dl {
    margin: 0 0 16px
}

.compact-film-routes .film-two-route-grid dl>div {
    padding: 11px 0;
    grid-template-columns: 100px 1fr
}

.compact-film-routes .film-two-route-grid .text-link {
    display: inline-block;
    font-size: 14px
}

.film-shared-route-note {
    margin: 14px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: #52657b
}

@media(max-width: 520px) {
    .compact-film-routes .film-two-route-grid dl>div {
        grid-template-columns:82px 1fr;
        gap: 10px
    }
}

/* Reduce the gap between complete supply links and packaging formats. */
.tobacco-solution-page .production-network {
    padding-bottom: 24px
}

.tobacco-solution-page .production-materials-link {
    margin-top: 16px
}

.tobacco-solution-page .production-network+.finished-solutions-section {
    padding-top: 32px
}

.tobacco-solution-page .production-network+.finished-solutions-section>header {
    margin-bottom: 30px
}

@media(max-width: 720px) {
    .tobacco-solution-page .production-network {
        padding-bottom:20px
    }

    .tobacco-solution-page .production-network+.finished-solutions-section {
        padding-top: 28px
    }
}

/* Compact and aligned foil process comparison. */
.foil-routes.compact-foil-routes {
    padding-top: 36px;
    padding-bottom: 30px
}

.compact-foil-routes>.film-route-summary {
    margin-bottom: 20px
}

.compact-foil-routes .foil-platform-grid>article {
    padding-top: 20px;
    padding-bottom: 22px
}

.compact-foil-routes .foil-platform-label {
    margin-bottom: 12px
}

.compact-foil-routes .foil-platform-grid h3 {
    font-size: clamp(23px,2vw,30px);
    line-height: 1.12;
    margin: 0 0 16px
}

.compact-foil-routes .foil-platform-grid dl {
    margin: 0 0 16px;
    flex: 1
}

.compact-foil-routes .foil-platform-grid dl>div {
    grid-template-columns: 82px minmax(0,1fr);
    gap: 10px
}

.compact-foil-routes .foil-platform-grid dt,.compact-foil-routes .foil-platform-grid dd {
    padding: 10px 0;
    font-size: 13px;
    line-height: 1.5
}

.compact-foil-routes .foil-platform-grid article>.text-link {
    margin-top: auto;
    font-size: 14px;
    align-self: flex-start
}

.foil-shared-route-note {
    margin: 14px 0 0;
    color: #52657b;
    font-size: 13px;
    line-height: 1.6
}

/* Finished-pack galleries: a distinct warm-gray display surface. */
.finished-pack-page .pack-gallery-stage {
    background: #e8e6df;
    border: 1px solid #cfcec7;
    padding: 10px;
    box-sizing: border-box;
    isolation: isolate
}

.finished-pack-page .pack-gallery-stage figure {
    background: #e8e6df;
    isolation: isolate
}

.finished-pack-page .pack-gallery-stage img {
    object-fit: contain;
    mix-blend-mode: multiply
}

.finished-pack-page .pack-gallery-stage figcaption {
    left: 10px;
    bottom: 10px;
    z-index: 1
}

@media(max-width: 600px) {
    .finished-pack-page .pack-gallery-stage {
        padding:7px
    }

    .finished-pack-page .pack-gallery-stage figcaption {
        left: 8px;
        bottom: 8px
    }
}

/* Blend the photographed sample backdrop into one square display surface. */
.cigarette-board-page.tobacco-detail-media .board-detail-main .product-viewer.single-optical-sample {
    background: #e9e8e4!important
}

.cigarette-board-page.tobacco-detail-media .board-detail-main .product-viewer.single-optical-sample>img {
    width: auto!important;
    height: 100%!important;
    max-width: 100%!important;
    margin: 0 auto!important;
    object-fit: contain!important;
    mask-image: linear-gradient(to right,transparent 0%,#000 9%,#000 91%,transparent 100%);
    -webkit-mask-image: linear-gradient(to right,transparent 0%,#000 9%,#000 91%,transparent 100%)
}

/* About: alternating introduction and compact production heading */
.about-intro .about-intro-title {
    grid-column: 2;
    grid-row: 1
}

.about-intro .about-intro-copy {
    grid-column: 1;
    grid-row: 1
}

.about-intro h2 {
    font-size: clamp(2rem,3vw,3.25rem);
    line-height: 1.08
}

.about-production-head {
    display: block;
    text-align: center;
    margin-bottom: 30px
}

.about-production-head h2 {
    font-size: clamp(2rem,3vw,3.25rem);
    line-height: 1.08;
    margin: 12px auto 0;
    max-width: 900px
}

@media(max-width: 900px) {
    .about-intro .about-intro-title,.about-intro .about-intro-copy {
        grid-column:auto;
        grid-row: auto
    }
}

/* About: concise headings and supply steps */
.about-figures {
    padding-bottom: 48px
}

.about-production {
    padding-top: 56px
}

.about-validation h2,.about-coordination h2 {
    font-size: clamp(2rem,3vw,3.25rem);
    line-height: 1.08
}

.about-supply-flow {
    display: block;
    padding-top: 64px;
    padding-bottom: 64px
}

.about-supply-steps {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 30px;
    list-style: none;
    padding: 0;
    margin: 32px 0 0;
    border-top: 1px solid #b5c2ca
}

.about-supply-steps li {
    padding-top: 22px
}

.about-supply-steps span {
    font-size: .8rem;
    font-weight: 800;
    color: #637f90
}

.about-supply-steps h3 {
    font-size: 1.35rem;
    margin: 12px 0
}

.about-supply-steps p {
    color: #596a7d;
    line-height: 1.65;
    margin: 0
}

.about-page .about-contact.closing-cta {
    padding-top: 48px;
    padding-bottom: 48px
}

.about-page .about-contact.closing-cta h2 {
    font-size: clamp(2rem,3vw,3.25rem)
}

@media(max-width: 650px) {
    .about-supply-steps {
        grid-template-columns:1fr;
        gap: 20px
    }

    .about-supply-flow {
        padding: 48px 24px
    }

    .about-figures {
        padding-bottom: 32px
    }

    .about-production {
        padding-top: 40px
    }
}

/* Insights: text index and accessible article reader */
.insights-page .insights-list {
    display: block;
    padding-top: 25px;
    padding-bottom: 65px
}

.insights-page .insights-list-card {
    display: block;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #c6cbd0;
    transition: background .2s
}

.insights-page .insights-list-card:first-child {
    border-top: 1px solid #c6cbd0
}

.insights-page .insights-list-card:hover,.insights-page .insights-list-card:focus-visible {
    transform: none;
    box-shadow: none;
    background: #efeee8
}

.insights-page .insights-list-copy {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px 32px;
    padding: 28px 16px
}

.insights-page .insights-list-copy .article-meta {
    grid-column: 1
}

.insights-page .insights-list-copy h2 {
    grid-column: 1;
    font-size: clamp(1.35rem,2vw,1.85rem);
    line-height: 1.2;
    margin: 0
}

.insights-page .insights-list-copy p {
    grid-column: 1;
    margin: 0
}

.insights-page .insights-list-copy span:last-child {
    grid-column: 2;
    grid-row: 1/4;
    align-self: center;
    padding: 0;
    margin: 0;
    white-space: nowrap
}

.insight-modal {
    width: min(900px,calc(100% - 40px));
    max-height: 88dvh;
    padding: 0;
    border: 0;
    background: #f8f7f4;
    color: #13233a;
    box-shadow: 0 24px 90px #0005;
    overflow: auto;
    overscroll-behavior: contain
}

.insight-modal::backdrop {
    background: rgba(10,23,37,.65)
}

.insight-modal-close {
    position: sticky;
    top: 12px;
    margin: 12px 16px -48px auto;
    display: block;
    z-index: 1;
    width: 40px;
    height: 40px;
    border: 1px solid #c6cbd0;
    background: #f8f7f4;
    color: #13233a;
    font-size: 28px;
    cursor: pointer
}

.insight-modal .article-hero {
    padding: 60px 48px 28px
}

.insight-modal .article-hero h1 {
    font-size: clamp(1.9rem,4vw,2.8rem);
    line-height: 1.1
}

.insight-modal .article-deck {
    font-size: 1.05rem
}

.insight-modal .article-body {
    padding: 0 48px 40px
}

.insight-modal .article-body h2 {
    font-size: 1.45rem;
    margin: 28px 0 12px
}

.insight-modal .article-body p,.insight-modal .article-body li {
    font-size: 1rem;
    line-height: 1.75
}

@media(max-width: 650px) {
    .insights-page .insights-list-copy {
        display:block;
        padding: 24px 8px
    }

    .insights-page .insights-list-copy h2 {
        margin: 10px 0
    }

    .insights-page .insights-list-copy span:last-child {
        display: block;
        margin-top: 16px
    }

    .insight-modal {
        width: 100%;
        max-width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        margin: 0
    }

    .insight-modal .article-hero {
        padding: 62px 24px 22px
    }

    .insight-modal .article-body {
        padding: 0 24px 32px
    }
}

.about-intro .about-company-facts {
    font-size: .95rem;
    line-height: 1.6;
    color: #596a7d;
    margin: 22px 0 0;
    font-weight: 500
}

.about-page .about-intro {
    padding-bottom: 48px
}

.about-production-gallery figure:first-child img[src="partner-production-workshop.webp"] {
    object-position: center 59%
}

.about-material-links {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 14px;
    font-size: .85rem;
    color: #596a7d;
    scroll-margin-top: 120px
}

.about-intro-copy strong {
    color: #13233a
}

.about-material-links:target {
    outline: 1px solid #b5c2ca;
    outline-offset: 8px
}

.about-hero h1 {
    font-size: clamp(2.6rem,4.1vw,4.8rem);
    line-height: 1.02
}

.about-production-route .about-validation-grid {
    grid-template-columns: repeat(4,minmax(0,1fr))
}

.about-production-route .about-validation-grid article {
    padding: 24px 22px 18px
}

.about-production-route .about-validation-grid article:first-child {
    padding-left: 0
}

.about-production-route .about-validation-grid h3 {
    font-size: 1.3rem;
    line-height: 1.2;
    margin: 24px 0 14px
}

.about-production-route .about-validation-grid p {
    font-size: .98rem
}

@media(max-width: 1100px) {
    .about-production-route .about-validation-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .about-production-route .about-validation-grid article {
        border-bottom: 1px solid #aebbc4
    }

    .about-production-route .about-validation-grid article:nth-child(odd) {
        border-left: 0;
        padding-left: 0
    }

    .about-production-route .about-validation-grid article:nth-child(even) {
        border-left: 1px solid #aebbc4;
        padding-left: 22px
    }
}

@media(max-width: 650px) {
    .about-production-route .about-validation-grid {
        grid-template-columns:1fr
    }

    .about-production-route .about-validation-grid article,.about-production-route .about-validation-grid article:nth-child(even) {
        border-left: 0;
        padding: 24px 0
    }
}

.about-production-gallery figure:first-child img[src*="partner-production-workshop.webp"] {
    object-position: center center
}

.about-intro .about-history-title {
    font-size: clamp(1.7rem,2.65vw,2.85rem);
    line-height: 1.25;
    letter-spacing: -.035em
}

.about-history-title>span {
    display: block
}

.about-history-title>span+span {
    margin-top: 14px
}

.about-history-title strong {
    color: #a77927;
    font-size: 1.15em;
    font-weight: 750
}

.about-intro .about-focus-links {
    gap: 12px 22px;
    margin-top: 22px
}

.about-intro .about-focus-links a {
    font-size: .82rem;
    font-weight: 600;
    color: #596a7d;
    border-bottom-color: #b5c2ca
}

.about-intro .about-focus-links a:hover {
    color: #13233a
}

/* Finished packaging: full image canvases and natural colors */
.finished-pack-page .pack-gallery-stage {
    padding: 0;
    background: #e8e6df
}

.finished-pack-page .pack-gallery-stage figure {
    width: 100%;
    height: 100%;
    padding: 0
}

.finished-pack-page .pack-gallery-stage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    mix-blend-mode: normal
}

.finished-pack-page .pack-gallery-stage figcaption {
    left: 12px;
    bottom: 12px
}

@media(max-width: 600px) {
    .finished-pack-page .pack-gallery-stage {
        padding:0
    }
}

.about-intro .about-company-position {
    margin: 20px 0 0;
    font-size: clamp(1rem,1.4vw,1.2rem);
    line-height: 1.5;
    font-weight: 600;
    color: #13233a;
    letter-spacing: -.015em
}

.about-production-route .about-validation-grid {
    border-bottom: 1px solid #aebbc4
}

@media(min-width: 651px) and (max-width:1100px) {
    .about-production-route .about-validation-grid article:nth-last-child(-n+2) {
        border-bottom:0
    }
}

@media(max-width: 650px) {
    .about-production-route .about-validation-grid article:last-child {
        border-bottom:0
    }
}

/* Align company facts and show the home production route concisely. */
@media(min-width: 901px) {
    .about-intro .about-intro-title {
        position:relative;
        top: -44px
    }
}

.home-production-route .steps {
    grid-template-columns: repeat(4,minmax(0,1fr));
    border-bottom: 1px solid #9eadae
}

.home-production-route .section-head {
    grid-template-columns: 1fr 2fr
}

.home-production-route .steps h3 {
    font-size: 1.3rem;
    line-height: 1.2;
    min-height: 3.12rem
}

.home-production-route .steps p {
    line-height: 1.6
}

.home-production-route .steps b {
    font-size: .76rem;
    color: #637f90
}

@media(max-width: 1100px) {
    .home-production-route .steps {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .home-production-route .steps li:nth-child(3) {
        border-left: 0
    }

    .home-production-route .steps li:nth-child(-n+2) {
        border-bottom: 1px solid #9eadae
    }
}

@media(max-width: 900px) {
    .home-production-route .section-head {
        grid-template-columns:1fr
    }
}

@media(max-width: 560px) {
    .home-production-route .steps {
        grid-template-columns:1fr
    }

    .home-production-route .steps li {
        border-left: 0;
        border-bottom: 1px solid #9eadae
    }

    .home-production-route .steps li:last-child {
        border-bottom: 0
    }

    .home-production-route .steps h3 {
        min-height: 0
    }
}

.optics-workflow ol {
    border-bottom: 1px solid #526277
}

@media(max-width: 900px) {
    .optics-workflow li:last-child {
        border-bottom:0
    }
}

/* Home insight previews lead through the single list-page entry. */
.insights.section div.insight-card:hover {
    background: transparent;
    transform: none
}

/* Compact supporting insights and join solutions to the application background. */
#solutions.intro {
    padding-bottom: 56px
}

#solutions+.markets {
    padding-top: 72px
}

.insights.section {
    padding-top: 56px;
    padding-bottom: 56px
}

.insights.section .insights-head {
    margin-bottom: 24px
}

.insights.section .insights-head h2 {
    font-size: clamp(1.65rem,2.5vw,2.5rem);
    line-height: 1.1;
    max-width: 760px
}

.insights.section .insight-grid article {
    min-height: 0;
    padding: 22px 26px 26px 0
}

.insights.section .insight-card article {
    padding-left: 26px
}

.insights.section .insight-grid h3 {
    font-size: 1.3rem;
    line-height: 1.2;
    margin: 18px 0 12px
}

@media(max-width: 900px) {
    #solutions+.markets {
        padding-top:52px
    }

    .insights.section {
        padding-top: 42px;
        padding-bottom: 42px
    }

    .insights.section .insight-grid article,.insights.section .insight-card:not(:first-child) article {
        padding: 22px 0
    }
}

#materials .material-platform-row h3 {
    font-size: clamp(1.5rem,2vw,1.9rem);
    line-height: 1.15
}

#materials .platform-range {
    font-size: 13px;
    font-weight: 500
}

@media(max-width: 900px) {
    #solutions.intro {
        padding-bottom:36px
    }
}

/* Match liner selector spacing and typography to the frame selector. */
.inner-liner-page .board-panel {
    padding-top: 20px
}

.inner-liner-page [data-material-selector="liner-all"] .board-selector-nav button {
    min-height: 82px;
    padding: 15px 16px
}

.inner-liner-page [data-material-selector="liner-all"] .board-selector-nav button strong {
    font-size: 16px
}

@media(max-width: 480px) {
    .inner-liner-page [data-material-selector="liner-all"] .board-selector-nav button {
        padding:12px
    }

    .inner-liner-page [data-material-selector="liner-all"] .board-selector-nav button strong {
        font-size: 14px
    }
}

.finished-pack-page .pack-gallery-stage {
    position: relative;
    touch-action: pan-y
}

.finished-pack-page .pack-gallery-stage>button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid #cbd0d5;
    border-radius: 50%;
    background: rgba(255,255,255,.85);
    color: #13233a;
    font-size: 23px;
    cursor: pointer;
    box-shadow: 0 2px 8px #13233a14
}

.finished-pack-page .pack-gallery-stage>button[data-step="-1"] {
    left: 12px
}

.finished-pack-page .pack-gallery-stage>button[data-step="1"] {
    right: 12px
}

.finished-pack-page .pack-gallery-stage>button:hover {
    background: #fff
}

.finished-pack-page .pack-gallery-stage>button:focus-visible {
    outline: 2px solid #a77927;
    outline-offset: 3px
}

.finished-pack-page .pack-gallery-controls {
    display: flex;
    justify-content: center;
    padding-top: 12px
}

/* Tipping paper selectors share the material-page title-only menu style. */
[data-material-selector^="tipping-"] .board-selector-nav button {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: 82px;
    padding: 15px 16px
}

[data-material-selector^="tipping-"] .board-selector-nav button strong {
    font-size: 16px
}

@media(max-width: 480px) {
    [data-material-selector^="tipping-"] .board-selector-nav button {
        padding:12px
    }

    [data-material-selector^="tipping-"] .board-selector-nav button strong {
        font-size: 14px
    }
}

.cigarette-format-support {
    margin: 36px max(3.8vw,36px);
    padding: 28px 30px;
    border-top: 1px solid #cfd3d6;
    border-bottom: 1px solid #cfd3d6
}

.cigarette-format-support h2 {
    font-size: 25px;
    color: #13233a;
    margin: 10px 0 15px
}

.cigarette-format-support .format-names {
    font-size: 17px;
    font-weight: 600;
    color: #13233a
}

.cigarette-format-support>p:last-child {
    max-width: 950px;
    color: #647184;
    font-size: 14px;
    line-height: 1.65
}

@media(max-width: 680px) {
    .cigarette-format-support {
        margin:24px 16px;
        padding: 24px 4px
    }

    .cigarette-format-support h2 {
        font-size: 23px
    }

    .cigarette-format-support .format-names {
        font-size: 15px
    }
}

.insight-article-page .article-breadcrumbs {
    max-width: 1280px;
    margin: 0 auto;
    padding: 28px 7vw 0
}

.insight-article-page .article-hero {
    max-width: 1280px;
    padding-top: 35px;
    padding-bottom: 38px
}

.insight-article-page .article-hero h1 {
    font-size: clamp(2.2rem,4vw,3.7rem);
    line-height: 1.08;
    max-width: 960px
}

.insight-article-page .article-layout {
    padding-top: 36px
}

.insight-article-page .article-body h2 {
    font-size: clamp(1.4rem,2.3vw,2rem);
    line-height: 1.2
}

.insight-article-page .article-body h2:first-child {
    margin-top: 0
}

.insights.section a.insight-card:hover {
    background: transparent;
    transform: none
}

.insights.section a.insight-card:hover h3 {
    color: #a47527
}

.insights.section a.insight-card:focus-visible {
    outline: 2px solid #b38538;
    outline-offset: 5px
}

/* Tobacco solution: coordinated component supply. */
.tobacco-solution-page .coordinated-materials {
    padding: 64px max(5vw,24px);
    border-top: 1px solid #d0d5db
}

.coordinated-materials>header {
    max-width: 780px;
    margin-bottom: 30px
}

.coordinated-materials h2 {
    font-size: clamp(30px,3vw,44px);
    line-height: 1.12;
    margin: 12px 0 18px
}

.coordinated-materials p {
    color: #52657e;
    line-height: 1.65
}

.coordinated-materials-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 24px
}

.coordinated-materials-grid article {
    border: 1px solid #d0d5db;
    background: #fff
}

.coordinated-materials-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 2/1;
    object-fit: contain;
    background: #f4f3ef
}

.coordinated-materials-grid article>div {
    padding: 24px
}

.coordinated-materials-grid h3 {
    font-size: 22px;
    line-height: 1.2;
    margin: 0 0 14px
}

.coordinated-materials-grid p {
    font-size: 14px;
    margin-bottom: 20px
}

.coordinated-materials-grid .text-link {
    display: table;
    font-size: 13px;
    margin-top: 12px
}

.coordinated-materials-all {
    display: inline-block;
    margin-top: 28px
}

@media(max-width: 800px) {
    .coordinated-materials-grid {
        grid-template-columns:1fr
    }

    .tobacco-solution-page .coordinated-materials {
        padding: 40px 24px
    }
}