/* Generated; edit the listed source files, then rebuild. */

/* SOURCE: styles/responsive/01-min-width-1700px.css */

@media(min-width:1700px) {
  .section {
    padding-left:max(6vw,calc((100vw - 1520px)/2));
    padding-right:max(6vw,calc((100vw - 1520px)/2))
  }
  .hero-content {
    padding-left:max(6vw,calc((100vw - 1520px)/2));
    max-width:1500px
  }
}


/* SOURCE: styles/responsive/02-max-width-1150px.css */

@media(max-width:1150px) {
  .site-header {
    padding-left:4vw;
    padding-right:4vw;
    height:88px
  }
  .site-header nav {
    display:none
  }
  .mobile-navigation {
    display:flex;
    gap:12px;
    align-items:center
  }
  .hero {
    height:680px;
    min-height:600px
  }
  .hero-content {
    padding-top:105px
  }
  .hero-bottom>span {
    display:none
  }
  .hero-bottom .slide-controls {
    margin-right:auto
  }
  .hero h1 {
    font-size:clamp(3.2rem,6.5vw,5.3rem)
  }
  .footer-top {
    grid-template-columns:1.3fr 1fr 1.3fr;
    gap:40px
  }
  .footer-shop {
    display:none
  }
  .hero-actions {
    gap:22px
  }
  .page-hero {
    min-height:570px
  }
  .page-hero-copy {
    padding:35px 5vw 60px
  }
  .page-hero-copy h1 {
    font-size:4rem
  }
  .page-hero-copy .breadcrumb {
    margin-bottom:36px
  }
  .brand-strip {
    gap:25px;
    padding-left:6vw;
    padding-right:6vw
  }
  .brand-strip>p {
    font-size:10px
  }
  .offer-grid {
    grid-template-columns:repeat(2,1fr);
    gap:50px 45px
  }
  .offer-grid h3 {
    min-height:auto
  }
  .process-panel {
    grid-template-columns:90px 1fr;
    gap:30px;
    padding:35px
  }
  .process-panel>.text-link {
    grid-column:2;
    width:fit-content
  }
  .process-list [data-slot=tabs-trigger] {
    font-size:15px
  }
  .process-list [data-slot=tabs-trigger]>svg {
    display:none
  }
  .contact-layout {
    gap:5vw
  }
  .contact-form {
    padding:28px
  }
  .form-row {
    grid-template-columns:1fr;
    gap:0
  }
  .feature-copy {
    padding:65px 5vw
  }
  .innovation {
    gap:6vw
  }
  .innovation h2 {
    font-size:38px
  }
  .section-heading>p {
    max-width:300px
  }
  .facts strong {
    font-size:46px
  }
  .facts>div+div {
    padding-left:22px
  }
  .footer .brand>img {
    display:none
  }
  .product-detail-hero .detail-copy {
    padding:45px 5vw
  }
  .detail-copy h1 {
    font-size:3.3rem
  }
  .detail-image {
    min-height:610px
  }
}


/* SOURCE: styles/responsive/03-max-width-800px.css */

@media(max-width:800px) {
  .site-header {
    height:80px
  }
  .brand>img {
    width:27px;
    height:38px
  }
  .brand {
    gap:9px
  }
  .wordmark {
    font-size:26px
  }
  .wordmark span {
    font-size:7px;
    letter-spacing:1.8px
  }
  .section {
    padding:65px 6vw
  }
  .hero {
    height:650px;
    min-height:650px
  }
  .hero-content {
    padding:92px 6vw 125px
  }
  .hero h1 {
    font-size:clamp(2.7rem,6.6vw,3.8rem);
    letter-spacing:-.055em
  }
  .hero-content>p:not(.eyebrow) {
    font-size:15px;
    max-width:440px;
    margin-top:24px
  }
  .hero .eyebrow {
    font-size:10px;
    letter-spacing:.13em
  }
  .hero-actions {
    flex-wrap:wrap;
    gap:15px;
    margin-top:27px
  }
  .hero-actions .button {
    font-size:13px;
    padding:14px 17px;
    gap:18px
  }
  .hero .film-button {
    font-size:13px
  }
  .hero-bottom {
    gap:12px;
    padding:14px 0
  }
  .slide-caption {
    display:none
  }
  .hero .hero-image:nth-child(1) {
    object-position:57% center
  }
  .hero-bottom .hero-scroll {
    width:35px;
    height:35px
  }
  .hero-shade {
    background:linear-gradient(90deg,#121837cc,#12183760),linear-gradient(0deg,#12183780,transparent 40%)
  }
  .eyebrow {
    font-size:10px;
    margin-bottom:20px
  }
  .intro-grid {
    grid-template-columns:1fr;
    gap:27px
  }
  .intro-grid p {
    max-width:none;
    font-size:15px
  }
  .intro-grid .text-link {
    margin-top:18px
  }
  .facts {
    grid-template-columns:repeat(2,1fr);
    margin-top:45px;
    gap:28px 20px;
    padding-top:28px
  }
  .facts>div+div {
    padding-left:20px
  }
  .facts>div:nth-child(3) {
    border-left:0;
    padding-left:0
  }
  .facts strong {
    font-size:44px
  }
  .facts span {
    font-size:12px;
    margin-top:9px
  }
  .brand-strip {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px 14px;
    padding:30px 6vw
  }
  .brand-strip>p {
    grid-column:1/-1;
    text-align:center;
    font-size:10px
  }
  .brand-strip>p br {
    display:none
  }
  .brand-strip>a {
    min-width:0
  }
  .brand-seal {
    height:59px
  }
  .bonapart-logo {
    width:100px
  }
  .npm-wordmark {
    font-size:32px;
    letter-spacing:3px
  }
  .npm-wordmark span {
    font-size:6px;
    letter-spacing:.8px
  }
  .section-heading {
    align-items:start;
    gap:25px;
    margin-bottom:33px;
    flex-wrap:wrap
  }
  .section-heading>p {
    max-width:500px;
    font-size:15px
  }
  .service-grid {
    grid-template-columns:1fr;
    gap:40px
  }
  .service-image {
    aspect-ratio:1.65;
    margin-bottom:20px
  }
  .service-card h3 {
    font-size:24px
  }
  .service-more {
    margin-top:17px
  }
  .collection-track>.collection-card {
    flex-basis:70vw
  }
  .collection-track {
    padding-right:24vw
  }
  .collection-image {
    aspect-ratio:1/1
  }
  .collection-section .section-heading {
    flex-wrap:nowrap;
    align-items:flex-end;
    gap:15px
  }
  .collection-section h2 {
    font-size:2rem
  }
  .round-button {
    width:39px;
    height:39px
  }
  .slider-navigation {
    gap:6px
  }
  .collection-card h3 {
    font-size:21px
  }
  .collection-footer>span {
    display:none
  }
  .collection-footer {
    margin-top:20px;
    padding-top:15px
  }
  .feature {
    grid-template-columns:1fr
  }
  .feature-image {
    min-height:390px
  }
  .feature-cup .feature-image>img {
    padding:55px 50px
  }
  .image-label {
    left:6vw;
    top:27px;
    font-size:10px
  }
  .image-footnote {
    left:6vw;
    bottom:24px;
    font-size:12px
  }
  .feature-copy {
    padding:60px 6vw
  }
  .feature-copy>p:not(.eyebrow) {
    font-size:15px
  }
  .feature-copy h2 {
    margin-bottom:25px
  }
  .innovation {
    grid-template-columns:1fr;
    gap:40px
  }
  .innovation h2 {
    font-size:2.3rem
  }
  .innovation-image img {
    aspect-ratio:1.5;
    object-position:center
  }
  .innovation-image>span {
    font-size:9px
  }
  .award {
    margin-top:32px;
    padding-top:22px
  }
  .award span {
    font-size:11px
  }
  .people {
    grid-template-columns:1fr;
    gap:40px
  }
  .people-image>img {
    height:390px;
    object-position:center
  }
  .people-image>span {
    font-size:11px
  }
  .people>div>p:not(.eyebrow) {
    font-size:15px;
    margin-top:25px
  }
  .cta {
    grid-template-columns:1fr;
    gap:26px
  }
  .cta .button {
    font-size:13px;
    gap:22px;
    padding:15px 19px
  }
  .cta p {
    font-size:15px
  }
  .footer {
    padding:55px 6vw 25px
  }
  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:40px 25px
  }
  .footer-top>div:first-child {
    grid-column:1/-1
  }
  .footer .brand>img {
    display:block
  }
  .footer-top>div>a:not(.brand) {
    font-size:12px;
    overflow-wrap:anywhere
  }
  .footer-top h3 {
    font-size:12px
  }
  .footer-top>div>p {
    font-size:13px
  }
  .footer-bottom {
    flex-direction:column;
    align-items:start;
    margin-top:35px;
    font-size:10px;
    gap:20px
  }
  .footer-bottom>div {
    gap:20px;
    flex-wrap:wrap
  }
  .page-hero {
    grid-template-columns:1fr;
    min-height:0
  }
  .page-hero-copy {
    padding:30px 6vw 48px
  }
  .page-hero-copy h1 {
    font-size:clamp(2.8rem,9vw,4.3rem);
    margin-bottom:22px
  }
  .page-hero-copy .breadcrumb {
    font-size:11px;
    margin-bottom:33px
  }
  .page-hero-copy>p:last-child {
    font-size:15px
  }
  .page-hero-image {
    min-height:350px
  }
  .corner-label {
    bottom:18px;
    left:6vw;
    font-size:9px
  }
  .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px 20px
  }
  .product-grid .collection-card h3 {
    font-size:20px
  }
  .product-grid .collection-card>.eyebrow {
    font-size:8px;
    letter-spacing:.09em
  }
  .product-grid .card-summary {
    font-size:13px
  }
  .card-plus {
    width:35px;
    height:35px;
    right:12px;
    bottom:12px
  }
  .card-plus svg {
    width:18px
  }
  .collection-hover {
    display:none
  }
  .film-section {
    grid-template-columns:1fr;
    gap:35px
  }
  .film-section>img {
    height:360px;
    grid-row:1
  }
  .film-section p:not(.eyebrow) {
    font-size:15px;
    margin:22px 0
  }
  .shop-section>p:not(.eyebrow) {
    font-size:15px
  }
  .product-detail-hero {
    display:flex;
    flex-direction:column
  }
  .detail-image {
    min-height:0;
    height:430px;
    order:2
  }
  .detail-image>img {
    height:100%;
    width:100%;
    object-fit:cover
  }
  .product-detail-hero .detail-copy {
    padding:30px 6vw 45px
  }
  .detail-copy .breadcrumb {
    font-size:11px;
    margin-bottom:30px
  }
  .detail-copy h1 {
    font-size:3rem;
    margin-bottom:19px
  }
  .detail-copy h2 {
    font-size:22px
  }
  .detail-copy>p:not(.eyebrow) {
    font-size:15px
  }
  .detail-copy .button {
    margin-top:25px
  }
  .detail-story,.case-reference,.npm-story {
    grid-template-columns:1fr;
    gap:27px
  }
  .detail-story p,.case-reference p,.npm-story p {
    font-size:15px
  }
  .related-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:23px
  }
  .related-grid>.collection-card:last-child {
    display:none
  }
  .related-grid h3 {
    font-size:19px
  }
  .related-grid .eyebrow {
    font-size:8px;
    letter-spacing:.08em
  }
  .story-grid {
    grid-template-columns:1fr;
    gap:25px;
    margin-top:35px
  }
  .story-grid h3 {
    font-size:24px;
    margin-top:16px
  }
  .assurance-row {
    grid-template-columns:repeat(2,1fr);
    gap:17px;
    margin-top:35px;
    padding-top:25px
  }
  .assurance-row>span {
    font-size:12px;
    gap:7px
  }
  .offer-grid {
    gap:35px 28px
  }
  .offer-grid h3 {
    font-size:23px
  }
  .offer-grid p {
    font-size:14px
  }
  .offer-number {
    margin-bottom:22px
  }
  .process-tabs {
    margin-top:35px
  }
  .process-list {
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-bottom:0;
    gap:0 20px!important
  }
  .process-list [data-slot=tabs-trigger] {
    padding:17px 0;
    font-size:15px;
    justify-content:start;
    min-height:58px;
    border-bottom:1px solid var(--border)
  }
  .process-panel {
    grid-template-columns:50px 1fr;
    gap:20px;
    padding:25px 20px;
    margin-top:25px
  }
  .process-number {
    font-size:55px;
    align-self:start
  }
  .process-panel h3 {
    font-size:22px
  }
  .process-panel p {
    font-size:14px
  }
  .process-panel>.text-link {
    grid-column:1/-1;
    font-size:13px
  }
  .faq-section {
    grid-template-columns:1fr;
    gap:30px
  }
  .faq [data-slot=accordion-trigger] {
    font-size:16px;
    padding:20px 0
  }
  .development-duo {
    grid-template-columns:1fr;
    padding:0
  }
  .development-duo>article {
    padding:60px 6vw
  }
  .development-duo h2 {
    font-size:2rem
  }
  .research-tag {
    font-size:10px
  }
  .research-grid {
    grid-template-columns:1fr;
    gap:30px;
    margin-top:35px
  }
  .research-grid h3 {
    font-size:24px
  }
  .research-goals h3 {
    font-size:20px
  }
  .innovation-proof {
    grid-template-columns:1fr;
    gap:35px
  }
  .robot-portrait {
    max-width:300px
  }
  .innovation-proof>div>p:not(.eyebrow) {
    font-size:15px
  }
  .timeline {
    margin-top:35px
  }
  .timeline-years {
    overflow-x:auto;
    justify-content:start!important;
    scrollbar-width:thin
  }
  .timeline-years [data-slot=tabs-trigger] {
    flex:0 0 74px;
    font-size:15px;
    min-height:55px
  }
  .timeline-panel {
    grid-template-columns:1fr;
    gap:25px;
    padding-top:35px;
    min-height:350px
  }
  .timeline-year {
    font-size:85px
  }
  .timeline-panel h3 {
    font-size:26px
  }
  .timeline-panel p:not(.eyebrow) {
    font-size:15px
  }
  .timeline-panel .eyebrow {
    font-size:9px
  }
  .contact-heading {
    padding-top:30px;
    padding-bottom:50px
  }
  .contact-heading .breadcrumb {
    font-size:11px;
    margin-bottom:35px
  }
  .contact-heading h1 {
    font-size:3.2rem
  }
  .contact-heading>p:last-child {
    font-size:15px;
    line-height:1.8
  }
  .contact-layout {
    grid-template-columns:1fr;
    gap:45px
  }
  .contact-details>a {
    font-size:16px
  }
  .contact-form {
    padding:26px
  }
  .contact-form .eyebrow {
    font-size:10px
  }
  .form-row {
    grid-template-columns:1fr 1fr;
    gap:18px
  }
  .location-banner {
    min-height:420px
  }
  .location-banner>div {
    padding:65px 6vw
  }
  .film-dialog {
    padding:18px
  }
  .film-heading [data-slot=dialog-title] {
    font-size:18px
  }
  .film-heading [data-slot=dialog-description] {
    font-size:12px
  }
}


/* SOURCE: styles/responsive/04-max-width-460px.css */

@media(max-width:460px) {
  .mobile-contact {
    display:none
  }
  .hero {
    height:660px
  }
  .hero-content {
    padding-top:82px
  }
  .hero h1 {
    font-size:2.85rem
  }
  .hero-actions {
    display:flex;
    flex-direction:column;
    align-items:start;
    gap:16px
  }
  .hero .film-button {
    font-size:12px
  }
  .hero-content>p:not(.eyebrow) {
    max-width:320px;
    line-height:1.75
  }
  .hero .eyebrow {
    font-size:9px
  }
  .hero-bottom .slide-controls {
    gap:8px
  }
  .hero .film-button .play-circle {
    width:35px;
    height:35px
  }
  .product-grid {
    grid-template-columns:1fr;
    gap:38px
  }
  .product-grid .collection-card h3 {
    font-size:24px
  }
  .product-grid .collection-card>.eyebrow {
    font-size:10px
  }
  .product-grid .card-summary {
    font-size:14px
  }
  .collection-track>.collection-card {
    flex-basis:78vw
  }
  .collection-track {
    padding-right:16vw
  }
  .collection-section h2 {
    font-size:1.8rem
  }
  .collection-section .section-heading {
    gap:10px
  }
  .round-button {
    width:35px;
    height:35px
  }
  .feature-image {
    min-height:330px
  }
  .people-image>img {
    height:340px
  }
  .page-hero-image {
    min-height:300px
  }
  .offer-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .offer-grid article {
    padding-top:22px
  }
  .offer-number {
    margin-bottom:17px
  }
  .offer-grid p {
    margin-bottom:18px
  }
  .form-row {
    grid-template-columns:1fr;
    gap:0
  }
  .contact-form {
    padding:24px 20px
  }
  .contact-heading h1 {
    font-size:2.85rem
  }
  .contact-form .button {
    font-size:13px;
    gap:17px
  }
  .contact-details>a {
    font-size:15px
  }
  .collection-card>.eyebrow {
    font-size:9px
  }
  .related-grid h3 {
    font-size:17px
  }
  .brand-strip {
    gap:18px 12px
  }
  .brand-seal {
    height:49px
  }
  .bonapart-logo {
    width:85px
  }
  .npm-wordmark {
    font-size:28px
  }
  .footer-bottom {
    font-size:10px
  }
  .page-hero-copy h1 {
    font-size:2.9rem
  }
  .detail-copy h1 {
    font-size:2.7rem
  }
  .detail-image {
    height:360px
  }
  .contact-heading .eyebrow {
    font-size:9px
  }
}


/* SOURCE: styles/responsive/05-grundregeln.css */

/* Allow nested grid and flex content to shrink to the available device width. */
main,.section,.section>div,.feature>div,.page-hero>div,.product-detail-hero>div,.contact-layout>div,.contact-form,.form-row>label,.process-panel>div,.timeline-panel>div,.footer-top>div {
  min-width:0
}
.button,.text-link {
  max-width:100%;
  white-space:normal
}
.card-title h3,.detail-copy h1 {
  min-width:0;
  overflow-wrap:anywhere
}
.navigation-sheet {
  overflow-y:auto;
  overscroll-behavior-y:contain;
  padding-bottom:max(24px,env(safe-area-inset-bottom));
  max-height:100dvh
}
.navigation-sheet nav {
  flex-shrink:0
}
.navigation-sheet nav a {
  min-height:52px;
  gap:16px
}
.navigation-sheet nav a svg {
  flex-shrink:0
}
.navigation-sheet [data-slot=sheet-title] {
  padding-right:28px
}
.navigation-sheet .sheet-close {
  min-width:44px;
  min-height:44px
}


/* SOURCE: styles/responsive/06-max-width-1150px.css */

@media(max-width:1150px) {
  .site-header {
    gap:16px;
    padding-left:max(4vw,env(safe-area-inset-left));
    padding-right:max(4vw,env(safe-area-inset-right))
  }
  .site-header>.brand {
    min-width:0
  }
  .mobile-navigation {
    flex-shrink:0
  }
  .mobile-contact {
    display:grid;
    place-items:center;
    width:44px;
    height:44px
  }
}


