:root {
	/* Core Palette */
	--fb-offwhite: #fefbee;
	--fb-soft-gray: #ededed;
	--fb-dark: #1f1f1f;
	--fb-dark-muted: rgba(31, 31, 31, 0.6);
	--fb-muted: #50514a;
	--fb-muted-60: rgba(80, 81, 74, 0.6);
	--fb-primary: #1f3a32;
	--fb-olive: #687351;
	--fb-olive-rgb: 104, 115, 81;
	--fb-white: #ffffff;
	--fb-white-20: rgba(255, 255, 255, 0.2);
	--fb-snow: #efefef;

	/* Functional Colors */
	--fb-light-gray: #dcdcdc;
	--fb-clay: #d4d4ce;
	--fb-stone: #b6b6aa;
	--fb-overlay: rgba(0, 0, 0, 0.45);

	/* Shadows */
	--fb-card-shadow: -6px 6px 30px rgba(0, 0, 0, 0.1);
	--fb-modal-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);

	/* Layout & Motion */
	--fb-shell-gutter: 80px;
	--fb-shell-width: min(1440px, calc(100vw - (var(--fb-shell-gutter) * 2)));
	--fb-transition: 0.35s ease;

	/* Gradients & Assets */
	--fb-top-bg: linear-gradient(180deg, var(--fb-offwhite) 3.62%, var(--fb-soft-gray) 63.11%);
	--fb-faq-bg: linear-gradient(180deg, var(--fb-soft-gray) 36.89%, var(--fb-offwhite) 96.38%);
	--fb-mask-bg: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='659' height='522' viewBox='0 0 659 522' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H658.688L653.518 210.496C649.665 367.347 525.602 494.738 368.907 502.739L0 521.577V0Z' fill='black'/%3E%3C/svg%3E");
	--fb-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='658' height='509' viewBox='0 0 658 509' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0H657.377L620.189 234.655C598.17 373.589 482.574 478.568 342.168 487.14L0 508.029V0Z' fill='black'/%3E%3C/svg%3E");
}

.fb-models-archive, .fb-models-archive * { box-sizing: border-box; }
.fb-models-archive { direction: rtl; background: var(--fb-offwhite); color: var(--fb-dark); font-family: Alexandria, sans-serif; overflow-x: clip; }
.fb-models-top-flow { background: var(--fb-top-bg); }
.fb-models-shell-1440 { width: var(--fb-shell-width); max-width: 1440px; margin-inline: auto; }
.fb-models-hero-section, .fb-models-menu-section, .fb-models-grid-section, .fb-models-faq-section { width: 100%; }
.fb-models-hero-section { padding-block: 0 24px; }
.fb-models-hero { display: grid; grid-template-columns: minmax(0, 1fr) 540px; gap: 60px; min-height: 640px; align-items: center; direction: ltr; }
.fb-models-hero-media, .fb-models-hero-content { min-width: 0; direction: rtl; }
.fb-models-hero-media { display: flex; align-items: stretch; justify-content: flex-start; }
.fb-models-hero-image-breakout { position: relative; width: calc(100% + ((100vw - var(--fb-shell-width)) / 2)); min-height: 640px; margin-left: calc((100vw - var(--fb-shell-width)) / -2); max-width: none; padding: 0; isolation: isolate; overflow: hidden; }
.fb-models-hero-image-bg, .fb-models-hero-image { position: absolute; inset: 0; height: 100%; mask-size: cover; -webkit-mask-size: cover; mask-position: bottom right; -webkit-mask-position: bottom right; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat; }
.fb-models-hero-image-bg { background: var(--fb-light-gray); mask-image: var(--fb-mask-bg); -webkit-mask-image: var(--fb-mask-bg); }
.fb-models-hero-image { background: var(--fb-clay) var(--hero-bg) no-repeat center center / cover; mask-image: var(--fb-mask-image); -webkit-mask-image: var(--fb-mask-image); }
.fb-models-hero-content { width: 100%; max-width: 540px; justify-self: end; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; text-align: right; gap: 40px; }

.fb-models-breadcrumbs { display: flex; align-items: center; justify-content: flex-start; width: 100%; gap: 8px; font: 500 14px/14px Alexandria, sans-serif !important; color: var(--fb-dark-muted) !important; }
a.fb-models-breadcrumbs-link { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; white-space: nowrap; font: inherit !important; color: var(--fb-dark-muted) !important; }
.fb-models-breadcrumbs-current { font-weight: 500 !important; color: var(--fb-dark) !important; pointer-events: none; }
.fb-models-breadcrumbs-icon, .fb-models-breadcrumbs-separator { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; color: inherit; }

.fb-models-hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 32px; width: 100%; text-align: right; }
.fb-models-hero-title { margin: 0; font: 700 100px/100px "The Year of Handicrafts", serif; color: var(--fb-primary); text-align: right; }
.fb-models-hero-excerpt { margin: 0; font: 600 20px/1.6 Alexandria, sans-serif; color: var(--fb-primary); text-align: right; }
.fb-models-hero-divider { display: flex; align-items: center; gap: 16px; width: 100%; }
.fb-models-hero-divider-line { flex: 1 1 auto; height: 1px; background: var(--fb-primary); }
.fb-models-hero-divider-text { flex: 0 0 auto; font: 700 14px/14px Alexandria, sans-serif; color: var(--fb-primary); white-space: nowrap; }
.fb-models-menu-section { padding-block: 24px 40px; }
.fb-models-menu-wrap { position: relative; width: 100%; border-bottom: 1px solid var(--fb-primary); overflow: hidden; }
.fb-models-menu { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; direction: rtl; gap: 18px 24px; width: 100%; padding-block-end: 24px; }

.fb-models-menu a.fb-models-menu-link { flex: 0 0 auto; font-family: Alexandria, sans-serif !important; font-weight: 500 !important; font-size: 16px; line-height: 20px !important; color: var(--fb-muted-60); text-decoration: none; white-space: nowrap; border: none !important; background: transparent !important; padding: 0 !important; margin: 0 !important; }
.fb-models-menu a.fb-models-menu-link.is-current, .fb-models-menu a.fb-models-menu-link[aria-current="page"] { color: var(--fb-primary) !important; font-weight: 500 !important; }

.fb-models-menu a.fb-models-menu-link:is(:hover, :focus, :active) {
    color: var(--fb-primary) !important;
    line-height: 20px !important;
    font-weight: 500 !important;
    border: none !important;
    background: transparent !important;
    text-decoration: none !important;
}

.fb-models-menu-scroll-indicator { display: none; }
.fb-models-grid-section { padding-block-end: 80px; }
.fb-models-grid { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; align-items: start; }
.fb-model-card { display: flex; flex-direction: column; background: var(--fb-white); border-radius: 24px; box-shadow: var(--fb-card-shadow); overflow: hidden; }
.fb-model-media { position: relative; padding: 16px 16px 0; }
.fb-model-media-image, .fb-model-media-placeholder { display: block; width: 100%; height: auto; border-radius: 8px; object-fit: cover; background: var(--fb-stone); }

.fb-models-breadcrumbs-link:is(:hover, :focus, :active), 
.fb-model-preview:is(:hover, :focus, :focus-visible, :active), 
.fb-model-order:is(:hover, :focus, :focus-visible, :active), 
.fb-model-faq-question:is(:hover, :focus, :focus-visible, :active), 
.fb-model-modal-close:is(:hover, :focus, :focus-visible, :active), 
.fb-model-modal-order:is(:hover, :focus, :focus-visible, :active) {
	outline: none !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

.fb-model-preview, .fb-model-faq-question, .fb-model-modal-close { appearance: none; -webkit-appearance: none; }

.fb-model-preview { position: absolute; right: 32px; bottom: 16px; display: inline-flex; align-items: center; justify-content: center; width: 44px !important; min-width: 44px !important; height: 44px !important; padding: 0 !important; border: 1px solid var(--fb-primary) !important; border-radius: 8px; background-color: var(--fb-white-20) !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: var(--fb-primary) !important; cursor: pointer; overflow: hidden; text-decoration: none; transition: width var(--fb-transition), padding var(--fb-transition), background-color var(--fb-transition), border-color var(--fb-transition), color var(--fb-transition); }
.fb-model-preview-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; }
.fb-model-preview-icon svg { display: block; width: 24px; height: 24px; }
.fb-model-preview-label { display: inline-flex; align-items: center; justify-content: flex-start; max-width: 0; opacity: 0; overflow: hidden; font: 500 16px/20px Alexandria, sans-serif; white-space: nowrap; transition: max-width var(--fb-transition), opacity var(--fb-transition); }
@media (hover: hover) and (min-width: 1025px) {
	.fb-model-card.has-3d:hover .fb-model-preview { width: calc(100% - 64px) !important; min-width: 120px !important; padding-inline: 16px !important; justify-content: space-between; }
	.fb-model-card.has-3d:hover .fb-model-preview-label { max-width: 77px; opacity: 1; }
}

