@import url('https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lobster&family=Manrope:wght@200..800&display=swap');
/*
@font-face { font-family: "Helvetica"; src: url('/fonts/helvetica/helvetica_light.otf') format('opentype'); font-style: normal; font-weight: 300; font-display: swap; }
@font-face { font-family: "Helvetica"; src: url('/fonts/helvetica/helvetica_lightoblique.otf') format('opentype'); font-style: italic; font-weight: 300; font-display: swap; }
@font-face { font-family: "Helvetica"; src: url('/fonts/helvetica/helvetica_regular.otf') format('opentype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Helvetica"; src: url('/fonts/helvetica/helvetica_oblique.otf') format('opentype'); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: "Helvetica"; src: url('/fonts/helvetica/helvetica_bold.otf') format('opentype'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Helvetica"; src: url('/fonts/helvetica/helvetica_boldoblique.otf') format('opentype'); font-style: italic; font-weight: 700; font-display: swap; }
@font-face { font-family: "Georgia"; src: url('/fonts/georgia/georgia.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Georgia"; src: url('/fonts/georgia/georgiai.ttf') format('truetype'); font-style: italic; font-weight: 400; font-display: swap; }
@font-face { font-family: "Georgia"; src: url('/fonts/georgia/georgiab.ttf') format('truetype'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Georgia"; src: url('/fonts/georgia/georgiaz.ttf') format('truetype'); font-style: italic; font-weight: 700; font-display: swap; }
*/

