:root {--color-paper: #FFFFFF; --color-brown: #5C4033; --color-dark-brown: #3B2A22; --color-cream: #F8F5F2; --color-beige: #EDE6DF; --color-white: #FFFFFF; --color-text: #222222; --color-text-light: #888888; --color-accent: #B68D40; --color-accent-hover: #9A7630; --font-display: 'Playfair Display', Georgia, serif; --font-body: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --nav-height: 80px; --transition-base: 0.3s ease; --transition-slow: 0.6s ease; --shadow-sm: 0 2px 8px rgba(var(--shadow-rgb), 0.10); --shadow-md: 0 4px 20px rgba(var(--shadow-rgb), 0.12); --shadow-lg: 0 8px 40px rgba(var(--shadow-rgb), 0.14); --radius-sm: 4px; --radius-md: 8px; --radius-lg: 16px; --fs-h1: clamp(2.5rem, 6vw, 4.5rem); --fs-h2: clamp(1.8rem, 3vw, 2.6rem); --fs-h3: 1.35rem; --fs-h4: 1.15rem; --fs-body: 1rem; --fs-body-lg: 1.05rem; --fs-sm: 0.9rem; --fs-caption: 0.85rem; --fs-xs: 0.8rem; --lh-tight: 1.15; --lh-snug: 1.3; --lh-base: 1.65; --lh-loose: 1.75; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-7: 32px; --space-8: 48px; --space-9: 64px; --space-10: 80px; --space-11: 96px; --space-12: 120px; --accent-rgb: 182, 141, 64; --brown-rgb: 59, 42, 34; --black-rgb: 0, 0, 0; --shadow-rgb: 59, 42, 34; --white-rgb: 255, 255, 255; --border-subtle: rgba(var(--brown-rgb), 0.12); --border-accent: rgba(var(--accent-rgb), 0.2); --color-success: #4CAF50; --color-success-bg: #E8F5E9; --color-success-text: #2E7D32; --color-error: #E53935; --color-error-bg: #FFEBEE; --color-error-text: #C62828; --color-warning: #FFB300; --color-warning-bg: #FFF8E1; --color-warning-text: #E65100; } *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; font-size: 16px; } body { font-family: var(--font-body); padding-top: var(--nav-height); color: var(--color-text); background: var(--color-white); line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } img { max-width: 100%; display: block; } a { text-decoration: none; color: inherit; transition: color var(--transition-base); } ul, ol { list-style: none; } button { font-family: var(--font-body); cursor: pointer; border: none; outline: none; background: none; } ::selection { background: var(--color-accent); color: var(--color-white); } .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-6); } .section-pad { padding: var(--space-11) 0; } .bg-cream { background: var(--color-cream); } .bg-beige { background: var(--color-beige); } .bg-dark { background: var(--color-dark-brown); color: var(--color-cream); } .bg-white { background: var(--color-white); } .section-header { text-align: center; margin-bottom: var(--space-9); } .section-header h2 { font-family: var(--font-display); font-size: var(--fs-h2); font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-4); letter-spacing: -0.01em; } .section-header p { font-size: var(--fs-body); color: var(--color-text-light); max-width: 500px; margin: 0 auto; line-height: 1.6; } .section-header .divider { width: 60px; height: 3px; background: var(--color-accent); margin: var(--space-5) auto 0; border-radius: 2px; } .section-header-light h2 { color: var(--color-white); } .section-header-light p { color: rgba(255, 255, 255, 0.7); } .eyebrow { display: inline-block; font-family: var(--font-body); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-accent); margin-bottom: var(--space-4); } .section-lead { text-align: left; margin-bottom: var(--space-8); max-width: 760px; } .section-lead h2 { font-family: var(--font-display); font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-4); letter-spacing: -0.01em; } .section-lead p { font-size: var(--fs-body-lg); color: var(--color-text); line-height: var(--lh-loose); max-width: 640px; } .section-lead-light h2 { color: var(--color-cream); } .section-lead-light p { color: rgba(255, 255, 255, 0.8); } .section-statement { text-align: left; margin-bottom: var(--space-8); max-width: 880px; } .section-statement h2 { font-family: var(--font-display); font-size: clamp(1.3rem, 2.2vw, 1.75rem); font-weight: 400; color: var(--color-dark-brown); line-height: 1.5; margin: 0; } .section-statement-light h2 { color: var(--color-cream); } .section-sidebar { display: grid; grid-template-columns: 0.8fr 2fr; gap: var(--space-9); align-items: start; } .section-sidebar-head { position: sticky; top: var(--space-12); } .section-sidebar-head .eyebrow { margin-bottom: var(--space-4); } .section-sidebar-head h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-4); letter-spacing: -0.01em; } .section-sidebar-head p { font-size: var(--fs-body); color: var(--color-text-light); line-height: 1.7; } .section-sidebar-light .section-sidebar-head h2 { color: var(--color-cream); } .section-sidebar-light .section-sidebar-head p { color: rgba(255, 255, 255, 0.75); } @media (max-width: 860px) { .section-sidebar { grid-template-columns: 1fr; gap: var(--space-7); } .section-sidebar-head { position: static; } } .section-header-light .divider { background: var(--color-accent); } .fade-in-load { opacity: 0; transform: translateY(30px); animation: fadeInUp 1s ease forwards; } .fade-in-delay-1 { animation-delay: 0.2s; } .fade-in-delay-2 { animation-delay: 0.4s; } .fade-in-delay-3 { animation-delay: 0.6s; } .fade-in-delay-4 { animation-delay: 0.8s; } @keyframes fadeInUp { to { opacity: 1; transform: translateY(0); } } html.js .reveal { opacity: 0; transform: translateY(40px); transition: opacity var(--transition-slow), transform var(--transition-slow); } html.js .reveal.visible { opacity: 1; transform: translateY(0); } @media (prefers-reduced-motion: reduce) { html.js .reveal { opacity: 1; transform: none; } html.js .reveal.visible { opacity: 1; transform: none; } } .btn-primary, .btn-secondary, .btn-outline, .btn-outline-white { display: inline-block; font-family: var(--font-body); font-weight: 600; letter-spacing: 0.5px; border-radius: var(--radius-sm); cursor: pointer; transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base); } .btn-primary { padding: var(--space-4) var(--space-7); background: var(--color-accent); color: var(--color-white); font-size: 0.95rem; } .btn-primary:hover { background: var(--color-accent-hover); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(var(--accent-rgb), 0.35); } .btn-secondary { padding: var(--space-4) var(--space-7); background: transparent; color: var(--color-white); font-size: 0.95rem; border: 2px solid rgba(255, 255, 255, 0.6); } .btn-secondary:hover { background: rgba(255, 255, 255, 0.15); border-color: var(--color-white); transform: translateY(-2px); } .btn-outline { padding: var(--space-3) var(--space-7); background: transparent; color: var(--color-accent); font-size: var(--fs-sm); border: 2px solid var(--color-accent); } .btn-outline:hover { background: var(--color-accent); color: var(--color-white); transform: translateY(-2px); } .btn-outline-white { padding: var(--space-3) var(--space-7); background: transparent; color: var(--color-white); font-size: var(--fs-sm); border: 2px solid rgba(255, 255, 255, 0.5); } .btn-outline-white:hover { background: rgba(255, 255, 255, 0.15); border-color: var(--color-white); } .navbar { position: fixed; top: 0; left: 0; width: 100%; height: var(--nav-height); background: var(--color-white); z-index: 1000; transition: box-shadow var(--transition-base); display: flex; align-items: center; } .navbar.scrolled { box-shadow: var(--shadow-sm); } .nav-container { display: flex; align-items: center; justify-content: space-between; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--space-6); } .nav-logo { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; color: var(--color-dark-brown); letter-spacing: -0.01em; display: flex; align-items: baseline; } .nav-logo span { color: var(--color-accent); margin-left: 2px; } .nav-links { display: flex; align-items: center; gap: var(--space-2); } .nav-link { font-size: 0.95rem; font-weight: 500; color: var(--color-text); padding: var(--space-2) var(--space-4); border-radius: var(--radius-sm); transition: color var(--transition-base), background var(--transition-base); } .nav-link:hover { color: var(--color-accent); } .nav-link.active { color: var(--color-accent); font-weight: 600; } .nav-btn { padding: var(--space-3) var(--space-6); font-size: var(--fs-sm); margin-left: var(--space-3); } .hamburger { display: none; flex-direction: column; justify-content: center; gap: var(--space-1); width: 32px; height: 32px; padding: 0; } .hamburger-line { display: block; width: 24px; height: 2px; background: var(--color-dark-brown); border-radius: 2px; transition: transform var(--transition-base), opacity var(--transition-base); } .hamburger.active .hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); } .hamburger.active .hamburger-line:nth-child(2) { opacity: 0; } .hamburger.active .hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); } .mobile-menu { position: fixed; top: var(--nav-height); left: 0; right: 0; background: var(--color-white); padding: var(--space-6); box-shadow: var(--shadow-md); transform: translateY(-100%); opacity: 0; pointer-events: none; transition: transform var(--transition-base), opacity var(--transition-base); max-height: calc(100vh - var(--nav-height)); overflow-y: auto; } .mobile-menu.open { transform: translateY(0); opacity: 1; pointer-events: auto; } .mobile-nav-links { display: flex; flex-direction: column; gap: var(--space-1); } .mobile-nav-link { display: block; padding: var(--space-3) 0; font-size: var(--fs-body); font-weight: 500; color: var(--color-text); border-bottom: 1px solid var(--color-beige); transition: color var(--transition-base); } .mobile-nav-link:hover { color: var(--color-accent); } .mobile-nav-link.active { color: var(--color-accent); } .mobile-nav-btn { display: block; text-align: center; margin-top: var(--space-5); width: 100%; } .footer { background: var(--color-dark-brown); color: rgba(255, 255, 255, 0.8); padding: var(--space-10) 0 var(--space-6); } .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; gap: var(--space-8); margin-bottom: var(--space-9); } .footer-logo { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; color: var(--color-white); display: inline-block; margin-bottom: var(--space-4); } .footer-logo span { color: var(--color-accent); margin-left: 2px; } .footer-desc { font-size: var(--fs-sm); line-height: 1.7; color: rgba(255, 255, 255, 0.7); margin-bottom: var(--space-5); } .footer-social { display: flex; gap: var(--space-3); } .social-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, 0.1); color: var(--color-white); transition: background var(--transition-base), color var(--transition-base); } .social-icon:hover { background: var(--color-accent); color: var(--color-white); } .social-icon svg { width: 18px; height: 18px; } .footer-col-title { font-size: var(--fs-sm); font-weight: 600; color: var(--color-white); margin-bottom: var(--space-5); letter-spacing: 0.05em; text-transform: uppercase; } .footer-col-links { display: flex; flex-direction: column; gap: var(--space-3); } .footer-col-links li a { font-size: var(--fs-sm); color: rgba(255, 255, 255, 0.7); transition: color var(--transition-base); } .footer-col-links li a:hover { color: var(--color-accent); } .footer-contact-list li { font-size: var(--fs-sm); color: rgba(255, 255, 255, 0.7); margin-bottom: var(--space-3); line-height: 1.6; } .footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: var(--space-6); text-align: center; } .footer-bottom p { font-size: var(--fs-caption); color: rgba(255, 255, 255, 0.5); } .hero-section { position: relative; min-height: 90vh; display: flex; align-items: center; overflow: hidden; } .hero-bg { position: absolute; inset: 0; z-index: 0; } .hero-bg-img { width: 100%; height: 100%; object-fit: cover; object-position: center; } .hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, #F8F5F2 0%, #F8F5F2 30%, rgba(248, 245, 242, 0.85) 46%, rgba(248, 245, 242, 0.45) 62%, rgba(248, 245, 242, 0.1) 78%, rgba(248, 245, 242, 0) 92%); } .hero-container { position: relative; z-index: 1; width: 100%; max-width: 1200px; margin: 0 auto; padding: var(--space-10) var(--space-6); } .hero-content { max-width: 720px; } .hero-label { display: inline-block; padding: var(--space-2) var(--space-5); background: rgba(var(--accent-rgb), 0.2); color: var(--color-accent); border: 1px solid rgba(var(--accent-rgb), 0.3); border-radius: var(--radius-sm); font-size: var(--fs-caption); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: var(--space-6); } .hero-title { font-family: var(--font-display); font-size: var(--fs-h1); font-weight: 600; line-height: 1.1; color: var(--color-white); margin-bottom: var(--space-6); letter-spacing: -0.02em; } .hero-subtitle { font-size: 1.125rem; line-height: 1.6; color: rgba(255, 255, 255, 0.85); max-width: 600px; margin-bottom: var(--space-8); } .hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-4); } .page-header { position: relative; min-height: 360px; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; } .page-header-bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 0; } .page-header-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.5) 45%, rgba(0,0,0,0.66) 100%); z-index: 1; } .page-header-content { position: relative; z-index: 2; max-width: 720px; padding: var(--space-9) var(--space-6); } .page-header-title { font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; color: var(--color-white); margin-bottom: var(--space-4); letter-spacing: -0.01em; text-shadow: 0 2px 12px rgba(0,0,0,0.55), 0 1px 3px rgba(0,0,0,0.45); } .page-header-subtitle { font-size: 1.1rem; color: rgba(255, 255, 255, 0.92); line-height: 1.6; text-shadow: 0 1px 8px rgba(0,0,0,0.5); font-weight: 500; } .featured-products { } .featured-product-card:hover .featured-product-card-img img { transform: scale(1.06); } .featured-product-card-name { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-2); } .featured-product-card-desc { font-size: 0.95rem; color: var(--color-text-light); line-height: var(--lh-base); margin-bottom: var(--space-4); } .product-categories { } .category-card { background: var(--color-white); padding: var(--space-7) var(--space-6); border-radius: var(--radius-md); text-align: center; box-shadow: var(--shadow-sm); transition: transform var(--transition-base), box-shadow var(--transition-base); display: block; } .category-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); } .category-icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; margin: 0 auto var(--space-4); font-size: 1.8rem; background: var(--color-cream); border-radius: var(--radius-md); transition: background var(--transition-base); } .category-card:hover .category-icon { background: var(--color-accent); color: var(--color-white); } .category-name { font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-2); } .category-desc { font-size: var(--fs-caption); color: var(--color-text-light); line-height: 1.55; } .product-detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-7); } .product-detail-card { background: var(--color-white); border: 1px solid rgba(var(--brown-rgb), 0.10); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); } .product-detail-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--color-accent); transform: scaleX(0); transform-origin: left center; transition: transform var(--transition-base); z-index: 2; }.product-detail-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: rgba(var(--accent-rgb), 0.55); }.product-detail-card:hover::before { transform: scaleX(1); } .product-detail-card-img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-cream); } .product-detail-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); } .product-detail-card:hover .product-detail-card-img img { transform: scale(1.06); } .product-detail-card-body { padding: var(--space-6); } .product-detail-card-body h3 { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-2); } .product-detail-card-body p { font-size: var(--fs-sm); color: var(--color-text-light); line-height: var(--lh-base); margin-bottom: var(--space-4); } .tag { position: absolute; top: var(--space-3); left: var(--space-3); display: inline-block; padding: var(--space-1) var(--space-3); background: var(--color-accent); color: var(--color-white); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; border-radius: var(--radius-sm); z-index: 1; } .application-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); } .application-card { background: var(--color-white); padding: var(--space-7) var(--space-7); border-radius: var(--radius-md); transition: transform var(--transition-base), box-shadow var(--transition-base); } .application-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); } .application-card-dark { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); } .application-card-dark:hover { background: rgba(255, 255, 255, 0.08); } .application-card-icon { display: inline-flex; margin-bottom: var(--space-5); color: var(--color-accent); } .application-card-icon svg { width: 36px; height: 36px; } .application-card-title { font-family: var(--font-display); font-size: 1.3rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-3); } .application-card-title-dark { color: var(--color-white); } .application-card-desc { font-size: var(--fs-sm); color: var(--color-text-light); line-height: var(--lh-base); margin-bottom: var(--space-4); } .application-card-desc-dark { color: rgba(255, 255, 255, 0.75); } .application-card-link { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--fs-sm); font-weight: 600; color: var(--color-accent); transition: gap var(--transition-base); } .application-card-link:hover { gap: var(--space-3); } .application-card-link-dark { color: var(--color-accent); } .about-section { } .about-layout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-9); align-items: center; } .about-img { border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 4 / 3; box-shadow: var(--shadow-lg); } .about-img img { width: 100%; height: 100%; object-fit: cover; } .about-content h2 { font-family: var(--font-display); font-size: var(--fs-h2); font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-5); letter-spacing: -0.01em; } .about-content p { font-size: var(--fs-body); color: var(--color-text-light); line-height: 1.7; margin-bottom: var(--space-6); } .why-choose-us { } .why-choose-us-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-7); } .why-choose-us-item { text-align: center; padding: var(--space-7) var(--space-5); } .why-choose-us-icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; margin: 0 auto var(--space-4); font-size: 1.8rem; background: var(--color-cream); border-radius: var(--radius-md); } .why-choose-us-title { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-3); } .why-choose-us-desc { font-size: var(--fs-sm); color: var(--color-text-light); line-height: var(--lh-base); max-width: 320px; margin: 0 auto; } .factory-section { } .factory-layout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-9); align-items: center; } .factory-img { border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 4 / 3; box-shadow: var(--shadow-lg); } .factory-img img { width: 100%; height: 100%; object-fit: cover; } .factory-content h2 { font-family: var(--font-display); font-size: var(--fs-h2); font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-5); letter-spacing: -0.01em; } .factory-content > p { font-size: var(--fs-body); color: var(--color-text-light); line-height: 1.7; margin-bottom: var(--space-4); } .factory-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); margin-top: var(--space-8); padding-top: var(--space-8); border-top: 1px solid var(--color-beige); } .factory-stat { text-align: left; } .factory-stat-number { display: block; font-family: var(--font-display); font-size: clamp(2rem, 3.5vw, 2.75rem); font-weight: 600; color: var(--color-accent); line-height: 1; margin-bottom: var(--space-2); } .factory-stat-unit { font-size: 0.5em; margin-left: 2px; color: var(--color-text-light); } .factory-stat-label { display: block; font-size: var(--fs-xs); color: var(--color-text-light); letter-spacing: 0.05em; text-transform: uppercase; } .certificates-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5); } .certificate-card { background: var(--color-white); padding: var(--space-6) var(--space-5); border-radius: var(--radius-md); text-align: center; box-shadow: var(--shadow-sm); transition: transform var(--transition-base), box-shadow var(--transition-base); } .certificate-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); } .certificate-card-dark { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); } .certificate-card-name { font-family: var(--font-display); font-size: var(--fs-body-lg); font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-2); } .certificate-card-dark .certificate-card-name { color: var(--color-white); } .certificate-card-desc { font-size: var(--fs-xs); color: var(--color-text-light); line-height: 1.55; } .certificate-card-dark .certificate-card-desc { color: rgba(255, 255, 255, 0.65); } .faq-list { max-width: 760px; margin: 0 auto; } .faq-item { background: var(--color-white); border: 1px solid var(--color-beige); border-radius: var(--radius-md); padding: var(--space-5) var(--space-6); margin-bottom: var(--space-3); cursor: pointer; transition: border-color var(--transition-base), background var(--transition-base); } .faq-item:hover { border-color: var(--color-accent); } .faq-item.open { border-color: var(--color-accent); background: var(--color-cream); } .faq-question { font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; color: var(--color-dark-brown); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); } .faq-question::after { content: '+'; font-family: var(--font-body); font-size: 1.5rem; font-weight: 300; color: var(--color-accent); flex-shrink: 0; transition: transform var(--transition-base); } .faq-item.open .faq-question::after { transform: rotate(45deg); } .faq-answer { font-size: 0.95rem; color: var(--color-text-light); line-height: 1.7; margin-top: var(--space-3); max-height: 0; overflow: hidden; opacity: 0; transition: max-height var(--transition-slow), opacity var(--transition-base), margin-top var(--transition-base); } .faq-item.open .faq-answer { max-height: 500px; opacity: 1; margin-top: var(--space-4); } .contact-cta-section { text-align: center; } .contact-cta-content { max-width: 640px; margin: 0 auto; } .contact-cta-title { font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 600; color: var(--color-white); margin-bottom: var(--space-4); letter-spacing: -0.01em; } .contact-cta-subtitle { font-size: var(--fs-body-lg); color: rgba(255, 255, 255, 0.75); margin-bottom: var(--space-7); line-height: 1.6; } .contact-cta-buttons { display: inline-flex; flex-wrap: wrap; gap: var(--space-4); justify-content: center; } .blog-category-bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-8); padding: var(--space-4); background: var(--color-cream); border-radius: var(--radius-md); } .blog-category-label { font-size: var(--fs-caption); font-weight: 600; color: var(--color-text-light); margin-right: var(--space-2); } .blog-category-item { padding: var(--space-2) var(--space-4); font-size: var(--fs-caption); font-weight: 500; color: var(--color-text); background: var(--color-white); border-radius: var(--radius-sm); transition: all var(--transition-base); } .blog-category-item:hover { background: var(--color-beige); } .blog-category-item.active { background: var(--color-accent); color: var(--color-white); } .blog-page-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-7); } .blog-page-card { background: var(--color-white); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform var(--transition-base), box-shadow var(--transition-base); } .blog-page-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); } .blog-page-card-img { aspect-ratio: 16 / 9; overflow: hidden; background: var(--color-cream); } .blog-page-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); } .blog-page-card:hover .blog-page-card-img img { transform: scale(1.05); } .blog-page-card-body { padding: var(--space-6); } .blog-page-card-meta { display: flex; align-items: center; gap: var(--space-3); font-size: var(--fs-xs); color: var(--color-text-light); margin-bottom: var(--space-3); } .blog-page-card-category { padding: 3px var(--space-3); background: var(--color-cream); color: var(--color-brown); border-radius: var(--radius-sm); font-weight: 600; } .blog-page-card-title { font-family: var(--font-display); font-size: 1.4rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-3); line-height: 1.3; } .blog-page-card-excerpt { font-size: 0.95rem; color: var(--color-text-light); line-height: var(--lh-base); margin-bottom: var(--space-4); } .articles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-7); } .article-card { background: var(--color-white); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform var(--transition-base), box-shadow var(--transition-base); } .article-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); } .article-card-img { aspect-ratio: 16 / 9; overflow: hidden; background: var(--color-cream); } .article-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); } .article-card:hover .article-card-img img { transform: scale(1.05); } .article-card-body { padding: var(--space-6); } .article-card-meta { display: flex; align-items: center; gap: var(--space-3); font-size: var(--fs-xs); color: var(--color-text-light); margin-bottom: var(--space-3); } .article-card-category { padding: 3px var(--space-3); background: var(--color-cream); color: var(--color-brown); border-radius: var(--radius-sm); font-weight: 600; } .article-card-title { font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-3); line-height: 1.3; } .article-card-excerpt { font-size: var(--fs-sm); color: var(--color-text-light); line-height: var(--lh-base); margin-bottom: var(--space-4); } .articles-cta { text-align: center; margin-top: var(--space-8); } .blog-detail { } .blog-detail-layout { display: grid; grid-template-columns: 1fr 300px; gap: var(--space-8); align-items: start; } .blog-detail-main { min-width: 0; } .blog-detail-hero-img { aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-md); margin-bottom: var(--space-6); box-shadow: var(--shadow-md); } .blog-detail-hero-img img { width: 100%; height: 100%; object-fit: cover; } .blog-detail-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); font-size: var(--fs-caption); color: var(--color-text-light); margin-bottom: var(--space-4); } .blog-detail-date { color: var(--color-text); } .blog-detail-category { padding: var(--space-1) var(--space-3); background: var(--color-cream); color: var(--color-brown); border-radius: var(--radius-sm); font-weight: 600; font-size: var(--fs-xs); text-decoration: none; transition: background var(--transition-base), color var(--transition-base);} .blog-detail-category:hover { background: var(--color-beige); color: var(--color-dark-brown);} .blog-detail-tag { padding: var(--space-1) var(--space-3); background: var(--color-beige); color: var(--color-text-light); border-radius: var(--radius-sm); font-size: var(--fs-xs); } .blog-detail-title { font-family: var(--font-display); font-size: clamp(1.8rem, 3.5vw, 2.5rem); font-weight: 600; color: var(--color-dark-brown); letter-spacing: -0.01em; line-height: 1.2; margin-bottom: var(--space-6); } .blog-detail-content { font-size: var(--fs-body); color: var(--color-text); line-height: 1.8; } .blog-detail-content h2 { font-size: 1.6rem; margin-top: var(--space-8); margin-bottom: var(--space-4); color: var(--color-dark-brown); font-weight: 600; } .blog-detail-content h3 { font-size: 1.25rem; margin-top: var(--space-7); margin-bottom: var(--space-3); color: var(--color-dark-brown); font-weight: 600; } .blog-detail-content p { margin-bottom: var(--space-4); color: var(--color-text); } .blog-detail-content strong { color: var(--color-dark-brown); font-weight: 600; } .blog-detail-content ul, .blog-detail-content ol { padding-left: var(--space-6); margin-bottom: var(--space-5); } .blog-detail-content ul li { list-style: disc; margin-bottom: var(--space-2); } .blog-detail-content ol li { list-style: decimal; margin-bottom: var(--space-2); } .blog-detail-content table { width: 100%; border-collapse: collapse; margin: var(--space-6) 0; background: var(--color-cream); border-radius: var(--radius-md); overflow: hidden; } .blog-detail-content table th, .blog-detail-content table td { padding: var(--space-3) var(--space-4); text-align: left; border-bottom: 1px solid var(--color-beige); font-size: var(--fs-sm); } .blog-detail-content table th { background: var(--color-white); font-weight: 600; color: var(--color-dark-brown); } .blog-detail-content a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 3px; } .blog-detail-content a:hover { color: var(--color-accent-hover); } .blog-detail-author { margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid var(--color-beige); font-size: var(--fs-sm); color: var(--color-text-light); font-style: italic; } .blog-detail-share { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); padding: var(--space-5); margin-top: var(--space-6); background: var(--color-cream); border-radius: var(--radius-md); } .blog-detail-share-label { font-size: var(--fs-sm); font-weight: 600; color: var(--color-dark-brown); margin-right: var(--space-2); } .blog-detail-share-link { display: inline-flex; align-items: center; padding: var(--space-2) var(--space-4); font-size: var(--fs-xs); font-weight: 600; color: var(--color-text); background: var(--color-white); border-radius: var(--radius-sm); transition: background var(--transition-base), color var(--transition-base); } .blog-detail-share-link:hover { background: var(--color-accent); color: var(--color-white); } .blog-detail-nav { margin-top: var(--space-8); text-align: center; } .blog-detail-sidebar { position: sticky; top: calc(var(--nav-height) + var(--space-6)); display: flex; flex-direction: column; gap: var(--space-6); } .blog-sidebar-section { background: var(--color-cream); padding: var(--space-6); border-radius: var(--radius-md); } .blog-sidebar-title { font-family: var(--font-body); font-size: var(--fs-caption); font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-4); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-beige); letter-spacing: 0.05em; text-transform: uppercase; } .blog-sidebar-list { display: flex; flex-direction: column; gap: var(--space-4); } .blog-sidebar-link { display: flex; align-items: flex-start; gap: var(--space-3); font-size: var(--fs-sm); font-weight: 500; color: var(--color-text); line-height: 1.45; transition: color var(--transition-base);} .blog-sidebar-link:hover { color: var(--color-accent); } .blog-sidebar-thumb { flex: 0 0 84px; width: 84px; height: 63px; border-radius: var(--radius-sm); overflow: hidden; background: var(--color-beige); margin-bottom: 0;} img.blog-sidebar-thumb { object-fit: cover; width: 84px; height: 63px; transition: transform var(--transition-slow);} .blog-sidebar-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--transition-slow);} .blog-sidebar-link:hover img.blog-sidebar-thumb, .blog-sidebar-link:hover .blog-sidebar-thumb img { transform: scale(1.04);} .blog-sidebar-link-content { display: block; min-width: 0;} .blog-sidebar-link-title { display: block; font-size: var(--fs-sm); font-weight: 600; color: var(--color-text); line-height: 1.4;} .blog-sidebar-link-date { display: block; margin-top: var(--space-1); font-size: var(--fs-xs); color: var(--color-text-light); font-weight: 400;} .blog-sidebar-categories { list-style: none; display: flex; flex-direction: column; gap: var(--space-2); margin: 0; padding: 0;} .blog-sidebar-cat { display: block; padding: var(--space-2) var(--space-3); font-size: var(--fs-caption); font-weight: 500; color: var(--color-text); background: var(--color-white); border-radius: var(--radius-sm); transition: background var(--transition-base), color var(--transition-base);} .blog-sidebar-cat:hover { background: var(--color-beige); color: var(--color-accent);} .contact-form { display: flex; flex-direction: column; gap: var(--space-5); } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); } .form-group { display: flex; flex-direction: column; gap: var(--space-2); } .form-group label { font-size: var(--fs-caption); font-weight: 600; color: var(--color-dark-brown); } .form-group input, .form-group textarea, .form-group select { width: 100%; padding: var(--space-3) var(--space-4); background: var(--color-white); border: 1px solid var(--color-beige); border-radius: var(--radius-sm); font-size: 0.95rem; color: var(--color-text); transition: border-color var(--transition-base); } .form-group input:focus, .form-group textarea:focus, .form-group select:focus { outline: none; border-color: var(--color-accent); } .form-group textarea { min-height: 150px; resize: vertical; font-family: var(--font-body); } .form-submit { align-self: flex-start; margin-top: var(--space-2); } @media (max-width: 1024px) { .footer-grid { grid-template-columns: 1fr 1fr 1fr; } .footer-col:first-child { grid-column: 1 / -1; } .certificates-grid { grid-template-columns: repeat(3, 1fr); } .blog-detail-layout { grid-template-columns: 1fr; } .blog-detail-sidebar { position: static; } } @media (max-width: 768px) { .nav-links, .nav-btn { display: none; } .hamburger { display: flex; } .hero-section { min-height: 80vh; } .application-grid, .why-choose-us-grid, .articles-grid, .blog-page-grid, .product-detail-grid { grid-template-columns: repeat(2, 1fr); } .about-layout, .factory-layout { grid-template-columns: 1fr; gap: var(--space-8); } .certificates-grid { grid-template-columns: repeat(2, 1fr); } .form-row { grid-template-columns: 1fr; } } @media (max-width: 540px) { .section-pad { padding: var(--space-9) 0; } .container { padding: 0 var(--space-4); } .hero-actions { flex-direction: column; align-items: stretch; } .hero-actions .btn-primary, .hero-actions .btn-secondary { width: 100%; text-align: center; } .application-grid, .why-choose-us-grid, .articles-grid, .blog-page-grid, .product-detail-grid, .certificates-grid { grid-template-columns: 1fr; } .footer-grid { grid-template-columns: 1fr; gap: var(--space-7); } .footer-col:first-child { grid-column: 1; } .factory-stats { grid-template-columns: 1fr; gap: var(--space-6); } .contact-cta-buttons { flex-direction: column; align-items: stretch; } .contact-cta-buttons .btn-primary, .contact-cta-buttons .btn-secondary { width: 100%; } } .nav-item.has-dropdown { position: relative; } .nav-dropdown-toggle { display: inline-flex; align-items: center; background: none; border: none; padding: var(--space-1) var(--space-2); cursor: pointer; color: currentColor; margin-left: -6px; border-radius: 4px; } .nav-dropdown-toggle:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; } .nav-dropdown-toggle svg { transition: transform var(--transition-base); } .nav-item.has-dropdown[aria-expanded="true"] .nav-dropdown-toggle svg { transform: rotate(180deg); } .nav-submenu { display: none; position: absolute; top: calc(100% + var(--space-2)); left: 0; min-width: 260px; background: var(--color-white); border-radius: var(--radius-md); box-shadow: var(--shadow-md); padding: var(--space-2) 0; list-style: none; z-index: 101; border: 1px solid var(--color-beige); max-height: calc(100vh - var(--nav-height) - 16px); overflow-y: auto; } .nav-item.has-dropdown[aria-expanded="true"] .nav-submenu, .nav-item.has-dropdown:hover .nav-submenu, .nav-item.has-dropdown:focus-within .nav-submenu { display: block; } .nav-submenu-link { display: block; padding: var(--space-3) var(--space-5); color: var(--color-text); font-size: var(--fs-sm); font-weight: 500; text-decoration: none; transition: background var(--transition-base), color var(--transition-base); } .nav-submenu-link:hover, .nav-submenu-link:focus-visible { background: var(--color-cream); color: var(--color-accent); } .mobile-nav-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); } .mobile-nav-accordion-toggle { display: inline-flex; align-items: center; justify-content: center; background: none; border: none; padding: var(--space-2) var(--space-3); cursor: pointer; color: var(--color-text); font-size: var(--fs-body); min-width: 40px; min-height: 40px; } .mobile-nav-accordion-toggle:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; } .mobile-nav-accordion-icon { display: block; width: 12px; height: 12px; position: relative; } .mobile-nav-accordion-icon::before, .mobile-nav-accordion-icon::after { content: ""; position: absolute; background: currentColor; border-radius: 1px; transition: transform var(--transition-base); } .mobile-nav-accordion-icon::before { width: 12px; height: 2px; top: var(--space-1); left: 0; } .mobile-nav-accordion-icon::after { width: 2px; height: 12px; top: 0; left: var(--space-1); } .has-accordion[aria-expanded="true"] .mobile-nav-accordion-icon::after { transform: rotate(90deg); opacity: 0; } .mobile-nav-submenu { display: none; padding: 0 0 var(--space-2) var(--space-4); list-style: none; background: var(--color-cream); border-radius: var(--radius-sm); margin: var(--space-1) 0 var(--space-2) 0; } .has-accordion[aria-expanded="true"] .mobile-nav-submenu { display: block; } .mobile-nav-submenu-link { display: block; padding: var(--space-3) var(--space-4); color: var(--color-text); font-size: var(--fs-sm); font-weight: 500; text-decoration: none; } .mobile-nav-submenu-link:hover, .mobile-nav-submenu-link:focus-visible { color: var(--color-accent); } @media (max-width: 768px) { .nav-dropdown-toggle { display: none; } } .product-detail-card { position: relative; } .product-detail-card-link { position: absolute; inset: 0; z-index: 1; border-radius: 8px; } .product-detail-card-link:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; } .product-detail-card .btn-outline { position: relative; z-index: 2; } .breadcrumb{margin-top:0;background:var(--color-cream,var(--color-cream));border-bottom: 1px solid var(--color-beige,var(--color-beige));padding:14px 0} .breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin: 0;padding: 0;font-size:.875rem;line-height:1.4} .breadcrumb-list li{display:inline-flex;align-items:center;min-width:0} .breadcrumb-list li+li::before{content:"/";margin: 0 .5rem;color:var(--color-text-light,#888);flex-shrink:0} .breadcrumb-list a{color:var(--color-accent,var(--color-accent));text-decoration:none;transition:color .2s ease} .breadcrumb-list a:hover{color:var(--color-accent-hover,var(--color-accent-hover));text-decoration:underline} .breadcrumb-list li:last-child span{color:var(--color-text,#222);font-weight:500;overflow-wrap:anywhere;word-break:break-word} .breadcrumb-list li:not(:last-child) span{color:var(--color-text-light,#888)} .pagination{display:flex;align-items:center;justify-content:center;gap: 1rem;margin-top: 3rem;flex-wrap:wrap} .pagination-btn{display:inline-flex;align-items:center;padding: .6em 1.2em;background:var(--color-paper,#FFF);color:var(--color-accent,var(--color-accent));border:1px solid var(--color-beige,var(--color-beige));border-radius:var(--radius-sm,4px);text-decoration:none;font-size: var(--fs-sm);font-weight:500;transition:all .2s ease;min-width:88px;justify-content:center} .pagination-btn:hover{background:var(--color-accent,var(--color-accent));color:var(--color-white,#FFF);border-color:var(--color-accent,var(--color-accent))} .pagination-btn.disabled{color:var(--color-text-light,#888);cursor:not-allowed;opacity:.5} .pagination-info{font-size: var(--fs-sm);color:var(--color-text-light,#888);text-align:center} .pagination-info strong{color:var(--color-dark-brown,var(--color-dark-brown));font-weight:600} .pagination-total{display:block;font-size: var(--fs-xs);margin-top:.2em} @media(max-width:540px){.pagination{flex-direction:column;gap:.75rem}} .contact-product-row input[readonly]{background:var(--color-cream);color:var(--color-accent);font-weight:600;cursor:default;border-color:var(--color-beige)} .contact-product-row label{color:var(--color-accent);font-weight:600} .contact-form-status{margin-top: var(--space-3);padding: var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:.95rem;line-height:1.5;min-height:0;transition:background-color var(--transition-base),color var(--transition-base)} .contact-form-status:not(:empty){background-color:var(--color-cream);border:1px solid var(--color-beige)} .contact-form-status[data-state="success"]{background-color:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success-text)} .contact-form-status[data-state="error"]{background-color:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error-text)} .contact-form-status[data-state="warning"]{background-color:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning-text)} .form-submit[disabled]{opacity:.6;cursor:not-allowed} .app-hero-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-7); } @media (max-width: 900px) { .app-hero-grid { grid-template-columns: 1fr; } } .app-hero-card { position: relative; display: block; border-radius: var(--radius-lg); overflow: hidden; min-height: 320px; text-decoration: none; color: inherit; transition: transform 0.3s ease, box-shadow 0.3s ease; } .app-hero-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(var(--black-rgb), 0.18); } .app-hero-card-bg-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; } .app-hero-card-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(60, 42, 30, 0.85) 0%, rgba(60, 42, 30, 0.5) 100%); z-index: 2; } .app-hero-card-content { position: relative; z-index: 3; padding: var(--space-7) var(--space-7); color: #fff; display: flex; flex-direction: column; height: 100%; justify-content: space-between; } .app-hero-card-content h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.5rem; font-weight: 600; color: #fff; margin-bottom: var(--space-3); line-height: 1.25; } .app-hero-card-content p { color: rgba(255, 255, 255, 0.9); font-size: 0.95rem; line-height: 1.55; } .app-hero-card-stage { display: inline-block; padding: var(--space-1) var(--space-4); background: var(--color-accent); color: #fff; font-size: 0.72rem; font-weight: 700; border-radius: 999px; letter-spacing: 1px; margin-bottom: var(--space-4); align-self: flex-start; text-transform: uppercase; } .app-hero-card-link { display: inline-block; margin-top: var(--space-5); font-size: 0.82rem; font-weight: 600; color: #fff; text-transform: uppercase; letter-spacing: 1px; opacity: 0.9; } .app-hero-card-link::after { content: " →"; } .application-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); } @media (max-width: 1024px) { .application-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 640px) { .application-grid { grid-template-columns: 1fr; } } .application-card { display: flex; flex-direction: column; align-items: center; padding: var(--space-7) var(--space-6); background: #fff; border-radius: var(--radius-lg); box-shadow: 0 4px 20px rgba(var(--black-rgb), 0.06); text-decoration: none; color: inherit; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease; } .application-card:hover { transform: translateY(-4px); box-shadow: 0 10px 36px rgba(var(--black-rgb), 0.12); } .application-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; margin: 0 auto var(--space-5); border-radius: 50%; background: rgba(var(--accent-rgb), 0.12); color: var(--color-accent); } .application-card-icon svg { width: 30px; height: 30px; } .application-card-title { font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-3); } .application-card-desc { font-size: 0.92rem; color: #888; line-height: 1.6; flex: 1; margin-bottom: var(--space-4); } .application-card-link { display: inline-block; margin-top: auto; font-size: 0.82rem; font-weight: 600; color: var(--color-accent); text-transform: uppercase; letter-spacing: 1px; } .application-card-dark { background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: none; } .application-card-dark:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(var(--accent-rgb), 0.4); box-shadow: 0 10px 36px rgba(var(--black-rgb), 0.3); } .application-card-title-dark, .application-card-dark .application-card-title { color: #fff; } .application-card-desc-dark, .application-card-dark .application-card-desc { color: rgba(255, 255, 255, 0.78); } .application-card-link-dark, .application-card-dark .application-card-link { color: var(--color-accent); } .app-detail-section { padding: var(--space-10) 0; } .app-detail-section.bg-cream { background: var(--color-cream); } .app-detail-section.bg-white { background: #fff; } .app-detail-layout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-9); align-items: center; } @media (max-width: 900px) { .app-detail-layout { grid-template-columns: 1fr; gap: var(--space-8); } } .app-detail-img img { width: 100%; height: auto; border-radius: var(--radius-lg); box-shadow: 0 4px 20px rgba(var(--black-rgb), 0.08); } .app-detail-content h2, .app-detail-content h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.85rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-4); line-height: 1.25; } .app-detail-content p { color: #222; line-height: 1.7; margin-bottom: var(--space-3); font-size: 0.96rem; } .app-detail-equipment { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-5); } .app-detail-equipment-tag { display: inline-block; padding: var(--space-2) var(--space-4); background: rgba(var(--accent-rgb), 0.12); color: var(--color-accent); border-radius: 999px; font-size: 0.82rem; font-weight: 600; } .layout-left-right .app-detail-img { order: 1; } .layout-left-right .app-detail-content { order: 2; } .layout-right-left .app-detail-img { order: 2; } .layout-right-left .app-detail-content { order: 1; } @media (max-width: 900px) { .layout-left-right .app-detail-img, .layout-right-left .app-detail-img { order: unset; } } .who-we-serve-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); } @media (max-width: 1024px) { .who-we-serve-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 640px) { .who-we-serve-grid { grid-template-columns: 1fr; } } .who-we-serve-card { display: flex; flex-direction: column; align-items: center; padding: var(--space-7) var(--space-6); background: #fff; border: 1px solid var(--color-beige); border-radius: var(--radius-lg); text-decoration: none; color: inherit; text-align: center; transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; } .who-we-serve-card:hover { transform: translateY(-4px); border-color: var(--color-accent); box-shadow: 0 10px 36px rgba(var(--black-rgb), 0.08); } .who-we-serve-icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: var(--space-5); background: var(--color-cream); border-radius: 50%; color: var(--color-accent); } .who-we-serve-icon svg { width: 32px; height: 32px; } .who-we-serve-title { font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; font-weight: 600; color: var(--color-dark-brown); margin-bottom: var(--space-3); } .who-we-serve-desc { font-size: 0.92rem; color: #888; line-height: 1.6; flex: 1; margin-bottom: var(--space-4); } .who-we-serve-link { display: inline-block; font-size: 0.82rem; font-weight: 600; color: var(--color-accent); text-transform: uppercase; letter-spacing: 1px; } .category-scroll-wrap { position: relative; } .category-scroller { display: flex; gap: var(--space-6); list-style: none; margin: 0; padding: var(--space-1) var(--space-1) var(--space-4); overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--color-border, #d8cfc4) transparent; } .category-scroller::-webkit-scrollbar { height: 8px; } .category-scroller::-webkit-scrollbar-thumb { background: var(--color-border, #d8cfc4); border-radius: 999px; } .category-scroller::-webkit-scrollbar-track { background: transparent; } .category-card-wrap { flex: 0 0 auto; scroll-snap-align: start; } .category-scroller .category-card { width: 260px; height: 100%; } .cat-scroll-btn { position: absolute; top: 44%; transform: translateY(-50%); z-index: 3; width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--color-border, #e3dacf); background: var(--color-white); color: var(--color-dark-brown); font-size: 1.5rem; line-height: 1; cursor: pointer; box-shadow: var(--shadow-sm); display: none; align-items: center; justify-content: center; transition: background var(--transition-base), opacity var(--transition-base); } .cat-scroll-btn:hover { background: var(--color-cream); } .cat-scroll-prev { left: -10px; } .cat-scroll-next { right: -10px; } .cat-scroll-btn[disabled] { opacity: 0; pointer-events: none; } @media (hover: hover) and (min-width: 769px) { .cat-scroll-btn { display: flex; } } @media (max-width: 768px) { .category-scroller .category-card { width: 220px; } } .cat-scroll-hint { display: inline-flex; align-items: center; justify-content: center; gap: .5em; margin: 0 auto var(--space-6); padding: var(--space-2) var(--space-5); font-size: .95rem; font-weight: 600; letter-spacing: .02em; color: var(--color-dark-brown); background: var(--color-white); border: 1px solid var(--color-border, #e3dacf); border-radius: 999px; box-shadow: var(--shadow-sm); width: fit-content; max-width: 100%; transition: opacity .4s ease, transform .4s ease; animation: cat-hint-in .5s ease both; } .cat-scroll-hint.hide { opacity: 0; transform: translateY(-6px); pointer-events: none; } @keyframes cat-hint-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } } .cat-hint-chev { font-weight: 800; color: var(--color-accent); display: inline-block; font-size: 1.15em; } .cat-hint-left { animation: cat-nudge-left 1.3s ease-in-out infinite; } .cat-hint-right { animation: cat-nudge-right 1.3s ease-in-out infinite; } @keyframes cat-nudge-left { 0%,100% { transform: translateX(0); opacity:.55 } 50% { transform: translateX(-5px); opacity:1 } } @keyframes cat-nudge-right { 0%,100% { transform: translateX(0); opacity:.55 } 50% { transform: translateX(5px); opacity:1 } } .cat-fade { position: absolute; top: 0; bottom: var(--space-4); width: 84px; z-index: 2; pointer-events: none; opacity: 0; transition: opacity .25s ease; } .cat-fade-left { left: 0; background: linear-gradient(to right, rgba(245,239,230,.82), rgba(245,239,230,0)); } .cat-fade-right { right: 0; background: linear-gradient(to left, rgba(245,239,230,.82), rgba(245,239,230,0)); } .category-scroll-wrap:not(.at-start) .cat-fade-left { opacity: 1; } .category-scroll-wrap:not(.at-end) .cat-fade-right { opacity: 1; } .featured-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-4); } .featured-list-item { display: flex; align-items: center; gap: var(--space-5); padding: var(--space-5); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-sm); text-decoration: none; color: inherit; transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); } .featured-list-item:last-child { border-bottom: none; } .featured-list-item:hover { background: var(--color-white); transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--border-accent); } .featured-list-thumb { flex: 0 0 auto; width: 120px; height: 90px; border-radius: var(--radius-md); overflow: hidden; background: var(--color-cream); } .featured-list-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; } .featured-list-body { flex: 1 1 auto; min-width: 0; } .featured-list-name { margin: 0 0 var(--space-1); font-size: 1.05rem; font-weight: 500; color: var(--color-dark-brown); } .featured-list-desc { margin: 0; font-size: .9rem; line-height: 1.5; color: var(--color-text-light); } .featured-list-arrow { flex: 0 0 auto; font-size: 1.5rem; line-height: 1; color: var(--color-accent); transition: transform var(--transition-base); } .featured-list-item:hover .featured-list-arrow { transform: translateX(4px); } .featured-list-tag { display: inline-block; margin-left: var(--space-3); padding: 2px var(--space-2); font-size: .72rem; font-weight: 600; color: var(--color-accent); background: rgba(212, 163, 115, 0.15); border-radius: 999px; vertical-align: middle; } @media (max-width: 540px) { .featured-list-thumb { width: 88px; height: 66px; } .featured-list-name { font-size: 1rem; } } .contact-layout{display:grid;grid-template-columns:0.9fr 1.1fr;gap: var(--space-9);align-items:start;} @media(max-width:860px){.contact-layout{grid-template-columns:1fr;gap: var(--space-8);}} .contact-info{display:flex;flex-direction:column;gap: var(--space-7);} .contact-info h2{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);color:var(--color-dark-brown);line-height:1.2;} .contact-info-list{display:flex;flex-direction:column;gap: var(--space-6);} .contact-info-item{display:flex;align-items:flex-start;gap: var(--space-4);} .contact-info-item svg{width:22px;height:22px;color:var(--color-accent);flex:0 0 auto;margin-top: 3px;} .contact-info-item .label{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-light);font-weight:600;margin-bottom: var(--space-1);} .contact-info-item .value{font-size:1rem;color:var(--color-dark-brown);line-height:1.5;word-break:break-word;} .contact-info-item a.value{transition:color var(--transition-base);} .contact-info-item a.value:hover{color:var(--color-accent);} .contact-sub{margin-top: var(--space-2);font-size:0.85rem;color:var(--color-text-light);line-height:1.5;} .contact-sub a{color:var(--color-accent);font-weight:600;text-decoration:none;} .contact-sub a:hover{text-decoration:underline;} .contact-sub span{color:var(--color-text-light);} .contact-form{background:var(--color-white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding: var(--space-7) var(--space-7);box-shadow:var(--shadow-sm);} .contact-form label{display:block;padding: 0;background:none;border:none;color:var(--color-dark-brown);font-size:var(--fs-sm);font-weight:600;text-transform:none;letter-spacing:normal;margin-bottom: var(--space-2);} .contact-form input[type="text"],.contact-form input[type="email"],.contact-form select,.contact-form textarea{width:100%;padding: var(--space-3) var(--space-4);background:var(--color-white);border:1px solid var(--color-beige);border-radius:var(--radius-sm);font-size:0.95rem;color:var(--color-text);font-family:var(--font-body);transition:border-color var(--transition-base),box-shadow var(--transition-base);} .contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),0.15);} .contact-form textarea{resize:vertical;} .contact-form .required{color:var(--color-error);margin-left: 2px;} .contact-form .form-submit{margin-top: var(--space-1);align-self:flex-start;cursor:pointer;} .contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap: var(--space-5);margin-bottom: var(--space-5);} .contact-form>form>.form-group{margin-bottom: var(--space-5);} @media(max-width:560px){.contact-form .form-row{grid-template-columns:1fr;margin-bottom: var(--space-5);}} .contact-form-status[data-state="success"]{background:var(--color-success-bg);color:var(--color-success-text);} .contact-form-status[data-state="error"]{background:var(--color-error-bg);color:var(--color-error-text);} .contact-form-status[data-state="warning"]{background:var(--color-warning-bg);color:var(--color-warning-text);} .contact-intent-note{margin: 0 0 var(--space-5);padding: var(--space-3) var(--space-4);background:var(--color-cream);border-left: 3px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--fs-sm);line-height:1.6;color:var(--color-text-light);} .contact-intent-note[hidden]{display:none;} .contact-info .contact-eyebrow{margin-top: var(--space-7);margin-bottom: var(--space-5);} .btn-primary:active, .btn-secondary:active { box-shadow: 0 2px 8px rgba(var(--shadow-rgb), 0.28); } h1, h2, h3 { text-wrap: balance; } p { text-wrap: pretty; } .spec-table th, .spec-table td { font-variant-numeric: tabular-nums; } .contact-info.contact-panel{ gap: 0; } .panel-title{ font-family: var(--font-display); font-size: clamp(1.5rem, 2.6vw, 1.95rem); color: var(--color-dark-brown); line-height: 1.18; margin: 0 0 6px; } .panel-sub{ margin: 0 0 var(--space-6); color: var(--color-text-light); font-size: 0.92rem; line-height: 1.6; max-width: 34ch; } .contact-info-item > svg{ width: 46px; height: 46px; padding: 12px; background: rgba(var(--accent-rgb), 0.10); border-radius: var(--radius-md); color: var(--color-accent); flex: 0 0 auto; margin-top: 0; box-sizing: border-box; } .fast-badge{ display: inline-block; margin-left: var(--space-2); padding: 2px 8px; border-radius: 999px; background: rgba(var(--accent-rgb), 0.12); color: var(--color-accent); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; vertical-align: middle; text-decoration: none; transition: background var(--transition-base); } .contact-info-item.whatsapp-feature{ background: rgba(var(--accent-rgb), 0.06); border: 1px solid rgba(var(--accent-rgb), 0.28); border-radius: var(--radius-md); padding: var(--space-4); } .contact-info-item.whatsapp-feature .label{ color: var(--color-dark-brown); } .wa-cta{ display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-2); padding: 10px 16px; background: var(--color-accent); color: #fff; border-radius: var(--radius-sm); font-weight: 600; font-size: 0.95rem; line-height: 1.2; text-decoration: none; transition: filter var(--transition-base), transform var(--transition-base); } .wa-cta:hover{ filter: brightness(0.93); } .wa-cta:active{ transform: translateY(1px) scale(0.98); } .wa-number{ display: block; margin-top: var(--space-2); font-size: 0.9rem; color: var(--color-text-light); } html{scroll-padding-top:var(--nav-height);} .application-card-media { padding: 0; overflow: hidden; text-align: left; display: flex; flex-direction: column; border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); background: var(--color-white); transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); height: 100%; } .application-card-media:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--border-accent); } .application-card-media-img { position: relative; line-height: 0; background: var(--color-beige); width: 100%; aspect-ratio: 16 / 10; flex: 0 0 auto; overflow: hidden; } .application-card-media-img img { width: 100%; height: 100%; object-fit: cover; display: block; } .application-card-media-icon { position: absolute; top: var(--space-4); left: var(--space-4); z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--color-accent); color: #fff; box-shadow: var(--shadow-md); } .application-card-media-icon svg { width: 22px; height: 22px; } .application-card-media-body { padding: var(--space-7); display: flex; flex-direction: column; align-items: flex-start; flex: 1; text-align: left; background: var(--color-white); } .application-card-media .application-card-title { margin-bottom: var(--space-2); } .application-card-media .application-card-desc { margin-bottom: var(--space-4); } .application-card-media .application-card-link { margin-top: auto; } .category-card-media { padding: 0; overflow: hidden; text-align: left; position: relative; height: 260px; border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); background: var(--color-beige); transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); } .category-card-media:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--border-accent); } .category-card-media-img { position: absolute; inset: 0; line-height: 0; } .category-card-media-img img { width: 100%; height: 100%; object-fit: cover; display: block; } .category-card-media-icon { position: absolute; top: var(--space-4); left: var(--space-4); z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius-md); background: var(--color-accent); color: #fff; box-shadow: var(--shadow-md); } .category-card-media-icon svg { width: 22px; height: 22px; } .category-card-media-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: var(--space-6) var(--space-5) var(--space-5); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1); background: linear-gradient(to top, rgba(38,28,20,0.88) 0%, rgba(38,28,20,0.72) 45%, rgba(38,28,20,0) 100%); } .category-card-media-body .category-name { color: #fff; font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; line-height: 1.25; margin: 0; text-shadow: 0 1px 2px rgba(0,0,0,0.35); } .category-card-media-body .category-desc { color: rgba(255,255,255,0.86); font-size: 0.8rem; line-height: 1.45; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }