:root { --primary: #2d6a4f; --primary-light: #52b788; --accent: #f4a261; --dark: #1b4332; --text: #1d3557; --muted: #5c6b6a; --bg: #f0fdf4; --card: #fff; --border: #b7e4c7; --font: 'Inter', system-ui, sans-serif; --max: 76rem; } *, *::before, *::after { box-sizing: border-box; } body { margin: 0; font-family: var(--font); color: var(--text); background: var(--bg); line-height: 1.65; } img { max-width: 100%; height: auto; display: block; } a { color: var(--primary); } .container { width: min(100% - 2rem, var(--max)); margin-inline: auto; padding-inline: 1rem; } .page-wrap { padding-top: 5.5rem; } .nav-float { position: fixed; top: 1rem; left: 50%; transform: translateX(-50%); z-index: 200; width: min(calc(100% - 2rem), 52rem); } .nav-pill { display: flex; align-items: center; gap: 0.75rem; background: rgb(255 255 255 / 0.92); backdrop-filter: blur(12px); border: 1px solid var(--border); border-radius: 999px; padding: 0.5rem 0.75rem 0.5rem 1.25rem; box-shadow: 0 8px 32px rgb(45 106 79 / 0.12); position: relative; } .brand { font-weight: 800; font-size: 0.95rem; color: var(--dark); text-decoration: none; white-space: nowrap; } .nav-links { display: flex; gap: 1.25rem; list-style: none; margin: 0; padding: 0; flex: 1; justify-content: center; } .nav-links a { text-decoration: none; color: var(--muted); font-weight: 600; font-size: 0.875rem; } .nav-toggle { display: none; background: none; border: none; cursor: pointer; flex-direction: column; gap: 4px; margin-left: auto; } .nav-toggle span { width: 20px; height: 2px; background: var(--dark); border-radius: 2px; } .btn { display: inline-flex; align-items: center; padding: 0.55rem 1.15rem; border-radius: 999px; font-weight: 700; text-decoration: none; border: none; cursor: pointer; font-size: 0.875rem; } .btn-lg { padding: 0.85rem 1.75rem; font-size: 1rem; } .btn-primary { background: var(--primary); color: #fff; } .btn-block { width: 100%; border-radius: 12px; padding: 0.85rem; } .hero-center { position: relative; min-height: 85vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff; overflow: hidden; padding-bottom: 2rem; } .hero-bg { position: absolute; inset: 0; background: center/cover var(--hero-img); } .hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(27 67 50 / 0.75), rgb(27 67 50 / 0.92)); } .hero-content { position: relative; max-width: 42rem; padding: 2rem 1rem; } .hero-content .badge { display: inline-block; background: rgb(255 255 255 / 0.15); border: 1px solid rgb(255 255 255 / 0.3); padding: 0.35rem 1rem; border-radius: 999px; font-size: 0.75rem; font-weight: 700; margin-bottom: 1.25rem; } .hero-content h1 { font-size: clamp(2.25rem, 6vw, 3.5rem); line-height: 1.08; margin: 0 0 1rem; font-weight: 800; letter-spacing: -0.02em; } .hero-content p { font-size: 1.125rem; opacity: 0.92; margin: 0 0 2rem; max-width: 36rem; margin-inline: auto; } .stat-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 2.5rem; position: relative; z-index: 2; width: 100%; } .stat-pill { background: var(--card); border: 1px solid var(--border); border-radius: 16px; padding: 1rem 1.5rem; text-align: center; box-shadow: 0 4px 20px rgb(0 0 0 / 0.06); min-width: 7rem; } .stat-pill strong { display: block; font-size: 1.5rem; color: var(--primary); } .stat-pill span { font-size: 0.75rem; color: var(--muted); font-weight: 600; } .section { padding: 4rem 0 5rem; } .section-head { text-align: center; margin-bottom: 2.5rem; } .section-head h2 { font-size: clamp(1.75rem, 3vw, 2.35rem); margin: 0 0 0.5rem; color: var(--dark); font-weight: 800; } .section-head p { color: var(--muted); margin: 0; } .bento { display: grid; gap: 1rem; grid-template-columns: 1fr; } @media (min-width: 768px) { .bento { grid-template-columns: 1.15fr 1fr; grid-template-rows: 210px 210px; align-items: stretch; } .bento-card--featured { grid-row: 1 / span 2; min-height: 432px; } } .bento-card { position: relative; border-radius: 20px; overflow: hidden; background: var(--card); border: 1px solid var(--border); min-height: 210px; } .bento-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } .bento-card--featured { min-height: 280px; } @media (min-width: 768px) { .bento-card--featured { min-height: 432px; } } .bento-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.25rem 1.5rem; background: linear-gradient(transparent, rgb(0 0 0 / 0.8)); color: #fff; } .bento-caption h3 { margin: 0 0 0.25rem; font-size: 1.125rem; } .bento-caption p { margin: 0; font-size: 0.875rem; opacity: 0.9; } .timeline-section { background: var(--card); border-radius: 24px; width: min(100% - 2rem, var(--max)); margin: 0 auto 4rem; padding: 3rem 1.5rem; border: 1px solid var(--border); box-sizing: border-box; } @media (min-width: 768px) { .timeline-section { padding: 3rem; } } .timeline-section h2 { text-align: center; margin: 0 0 2.5rem; font-size: 1.75rem; color: var(--dark); } .timeline { display: grid; gap: 0; position: relative; } @media (min-width: 768px) { .timeline { grid-template-columns: repeat(3, 1fr); } .timeline::before { content: ''; position: absolute; top: 1.75rem; left: 15%; right: 15%; height: 2px; background: repeating-linear-gradient(90deg, var(--primary-light), var(--primary-light) 8px, transparent 8px, transparent 16px); } } .timeline-item { text-align: center; padding: 0 1rem 1.5rem; position: relative; } .timeline-dot { width: 3.5rem; height: 3.5rem; margin: 0 auto 1rem; background: var(--bg); border: 3px solid var(--primary-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.35rem; position: relative; z-index: 1; } .timeline-item h3 { margin: 0 0 0.35rem; font-size: 1rem; color: var(--dark); } .timeline-item p { margin: 0; font-size: 0.875rem; color: var(--muted); } .form-section { background: var(--dark); color: #fff; padding: 5rem 0; } .form-section h2 { margin: 0 0 0.5rem; font-size: 1.75rem; } .form-section .lead { opacity: 0.85; margin: 0 0 2rem; } .form-card { background: var(--card); color: var(--text); border-radius: 20px; padding: 2rem; max-width: 36rem; margin-inline: auto; border-left: 5px solid var(--primary-light); } .inquiry-form label { display: block; font-size: 0.8125rem; font-weight: 700; margin-bottom: 1rem; color: var(--dark); } .inquiry-form input, .inquiry-form select, .inquiry-form textarea { width: 100%; margin-top: 0.35rem; padding: 0.7rem 0.85rem; border: 1px solid var(--border); border-radius: 10px; font: inherit; background: var(--bg); } .field-row { display: grid; } @media (min-width: 500px) { .field-row { grid-template-columns: 1fr 1fr; gap: 1rem; } } .form-success { text-align: center; padding: 2rem; } .form-success h3 { color: var(--primary); } .footer { padding: 1.5rem; text-align: center; font-size: 0.875rem; color: var(--muted); } @media (max-width: 768px) { .nav-toggle { display: flex; } .nav-links { display: none; position: absolute; top: calc(100% + 0.5rem); left: 0; right: 0; background: #fff; border-radius: 16px; padding: 1rem; flex-direction: column; border: 1px solid var(--border); box-shadow: 0 8px 24px rgb(0 0 0 / 0.1); } .nav-links.is-open { display: flex; } .nav-pill .btn-primary { display: none; } .nav-float { width: calc(100% - 1.5rem); } } html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; } body { overflow-x: hidden; } .container, .section, main { max-width: 100%; } @media (max-width: 768px) { .btn, .nav-links a, .nav-pills a { min-height: 44px; align-items: center; } .section { padding-block: 3rem; } .form-panel, .form-card, .form-elegant, .inquiry-float { padding: 1.25rem; } .inquiry-sidebar { padding: 2rem 1.25rem; } .form-area { padding: 2rem 1.25rem; } .hero-split { min-height: auto; } .hero-panel { padding: 2.5rem 0; } .hero-visual { min-height: 40vh; } .hero-center { min-height: auto; padding: 6rem 0 2.5rem; } .hero-portal { min-height: auto; padding-bottom: 2rem; } .hero-top { padding-top: 3rem; } .hero-img-wrap img { height: 40vh; min-height: 220px; } .product-row--reverse .product-row-img, .product-row--reverse .product-row-body { order: unset; } .product-num { font-size: 2.5rem; } .stat-pill { min-width: calc(50% - 0.5rem); flex: 1 1 calc(50% - 0.5rem); } .nav-float { top: 0.5rem; } .page-wrap { padding-top: 4.75rem; } .tab-label { flex: 1 1 auto; text-align: center; border-radius: 8px !important; margin-bottom: 0.25rem; } .tab-row { gap: 0.35rem; } } @media (min-width: 1200px) { .container { width: min(100% - 3rem, var(--max)); } } .inquiry-form input, .inquiry-form select, .inquiry-form textarea { max-width: 100%; }