:root { --bronze: #c19e61; --cream: #ede5da; --paper: #f8f5f2; --ink: #0e0e0e; --metal: #525252; --greyish: #999; --white: #fff; }
html { scroll-behavior: smooth; }
body { color: var(--ink); font-family: "Manrope", sans-serif; overflow-x: hidden; }
main [id] { scroll-margin-top: 111px; }
a { text-decoration: none; }
.site-header { position: sticky; z-index: 15; top: 0; height: 111px; background: var(--bronze); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 30px; }
.brand { display: block; width: 145px; flex: 0 0 145px; }
.brand img, .footer-logo { width: 100%; }
.brand-caption { font-size: 14px; line-height: 1.2; text-transform: uppercase; }
.desktop-nav { box-sizing: border-box; display: flex; width: 527px; flex: 0 0 527px; gap: 32px; margin-right: -12px; margin-left: auto; padding: 0 12px; }
.desktop-nav a, .footer-nav a { color: #fff; font-family: "Manrope", sans-serif; font-size: 16px; font-weight: 700; line-height: .9; text-transform: uppercase; }
.desktop-nav a:after, .footer-nav a:after { content: ''; display: block; margin-top: 4px; height: 2px; width: 0; background: var(--bronze); transition: width .2s; }
.desktop-nav a:hover:after, .footer-nav a:hover:after { width: 100%; }
.desktop-nav a.is-active:after, .footer-nav a.is-active:after { width: 100%; }
.site-header .desktop-nav a.is-active { margin: -9px -12px; padding: 13px 12px 5px; border-radius: 8px; background: var(--ink); }
.site-header .desktop-nav a.is-active:after { display: none; }
.site-header .desktop-nav a:not(.is-active) { position: relative; top: 4px; }
.site-header .desktop-nav a:not(.is-active)::after { background: #fff; }
.menu-toggle { display: none; }
.hero { padding: 51px 0; background: var(--cream) url('/images/pattern-beige.png') repeat; }
.hero-grid { position: relative; display: grid; grid-template-columns: 1fr 661px; align-items: center; gap: 72px; }
.hero-grid::after { position: absolute; z-index: 1; top: 0; right: 0; width: 661px; height: 429px; border-radius: 40px; background: radial-gradient(ellipse at 25% 91%, rgba(255, 198, 86, .72) 0, rgba(255, 91, 18, .4) 7%, transparent 22%), radial-gradient(ellipse at 58% 88%, rgba(255, 170, 42, .62) 0, rgba(213, 48, 5, .34) 8%, transparent 24%); content: ''; filter: blur(3px) saturate(1.3); mix-blend-mode: screen; opacity: .36; pointer-events: none; animation: hero-fire 2.4s ease-in-out infinite alternate; }
.hero-copy { padding-top: 2px; }
.hero-title, h2 { margin: 0; font-size: 64px; font-weight: 300; line-height: .9; letter-spacing: -3.2px; text-transform: uppercase; }
.hero-title, .hero-accent, .hero-text, .hero-image, .header-inner { animation-fill-mode: both; }
.hero-title { animation: hero-title 2.975s linear; }
.hero-accent { margin: -3px 0 25px; color: var(--bronze); font-family: "Lobster", sans-serif; font-size: 54px; font-style: italic; font-weight: 400; line-height: .9; letter-spacing: -2.7px; animation: hero-accent 2.975s linear; }
.hero-text { margin: 0; font-size: 18px; line-height: 1.2; animation: hero-text 2.975s linear; }
.hero-image { display: block; width: 661px; height: 429px; border-radius: 40px; object-fit: cover; animation: hero-image 2.975s linear; }
.hero-media { width: 661px; height: 429px; overflow: hidden; border-radius: 40px; }
.hero-media .hero-image { width: calc(100% + 12px); max-width: none; height: 100%; margin-left: -6px; border-radius: 0; }
.products { background: var(--paper); }
.product-section { padding: 64px 0 72px; }
.product-section--plain { background: var(--paper); }
.product-section--pattern { background: #fff url('/images/pattern-white.png') repeat; }
.product-list { display: flex; flex-direction: column; }
.product-card { display: grid; grid-template-columns: 1fr auto; gap: 48px 24px; }
.product-card > img { grid-column: 1 / -1; width: 100%; aspect-ratio: 1181 / 680; border-radius: 40px; object-fit: cover; }
.product-info h2 { margin-bottom: 34px; }
.product-info p, .showcase p, .merch-heading p { margin: 0; font-size: 18px; line-height: 1.2; }
.sp-button { box-sizing: border-box; display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 14px 16px; border: 2px solid transparent; border-radius: 8px; color: #fff; background: var(--bronze); font-family: "Manrope", sans-serif;font-size: 16px; font-weight: 400; line-height: .9; white-space: nowrap; cursor: pointer; transition: background-color .2s, border-color .2s; }
.sp-button::after { width: 0; height: 11px; flex: 0 0 auto; margin-left: 0; opacity: 0; background: center / 15px 11px no-repeat url('/images/button-arrow-white.svg'); content: ''; transition: width .2s, margin-left .2s, opacity .2s; pointer-events: none; }
.sp-button:hover, .sp-button:focus-visible { border-color: var(--bronze); background: var(--metal); }
.sp-button:hover::after, .sp-button:focus-visible::after { width: 15px; margin-left: 8px; opacity: 1; }
.product-card .sp-button,
.showcase-action .sp-button { width: 167px; height: 46px; min-height: 0; align-self: end; transition: width .2s, background-color .2s, border-color .2s; }
.product-card .sp-button:hover, .product-card .sp-button:focus-visible,
.showcase-action .sp-button:hover, .showcase-action .sp-button:focus-visible { width: 190px; }
.showcase { box-sizing: border-box; min-height: 702px; padding: 80px 0; background: var(--cream); }
.showcase-grid { display: grid; grid-template-columns: 580px 1fr; gap: 48px 120px; align-items: end; }
.showcase-grid > div:first-child { display: contents; }
.showcase-grid h2 { grid-column: 1; margin: 0; }
.showcase-grid > div:first-child > p { grid-column: 2; align-self: end; }
.merch h2 { margin-bottom: 34px; }
.production-slider { grid-column: 1 / -1; width: 100%; overflow: hidden; }
.production-slider .swiper-slide { position: relative; width: calc((100% - 60px) / 4); overflow: hidden; border-radius: 8px; }
.production-slider .swiper-slide > a, .merch-slider .swiper-slide > a { display: block; }
.production-slider img { display: block; width: 100%; height: 348px; border-radius: 8px; object-fit: cover; }
.production-slider .swiper-slide::before { position: absolute; z-index: 1; inset: 0; border-radius: 8px; opacity: 0; background: rgba(0, 0, 0, .75); content: ''; transition: opacity .2s; pointer-events: none; }
.production-slider .swiper-slide::after { position: absolute; z-index: 2; inset: 0; box-sizing: border-box; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 37px; border-radius: 8px; opacity: 0; color: #fff; background: center / 41px 41px no-repeat url('/images/production-zoom.svg'); content: attr(data-caption); font-size: 16px; line-height: 1.2; transition: opacity .2s; pointer-events: none; }
.showcase-action { display: flex; justify-content: space-between; align-items: center; grid-column: 1 / -1; }
.showcase-action .merch-navigation { margin-bottom: 0; }
.merch { padding: 64px 0 80px; background: #fff url('/images/pattern-white.png') repeat; }
.merch-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 48px; }
.merch-slider { overflow: hidden; margin-bottom: 22px; }
.merch-slider .swiper-slide { width: calc((100% - 60px) / 4); }
.merch-slider img { width: 100%; height: 348px; border-radius: 8px; object-fit: cover; }
.merch-slider .swiper-slide:nth-child(2) img { object-position: 45% center; }.merch-slider .swiper-slide:nth-child(3) img { object-position: 72% center; }.merch-slider .swiper-slide:nth-child(4) img { object-position: right center; }
.merch-navigation { display: flex; gap: 16px; height: 18px; margin-bottom: 22px; }
.merch-navigation button { width: 38px; height: 18px; padding: 0; overflow: hidden; border: 0; background: transparent; cursor: pointer; }
.merch-arrow { display: block; position: relative; width: 38px; height: 12px; overflow: hidden; }
.merch-arrow img { position: absolute; top: 0; width: 108px; height: 12px; max-width: none; }
.merch-arrow--prev img { left: 0; }.merch-arrow--next img { left: -69px; }
.merch-arrow--next .arrow-inactive { display: none; }.merch-navigation .swiper-button-disabled .arrow-active { display: none; }.merch-navigation .swiper-button-disabled .arrow-inactive { display: block; }
.merch-navigation button:not(.swiper-button-disabled) .merch-arrow--prev img { filter: brightness(0); }.merch-navigation .swiper-button-disabled { cursor: default; }
.merch-navigation button:not(.swiper-button-disabled):hover .merch-arrow,
.merch-navigation button:not(.swiper-button-disabled):focus-visible .merch-arrow { background: no-repeat url('/images/sp-arrow-light.svg'); background-size: 108px 12px; }
.merch-navigation button:not(.swiper-button-disabled):hover .merch-arrow--prev,
.merch-navigation button:not(.swiper-button-disabled):focus-visible .merch-arrow--prev { background-position: left top; }
.merch-navigation button:not(.swiper-button-disabled):hover .merch-arrow--next,
.merch-navigation button:not(.swiper-button-disabled):focus-visible .merch-arrow--next { background-position: right top; }
.merch-navigation button:not(.swiper-button-disabled):hover .merch-arrow img,
.merch-navigation button:not(.swiper-button-disabled):focus-visible .merch-arrow img { opacity: 0; }
.contact-section { padding: 64px 0 60px; background: var(--cream) url('/images/pattern-beige.png') repeat; }
.contact-grid { display: grid; grid-template-columns: 580px 1fr; gap: 45px; align-items: center; }
.contact-kicker { margin: 0 0 24px; color: var(--bronze); font-size: 14px; line-height: 1.2; text-transform: uppercase; }
.contact-copy h2 { margin-bottom: 32px; }
.contact-phone { display: block; width: fit-content; margin-bottom: 24px; color: #1f1f1f; font-size: 40px; font-weight: 300; letter-spacing: -2px; line-height: .9; }
.contact-links { display: flex; gap: 32px; margin-bottom: 24px; }
.contact-links a { display: inline-flex; align-items: center; gap: 6px; font-size: 18px; line-height: 1.2; }
.contact-links img { width: 12px; height: 12px; }
.contact-note { max-width: 579px; margin: 0; font-size: 18px; line-height: 1.2; }
.contact-map { position: relative; isolation: isolate; height: 372px; overflow: hidden; border-radius: 40px; background: #fff; clip-path: inset(0 round 40px); }
.contact-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.contact-map > img:first-child { width: 100%; height: 100%; object-fit: cover; opacity: .7; }
.contact-map .contact-mark { position: absolute; top: 31.7%; left: 34.1%; width: 57px; height: 31px; object-fit: contain; }
.site-footer { box-sizing: border-box; height: 227px; min-height: 227px; overflow: hidden; padding: 38px 0; color: #fff; background: var(--ink); }
.footer-grid { display: grid; grid-template-columns: 446px 316px 1fr; }
.footer-logo { display: block; width: 203px; }
.copyright { width: 264px; margin: 26px 0 0; color: var(--metal); font-size: 16px; line-height: 1.2; }
.footer-nav { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }.footer-nav a { width: fit-content; }.contacts { display: flex; width: 263px; flex-direction: column; gap: 14px; font-size: 16px; line-height: 1.2; }.contacts p { margin: 0; }.footer-socials { display: flex; gap: 16px; align-items: center; margin-top: 11px; }.footer-socials a { display: block; width: 20px; height: 20px; }.footer-socials img { width: 100%; height: 100%; object-fit: contain; }
.mobile-menu { display: none; }
.cookies { position: fixed; z-index: 20; bottom: 15px; left: 50%; width: 475px; padding: 24px; border-radius: 8px; color: var(--ink); background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,.1); transform: translateX(-50%); }.cookies p { margin: 0 0 24px; font-size: 14px; line-height: 1.2; }.cookies a { text-decoration: underline; color: var(--bronze); }.cookies-close { position: absolute; top: 10px; right: 24px; width: 8px; height: 8px; padding: 0; border: 0; background: none; cursor: pointer; }.cookies-close img { width: 100%; }
@media (hover: hover) {
    .production-slider .swiper-slide:hover::before, .production-slider .swiper-slide:hover::after { opacity: 1; }
    .footer-socials a { opacity: .85; transition: opacity .2s, transform .2s; }
    .footer-socials a:hover { opacity: 1; transform: translateY(-2px); }
    .education-videos article > button > img:first-child { transition: opacity .2s, transform .25s; }
    .education-videos article > button:hover > img:first-child { opacity: .62; transform: scale(1.025); }
    .catalog-filters button:not(.is-active):hover { border-color: var(--metal); color: var(--metal); background: #fff; }
    .catalog-card:hover::after { border-color: var(--bronze); }
    .catalog-card:hover .catalog-tags { opacity: 0; }
    .catalog-card:hover .catalog-more { gap: 8px; border-color: var(--bronze); color: var(--ink); }
    .catalog-card:hover .catalog-more img { width: 15px; opacity: 1; content: url('/images/button-arrow-dark.svg'); }
    .production-gallery > a:hover::before, .production-gallery > a:hover::after { opacity: 1; }
    .production-videos button:hover span img, .production-videos > a:hover span img, .production-videos > .production-video-inline:hover span img { width: 76px; height: 76px; margin: 0; content: url('/images/production-play-hover.svg'); }
    .item-tabs button:hover { color: #fff; background: var(--bronze); }
}
@keyframes hero-title { 0%,35.9% { opacity: 0; transform: translateX(-200px); } 49.4%,100% { opacity: 1; transform: translateX(0); } }
@keyframes hero-accent { 0%,51.5% { opacity: 0; transform: translateX(-200px); } 65%,100% { opacity: 1; transform: translateX(0); } }
@keyframes hero-text { 0%,58.9% { opacity: 0; transform: translateX(-200px); } 75.7%,100% { opacity: 1; transform: translateX(0); } }
@keyframes hero-image { 0%,68.2% { opacity: 0; transform: translateX(-200px); } 85%,100% { opacity: 1; transform: translateX(0); } }
@keyframes hero-fire { from { opacity: .24; transform: scale(.98) translateY(2px); } to { opacity: .48; transform: scale(1.02) translateY(-2px); } }
@keyframes internal-title-enter { 0% { opacity: 0; transform: translateX(-200px); } 16.7%,100% { opacity: 1; transform: translateX(0); } }
@keyframes internal-accent-enter { 0%,16.7% { opacity: 0; transform: translateX(-200px); } 33.3%,100% { opacity: 1; transform: translateX(0); } }
@keyframes internal-copy-enter { 0%,45% { opacity: 0; transform: translateX(-200px); } 66.7%,100% { opacity: 1; transform: translateX(0); } }
@keyframes internal-action-enter { 0%,62% { opacity: 0; transform: translateX(-200px); } 83.3%,100% { opacity: 1; transform: translateX(0); } }
.catalog-intro h1,
.contacts-page h1,
.error-copy h1 { animation: internal-title-enter 3s linear both; }
.catalog-intro h1 em,
.error-copy h1 em { display: inline-block; animation: internal-accent-enter 3s linear both; }
.catalog-intro > .container > p,
.contacts-lead { animation: internal-copy-enter 3s linear both; }
.catalog-filters,
.contacts-details,
.contacts-map-large,
.error-copy .sp-button { animation: internal-action-enter 3s linear both; }
.error-copy > b { animation: internal-title-enter 3s linear both; }
.error-visual { animation: internal-action-enter 3s linear both; }
/* The desktop Figma frame uses a 1180px content area at 1440px wide. */
@media (min-width: 1200px) and (max-width: 1449px) {
    .site-header .container,
    .hero .container,
    .products .container,
    .showcase .container,
    .merch .container,
    .site-footer .container { max-width: 1180px; }

    .hero-grid { grid-template-columns: 448px 661px; }
}
.item-gallery-thumbs {
    flex-wrap: wrap;
}
.item-gallery-thumbs button {
display:block;
}
@media (max-width: 1199px) { .hero-grid { grid-template-columns: 1fr 50%; gap: 32px; }.hero-grid::after { right: 24px; width: calc((100% - 80px) / 2); height: auto; aspect-ratio: 661 / 429; }.hero-media { width: 100%; height: auto; aspect-ratio: 661 / 429; }.hero-image { width: 100%; height: auto; }.container { padding-left: 24px; padding-right: 24px; }.merch-slider img { height: 290px; } }
@media (max-width: 849px) { 
.product-section {
background:#fff !important;
position:relative;
}
.product-section::after {
content:"";
display:block;
width:100%;
height:2px;
position:absolute;
left:0;
bottom:0;
background: url(/images/dots.svg) center no-repeat;
}
.product-section:last-child::after {
display:none
}
.container { max-width: none; padding-left: 16px; padding-right: 16px; }.site-header { height: 90px; background: var(--cream); }.header-inner { gap: 16px; }.brand { width: 110px; flex-basis: 110px; }.brand-caption { font-size: 10px; }.desktop-nav { display: none; }.menu-toggle { display: grid; place-items: center; margin-left: auto; width: 32px; height: 32px; padding: 10px; border: 0; border-radius: 8px; background: var(--bronze); cursor: pointer; }.menu-toggle.is-open { background: var(--metal); }.menu-toggle img { width: 100%; }.hero { padding: 0 0 40px; }.hero-grid { display: flex; flex-direction: column-reverse; gap: 24px; }.hero-grid::after { right: 16px; width: calc(100% - 32px); border-radius: 20px; }.hero-copy { width: 100%; padding: 0; }.hero-title, h2 { font-size: 32px; letter-spacing: -1.6px; }.hero-accent { margin: 5px 0 18px; font-size: 36px; letter-spacing: -1.8px; }.hero-text, .product-info p, .showcase p, .merch-heading p { font-size: 16px; }.hero-image { width: 100%; height: auto; border-radius: 20px; }.product-section { padding: 40px 0; }.product-list { gap: 32px; }.product-card { display: flex; flex-direction: column; gap: 24px; }.product-card > img { border-radius: 20px; }.product-info { display: flex; flex-direction: column; gap: 16px; }.product-info h2 { margin: 0; }.product-info p br, .showcase p br, .merch-heading p br { display: none; }.product-card + .product-card { padding-top: 31px; border-top: 1px solid var(--bronze); }.product-card .sp-button { align-self: flex-end; }.showcase { min-height: 0; padding: 40px 0; }.showcase-grid { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }.showcase-grid > div:first-child { display: block; }.showcase-grid h2, .merch h2 { margin-bottom: 16px; }.production-slider { width: calc(100% + 16px); }.production-slider .swiper-slide { width: 280px; }.production-slider img { height: 348px; }.merch { padding: 40px 0; }.merch-heading { display: block; margin-bottom: 24px; }.merch-slider { width: calc(100% + 16px); margin-bottom: 16px; }.merch-slider .swiper-slide { width: 200px; }.merch-slider img { height: 248px; }.merch-navigation { margin-bottom: 16px; }.showcase-action .merch-navigation { margin-bottom: 0; }.showcase-action { justify-content: space-between; }.contact-section { padding: 40px 0; }.contact-grid { display: flex; flex-direction: column; align-items: stretch; gap: 32px; }.contact-kicker { margin-bottom: 16px; font-size: 10px; }.contact-copy h2 { margin-bottom: 24px; }.contact-phone { margin-bottom: 16px; font-size: 28px; letter-spacing: -1.4px; }.contact-links { gap: 20px; margin-bottom: 24px; }.contact-links a { font-size: 14px; }.contact-note { font-size: 16px; }.contact-map { height: 220px; border-radius: 20px; clip-path: inset(0 round 20px); }.contact-map .contact-mark { width: 45px; height: 25px; }.site-footer { min-height: 576px; padding: 38px 16px; }.footer-grid { display: flex; flex-direction: column; align-items: center; text-align: center; }.site-footer .footer-grid > div:first-child { display: contents; }.footer-logo { width: 115px; }.footer-nav { order: 1; align-items: center; margin: 40px 0; gap: 24px; }.contacts { order: 2; align-items: center; }.copyright { order: 3; margin: 32px 0 0; font-size: 13px; }.mobile-menu { position: fixed; z-index: 14; inset: 90px 0 0; display: block; visibility: hidden; opacity: 0; background: var(--cream); transition: opacity .2s, visibility .2s; }
.mobile-menu.is-open { visibility: visible; opacity: 1; background: var(--cream) url(/images/pattern-beige.png) repeat;background-size: 58.2px 29.4px;}
.menu-open header {
background: var(--cream) url(/images/pattern-beige.png) repeat !important; background-size: 58.2px 29.4px !important;
}
.production-gallery:not(.is-expanded) > a:nth-child(n + 7) {
    display: none;
}
.production-materials h2 em {
display:block;
}
.production-features img {
margin:0 auto;
}
.production-features article {
align-items: center;
}
.production-features p {
        font-size: 13px;
        text-align: center;
    }
.mobile-menu-inner { min-height: 100%; padding: 62px 16px 32px; display: flex; flex-direction: column; align-items: center; }.mobile-menu nav { display: flex; flex-direction: column; gap: 24px; }.mobile-menu nav a { color: var(--ink); font-size: 28px; font-weight: 300; line-height: .9; text-align: center; text-transform: uppercase; animation: menu-item .6s both; }.mobile-menu nav a:nth-child(2) { animation-delay: .16s; }.mobile-menu nav a:nth-child(3) { animation-delay: .32s; }.mobile-menu nav a:nth-child(4) { animation-delay: .48s; }.mobile-phone { margin-top: 340px; color: var(--ink); font-size: 28px; font-weight: 300; }.cookies { left: 50%; bottom: 15px; width: calc(100% - 32px); border-radius: 8px; }.cookies p { padding-right: 8px; }.cookies-agree { width: 100%; } body.menu-open { overflow: hidden; } @keyframes menu-item { from { opacity: 0; transform: translateY(150px); } to { opacity: 1; transform: translateY(0); } } }
@media (max-width: 849px) { main [id] { scroll-margin-top: 90px; } }
@media (prefers-reduced-motion: reduce) { *, *:before, *:after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
.mobile-menu-inner .footer-socials a{
    width: 35px !important;
}
/* Catalog */
.catalog-intro { padding: 32px 0 24px; background: #fff; }
.breadcrumbs { display: flex; align-items: center; gap: 8px; margin-bottom: 32px; }
.breadcrumbs img { width: 3px; height: 5px; }
.breadcrumbs a { display: inline-flex; align-items: center; gap: 8px; color: #999; font-size: 16px; line-height: 1.2; }
.internal-breadcrumbs { padding-top: 26px; }
.internal-breadcrumbs .breadcrumbs { margin-bottom: 0; }
.catalog-intro h1 { margin: 0 0 24px; font-size: 64px; font-weight: 300; letter-spacing: -3.2px; line-height: .9; text-transform: uppercase; }
.catalog-intro h1 em { color: var(--bronze); font-family: "Lobster", sans-serif; font-size: 54px; font-weight: 400; letter-spacing: -2.7px; text-transform: lowercase; }
.catalog-intro > .container > p { max-width: 560px; margin: 0 0 64px; font-size: 18px; line-height: 1.2; }
.catalog-filters { display: flex; gap: 8px; }
.catalog-filters button { box-sizing: border-box; padding: 9px 15px; border: 1px solid transparent; border-radius: 4px; color: var(--bronze); background: #fff; font: inherit; font-size: 16px; line-height: .9; cursor: pointer; transition: border-color .2s, color .2s, background-color .2s; }
.catalog-filters button.is-active { color: #fff; background: var(--bronze); }
.catalog-filters button:not(.is-active):focus-visible { border-color: var(--metal); color: var(--metal); background: #fff; }
.catalog-list { --catalog-content-width: 1330px; padding: 40px 0 140px; background: #fff; }
.catalog-grid { display: grid; isolation: isolate; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 180px 14px; }
.catalog-grid > .tpl-block-list-objects { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 180px 14px; }
.catalog-card { position: relative; z-index: 0; border-radius: 40px; color: inherit; background: var(--paper); }
.catalog-card::after { position: absolute; z-index: 2; inset: 0; box-sizing: border-box; border: 2px solid transparent; border-radius: inherit; content: ''; pointer-events: none; transition: border-color .2s; }
.catalog-card:focus-visible::after { border-color: var(--bronze); }
.catalog-card.catalog-row--pattern::before,
.catalog-card.catalog-row--cream::before,
.catalog-card.catalog-row--white::before { position: absolute; z-index: -1; top: -40px; bottom: -140px; left: calc((var(--catalog-content-width) - 100vw) / 2); width: 100vw; content: ''; pointer-events: none; }
.catalog-card.catalog-row--pattern::before { background: #fff url('/images/pattern-white.png') repeat; }
.catalog-card.catalog-row--cream::before { background: #ede5da; }
.catalog-card.catalog-row--white::before { background: #fff; }
.catalog-card.is-hidden { display: none; }
.catalog-photo { position: relative; height: 535px; overflow: hidden; border-radius: 40px 40px 0 0; }
.catalog-photo > img { width: 100%; height: 100%; object-fit: cover; }
.catalog-tags { position: absolute; top: 16px; left: 16px; display: flex; flex-wrap: wrap; gap: 4px; transition: opacity .2s; }
.catalog-tags span { padding: 6px; border-radius: 4px; color: #fff; background: var(--metal); font-size: 12px; line-height: .9; }
.catalog-card-body { display: flex; min-height: 206px; justify-content: space-between; gap: 24px; padding: 20px 32px 32px; border-radius: 0 0 40px 40px; background: var(--paper); }
.catalog-card h2 { margin: 0 0 8px; font-size: 40px; font-weight: 300; letter-spacing: 0; line-height: 1.2; text-transform: uppercase; }
.catalog-card h2 small { font-size: 16px; font-weight: 400; text-transform: lowercase; white-space: nowrap; }
.catalog-card-body p { max-width: 317px; margin: 0; font-size: 16px; line-height: 1.2; }
.catalog-card-body .catalog-description { margin-bottom: 4px; white-space: pre-line; }
.catalog-buy { display: flex; flex: 0 0 130px; flex-direction: column; align-items: flex-end; justify-content: space-between; }
.catalog-buy > p { max-width: none; font-size: 24px; font-weight: 700; white-space: nowrap; }
.catalog-buy > p small { font-size: 13px; font-weight: 400; }
.catalog-buy .catalog-more { box-sizing: border-box; display: inline-flex; min-height: 46px; align-items: center; gap: 0; padding: 14px 16px; border: 2px solid transparent; border-radius: 8px; color: var(--bronze); font-size: 16px; line-height: .9; transition: gap .2s, border-color .2s, color .2s; }
.catalog-buy .catalog-more img { width: 0; height: 11px; flex: 0 0 auto; opacity: 0; transition: width .2s, opacity .2s; }
.catalog-buy .catalog-more img { width: 15px; }
@media (min-width: 1200px) and (max-width: 1449px) { .catalog-list { --catalog-content-width: 1180px; }.catalog-list .container, .catalog-intro .container { max-width: 1180px; } }
@media (max-width: 849px) {
    .catalog-intro { padding: 24px 0; }
    .breadcrumbs { margin-bottom: 24px; }.breadcrumbs a { font-size: 14px; }
    .internal-breadcrumbs { padding-top: 16px; }
    .catalog-intro h1 { margin-bottom: 16px; font-size: 32px; letter-spacing: -1.6px; }
    .catalog-intro h1 em { display: block; margin-top: 2px; font-size: 36px; letter-spacing: -1.8px; }
    .catalog-intro > .container > p { margin-bottom: 24px; font-size: 16px; }
    .catalog-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; overflow: visible; margin-right: 0; padding-bottom: 0; }
    .catalog-filters button { min-width: 0; padding: 8px 2px; font-size: clamp(9px, 2.8vw, 11px); letter-spacing: -.2px; white-space: nowrap; }
    .catalog-list { --catalog-content-width: 100%; padding: 24px 0 48px; }
    .catalog-grid { display: flex; flex-direction: column; gap: 24px; }
    .catalog-grid > .tpl-block-list-objects { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .catalog-card { width: 100%; border-radius: 20px; }
    .catalog-card.catalog-row--pattern::before,
    .catalog-card.catalog-row--cream::before,
    .catalog-card.catalog-row--white::before { display: none; }
    .catalog-photo { height: 299px; border-radius: 20px 20px 0 0; }
    .catalog-tags { top: 9px; left: 9px; }
    .catalog-tags span { border-radius: 2px; font-size: 10px; }
    .catalog-card-body { min-height: 97px; gap: 11px; padding: 11px 18px 18px; border-radius: 0 0 20px 20px; }
    .catalog-card h2 { margin-bottom: 4px; font-size: 20px; }
    .catalog-card h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .catalog-card-body > div:first-child { min-width: 0; }
    .catalog-card h2 small { font-size: 13px; }
    .catalog-card-body p { max-width: 184px; font-size: 13px; }
    .catalog-description { display: none; }
    .catalog-buy { flex-basis: 89px; min-height: 68px; }
    .catalog-buy > p { font-size: 16px; }
    .catalog-buy > p small { font-size: 8px; }
    .catalog-buy .catalog-more { gap: 8px; padding: 16px 0; font-size: 13px; }
}

/* Production */
.production-body .site-header .container,
.production-body .site-footer .container { max-width: 1180px; }
.production-body .desktop-nav { flex-shrink: 0; white-space: nowrap; }
.production-body .desktop-nav .is-active { margin: -9px -12px; padding: 13px 12px 5px; }
.production-body .desktop-nav .is-active::after { display: none; }
.production-intro { padding-bottom: 40px; }
.production-intro > .container > p { max-width: 693px; margin-bottom: 0; }
.production-media { padding: 40px 0; background: var(--paper); text-align: center; }
.production-media--photos { background: var(--paper) url('/images/pattern-white.png') repeat; }
.production-media h2, .production-process h2, .production-custom h2 { margin: 0 0 32px; color: var(--bronze); font-size: 40px; font-weight: 300; letter-spacing: -2px; line-height: 1.2; text-align: left; text-transform: uppercase; }
.production-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 32px; }
.production-gallery > a { position: relative; display: block; height: 348px; overflow: hidden; border-radius: 8px; }
.production-gallery:not(.is-expanded) > a:nth-child(n + 9) { display: none; }
.production-gallery img { width: 100%; height: 348px; border-radius: 8px; object-fit: cover; }
.production-gallery > a::before { position: absolute; z-index: 1; inset: 0; border-radius: 8px; opacity: 0; background: rgba(0, 0, 0, .75); content: ''; transition: opacity .2s; pointer-events: none; }
.production-gallery > a::after { position: absolute; z-index: 2; inset: 0; box-sizing: border-box; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 37px; border-radius: 8px; opacity: 0; color: #fff; background: center / 41px 41px no-repeat url('/images/production-zoom.svg'); content: attr(data-caption); font-size: 16px; line-height: 1.2; transition: opacity .2s; pointer-events: none; }
.production-media .sp-button { min-height: 46px; }
.production-media--videos { padding-top: 32px; }
.production-videos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 32px; }
.production-videos button,
.production-videos > a,
.production-videos > .production-video-inline { position: relative; display: block; height: 432px; padding: 0; overflow: hidden; border: 0; border-radius: 8px; background: #000; cursor: pointer; }
.production-videos > button > img,
.production-videos > a > img,
.production-videos > a > video,
.production-videos > .production-video-inline > video { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .4; transition: opacity .2s; }
.production-videos > .production-video-inline.is-playing { cursor: default; }
.production-videos > .production-video-inline.is-playing > video { opacity: 1; }
.production-videos > .production-video-inline.is-playing > span { display: none; }
.production-videos span { position: absolute; top: 50%; left: 50%; width: 76px; height: 76px; transform: translate(-50%, -50%); }
.production-videos span img { width: 66px; height: 66px; margin: 5px; transition: width .2s, height .2s, margin .2s; }
.production-materials { padding: 64px 0; background: var(--cream) url('/images/pattern-beige.png') repeat; }
.production-materials-heading { max-width: 912px; margin-bottom: 46px; }
.production-materials h2, .production-steps h2 { margin: 0 0 32px; font-size: 56px; font-weight: 300; letter-spacing: -2.8px; line-height: .9; text-transform: uppercase; }
.production-materials h2 { height: 50px; white-space: nowrap; }
.production-materials h2 em, .production-steps h2 em, .production-lead-time em { color: var(--bronze); font-family: "Lobster", sans-serif;
    font-style: italic; font-weight: 400; text-transform: none; }
.production-materials-heading p { max-width: 496px; margin: 0; font-size: 18px; line-height: 1.2; }
.production-features { display: grid; grid-template-columns: 317px 300px 365px; gap: 92px; }
.production-features article:nth-child(n + 4) { display: none; }
.production-features article { display: flex; flex-direction: column; gap: 12px; }
.production-features img { width: 28px; height: 24px; object-fit: contain; object-position: left center; }
.production-features h3, .production-steps h3, .production-custom h3, .production-process-bottom h3 { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.production-features p, .production-steps p, .production-custom p, .production-process-bottom p { margin: 0; font-size: 16px; line-height: 1.2; }
.production-process { padding: 64px 0; background: #fff url('/images/pattern-white.png') repeat; }
.production-process h2, .production-custom h2 { color: var(--ink); }
.production-process-grid { display: grid; grid-template-columns: 580px 520px; gap: 80px; align-items: start; }
.production-process-main { display: flex; width: 580px; flex-direction: column; gap: 32px; }
.production-process-main > img { width: 580px; height: 338px; border-radius: 8px; object-fit: cover; }
.production-process-bottom article { display: grid; grid-template-columns: 74px 390px; gap: 12px 16px; width: 480px; }
.production-process-bottom strong { position: relative; grid-row: span 2; width: 74px; height: 67px; overflow: visible; color: transparent; font-size: 0; }
.production-process-bottom strong span { position: absolute; top: -19px; left: 0; color: var(--bronze); font: italic 96px/.9 Georgia, serif; letter-spacing: -4.8px; }
.production-process-bottom p { grid-column: 2; margin: 0; }
.production-process-sidebar { display: flex; width: 520px; height: 449px; flex-direction: column; align-items: flex-start; justify-content: space-between; }
.production-timeline { position: relative; display: flex; align-items: center; gap: 12px; }
.production-timeline::before { position: absolute; top: 24px; bottom: 12px; left: 9.5px; width: 1px; content: ''; background: rgba(82, 82, 82, .3); }
.production-timeline > img { width: 20px; height: 293px; flex: 0 0 20px; opacity: 0; }
.production-timeline ol { display: flex; width: 319px; flex-direction: column; gap: 52px; margin: 0; padding-left: 24px; color: var(--ink); font-size: 16px; line-height: 1.2; }
.production-timeline li { position: relative; padding-left: 0; opacity: .3; transition: opacity .2s; }
.production-timeline li.is-active, .production-timeline li.is-complete { opacity: 1; }
.production-timeline li::before { position: absolute; z-index: 2; top: 10px; left: -49px; width: 6px; height: 6px; border-radius: 50%; content: ''; background: rgba(82, 82, 82, .3); transform: translateY(-50%); }
.production-timeline li.is-complete::before { background: var(--bronze); }
.production-timeline li.is-active::before { top: 10px; left: -56px; width: 20px; height: 20px; background: radial-gradient(circle, var(--bronze) 0 3px, rgba(193, 158, 97, .2) 3px 10px); }
.production-timeline button { padding: 0; border: 0; color: inherit; background: transparent; font: inherit; line-height: inherit; text-align: left; cursor: pointer; }
.production-timeline button:focus-visible { outline: 2px solid var(--bronze); outline-offset: 4px; }
.production-lead-time { display: flex; width: 520px; flex-direction: column; gap: 12px; color: var(--ink); }
.production-lead-time b { color: var(--bronze); font-family: "Lobster", sans-serif; font-style: italic; font-size: 42px; }
.production-lead-time span { font-size: 16px; line-height: 1.2; }
.production-steps { height: 379px; padding: 80px 0 0; overflow: hidden; color: #fff; background: var(--ink); }
.production-steps h2 { margin-bottom: 64px; font-size: 64px; letter-spacing: -3.2px; }
.production-steps h2 em { font-size: 54px; font-family: "Lobster", sans-serif;
    font-style: italic; }
.production-steps > .container > div { display: grid; grid-template-columns: repeat(4, 213px); gap: 87px; counter-reset: production-step; }
.production-steps article { position: relative; counter-increment: production-step; }
.production-steps article::before { position: absolute; z-index: 0; top: -78px; left: 94px; color: rgba(193, 158, 97, .3); content: counter(production-step); font: italic 200px/.9 Georgia, serif; letter-spacing: -10px; transform: translateX(-50%); }
.production-steps h3, .production-steps p { position: relative; z-index: 1; }
.production-steps p { margin-top: 22px; color: #999; }
.production-custom { padding: 64px 0 80px; background: var(--paper); box-shadow: 0 0 0 100vmax var(--paper); clip-path: inset(0 -100vmax); }
.production-custom-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.production-custom article > div { height: 270px; margin-bottom: 24px; overflow: hidden; border-radius: 8px; background: var(--cream); }
.production-custom article > div img { width: 100%; height: 100%; object-fit: cover; }
.production-custom p { max-width: 440px; margin-top: 16px; }
@media (min-width: 1200px) and (max-width: 1449px) { .production-intro .container, .production-media .container, .production-materials .container, .production-process .container, .production-steps .container, .production-custom .container { max-width: 1180px; } }
@media (max-width: 849px) {
    .production-body .site-header .container,
    .production-body .site-footer .container { max-width: none; }
    .production-intro { padding-top: 24px; padding-bottom: 40px; }.production-intro > .container > p { font-size: 16px; }
    .production-media { padding: 40px 0; }.production-media h2, .production-process h2, .production-custom h2 { margin-bottom: 16px; font-size: 28px; letter-spacing: -1.4px; }
    .production-gallery { grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 24px; }.production-gallery > a, .production-gallery img { height: 200px; border-radius: 4px; }
    .production-videos { grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 24px; }.production-videos button, .production-videos > a, .production-videos > .production-video-inline { height: 252px; border-radius: 4px; }.production-videos span { width: 52px; height: 52px; }.production-videos span img { width: 52px; height: 52px; margin: 0; }
    .production-materials { padding: 40px 0; }.production-materials-heading { margin-bottom: 32px; }.production-materials h2, .production-steps h2 { margin-bottom: 24px; font-size: 32px; letter-spacing: -1.6px; }.production-materials h2 { height: auto; white-space: normal; }.production-materials-heading p { font-size: 16px; }
    .production-features { grid-template-columns: 1fr; gap: 32px; }.production-features article { gap: 12px; }.production-features h3, .production-steps h3, .production-custom h3, .production-process-bottom h3 { font-size: 16px; }.production-features p, .production-steps p, .production-custom p, .production-process-bottom p { font-size: 13px; }
    .production-process { padding: 32px 0; }.production-process-grid { display: flex; flex-direction: column; gap: 32px; align-items: stretch; }.production-process-main { width: 328px; gap: 32px; }.production-process-main > img { width: 328px; height: 191px; }.production-process-bottom article { grid-template-columns: 74px 238px; gap: 12px 16px; width: 328px; }.production-process-sidebar { width: 328px; height: auto; gap: 25px; }.production-timeline { align-items: flex-start; }.production-timeline::before { top: 18px; bottom: 8px; }.production-timeline > img { width: 20px; height: 171px; }.production-timeline ol { width: 296px; gap: 25px; padding-left: 24px; font-size: 13px; }.production-lead-time { width: 100%; margin-top: 0; }.production-lead-time b { font-size: 32px; letter-spacing: -1.6px; }.production-lead-time span { font-size: 13px; }
    .production-steps { height: 570px; padding: 32px 16px 0; }.production-steps > .container { padding: 0; }.production-steps h2 { margin-bottom: 32px; font-size: 40px; letter-spacing: -2px; }.production-steps h2 em { display: block; margin-top: 8px; font-size: 32px; letter-spacing: -1.6px; }.production-steps > .container > div { display: flex; width: 255px; flex-direction: column; gap: 40px; margin-left: 73px; }.production-steps article::before { top: -36px; left: -27px; font-size: 120px; letter-spacing: -6px; }.production-steps p { margin-top: 16px; }.production-steps p br { display: none; }
    .production-custom { padding: 40px 0; }.production-custom-grid { grid-template-columns: 1fr; gap: 32px; }.production-custom article > div { height: 188px; margin-bottom: 16px; }.production-custom p { margin-top: 12px; }
}

/* Education: section heights match the 1440 and 360 Figma frames. */
.education-body .site-header .container,
.education-body .site-footer .container,
.education-intro .container,
.education-offline .container,
.education-materials .container,
.education-learn .container { max-width: 1180px; }
.education-body .desktop-nav { flex-shrink: 0; white-space: nowrap; }
.education-body main { position: relative; }
.education-body .internal-breadcrumbs { position: absolute; z-index: 2; top: 0; left: 50%; width: 100%; max-width: 1180px; height: auto; transform: translateX(-50%); }
.education-body .desktop-nav .is-active { margin: -9px -12px; padding: 13px 12px 5px; }
.education-body .desktop-nav .is-active::after { display: none; }
.education-intro { height: 294px; padding: 0; background: #fff; }
.education-intro > .container { position: relative; height: 100%; }
.education-intro .breadcrumbs { position: absolute; top: 26px; left: 0; margin: 0; }
.education-intro h1 { position: absolute; top: 74px; left: 0; width: auto; margin: 0; white-space: nowrap; }
.education-intro h1 em { display: block; margin-top: 8px; font-style: italic; line-height: .9; }
.education-intro > .container > p { position: absolute; top: 230px; left: 0; width: 649px; max-width: none; margin: 0; }
.education-offline { height: 712px; padding: 60px 0 64px; background: #fff; }
.education-offline > .container { position: relative; height: 588px; }
.education-offline-heading { position: absolute; top: 0; left: 0; width: 580px; }
.education-offline h2,
.education-materials h2,
.education-learn h2 { margin: 0; font-size: 56px; font-weight: 300; letter-spacing: 0; line-height: 1.2; text-transform: uppercase; }
.education-offline-heading p { width: 580px; margin: 32px 0 0; font-size: 18px; line-height: 1.2; }
.education-offline-image { position: absolute; top: 0; left: 721px; width: 494px; height: 588px; border-radius: 40px; object-fit: cover; }
.education-offline-courses { position: absolute; top: 179px; left: 0; display: flex; flex-direction: column; width: 632px; }
.education-offline-courses article { display: flex; align-items: flex-start; justify-content: space-between; gap: 27px; min-height: 133px; padding: 16px 0; border-bottom: 1px dashed #999; }
.education-offline-courses article:last-child { border-bottom: 0; }
.education-offline-courses article > div:first-child { flex: 1 1 auto; }
.education-offline-courses h3 { margin: 0 0 16px; font-size: 20px; line-height: 1.2; text-transform: uppercase; }
.education-offline-courses p { margin: 0; font-size: 16px; line-height: 1.2; }
.education-course-action { display: flex; flex: 0 0 159px; flex-direction: column; align-items: flex-start; gap: 16px; }
.education-course-action b { font-size: 24px; line-height: 1.2; white-space: nowrap; }
.education-course-action .sp-button { min-height: 46px; padding: 16px; }
.education-course-action a:not(.sp-button) { box-sizing: border-box; display: inline-flex; min-height: 46px; align-items: center; padding: 14px 16px; border: 2px solid transparent; border-radius: 8px; color: var(--bronze); font-size: 16px; line-height: .9; transition: color .2s, background-color .2s, border-color .2s; }
.education-course-action a:not(.sp-button)::after { width: 0; height: 11px; flex: 0 0 auto; margin-left: 0; opacity: 0; background: center / 16.5px 11px no-repeat url('/images/button-arrow-dark.svg'); content: ''; transition: width .2s, margin-left .2s, opacity .2s; }
.education-course-action a:not(.sp-button):hover,
.education-course-action a:not(.sp-button):focus-visible { border-color: var(--bronze); color: var(--ink); background: #fff; }
.education-course-action a:not(.sp-button):hover::after,
.education-course-action a:not(.sp-button):focus-visible::after { width: 16.5px; margin-left: 8px; opacity: 1; }
.education-materials { height: 773px; padding: 64px 0; background: var(--paper) url('/images/pattern-white.png') repeat; }
.education-materials-heading { display: flex; flex-direction: column; gap: 32px; margin-bottom: 48px; }
.education-materials-heading h2 { width: 798px; }
.education-materials-heading p { margin: 0; font-size: 18px; line-height: 1.2; }
.education-videos { display: grid; grid-template-columns: repeat(2, 506px); gap: 20px 94px; }
.education-videos article { display: grid; grid-template-columns: 214px 1fr; align-items: center; gap: 16px; min-width: 0; }
.education-videos article > button { position: relative; width: 214px; height: 123px; padding: 0; overflow: hidden; border: 0; border-radius: 8px; background: #000; cursor: pointer; }
.education-videos article > button > img:first-child { width: 100%; height: 100%; object-fit: cover; opacity: .4; }
.education-videos article > button > img:last-child { position: absolute; top: 50%; left: 50%; width: 66px; height: 66px; transform: translate(-50%, -50%); }
.education-videos article > button span { position: absolute; right: 8px; bottom: 8px; z-index: 1; padding: 2px 4px; border-radius: 4px; color: #fff; background: var(--ink); font-size: 12px; line-height: 1.2; }
.education-videos h3 { margin: 0 0 8px; font-size: 18px; font-weight: 400; line-height: 1.2; }
.education-videos p { margin: 0; color: #999; font-size: 16px; line-height: 1.2; }
.education-more { display: none; }
.education-learn { height: 396px; padding: 64px 0; background: #ede5da url('/images/pattern-beige.png') repeat; }
.education-learn h2 { margin-bottom: 48px; }
.education-learn-grid { display: flex; align-items: flex-start; gap: 82px; }
.education-learn article { display: flex; width: 320px; flex-direction: column; align-items: flex-start; }
.education-learn article > img { width: 20px; height: 20px; margin-bottom: 13px; object-fit: contain; }
.education-learn h3 { margin: 0 0 16px; font-size: 20px; line-height: 1.2; text-transform: uppercase; }
.education-learn p { margin: 0; font-size: 16px; line-height: 1.2; }
@media (max-width: 849px) {
    .education-body .internal-breadcrumbs { display: none; }
    .education-body .site-header { background: #fff; }
    .education-body .site-header .container,
    .education-body .site-footer .container,
    .education-intro .container,
    .education-offline .container,
    .education-materials .container,
    .education-learn .container { max-width: none; }
    .education-intro { height: 253px; background: #fff; }
    .education-intro > .container { padding: 0 16px; }
    .education-intro .breadcrumbs { display: none; }
    .education-intro h1 { top: 4px; left: 16px; width: calc(100% - 32px); font-size: 40px; letter-spacing: -2px; white-space: normal; }
    .education-intro h1 em { margin-top: 8px; font-size: 32px; letter-spacing: -1.6px; }
    .education-intro > .container > p { top: 167px; left: 16px; width: calc(100% - 32px); font-size: 16px; }
    .education-offline { height: 1060px; padding: 0; }
    .education-offline > .container { height: 100%; padding: 0 16px; }
    .education-offline-heading { top: 0; left: 16px; width: 328px; }
    .education-offline h2 { font-size: 32px; line-height: 1.2; }
    .education-offline-heading p { width: calc(100% - 32px); margin-top: 24px; font-size: 16px; }
    .education-offline-image { top: 151px; left: 16px; width: calc(100% - 32px); height: 390px; border-radius: 20px; }
    .education-offline-courses { top: 573px; left: 16px;         width: calc(100% - 33px); }
    .education-offline-courses article { display: block; min-height: 0; padding: 16px 0; }
    .education-offline-courses h3 { margin-bottom: 16px; font-size: 16px; }
    .education-offline-courses p { font-size: 13px; }
    .education-course-action { display: flex; width: 100%; flex: none; flex-direction: row; align-items: center; justify-content: space-between; margin-top: 16px; }
    .education-course-action b { font-size: 20px; }
    .education-course-action .sp-button { min-height: 36px; padding: 12px 16px; font-size: 13px; }
    .education-course-action a:not(.sp-button) { min-height: 36px; padding: 10px 12px; font-size: 13px; }
    .education-materials { height: 1153.57px; padding: 32px 16px; background: #fff; }
    .education-materials > .container { padding: 0; }
    .education-materials-heading { gap: 24px; margin-bottom: 24px; }
    .education-materials-heading h2 { width: 328px; font-size: 40px; letter-spacing: -2px; line-height: .9; }
    .education-materials-heading p { font-size: 16px; }
    .education-videos { display: flex; flex-direction: column; gap: 32px; }
    .education-videos article { display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 16px; }
    .education-videos article:nth-child(even) { display: none; }
    .education-videos article > button { width: 100%; height: 188.523px; border-radius: 12.262px; }
    .education-videos article > button > img:last-child { width: 66px; height: 66px; }
    .education-videos article > button span { right: 12px; bottom: 12px; padding: 3px 6px; border-radius: 6px; font-size: 18px; }
    .education-videos h3 { margin: 0 0 8px; font-size: 16px; }
    .education-videos p { font-size: 13px; }
    .education-more { display: flex; margin-top: 24px; }
    .education-learn { height: 489px; padding: 40px 16px; }
    .education-learn > .container { padding: 0; }
    .education-learn h2 { margin-bottom: 32px; font-size: 32px; letter-spacing: -1.6px; line-height: .9; }
    .education-learn-grid { flex-direction: column; gap: 24px; }
    .education-learn article { width: 328px; align-items: center; text-align: center; }
    .education-learn article > img { margin-bottom: 13px; }
    .education-learn h3 { margin-bottom: 16px; font-size: 16px; }
    .education-learn p { font-size: 13px; }
}

/* Contacts */
.contacts-body .site-header .container,
.contacts-body .site-footer .container,
.contacts-page > .container { max-width: 1180px; }
.contacts-body .desktop-nav { flex-shrink: 0; white-space: nowrap; }
.contacts-body main { position: relative; }
.contacts-body .internal-breadcrumbs { position: absolute; z-index: 2; top: 0; left: 50%; width: 100%; max-width: 1180px; height: auto; transform: translateX(-50%); }
.contacts-body .desktop-nav .is-active { margin: -9px -12px; padding: 13px 12px 5px; }
.contacts-body .desktop-nav .is-active::after { display: none; }
.contacts-page { position: relative; height: 776px; overflow: hidden; background: #fff; }
.contacts-page::before { position: absolute; inset: 0 0 auto; height: 270px; content: ''; background: var(--cream) url('/images/pattern-beige.png') repeat; }
.contacts-page > .container { position: relative; height: 100%; }
.contacts-page .breadcrumbs { position: absolute; top: 26px; left: 0; margin: 0; }
.contacts-page h1 { position: absolute; top: 74px; left: 0; margin: 0; font-size: 64px; font-weight: 300; letter-spacing: -3.2px; line-height: .9; text-transform: uppercase; }
.contacts-lead { position: absolute; top: 164px; left: 0; width: 421px; margin: 0; font-size: 18px; line-height: 1.2; }
.contacts-page-grid { display: block; }
.contacts-details { position: absolute; top: 302px; left: 0; width: 254px; }
.contacts-details dl { margin: 0; }
.contacts-details dt { margin-top: 16px; color: #8b8b8b; font-size: 10px; line-height: 1.2; text-transform: uppercase; }
.contacts-details dt:first-child { margin-top: 0; }
.contacts-details dd { margin: 8px 0 0; font-size: 18px; line-height: 1.2; white-space: nowrap; }
.contacts-details a { color: var(--ink); }
.contacts-details .sp-button { position: absolute; top: 364px; left: 0; min-height: 46px; font-size: 16px; }
.contacts-map-large { position: absolute; top: 164px; left: 500px; width: 680px; height: 548px; overflow: hidden; border-radius: 40px; background: #fff; }
.contacts-map-large iframe { display: block; width: 100%; height: 100%; border: 0; }
.contacts-map-large > img:first-child { width: 100%; height: 100%; object-fit: cover; }
.contacts-map-large > img:last-child { position: absolute; top: 263px; left: 316px; width: 55px; height: 43px; object-fit: contain; }
.contacts-body .site-footer { height: 227px; min-height: 227px; }
.contacts-body .footer-grid { grid-template-columns: 446px 316px 1fr; }
@media (max-width: 849px) {
    .contacts-body .internal-breadcrumbs { display: none; }
    .contacts-body .site-header { background: var(--cream) url('/images/pattern-beige.png') repeat; }
    .contacts-body .site-header .container,
    .contacts-body .site-footer .container,
    .contacts-page > .container { max-width: none; }
    .contacts-page { height: 884px; background: linear-gradient(to bottom, var(--cream) 0 291px, #fff 291px 100%); }
    .contacts-page::before { height: 291px; background: url('/images/pattern-beige.png') repeat; }
    .contacts-page > .container { padding: 0 16px; }
    .contacts-page .breadcrumbs { display: none; }
    .contacts-page h1 { top: 4px; left: 16px; width: 328px; font-size: 40px; letter-spacing: -2px; }
    .contacts-lead { top: 64px; left: 16px; width: 328px; font-size: 16px; }
    .contacts-map-large { top: 145px; left: 16px; width: calc(100% - 32px); height: 299px; border-radius: 20px; }
    .contacts-map-large > img:last-child { top: 121px; left: 140px; width: 75px; height: 51px; }
    .contacts-details { top: 468px; left: 16px; width: 298px; }
    .contacts-details dt { margin-top: 16px; }
    .contacts-details dd { font-size: 16px; }
    .contacts-details .sp-button { position: static; margin-top: 24px; }
    .contacts-body .site-footer { height: 576px; min-height: 576px; }
    .contacts-body .footer-grid { display: flex; }
}

/* 404 */
.error-body .site-header .container { max-width: 1180px; }
.error-body .desktop-nav { flex-shrink: 0; white-space: nowrap; }
.error-page { position: relative; min-height: 882px; overflow: hidden; background: linear-gradient(to bottom, var(--cream) 0 641px, #fff 641px 100%); }
.error-page::before { position: absolute; inset: 0 0 auto; height: 641px; content: ''; background: url('/images/pattern-beige.png') repeat; pointer-events: none; }
.error-page > .container { position: relative; height: 882px; max-width: 1180px; }
.error-copy { position: absolute; z-index: 2; top: 134px; left: 600px; display: flex; flex-direction: column; gap: 25px; width: 584px; }
.error-copy b { display: block; margin: 0; color: rgba(14, 14, 14, .2); font-size: 120px; font-weight: 300; letter-spacing: -6px; line-height: .9; }
.error-copy h1 { display: flex; flex-direction: column; gap: 16px; margin: 0; font-size: 64px; font-weight: 300; letter-spacing: -3.2px; line-height: .9; text-transform: uppercase; white-space: nowrap; }
.error-copy h1 em { color: var(--bronze); font-family:"Lobster", sans-serif; font-size: 54px; font-style: italic; font-weight: 400; letter-spacing: -2.7px; text-transform: none; }
.error-copy .sp-button { align-self: flex-start; margin-top: 15px; }
.error-visual { position: absolute; top: 32px; left: 133px; width: 514.5px; height: 727px; }
.error-smoke { position: absolute; top: -58px; left: -64px; width: 223.5px; height: 391px; mix-blend-mode: normal; object-fit: cover; transform-origin: 50% 100%; animation: error-smoke-drift 4.8s ease-in-out infinite alternate; }
.error-smoker { position: absolute; top: 246px; left: -25px; width: 540px; height: 540px; object-fit: fill; }
@keyframes error-smoke-drift {
    0% { opacity: .72; transform: translate3d(-3px, 8px, 0) scale(.98); }
    50% { opacity: 1; transform: translate3d(4px, -5px, 0) scale(1.025); }
    100% { opacity: .68; transform: translate3d(-5px, -17px, 0) scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
    .error-smoke { animation: none; }
}
@media (max-width: 849px) {
    .error-body .site-header .container { max-width: none; }
    .error-page { min-height: 494px; background: var(--cream) url('/images/pattern-beige.png') repeat; }
    .error-page > .container { height: 494px; max-width: none; padding: 0 16px; }
    .error-copy { top: 25px; left: 16px; gap: 17px; width: calc(100% - 32px); }
    .error-copy b { position: absolute; top: 171px; left: 48px; font-size: 132px; letter-spacing: -6.6px; }
    .error-copy h1 { gap: 7px; font-size: 30px; letter-spacing: -1.5px; }
    .error-copy h1 em { font-size: 32px; letter-spacing: -1.6px; }
    .error-copy .sp-button { margin-top: 0; min-height: 36px; padding: 12px 16px; font-size: 13px; }
    .error-visual { top: 153px; left: 0; width: 100%; height: 341px; }
    .error-smoke { top: 0; left: 11px; width: 128px; height: 225px; }
    .error-smoker { top: 166px; left: 29px; width: 290px; height: 290px; }
}

/* Catalog item popup */
body.item-modal-open { overflow: hidden; }
.item-modal { position: fixed; z-index: 100; inset: 0; display: flex; visibility: hidden; align-items: flex-start; justify-content: center; overflow-y: auto; padding: 50px 16px; opacity: 0; transition: opacity .2s, visibility .2s; }
.item-modal.is-open { visibility: visible; opacity: 1; }
.item-modal-backdrop { position: fixed; inset: 0; background: rgba(14, 14, 14, .92); }
.item-modal-dialog { position: relative; z-index: 1; width: 586px; max-width: 100%; min-height: 160px; }
.item-modal-loader { display: flex; min-height: 160px; align-items: center; justify-content: center; border-radius: 8px; color: var(--bronze); background: #fff; font-size: 16px; }
.item-popup { width: 586px; max-width: 100%; overflow: hidden; border-radius: 8px; color: var(--ink); background: #fff; box-shadow: 0 12px 40px rgba(0, 0, 0, .25); }
.item-popup-header { position: relative; display: flex; min-height: 115px; justify-content: space-between; gap: 24px; padding: 24px 24px 16px; }
.item-popup-header h1 { margin: 0; font-size: 40px; font-weight: 300; letter-spacing: 0; line-height: 1.2; text-transform: uppercase; white-space: nowrap; }
.item-popup-header p { margin: 8px 0 0; font-size: 16px; line-height: 1.2; }
.item-popup-close { width: 32px; height: 32px; flex: 0 0 32px; padding: 6px; border: 0; background: transparent; cursor: pointer; }
.item-popup-close img { width: 100%; height: 100%; }
.item-gallery { margin: 0 24px; }
.item-gallery-slider { position: relative; width: 538px; height: 348px; overflow: hidden; border-radius: 24px; }
.item-gallery-slider .swiper-slide { height: 100%; }
.item-gallery-main { display: block; width: 100%; height: 100%; object-fit: cover; }
.item-gallery-arrow { position: absolute; z-index: 3; top: 50%; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(193, 158, 97, .9); border-radius: 50%; background: rgba(255, 255, 255, .82); box-shadow: 0 2px 10px rgba(0, 0, 0, .14); cursor: pointer; transform: translateY(-50%); transition: background-color .2s, opacity .2s; }
.item-gallery-arrow::before { position: absolute; top: 50%; left: 50%; width: 12px; height: 12px; border-top: 2px solid var(--bronze); border-right: 2px solid var(--bronze); content: ''; }
.item-gallery-prev { left: 20px; }
.item-gallery-next { right: 20px; }
.item-gallery-prev::before { transform: translate(-35%, -50%) rotate(-135deg); }
.item-gallery-next::before { transform: translate(-65%, -50%) rotate(45deg); }
.item-gallery-arrow.swiper-button-disabled { opacity: .35; cursor: default; }
.item-gallery-thumbs { display: grid; gap: 8px; margin-top: 8px; width: calc(100% - 32px); grid-template-columns: repeat(6, 1fr);}
.item-gallery-thumbs button { width: 64px; height: 64px; padding: 0; overflow: hidden; border: 0; border-radius: 8px; opacity: .3; background: transparent; cursor: pointer; transition: opacity .2s; }
.item-gallery-thumbs button.is-active { opacity: 1; }
.item-gallery-thumbs img { width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    display: block; }
.item-popup-content { padding: 26px 24px 27px; }
.item-tabs { display: flex; gap: 16px; margin-bottom: 16px; }
.item-tabs button { padding: 10px 16px; border: 0; border-radius: 4px; color: var(--bronze); background: #fff; font: inherit; font-size: 16px; line-height: .9; cursor: pointer; }
.item-tabs button.is-active { color: #fff; background: var(--bronze); }
.item-panel[hidden] { display: none; }
.item-panel h2 { margin: 0 0 16px; font-size: 20px; font-weight: 700; letter-spacing: 0; line-height: 1.2; text-transform: uppercase; }
.item-panel p { margin: 0; font-size: 16px; line-height: 1.2; }
.item-panel p + p { margin-top: 0; }
.item-specifications { display: grid; grid-template-columns: 254px 223px; gap: 24px; }
.item-specifications dl { margin: 0; }
.item-specifications dt { margin: 20px 0 8px; color: #8b8b8b; font-size: 10px; line-height: 1.2; text-transform: uppercase; }
.item-specifications dt:first-child { margin-top: 0; }
.item-specifications dd { margin: 0; font-size: 16px; line-height: 1.2; }
.item-popup-footer { display: flex; min-height: 94px; align-items: center; justify-content: space-between; padding: 24px; background: var(--cream); }
.item-popup-footer p { display: flex; align-items: flex-end; gap: 8px; margin: 0; white-space: nowrap; }
.item-popup-footer small { font-size: 16px; font-weight: 400; line-height: 1.2; }
.item-popup-footer strong { font-size: 32px; line-height: .97; }
.item-popup-footer .sp-button { min-height: 46px; }
@media (min-width: 850px) {
    .item-modal-dialog,
    .item-popup { width: min(1100px, calc(100vw - 64px)); }
    .item-gallery-slider { width: 100%; height: 580px; }
    .item-gallery-main { cursor: zoom-in; }
    .item-gallery-main:focus-visible { outline: 3px solid var(--bronze); outline-offset: 3px; }
    .item-gallery-thumbs { width: 100%; grid-template-columns: repeat(auto-fill, minmax(64px, 72px)); }
    .item-gallery-thumbs button { width: 100%; height: auto; aspect-ratio: 1; }
    .item-popup-content { padding-top: 32px; }
    .item-panel { max-width: 820px; }
    .item-specifications { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 849px) {
    .item-modal { padding: 16px; }
    .item-modal-dialog { max-height: calc(100dvh - 32px); overflow-x: hidden; overflow-y: auto; border-radius: 8px; overscroll-behavior: contain; }
    .item-popup { width: 100%; }
    .item-popup-header { min-height: 60px; padding: 16px 16px 12px; }
    .item-popup-header h1 { font-size: 24px; white-space: normal; }
    .item-popup-header p { font-size: 13px; }
    .item-popup-close { width: 28px; height: 28px; flex-basis: 28px; padding: 5px; }
    .item-gallery { margin: 0 16px; width:100%;}
    .item-gallery-slider { width: 100%; height: 260px; margin-left: -16px; border-radius: 0; }
    .item-gallery-arrow { width: 38px; height: 38px; }
    .item-gallery-arrow::before { width: 9px; height: 9px; }
    .item-gallery-prev { left: 12px; }
    .item-gallery-next { right: 12px; }
    .item-gallery-thumbs button { width: 100%;
        height: auto;
        border-radius: 6px;
        aspect-ratio: 100 / 100;
        display: block; }
    .item-popup-content { padding: 24px 16px; }
    .item-tabs { gap: 8px; overflow-x: auto; }
    .item-tabs button { padding: 9px 12px; font-size: 13px; }
    .item-panel h2 { font-size: 16px; }
    .item-panel p, .item-specifications dd { font-size: 13px; }
    .item-specifications { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; overflow-x: visible; padding-bottom: 0; }
    .item-specifications dl { min-width: 0; }
    .item-specifications dd { overflow-wrap: anywhere; }
    .item-specifications dt { margin-top: 16px; }
    .item-popup-footer { min-height: 84px; padding: 16px; }
    .item-popup-footer small { font-size: 13px; }
    .item-popup-footer strong { font-size: 24px; }
    .item-popup-footer .sp-button { min-height: 40px; padding: 13px; font-size: 13px; }
}

/* Figma uses both raster pattern tiles at 60% of their exported size. */
.hero,
.product-section--pattern,
.merch,
.contact-section,
.catalog-card.catalog-row--pattern::before,
.production-media--photos,
.production-materials,
.production-process,
.education-materials,
.education-learn,
.contacts-page::before,
.contacts-body .site-header,
.error-page::before {
    background-size: 58.2px 29.4px;
}
@media (max-width: 849px) {
    .error-page { background-size: 58.2px 29.4px; }
}

/* Branded text page: cookie policy. */
.cookie-body main { padding-bottom: 80px; background: #fff url('/images/pattern-white.png') repeat; background-size: 58.2px 29.4px; }
.cookie-body main > .internal-breadcrumbs { max-width: 1180px; }
.cookie-body main > .container:not(.internal-breadcrumbs) { max-width: 1180px; margin-top: 32px; padding: 48px 64px 56px; border-top: 8px solid var(--bronze); border-radius: 40px; background: var(--paper); }
.cookie-body main > .container:not(.internal-breadcrumbs) > p { margin: 0 0 20px; font-size: 16px; line-height: 1.5; }
.cookie-body main > .container:not(.internal-breadcrumbs) > p:first-child { margin-bottom: 32px; }
.cookie-body main > .container:not(.internal-breadcrumbs) > p:first-child > strong { display: block; max-width: 850px; font-size: 40px; font-weight: 300; letter-spacing: -2px; line-height: 1.1; text-transform: uppercase; }
.cookie-body main > .container:not(.internal-breadcrumbs) > ul { margin: -8px 0 24px; padding-left: 24px; font-size: 16px; line-height: 1.5; }
.cookie-body main > .container:not(.internal-breadcrumbs) > ul li + li { margin-top: 8px; }
.cookie-body main > .container:not(.internal-breadcrumbs) a { color: var(--bronze); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 849px) {
    .cookie-body main { padding-bottom: 40px; }
    .cookie-body main > .container:not(.internal-breadcrumbs) { width: calc(100% - 32px); margin-top: 24px; padding: 28px 20px 32px; border-top-width: 6px; border-radius: 20px; }
    .cookie-body main > .container:not(.internal-breadcrumbs) > p,
    .cookie-body main > .container:not(.internal-breadcrumbs) > ul { font-size: 14px; }
    .cookie-body main > .container:not(.internal-breadcrumbs) > p:first-child { margin-bottom: 24px; }
    .cookie-body main > .container:not(.internal-breadcrumbs) > p:first-child > strong { font-size: 28px; letter-spacing: -1.4px; }
}

/* Requested responsive and interaction refinements. */
@media (max-width: 849px) {
    .header-inner { gap: 8px; }
    .brand { width: 100px; flex-basis: 100px; }
    .brand-caption { font-size: 15px; line-height: 1.15; }
    .menu-toggle { width: 48px; height: 48px; padding: 15px; border-radius: 12px; }
    .hero-media { border-radius: 20px; }
    .mobile-menu { inset: 90px 0 0; max-height: none; overflow-y: auto; border-bottom: 0; box-shadow: none; }
    .mobile-menu-inner { min-height: 100%; padding: 40px 16px 32px; }
    .mobile-menu nav { gap: 20px; }
    .mobile-phone { margin-top: 48px; font-weight: 700; }
    .mobile-menu-inner .footer-socials { gap: 12px; margin-top: 20px; }
    .mobile-menu-inner .footer-socials a { display: grid; width: 42px !important; height: 42px; place-items: center; padding: 10px; border: 1px solid var(--bronze); border-radius: 50%; background: rgba(255, 255, 255, .72); box-shadow: 0 2px 6px rgba(14, 14, 14, .08); transition: background-color .2s, box-shadow .2s, transform .2s; }
    .mobile-menu-inner .footer-socials a:hover,
    .mobile-menu-inner .footer-socials a:focus-visible { background: #fff; box-shadow: 0 4px 10px rgba(14, 14, 14, .14); transform: translateY(-2px); }
    .mobile-menu-inner .footer-socials a:focus-visible { outline: 2px solid var(--metal); outline-offset: 2px; }
}
