.campaign-header .main-nav { margin-left: auto; }
.campaign-header .nav-cta { font-size: .88rem; font-weight: 700; white-space: nowrap; transition: background .2s ease; }
html:not(.js) .campaign-header .menu-toggle { display: none; }
#lage, #vorgehen, #faelle, #wer, #einstieg, #fragen { scroll-margin-top: 64px; }
h1, h2 { letter-spacing: -.035em; word-spacing: .08em; text-wrap: balance; }
h1 em, h2 em { padding-right: .06em; }
.hero-title em, .section:not(.section-ink) h2 em { color: #f5411a; }
.case h3, .faq-item h3, .reason h3, .offer-card h3, .role-card h3 { text-wrap: balance; }
.section-intro > p, .section-heading-row > p, .lage-outro, .case-result { text-wrap: pretty; }
.section-white { background: var(--white); }
.section-intro-short { margin-bottom: 50px; }
.section-intro-short h2 { margin-bottom: 0; }
.hero { isolation: isolate; }
.hero::before { z-index: -1; }
.hero-grid-portrait { grid-template-columns: minmax(0, 1.32fr) minmax(280px, .68fr); grid-template-areas: "copy portrait" "facts facts"; gap: 40px clamp(40px, 6vw, 96px); }
.hero-grid-portrait .hero-copy { grid-area: copy; }
.hero-grid-portrait .hero-portrait { grid-area: portrait; }
.fact-strip-hero { grid-area: facts; margin-top: 0; }
.fact-strip strong { text-wrap: balance; }
.hero-grid-portrait .hero-actions { flex-wrap: wrap; row-gap: 16px; margin-top: 30px; }
.hero-title { font-size: clamp(2.3rem, 4.6vw, 4.6rem); }
.hero-copy .hero-title { margin-bottom: 24px; }
.hero-voice { max-width: 700px; }
.hero-voice .hero-lead { margin-bottom: 14px; font-size: clamp(1.05rem, 1.35vw, 1.16rem); line-height: 1.5; }
.hero-voice .hero-lead-close { margin-bottom: 0; color: var(--ink); font-weight: 600; }
.hero-portrait { margin: 0; justify-self: end; width: min(100%, 380px); }
.hero-portrait img { height: auto; }
.hero-portrait .image-tag { right: -18px; bottom: 34px; }
.photo-credit { position: absolute; z-index: 2; left: 14px; bottom: 14px; padding: 4px 8px; border-radius: 3px; background: rgba(18, 19, 22, .72); color: rgba(255, 254, 248, .94); font-family: var(--sans); font-size: .68rem; font-weight: 600; line-height: 1.3; letter-spacing: .01em; text-transform: none; white-space: nowrap; }
.hero-portrait .photo-credit { top: calc(100% + 10px); bottom: auto; left: 0; }
.photo-credit a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.photo-credit a:hover { text-decoration-thickness: 2px; }
.photo-credit a:focus-visible { outline: 2px solid currentColor; outline-offset: 1px; }
.photo-band { position: relative; margin: 0; height: clamp(240px, 34vw, 560px); overflow: hidden; background: var(--ink); }
.photo-band picture, .photo-band img { display: block; width: 100%; height: 100%; }
.photo-band img { object-fit: cover; object-position: 60% 48%; }
.photo-band::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 42%; background: linear-gradient(to bottom, rgba(18, 19, 22, 0), rgba(18, 19, 22, .6) 55%, var(--ink)); pointer-events: none; }
.photo-band-label { position: absolute; z-index: 1; bottom: 16px; right: calc((100% - var(--shell)) / 2); padding: 5px 9px; border-radius: 3px; background: rgba(18, 19, 22, .72); color: rgba(255, 254, 248, .94); font-size: .72rem; font-weight: 600; line-height: 1.3; letter-spacing: .01em; }
.figure-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-light); }
.figure-card { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; padding: 34px 28px 6px; border-right: 1px solid var(--line-light); }
.figure-card:first-child { padding-left: 0; }
.figure-card:last-child { padding-right: 0; border-right: 0; }
.figure-text { margin: 0 0 24px; color: rgba(255, 254, 248, .7); }
.figure-value { display: block; margin-bottom: 16px; font-family: var(--serif); font-size: clamp(3rem, 4.4vw, 4.6rem); font-weight: 700; line-height: 1; letter-spacing: -.05em; color: var(--white); white-space: nowrap; }
.figure-source { margin: 0; padding-top: 16px; border-top: 1px solid var(--line-light); font-size: .8rem; line-height: 1.45; }
.figure-source a { color: var(--cobalt-light); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .2s ease; }
.figure-source a:hover { color: var(--orange); }
.figure-source a span { margin-left: 4px; }
.lage-outro { max-width: 860px; margin: 64px 0 0; font-size: clamp(1.15rem, 1.7vw, 1.45rem); line-height: 1.45; color: var(--white); }
.situation-list { list-style: none; max-width: 780px; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.situation-list li { position: relative; padding: 22px 0 22px 44px; border-bottom: 1px solid var(--line); font-size: clamp(1.08rem, 1.5vw, 1.3rem); line-height: 1.45; }
.situation-list li::before { content: "↗"; position: absolute; left: 0; top: 23px; color: var(--orange-dark); font-family: var(--mono); }
.steps-compact .step { grid-template-columns: 100px minmax(0, 1fr); }
.steps-compact .step-copy h3 { margin-top: 0; }
.steps-compact .step-number { color: var(--orange-dark); }
.steps-compact .step-copy p:last-child { max-width: 66ch; margin-bottom: 0; }
.chip-block { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin-top: 46px; }
.chip-lead { margin: 0; font-weight: 700; }
.chip-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.chip-row li { padding: 9px 13px; background: var(--ink); color: var(--white); font-family: var(--mono); font-size: .72rem; letter-spacing: .03em; line-height: 1.2; box-shadow: 5px 5px 0 rgba(18, 19, 22, .16); }
.case-long {
grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
grid-template-areas: "visual content" "proof proof";
min-height: 0;
}
.case-long .case-visual { grid-area: visual; }
.case-long .case-content { grid-area: content; justify-content: flex-start; padding-bottom: 46px; }
.case-long .case-content h3 { margin-bottom: 30px; }
.case-long .case-content h3 { font-size: clamp(2.2rem, 3.4vw, 3.8rem); }
.case-steps { display: grid; }
.case-steps > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 18px; padding: 16px 0; border-top: 1px solid var(--line); }
.case-steps > div:last-child { padding-bottom: 0; }
.case-steps p { margin: 0; }
.case-steps p:not(.case-kicker):not(.case-result) { color: var(--muted); font-size: 1.02rem; }
.case-rules ul { margin: 8px 0 0; padding: 0; list-style: none; }
.case-rules li { position: relative; padding-left: 20px; color: var(--muted); font-size: 1.02rem; }
.case-rules li + li { margin-top: 6px; }
.case-rules ul + p { margin-top: 10px; }
.case-rules li::before { content: "↗"; content: "↗" / ""; position: absolute; left: 0; top: 1px; color: var(--orange-dark); font-family: var(--mono); font-size: .85em; }
.case-kicker { margin: 0; padding-top: 4px; font-family: var(--mono); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.case-proof {
grid-area: proof;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
gap: 22px clamp(40px, 6vw, 96px);
align-items: start;
padding: clamp(32px, 4vw, 48px) clamp(40px, 6vw, 75px) clamp(36px, 4vw, 52px);
}
.case-proof .metrics { grid-column: 1; grid-row: 1; margin: 0; }
.case-voice { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.case-voice blockquote { margin: 0; }
.case-voice .case-kicker, .case-wide-voice .case-kicker { margin-bottom: 14px; }
.case-voice .notes-disclaimer { margin-top: 12px; }
.case-role { grid-column: 1; grid-row: 2; margin: 0; display: flex; flex-direction: column; gap: 8px; color: var(--ink); }
.case-role .case-kicker { padding-top: 0; }
.case-role-text { font-size: 1.18rem; font-weight: 700; line-height: 1.35; letter-spacing: -.01em; }
@media (min-width: 1051px) {
.case-proof:not(:has(.case-voice)) .case-role { grid-column: 2; grid-row: 1; align-self: center; }
.case-proof:not(:has(.case-voice)) .case-next { grid-row: 2; }
}
.case-next { grid-column: 1 / -1; grid-row: 3; margin: 6px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .95rem; }
.case-next a { margin-left: 6px; color: var(--ink); font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 1px; transition: color .2s ease; }
.case-next a:hover { color: var(--orange-dark); }
.case-next a span { margin-left: 4px; }
.case-visual-logistics .chip-d { right: 8%; top: 19%; }
.case-visual-logistics .chip-e { left: 8%; bottom: 18%; }
@media (min-width: 1051px) {
.case-long .case-visual-logistics::before { inset: 50% auto auto 50%; width: 76%; aspect-ratio: 1; transform: translate(-50%, -50%); }
.case-long .chip-a, .case-long .chip-d { top: calc(50% - 230px); }
.case-long .chip-c, .case-long .chip-e { bottom: calc(50% - 230px); }
}
.case-wide {
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
gap: 32px clamp(40px, 6vw, 96px);
min-height: 0;
margin-top: 24px;
padding: clamp(32px, 4vw, 48px);
}
.case-wide h3 { margin: 40px 0 24px; font-size: clamp(1.9rem, 2.7vw, 2.6rem); }
.case-steps-compact > div { gap: 14px; padding: 13px 0; }
.case-steps-compact p:not(.case-kicker):not(.case-result) { font-size: .95rem; }
.case-wide .case-steps .case-result { margin-top: 0; padding-top: 0; border-top: 0; }
.case-wide-proof { display: flex; flex-direction: column; gap: 24px; }
.case-wide-proof .mini-chart { height: 72px; margin: 0; }
.case-wide .metrics-compact { margin: 0; padding: 16px 0; }
.case-wide .metrics-compact strong { font-size: 1.6rem; }
.case-wide-voice { margin: 0; }
.case-wide-voice blockquote { margin: 0; font-size: clamp(1.15rem, 1.5vw, 1.4rem); }
.case-wide-voice .notes-disclaimer { margin-top: 12px; }
.case-wide .case-role-text { font-size: 1.05rem; }
.case-wide > .case-next { grid-row: auto; max-width: none; margin: 0; }
.role-section { position: relative; isolation: isolate; overflow: hidden; background-color: var(--ink); --role-bg: url("/assets/wer-das-macht-1584.jpg"); --sign: 60px; }
@supports (background-image: image-set(url("/assets/wer-das-macht-800.avif") type("image/avif"))) {
.role-section { --role-bg: image-set(url("/assets/wer-das-macht-1584.avif") type("image/avif"), url("/assets/wer-das-macht-1584.webp") type("image/webp"), url("/assets/wer-das-macht-1584.jpg") type("image/jpeg")); }
}
.role-section::before { content: ""; position: absolute; z-index: -1; top: 0; right: 0; width: 100%; aspect-ratio: 1584 / 672; background: var(--role-bg, none) center top / cover no-repeat; -webkit-mask-image: linear-gradient(to bottom, #000 58%, transparent); mask-image: linear-gradient(to bottom, #000 58%, transparent); pointer-events: none; }
.bg-label { position: absolute; z-index: 1; right: calc((100% - var(--shell)) / 2); bottom: 22px; margin: 0; padding: 5px 9px; border-radius: 3px; background: rgba(18, 19, 22, .72); color: rgba(255, 254, 248, .94); font-size: .72rem; font-weight: 600; line-height: 1.3; letter-spacing: .01em; }
.role-grid { --role-gap: 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--role-gap); }
.role-card { position: relative; display: flex; flex-direction: column; padding: 32px 30px 28px; border-radius: var(--radius); background: var(--white); color: var(--ink); }
.role-card h3 { margin: 0 0 14px; font-family: var(--serif); font-size: clamp(1.6rem, 2.1vw, 2.1rem); line-height: 1.12; hyphens: manual; overflow-wrap: break-word; }
.role-card > p:not(.role-proof) { margin: 0 0 24px; color: var(--muted); }
.role-proof { margin: auto 0 0; padding-top: 16px; border-top: 1px solid var(--line); }
.role-proof-label { display: block; margin-bottom: 6px; font-family: var(--mono); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-dark); }
.role-proof-text { font-weight: 700; line-height: 1.4; }
@media (min-width: 960px) {
@supports (grid-template-rows: subgrid) {
.role-grid { row-gap: 0; }
.role-card { display: grid; grid-row: span 3; grid-template-rows: subgrid; }
.role-proof { margin-top: 0; }
}
}
@media (min-width: 960px) and (max-width: 1050px) {
.role-card h3 { font-size: 1.4rem; }
}
.role-sign { position: relative; display: block; width: var(--sign); height: var(--sign); border-radius: 50%; background: var(--orange); box-shadow: 5px 5px 0 var(--cobalt); }
.role-sign::before, .role-sign::after { content: ""; position: absolute; inset: 0; width: 42%; height: 5px; margin: auto; border-radius: 3px; background: var(--white); }
.role-sign-plus::after { transform: rotate(90deg); }
.role-sign-equals::before { transform: translateY(-6px); }
.role-sign-equals::after { transform: translateY(6px); }
.role-sign-plus { position: absolute; z-index: 1; top: 50%; right: calc(var(--role-gap) / -2); transform: translate(50%, -50%); }
.role-result { margin-top: 44px; padding-top: 36px; border-top: 1px solid var(--line-light); }
.role-result-main { display: flex; align-items: center; gap: 24px; margin: 0; font-family: var(--serif); font-size: clamp(1.75rem, 3.2vw, 2.9rem); font-weight: 700; line-height: 1.05; letter-spacing: -.035em; word-spacing: .08em; color: var(--white); text-wrap: balance; }
.role-result-main em { padding-right: .06em; font-style: italic; font-weight: 500; color: var(--orange); }
.role-sign-equals { flex: none; }
.role-result-sub { margin: 12px 0 0; padding-left: calc(var(--sign) + 24px); color: rgba(255, 254, 248, .68); font-size: 1.05rem; }
.chip-block-tools { margin-top: 44px; }
.section-ink .chip-lead { color: var(--white); }
.section-ink .chip-row li { background: var(--white); color: var(--ink); box-shadow: 5px 5px 0 rgba(255, 254, 248, .16); }
.chip-more { flex-basis: 100%; margin: 0; font-size: .95rem; font-weight: 600; line-height: 1.45; }
.section-ink .chip-more { color: var(--white); }
.fact-strip-roles { margin-top: 44px; border-top-color: var(--line-light); }
.fact-strip-roles > div { border-right-color: var(--line-light); }
.fact-strip-roles span { color: rgba(255, 254, 248, .6); }
.fact-strip-roles strong { color: var(--white); }
.reason-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(28px, 4vw, 56px); margin: 0 0 76px; border-top: 1px solid var(--line); }
.reason { position: relative; padding: 24px 0 26px 32px; border-bottom: 1px solid var(--line); }
.reason::before { content: "↗"; position: absolute; left: 0; top: 25px; color: var(--orange-dark); font-family: var(--mono); }
.reason h3 { margin: 0 0 8px; font-size: 1.1rem; font-weight: 800; line-height: 1.3; letter-spacing: -.015em; }
.reason p { margin: 0; color: var(--muted); font-size: .98rem; }
.offer-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.offer-grid-two .offer-card { min-height: 0; }
.offer-grid-two .offer-highlight { transform: none; }
.offer-grid-two .offer-card:not(.offer-highlight) { background: var(--white); }
.offer-grid-two .offer-card h3 { margin-top: 30px; }
.offer-grid-two .offer-highlight > p:not(.offer-number) { margin-bottom: 30px; }
.offer-grid-two .offer-card > a { margin-top: auto; }
.offer-grid-two .offer-highlight > a.offer-link-primary { color: var(--white); }
.offer-grid-two .offer-card li::before { color: var(--orange-dark); }
.einstieg-bridge { max-width: 760px; margin: 0 0 32px; font-size: 1.22rem; color: #5d605d; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 14px clamp(40px, 6vw, 96px); padding: 30px 0; border-bottom: 1px solid var(--line); }
.faq-item h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.3rem, 1.9vw, 1.7rem); font-weight: 600; line-height: 1.22; letter-spacing: -.03em; }
.faq-item p { margin: 0; color: var(--muted); max-width: 640px; }
.cta-panel > p.cta-panel-note { margin: -12px 0 26px; font-family: var(--sans); font-size: .95rem; font-weight: 700; text-transform: none; color: var(--white); }
.cta-copy h2 { margin-bottom: 0; }
.cta-grid-photo { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .7fr); grid-template-areas: "copy photo" "panel photo"; gap: 44px clamp(48px, 7vw, 110px); }
.cta-grid-photo .cta-copy { grid-area: copy; align-self: end; }
.cta-grid-photo .cta-panel { grid-area: panel; align-self: start; max-width: 540px; }
.cta-portrait { grid-area: photo; margin: 0; justify-self: end; width: min(100%, 380px); }
.cta-portrait::before { background: var(--ink); }
.cta-portrait picture { display: block; }
.cta-portrait img { height: auto; object-position: 50% 28%; }
.contact-section { padding: 100px 0 110px; }
.contact-section h2 { font-size: clamp(2.6rem, 4.3vw, 4.6rem); }
.contact-section .section-heading-row { margin-bottom: 46px; }
.contact-name { margin: 0 0 18px; font-size: 1.05rem; }
.contact-later { margin: 30px 0 0; color: var(--muted); font-size: 1.05rem; }
.contact-later a { color: var(--ink); font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 1px; transition: color .2s ease; }
.contact-later a:hover { color: var(--orange-dark); }
.fact-strip-contact { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; border-bottom: 1px solid var(--line); }
.fact-strip-contact strong { font-size: 1.1rem; }
.fact-strip-contact a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; transition: color .2s ease; }
.fact-strip-contact a:hover { color: var(--orange-dark); }
.case-wide .case-topline { color: var(--orange-dark); }
#logistik-fall, #recycling-fall { scroll-margin-top: 96px; }
.campaign-header .menu-toggle { min-width: 44px; justify-content: center; }
.campaign-header .brand { min-height: 44px; }
.hero .text-link { padding: 9px 0; }
.photo-credit a { position: relative; }
.photo-credit a::after { content: ""; position: absolute; inset: -15px -6px; }
.figure-source a { display: inline-block; padding-block: 13px; margin-block: -5px; }
.case-next a { display: inline-block; white-space: nowrap; padding-block: 11px; }
.phone-link { margin-top: 8px; padding: 12px 0; }
.fact-strip-contact a, .contact-later a { display: inline-block; padding-block: 11px; }
@media (max-width: 1320px) {
.hero-portrait .image-tag { right: 0; }
}
@media (max-width: 1050px) {
.hero-grid-portrait { padding-top: 0; }
.figure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.figure-card { padding: 30px 0 6px 28px; }
.figure-card:nth-child(2n+1) { padding-left: 0; padding-right: 28px; }
.figure-card:nth-child(2n) { border-right: 0; }
.figure-card:nth-child(-n+2) { padding-bottom: 30px; border-bottom: 1px solid var(--line-light); }
.case-long { grid-template-columns: minmax(0, 1fr); grid-template-areas: "visual" "content" "proof"; }
.case-long .case-visual { min-height: 340px; }
.case-proof { grid-template-columns: minmax(0, 1fr); }
.case-proof .metrics, .case-voice, .case-role, .case-next { grid-column: 1; grid-row: auto; }
.case-wide { grid-template-columns: minmax(0, 1fr); }
.case-steps > div > :last-child { max-width: 64ch; }
.reason-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 959px) {
.role-grid { --role-gap: 28px; grid-template-columns: minmax(0, 1fr); max-width: 640px; }
.role-sign-plus { top: auto; right: auto; bottom: calc(var(--role-gap) / -2); left: 50%; transform: translate(-50%, 50%); }
.cta-grid-photo { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "photo" "panel"; gap: 40px; }
.cta-grid-photo .cta-copy { align-self: auto; }
.cta-portrait { justify-self: start; width: min(66%, 300px); margin-left: 10%; }
}
@media (max-width: 800px) {
@supports (background-image: image-set(url("/assets/wer-das-macht-800.avif") type("image/avif"))) {
.role-section { --role-bg: image-set(url("/assets/wer-das-macht-800.avif") type("image/avif"), url("/assets/wer-das-macht-800.webp") type("image/webp"), url("/assets/wer-das-macht-1584.jpg") type("image/jpeg")); }
}
}
@media (max-width: 820px) {
.hero-title { font-size: clamp(1.9rem, 9.4vw, 4.4rem); }
.hero-grid-portrait { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "facts" "portrait"; padding-top: 8px; }
.hero-grid-portrait .hero-actions { margin-top: 22px; }
.hero-portrait { justify-self: center; width: min(100%, 340px); margin-left: 0; transform: translateX(9%); }
.campaign-header .nav-cta { padding: 11px 16px; }
.campaign-header, .campaign-header.is-scrolled { padding: 10px 0; }
.campaign-header .nav-wrap { gap: 14px; }
.campaign-header .menu-toggle { margin-left: auto; min-height: 44px; }
.campaign-header .main-nav { inset: 64px 0 auto; height: calc(100vh - 64px); height: calc(100dvh - 64px); visibility: hidden; transition: transform .3s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .3s; }
.campaign-header .main-nav.is-open { visibility: visible; transition: transform .3s cubic-bezier(.22, 1, .36, 1), visibility 0s; }
.steps-compact .step { grid-template-columns: 55px minmax(0, 1fr); }
.faq-item { grid-template-columns: minmax(0, 1fr); padding: 26px 0; }
.case-long .case-content { padding-bottom: 30px; }
.case-steps > div { grid-template-columns: minmax(0, 1fr); gap: 6px; }
.case-proof { padding: 6px 28px 34px; }
.case-wide { padding: 28px; }
.case-wide h3 { margin-top: 30px; }
.fact-strip-roles > div { border-bottom-color: var(--line-light); }
.contact-section { padding: 80px 0 90px; }
.fact-strip-contact { grid-template-columns: minmax(0, 1fr); padding: 0; }
.fact-strip-contact > div,
.fact-strip-contact > div:nth-child(2),
.fact-strip-contact > div:nth-child(3) { min-height: 0; padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
.fact-strip-contact > div:last-child { border-bottom: 0; }
}
@media (max-width: 700px) {
.offer-grid-two { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
.hero-portrait { width: min(78%, 290px); }
.campaign-header .menu-toggle > span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.role-section { --sign: 52px; }
.role-result-main { gap: 18px; }
.role-result-sub { padding-left: calc(var(--sign) + 18px); }
.figure-grid { grid-template-columns: minmax(0, 1fr); }
.figure-card, .figure-card:nth-child(2n+1), .figure-card:nth-child(2n) { padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--line-light); }
.figure-card:last-child { border-bottom: 0; padding-bottom: 6px; }
.situation-list li { padding-left: 34px; }
.reason-grid { grid-template-columns: minmax(0, 1fr); margin-bottom: 56px; }
.reason { padding-left: 30px; }
.steps-compact .step { grid-template-columns: 40px minmax(0, 1fr); }
.case-wide h3 { font-size: 1.9rem; }
.case-long .case-content h3 { font-size: 1.9rem; }
.case-long .case-visual { min-height: 280px; }
.case-long .case-visual-logistics::after { width: 170px; height: 170px; }
.case-long .orbit-one { width: 220px; height: 220px; }
.case-long .orbit-two { width: 310px; height: 310px; }
.cta-copy h2 { font-size: clamp(2.4rem, 11vw, 3.4rem); }
}
@media (max-width: 420px) {
.case-wide h3 { font-size: 1.6rem; }
}
@media (max-width: 380px) {
.campaign-header .nav-wrap { gap: 8px; }
.campaign-header .nav-cta { padding: 12px 11px; font-size: .8rem; }
.cta-panel .button { gap: 12px; padding-inline: 18px; }
}
@media (max-width: 359px) {
.case-long .case-content h3 { font-size: 1.55rem; }
.case-wide h3 { font-size: 1.35rem; }
}
.hero { min-height: 0; padding-bottom: clamp(56px, 8vh, 112px); }