.fb-model-card-body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 16px; gap: 16px; }
.fb-model-card-copy { display: flex; flex-direction: column; gap: 2px; }
.fb-model-code { margin: 0; font: 600 16px/28px Alexandria, sans-serif; color: var(--fb-dark); text-align: right; }
.fb-model-description { margin: 0; font: 700 14px/20px Alexandria, sans-serif; color: var(--fb-muted); text-align: right; }

.fb-model-order, .fb-model-order:visited, .fb-model-modal-order, .fb-model-modal-order:visited { display: flex; align-items: center; justify-content: center; width: 100%; height: 44px; padding: 12px 24px; margin-top: auto; border: 1px solid transparent; border-radius: 8px; background: var(--fb-primary); color: var(--fb-snow) !important; font: 500 16px/20px Alexandria, sans-serif; text-decoration: none; transition: background-color var(--fb-transition), color var(--fb-transition), border-color var(--fb-transition), backdrop-filter var(--fb-transition), -webkit-backdrop-filter var(--fb-transition); }
.fb-model-modal-order, .fb-model-modal-order:visited { display: inline-flex; min-width: 220px; height: 48px; padding: 12px 28px; transition: all var(--fb-transition); }
.fb-model-order:is(:hover, :focus, :focus-visible, :active), .fb-model-modal-order:is(:hover, :focus, :focus-visible, :active) { background: var(--fb-white-20); border-color: var(--fb-primary); color: var(--fb-primary) !important; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }

.fb-models-faq-divider-section { padding: 0; margin: 0; }
.fb-models-faq-divider-row { height: 1px; width: 100vw; margin-inline: calc(50% - 50vw); background: linear-gradient(90deg, rgba(var(--fb-olive-rgb), 0) 0%, rgba(var(--fb-olive-rgb), 1) 50%, rgba(var(--fb-olive-rgb), 0) 100%); }
.fb-models-faq-section { background: var(--fb-faq-bg); padding-block: 80px; }
.fb-models-faq-wrap { display: flex; flex-direction: column; align-items: center; gap: 40px; }

.fb-models-faq-header { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 100%; }
.fb-models-faq-title { margin: 0; text-align: center; font: 700 72px/90px "The Year of Handicrafts", serif; color: var(--fb-olive); }
.fb-models-faq-subtitle { margin: 0; text-align: center; font: 500 24px/40px Alexandria, sans-serif; color: var(--fb-muted); }

.fb-models-faq-list { width: 100%; max-width: 700px; }
.fb-model-faq-item + .fb-model-faq-item { margin-top: 24px; }
.fb-model-faq-question { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 16px 24px; border: 0; border-radius: 16px !important; background: var(--fb-primary); cursor: pointer; text-align: right; transition: background-color var(--fb-transition), color var(--fb-transition); }
.fb-model-faq-item.is-open .fb-model-faq-question { background: var(--fb-olive); }
.fb-model-faq-title-text { flex: 1 1 auto; order: 1; font: 500 16px/30px Alexandria, sans-serif; color: var(--fb-white); text-align: right; }
.fb-model-faq-icon { position: relative; order: 2; flex: 0 0 14px; width: 14px; height: 14px; margin-inline-start: 20px; }
.fb-model-faq-icon::before, .fb-model-faq-icon::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 14px; height: 2px; border-radius: 999px; background: var(--fb-white); transform: translate(-50%, -50%); transition: opacity var(--fb-transition), transform var(--fb-transition); }
.fb-model-faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.fb-model-faq-item.is-open .fb-model-faq-icon::after { opacity: 0; }
.fb-model-faq-answer { max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.35s ease, opacity 0.25s ease; }
.fb-model-faq-answer-inner { padding: 12px 24px; text-align: start; font: 500 18px/1.7 Alexandria, sans-serif; color: var(--fb-muted); }
.fb-model-faq-item.is-open .fb-model-faq-answer { opacity: 1; }

.fb-models-faq-more-link {
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 12px 24px;
	gap: 10px;
	width: 199px;
	height: 48px;
	border: 1px solid var(--fb-primary);
	border-radius: 8px;
	text-decoration: none;
	background: transparent;
	transition: all var(--fb-transition);
	flex: none;
	order: 2;
	flex-grow: 0;
}

.fb-models-faq-more-link:hover {
    border-color: transparent;
	background: var(--fb-olive);
}

.fb-models-faq-more-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	flex: none;
	order: 1;
}

.fb-models-faq-more-icon svg path {
	stroke: var(--fb-primary);
	transition: stroke var(--fb-transition);
}

.fb-models-faq-more-link:hover .fb-models-faq-more-icon svg path {
	stroke: var(--fb-white);
}

.fb-models-faq-more-text {
	width: 125px;
	height: 24px;
	font-family: 'Alexandria', sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	color: var(--fb-primary);
	white-space: nowrap;
	text-align: center;
	flex: none;
	order: 0;
	flex-grow: 0;
	transition: color var(--fb-transition);
}

.fb-models-faq-more-link:hover .fb-models-faq-more-text {
	color: var(--fb-white);
}

.fb-model-modal[hidden] { display: none !important; }
.fb-model-modal { position: fixed; inset: 0; z-index: 999999; padding: 24px; display: grid; place-items: center; }
.fb-model-modal-overlay { position: absolute; inset: 0; background: var(--fb-overlay); }
.fb-model-modal-dialog { position: relative; width: min(1140px, 100%); height: min(86vh, 900px); border-radius: 24px; background: var(--fb-white); box-shadow: var(--fb-modal-shadow); padding: 72px 24px 24px; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 20px; opacity: 0; transform: translateY(20px); transition: opacity 0.22s ease, transform 0.22s ease; overflow: hidden; }
.fb-model-modal.is-open .fb-model-modal-dialog { opacity: 1; transform: translateY(0); }