/* SOURCE: styles/responsive/07-max-width-980px.css */

@media(max-width:980px) {
  .contact-layout {
    grid-template-columns:1fr;
    gap:42px
  }
  .contact-form {
    width:100%
  }
  .contact-layout .form-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px
  }
  .brand-strip {
    gap:20px;
    padding-left:6vw;
    padding-right:6vw
  }
}


/* SOURCE: styles/responsive/08-max-width-800px.css */

@media(max-width:800px) {
  html {
    scroll-padding-top:92px
  }
  body {
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%
  }
  .section {
    padding-top:56px;
    padding-bottom:56px
  }
  .site-header {
    height:76px
  }
  .hero {
    height:auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:#182053
  }
  .hero-content {
    padding:58px 6vw 32px;
    max-width:none
  }
  .hero h1 {
    font-size:clamp(2.05rem,8.5vw,3.65rem);
    line-height:1.15;
    letter-spacing:-.045em;
    overflow-wrap:break-word
  }
  .hero-content>p:not(.eyebrow) {
    font-size:16px;
    line-height:1.7;
    max-width:35rem;
    margin-top:24px
  }
  .hero .eyebrow {
    font-size:10px;
    line-height:1.7;
    letter-spacing:.12em;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:22px
  }
  .hero .eyebrow .tiny-line {
    flex-shrink:0;
    margin:0;
    width:22px
  }
  .hero-actions {
    margin-top:28px;
    gap:16px;
    align-items:flex-start
  }
  .hero-actions .button {
    margin-top:0;
    min-height:48px;
    padding:14px 18px;
    font-size:14px;
    text-align:left;
    gap:16px
  }
  .hero .film-button {
    min-height:48px;
    font-size:14px;
    text-align:left
  }
  .hero .film-button .play-circle {
    width:42px;
    height:42px;
    flex-shrink:0
  }
  .hero-bottom {
    position:relative;
    inset:auto;
    margin:0 6vw;
    padding:12px 0 16px;
    width:auto;
    gap:12px;
    min-height:72px
  }
  .hero-bottom .slide-controls {
    gap:4px
  }
  .slide-controls button,.hero-bottom .hero-scroll {
    min-width:44px;
    min-height:44px
  }
  .hero .hero-image:nth-child(1) {
    object-position:58% center
  }
  .hero .hero-image:nth-child(2) {
    object-position:62% center
  }
  .hero .hero-image:nth-child(3) {
    object-position:64% center
  }
  .hero-shade {
    background:linear-gradient(90deg,#121837e6,#12183790),linear-gradient(0deg,#121837a6,transparent 55%)
  }
  .section-heading h2,.feature-copy h2,.intro-grid h2,.cta h2 {
    font-size:clamp(1.85rem,6.8vw,2.8rem);
    line-height:1.15;
    overflow-wrap:break-word
  }
  .collection-section .section-heading {
    flex-wrap:wrap;
    align-items:center;
    gap:20px
  }
  .slider-navigation {
    gap:10px;
    flex-shrink:0
  }
  .round-button {
    width:46px;
    height:46px
  }
  .collection-track {
    width:calc(100% + 6vw);
    max-width:calc(100% + 6vw);
    padding-right:16vw;
    scroll-padding-left:0
  }
  .collection-track>.collection-card {
    flex-basis:78vw
  }
  .brand-strip {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px 12px;
    padding:28px 6vw
  }
  .brand-strip>a {
    min-width:0;
    max-width:100%
  }
  .brand-strip img {
    max-width:100%;
    object-fit:contain
  }
  .npm-wordmark {
    font-size:clamp(25px,6.5vw,32px);
    letter-spacing:2px
  }
  .npm-wordmark span {
    font-size:6px;
    letter-spacing:.3px;
    white-space:normal;
    text-align:center
  }
  .feature-image {
    min-height:0;
    aspect-ratio:4/3
  }
  .feature-cup .feature-image {
    aspect-ratio:1/1
  }
  .feature-cup .feature-image>img {
    padding:65px 6vw 55px
  }
  .feature-copy {
    padding:52px 6vw
  }
  .image-label {
    font-size:9px;
    right:6vw;
    line-height:1.6
  }
  .people-image>img {
    height:auto;
    aspect-ratio:4/3
  }
  .page-hero-copy {
    padding:28px 6vw 40px
  }
  .page-hero-copy h1,.contact-heading h1 {
    font-size:clamp(2.3rem,9vw,4rem);
    line-height:1.12;
    overflow-wrap:break-word
  }
  .page-hero-image {
    min-height:0;
    aspect-ratio:4/3
  }
  .corner-label {
    max-width:88%;
    font-size:9px
  }
  .detail-copy h1 {
    font-size:clamp(2.2rem,8.6vw,3.5rem)
  }
  .detail-image {
    height:auto;
    min-height:0;
    aspect-ratio:1/1
  }
  .detail-image>img {
    max-height:100%;
    object-fit:contain
  }
  .detail-image.collection-gluehweintassen>img {
    padding:26px
  }
  .process-list {
    min-width:0
  }
  .process-list [data-slot=tabs-trigger] {
    min-width:0;
    white-space:normal;
    line-height:1.4;
    text-align:left;
    gap:8px;
    font-size:14px
  }
  .process-list [data-slot=tabs-trigger]>span {
    flex-shrink:0
  }
  .process-panel {
    grid-template-columns:minmax(0,1fr);
    gap:18px;
    padding:25px 20px
  }
  .process-number {
    font-size:44px
  }
  .process-panel>.text-link {
    grid-column:1
  }
  .research-tag {
    white-space:normal;
    line-height:1.5;
    max-width:100%
  }
  .timeline-years {
    max-width:100%;
    justify-content:flex-start!important;
    scroll-snap-type:x proximity
  }
  .timeline-years [data-slot=tabs-trigger] {
    scroll-snap-align:start;
    flex-shrink:0;
    min-width:74px
  }
  .timeline-panel {
    min-height:0
  }
  .contact-form input,.contact-form textarea,.topic-select {
    font-size:16px
  }
  .contact-form .file-input {
    font-size:16px
  }
  .upload-select {
    display:inline-flex;
    align-items:center;
    min-height:44px
  }
  .remove-file {
    min-width:44px
  }
  .upload-area {
    min-height:190px
  }
  .draft-actions>.button,.prepare-button {
    min-height:48px;
    text-align:left
  }
  .location-banner {
    min-height:0
  }
  .location-banner>div {
    padding:56px 6vw
  }
  .location-banner h2 {
    font-size:clamp(1.9rem,7vw,2.8rem)
  }
  .film-dialog {
    width:calc(100vw - 24px);
    max-height:calc(100dvh - 24px);
    padding:18px
  }
  .film-dialog video {
    max-height:60dvh
  }
  .footer {
    padding-bottom:max(24px,env(safe-area-inset-bottom))
  }
  .footer-top {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .footer-bottom>div {
    gap:12px 20px
  }
  .footer-bottom a {
    display:inline-flex;
    align-items:center;
    min-height:44px
  }
}


/* SOURCE: styles/responsive/09-max-width-480px.css */

@media(max-width:480px) {
  .site-header {
    gap:8px
  }
  .site-header .brand {
    gap:8px
  }
  .site-header .brand>img {
    width:25px;
    height:35px
  }
  .site-header .wordmark {
    font-size:25px
  }
  .site-header .wordmark span {
    font-size:6px;
    letter-spacing:1.5px
  }
  .mobile-contact {
    display:none
  }
  .hero-content {
    padding-top:42px
  }
  .hero-actions {
    flex-direction:column;
    align-items:stretch
  }
  .hero-actions .button {
    width:100%;
    justify-content:space-between
  }
  .hero .eyebrow {
    font-size:9px;
    letter-spacing:.09em
  }
  .hero-content>p:not(.eyebrow) {
    font-size:15px;
    line-height:1.7
  }
  .collection-section h2 {
    font-size:clamp(1.8rem,7.5vw,2.15rem)
  }
  .facts {
    gap:26px 12px
  }
  .facts>div {
    padding-right:8px
  }
  .facts>div+div {
    padding-left:16px
  }
  .facts strong {
    font-size:39px
  }
  .facts span {
    font-size:12px
  }
  .contact-layout .form-row {
    grid-template-columns:minmax(0,1fr);
    gap:0
  }
  .contact-form {
    padding:24px 18px
  }
  .contact-form>.eyebrow {
    font-size:9px;
    letter-spacing:.12em
  }
  .contact-form .button,.draft-actions {
    width:100%
  }
  .footer-top {
    grid-template-columns:minmax(0,1fr);
    gap:28px
  }
  .related-grid {
    gap:18px
  }
  .related-grid .card-title {
    gap:7px
  }
  .related-grid .card-title svg {
    width:16px
  }
  .related-grid h3 {
    font-size:16px
  }
}


/* SOURCE: styles/responsive/10-max-height-500px.css */

@media(max-height:500px) and (max-width:1150px) {
  .site-header {
    position:relative
  }
  .navigation-sheet {
    padding-top:48px
  }
  .navigation-sheet nav {
    margin:8px 0
  }
  .navigation-sheet nav a {
    padding:10px 0;
    min-height:44px;
    font-size:17px
  }
  .navigation-sheet [data-slot=sheet-description] {
    display:none
  }
}


/* SOURCE: styles/responsive/11-hover-none.css */

@media(hover:none) {
  .collection-hover {
    display:none
  }
  .collection-card:hover .collection-image img,.service-card:hover img {
    transform:none
  }
  .button:hover {
    transform:none
  }
}


/* SOURCE: styles/responsive/12-prefers-reduced-motion-reduce.css */

@media(prefers-reduced-motion:reduce) {
  .hero-image {
    transform:none
  }
  .reveal-ready {
    opacity:1;
    transform:none
  }
  .collection-track {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }
}