.fb-model-modal-close { position: absolute; top: 20px; right: 20px; z-index: 100; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 8px; background: var(--fb-primary); color: var(--fb-white) !important; font-size: 32px !important; font-weight: 300 !important; line-height: 1 !important; cursor: pointer; padding: 0 !important; box-shadow: none !important;}
.fb-model-modal-close span { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.fb-model-modal-close:is(:hover, :focus, :focus-visible, :active) { background: var(--fb-olive); }

.fb-model-modal-stage { min-height: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.fb-model-modal-body { width: 100%; height: 100%; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--fb-white); }
.fb-model-modal-body > * { max-width: 100%; max-height: 100%; width: 100%; height: 100%; margin: auto; }
.fb-model-modal-body iframe { width: 100%; height: 100%; min-height: 0; display: block; border: 0; }
.fb-model-modal-footer { position: relative; z-index: 10; display: flex; flex-direction: column; align-items: center; gap: 16px; padding-top: 4px; padding-bottom: 8px; background: var(--fb-white); }
.fb-model-modal-name { text-align: center; font: 700 24px/1.4 Alexandria, sans-serif; color: var(--fb-dark); }

.fb-model-3d-source-holder { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; top: 0 !important; left: -99999px !important; display: block !important; visibility: hidden !important; }
.fb-model-3d-source { width: 100%; height: 100%; }
html.fb-model-modal-open, html.fb-model-modal-open body { overflow: hidden; }

/* Tablet Specifics */
@media (max-width: 1024px) {
	:root { --fb-shell-gutter: 40px; }
	.fb-models-hero { grid-template-columns: minmax(0, 1fr) 440px; gap: 32px; min-height: 560px; }
	.fb-models-hero-image-breakout { min-height: 560px; }
	.fb-models-hero-content { max-width: 100%; align-items: flex-start; gap: 32px; }
	.fb-models-breadcrumbs { justify-content: flex-start; }
	.fb-models-hero-copy { align-items: flex-start; gap: 24px; }
	.fb-models-hero-title { font: 700 72px/72px "The Year of Handicrafts", serif; }
	.fb-models-menu { justify-content: center; gap: 16px 24px; width: 70vw; max-width: 100%; margin-inline: auto; }
	
	.fb-models-menu a.fb-models-menu-link { font-size: 14px; line-height: 18px !important; }
    .fb-models-menu a.fb-models-menu-link:is(:hover, :focus, :active) { line-height: 18px !important; }

	.fb-models-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
	.fb-model-preview { width: calc(100% - 64px) !important; padding-inline: 16px !important; justify-content: space-between; }
	.fb-model-preview-label { max-width: 77px; opacity: 1; }
	
	.fb-models-faq-section { padding-block: 40px; }
	.fb-models-faq-wrap { gap: 32px; }
	.fb-models-faq-title { font-size: 46px; line-height: 50px; }
	.fb-models-faq-subtitle { font-size: 16px; line-height: 26px; }

	.fb-model-modal-dialog { width: min(960px, 100%); height: min(82vh, 780px); }
}

/* Mobile Specifics */
@media (max-width: 767px) {
	:root { --fb-shell-gutter: 24px; }
	.fb-models-hero { grid-template-columns: 1fr; gap: 24px; min-height: auto; }
	.fb-models-breadcrumbs { display: none; }
	.fb-models-hero-image-breakout { min-height: 240px; }
	.fb-models-hero-content { align-items: center; text-align: center; gap: 40px; padding-block-end: 8px; }
	.fb-models-hero-copy { align-items: center; text-align: center; gap: 40px; }
	.fb-models-hero-title { font: 700 64px/64px "The Year of Handicrafts", serif; text-align: center; }
	.fb-models-hero-excerpt { font-size: 18px; text-align: center; }
	.fb-models-hero-divider { gap: 8px; }
	.fb-models-hero-divider-text { font-size: 12px; line-height: 14px; }
	.fb-models-menu-section { padding-block: 24px 32px; }
	.fb-models-menu-wrap { padding-inline: 0; }
	.fb-models-menu { flex-wrap: nowrap; justify-content: flex-start; gap: 0 24px; width: 100%; margin-inline: 0; padding-inline: 0; padding-block-end: 16px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; touch-action: pan-x; }
	.fb-models-menu::-webkit-scrollbar { display: none; }
	
	.fb-models-menu a.fb-models-menu-link { font-size: 14px; line-height: 18px !important; }
    .fb-models-menu a.fb-models-menu-link:is(:hover, :focus, :active) { line-height: 18px !important; }

	.fb-models-menu-scroll-indicator { position: absolute; left: 0; top: 0; bottom: 16px; display: inline-flex; align-items: center; justify-content: center; width: 24px; pointer-events: none; background: linear-gradient(270deg, rgba(254, 251, 238, 0) 0%, rgba(254, 251, 238, 0.78) 45%, rgba(254, 251, 238, 1) 100%); animation: fbScrollHint 1.2s ease-in-out infinite; z-index: 2; }
	.fb-models-grid-section { padding-block-end: 40px; }
	.fb-models-grid { grid-template-columns: 1fr; gap: 24px; }
	.fb-model-preview-label { font-size: 14px; line-height: 18px; }
	.fb-model-order, .fb-model-order:visited { height: 42px; padding: 10px 18px; font-size: 14px; line-height: 18px; }
	.fb-model-faq-answer-inner { padding: 12px; font-size: 16px; line-height: 26px; }

	.fb-models-faq-wrap { gap: 32px; }
	.fb-models-faq-title { font-size: 32px; line-height: 42px; }
	.fb-models-faq-subtitle { font-size: 14px; line-height: 22px; }

	.fb-models-faq-list { max-width: none; }
	.fb-model-faq-question { padding: 16px; border-radius: 16px; }
	.fb-model-modal { padding: 16px; }
	.fb-model-modal-dialog { height: min(82vh, 760px); padding: 64px 16px 16px; border-radius: 20px; gap: 16px; }
	.fb-model-modal-close { top: 16px; right: 16px; width: 36px; height: 36px; }
	.fb-model-modal-name { font-size: 18px; }
	.fb-model-modal-order, .fb-model-modal-order:visited { min-width: 180px; height: 44px; padding: 10px 22px; font-size: 14px; line-height: 18px; }
}

@keyframes fbScrollHint { 0%, 100% { transform: translateX(0); opacity: 0.45; } 50% { transform: translateX(-4px); opacity: 1; } }