:root { --background: #f4faff; --surface: #ffffff; --surface-low: #e9f6fd; --surface-mid: #e3f0f8; --surface-high: #ddeaf2; --text: #111d23; --text-muted: #40493e; --primary: #126d27; --primary-strong: #0a4f1b; --primary-soft: #9ff79f; --secondary: #ff9800; --secondary-soft: #ffdcbe; --tertiary-soft: #82db7e; --tertiary-panel: #64bb63; --border: #bfcaba; --shadow: 0 24px 60px rgba(18, 109, 39, 0.12); --font-body: "Manrope", "Avenir Next", "Segoe UI", sans-serif; --font-display: "Space Grotesk", "Avenir Next Condensed", "Trebuchet MS", sans-serif; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--background); color: var(--text); font-family: var(--font-body); } a { color: inherit; text-decoration: none; } img { max-width: 100%; display: block; } .page-shell { min-height: 100vh; } .container { width: min(1280px, calc(100vw - 48px)); margin: 0 auto; } .topbar { position: fixed; inset: 0 0 auto; z-index: 20; backdrop-filter: blur(18px); background: rgba(255, 255, 255, 0.86); border-bottom: 1px solid rgba(191, 202, 186, 0.7); } .topbar-inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; } .brand { display: inline-flex; align-items: center; gap: 14px; font-family: var(--font-display); font-size: 1.65rem; font-weight: 700; letter-spacing: -0.03em; color: var(--primary); } .nav { display: flex; align-items: center; gap: 32px; } .nav a { font-size: 0.95rem; font-weight: 700; color: rgba(17, 29, 35, 0.72); transition: color 180ms ease; } .nav a:hover, .nav a:focus-visible { color: var(--primary); } .nav a.nav-active { color: var(--primary); } .button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 16px; border: 1px solid transparent; font-weight: 800; transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease; } .button:hover, .button:focus-visible { transform: translateY(-2px); } .button-primary { background: var(--primary); color: #fff; box-shadow: var(--shadow); } .button-primary:hover, .button-primary:focus-visible { background: var(--primary-strong); } .button-secondary { background: rgba(255, 255, 255, 0.9); border-color: var(--border); color: var(--primary); } .button-secondary:hover, .button-secondary:focus-visible { background: var(--surface-mid); } .button-accent { background: var(--secondary); color: #3d2200; } .hero { position: relative; min-height: 920px; padding-top: 80px; overflow: clip; } .hero-image-wrap { position: absolute; inset: 0; } .hero-image { object-fit: cover; object-position: center center; transform: scale(1.04); } .hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(233, 246, 253, 0.95) 0%, rgba(233, 246, 253, 0.82) 42%, rgba(233, 246, 253, 0.28) 72%, rgba(233, 246, 253, 0.14) 100%), linear-gradient(180deg, rgba(244, 250, 255, 0.12) 0%, rgba(244, 250, 255, 0.38) 100%); } .hero-content { position: relative; z-index: 1; min-height: calc(920px - 80px); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr); align-items: center; gap: 48px; } .hero-copy { max-width: 680px; } .eyebrow, .section-kicker { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border-radius: 999px; background: var(--primary-soft); color: #005318; font-size: 0.77rem; letter-spacing: 0.11em; text-transform: uppercase; font-weight: 800; } .hero-copy h1, .section-heading h2, .showcase-copy h2, .cta-inner h2 { margin: 20px 0 0; font-family: var(--font-display); letter-spacing: -0.04em; } .hero-copy h1 { max-width: 12ch; font-size: clamp(3.25rem, 7vw, 5.6rem); line-height: 0.98; } .hero-copy p, .showcase-copy p, .cta-inner p { margin: 24px 0 0; max-width: 42rem; color: rgba(17, 29, 35, 0.78); font-size: 1.08rem; line-height: 1.8; } .hero-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 38px; } .hero-panel { display: grid; gap: 18px; align-self: end; padding-bottom: 52px; } .hero-stat-card, .hero-highlight-grid article, .service-card, .mini-card, .showcase-stack figure { box-shadow: var(--shadow); } .hero-stat-card { padding: 28px; border: 1px solid rgba(191, 202, 186, 0.7); border-radius: 28px; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(10px); } .stat-label { display: block; color: var(--primary); font-size: 0.82rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; } .hero-stat-card strong { display: block; margin-top: 12px; font-family: var(--font-display); font-size: 1.8rem; line-height: 1.15; } .hero-stat-card p, .hero-highlight-grid p, .mini-card p, .service-body p, .bento-years p, .identity-copy p { margin: 12px 0 0; color: rgba(17, 29, 35, 0.72); line-height: 1.7; } .hero-highlight-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } .hero-highlight-grid article { padding: 24px; border-radius: 24px; background: rgba(255, 255, 255, 0.82); border: 1px solid rgba(191, 202, 186, 0.72); } .hero-highlight-grid span, .mini-icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 16px; background: rgba(18, 109, 39, 0.12); color: var(--primary); font-weight: 800; } .hero-highlight-grid h3, .identity-copy h3, .service-body h3, .bento-years h3, .mini-card h4 { margin: 16px 0 0; font-family: var(--font-display); } .section { padding: 112px 0; } .section-light { background: var(--surface); } .section-soft { background: linear-gradient(180deg, var(--surface) 0%, var(--surface-low) 100%); } .section-showcase { background: radial-gradient(circle at top left, rgba(159, 247, 159, 0.28), transparent 32%), var(--surface); } .section-heading { margin-bottom: 42px; } .section-heading-centered { text-align: center; } .section-heading-centered .section-kicker { margin-inline: auto; } .section-heading h2, .showcase-copy h2, .cta-inner h2 { font-size: clamp(2.1rem, 4vw, 3.4rem); line-height: 1.08; } .section-heading-split { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; } .section-side-note { max-width: 420px; margin: 0; color: rgba(17, 29, 35, 0.72); line-height: 1.75; } .bento-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; } .bento-identity, .bento-years, .mini-card { position: relative; overflow: hidden; border-radius: 32px; border: 1px solid rgba(191, 202, 186, 0.72); } .bento-identity { grid-column: span 8; min-height: 520px; background: var(--surface-mid); padding: 40px; display: flex; align-items: flex-end; } .media-backdrop { position: absolute; inset: 0; } .media-backdrop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(227, 240, 248, 0.1), rgba(227, 240, 248, 0.88)); } .media-image, .service-image, .showcase-image { object-fit: cover; } .identity-copy { position: relative; z-index: 1; max-width: 600px; } .identity-copy .section-kicker { background: rgba(255, 255, 255, 0.78); } .bento-years { grid-column: span 4; min-height: 520px; padding: 36px; background: linear-gradient(180deg, rgba(157, 248, 152, 0.14), rgba(100, 187, 99, 0.92)), var(--tertiary-panel); display: flex; flex-direction: column; justify-content: space-between; color: #05390d; } .icon-badge { display: inline-flex; align-items: center; justify-content: center; width: 78px; height: 78px; border-radius: 24px; background: rgba(255, 255, 255, 0.48); font-family: var(--font-display); font-weight: 700; } .bento-years strong { display: block; font-size: clamp(3rem, 6vw, 4.6rem); line-height: 1; font-weight: 800; } .mini-card { grid-column: span 4; padding: 28px; background: var(--surface); } .mini-card-primary .mini-icon { background: rgba(159, 247, 159, 0.55); } .mini-card-secondary .mini-icon { background: rgba(255, 220, 190, 0.7); color: #693c00; } .mini-card-tertiary .mini-icon { background: rgba(157, 248, 152, 0.52); color: #005312; } .services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } .service-card { overflow: hidden; border-radius: 28px; background: var(--surface); border: 1px solid rgba(191, 202, 186, 0.64); } .service-image-wrap { position: relative; min-height: 280px; } .service-body { padding: 24px; } .service-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; } .service-badges span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; background: var(--surface-mid); color: var(--primary); font-size: 0.78rem; font-weight: 800; } .showcase-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 28px; align-items: center; } .showcase-stack { display: grid; grid-template-columns: 1.15fr 0.85fr; grid-template-rows: repeat(2, minmax(180px, 1fr)); gap: 18px; } .showcase-stack figure { position: relative; overflow: hidden; margin: 0; border-radius: 28px; min-height: 240px; } .showcase-tall { grid-row: 1 / span 2; } .cta-section { padding: 112px 0; background: radial-gradient(circle at top right, rgba(255, 220, 190, 0.3), transparent 24%), linear-gradient(135deg, #126d27 0%, #0c4f1b 100%); color: #fff; } .cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 28px; } .cta-kicker { background: rgba(255, 255, 255, 0.16); color: #fff; } .cta-inner p { color: rgba(255, 255, 255, 0.82); } .footer { background: #f8fbfc; border-top: 1px solid rgba(191, 202, 186, 0.72); } .footer-inner { min-height: 120px; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; } .footer-brand { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; color: var(--primary); } .footer p { margin: 8px 0 0; color: rgba(17, 29, 35, 0.64); } .footer-links { display: flex; flex-wrap: wrap; gap: 18px; color: rgba(17, 29, 35, 0.66); font-size: 0.95rem; font-weight: 700; } .about-hero { position: relative; min-height: 700px; padding-top: 80px; overflow: clip; } .about-hero-media { position: absolute; inset: 0; } .about-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(244, 250, 255, 0.96) 0%, rgba(244, 250, 255, 0.82) 44%, rgba(244, 250, 255, 0.28) 78%, rgba(244, 250, 255, 0.16) 100%), linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(227, 240, 248, 0.44)); } .about-hero-content { position: relative; z-index: 1; min-height: calc(700px - 80px); display: flex; flex-direction: column; justify-content: center; } .about-hero-content h1, .about-copy h2, .about-vision-card h3, .about-mission-intro h3, .about-purpose-body h3 { margin: 18px 0 0; font-family: var(--font-display); letter-spacing: -0.04em; } .about-hero-content h1 { max-width: 13ch; font-size: clamp(3rem, 6vw, 4.8rem); line-height: 1.02; } .about-hero-content p, .about-copy p, .about-vision-card p, .about-mission-intro p, .about-mission-card p, .about-purpose-body p { color: rgba(17, 29, 35, 0.78); line-height: 1.8; } .about-hero-content p { max-width: 44rem; margin: 24px 0 0; font-size: 1.08rem; } .about-history-grid, .about-purpose-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: center; } .about-copy h2 { font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.08; } .about-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; } .about-stat { border-left: 4px solid var(--secondary); padding-left: 18px; } .about-stat:last-child { border-left-color: var(--primary); } .about-stat strong { display: block; font-family: var(--font-display); font-size: 2rem; color: var(--primary); } .about-stat:first-child strong { color: var(--secondary); } .about-stat span { display: block; margin-top: 6px; color: rgba(17, 29, 35, 0.54); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.8rem; font-weight: 800; } .about-image-card, .about-purpose-card { position: relative; overflow: hidden; border-radius: 28px; border: 1px solid rgba(191, 202, 186, 0.72); background: var(--surface); box-shadow: var(--shadow); } .about-image-card { min-height: 420px; } .about-bento-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; } .about-vision-card, .about-mission-intro, .about-mission-card { border-radius: 28px; border: 1px solid rgba(191, 202, 186, 0.72); box-shadow: var(--shadow); } .about-vision-card { grid-column: span 8; padding: 36px; background: var(--surface); } .about-mark { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border-radius: 999px; background: rgba(255, 220, 190, 0.72); color: #693c00; font-size: 0.8rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; } .about-mission-intro { grid-column: span 4; padding: 36px; background: linear-gradient(180deg, var(--primary) 0%, var(--primary-strong) 100%); color: #fff; } .section-kicker-inverse { background: rgba(255, 255, 255, 0.14); color: #fff; } .about-mission-intro p, .about-mission-intro h3 { color: #fff; } .about-mission-card { grid-column: span 4; padding: 28px; background: var(--surface); } .about-mission-card h4 { margin: 18px 0 0; font-family: var(--font-display); font-size: 1.35rem; } .about-purpose-card { display: grid; grid-template-columns: minmax(220px, 0.95fr) minmax(0, 1.05fr); } .about-purpose-media { position: relative; min-height: 360px; } .about-purpose-body { padding: 30px; } .contact-hero { position: relative; min-height: 480px; padding-top: 80px; display: flex; align-items: center; overflow: clip; } .contact-hero-media { position: absolute; inset: 0; } .contact-hero-image { object-fit: cover; filter: saturate(0.95); } .contact-hero-overlay { position: absolute; inset: 0; background: rgba(18, 109, 39, 0.34); backdrop-filter: brightness(0.75); } .contact-hero-content { position: relative; z-index: 1; text-align: center; } .contact-hero-content h1, .contact-form-card h2, .contact-newsletter h2 { margin: 0; font-family: var(--font-display); letter-spacing: -0.04em; } .contact-hero-content h1 { max-width: 16ch; margin-inline: auto; color: #fff; font-size: clamp(2.6rem, 5vw, 4.3rem); line-height: 1.06; } .contact-hero-content p { max-width: 50rem; margin: 18px auto 0; color: rgba(255, 255, 255, 0.9); font-size: 1.08rem; line-height: 1.8; } .contact-grid { display: grid; grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr); gap: 48px; } .contact-sidebar { display: grid; gap: 28px; } .contact-list { display: grid; gap: 24px; } .contact-item { display: flex; align-items: flex-start; gap: 16px; } .contact-item h3 { margin: 0; font-family: var(--font-display); font-size: 1.35rem; color: var(--primary); } .contact-item p { margin: 8px 0 0; color: rgba(17, 29, 35, 0.72); line-height: 1.7; } .contact-icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; flex: 0 0 auto; border-radius: 16px; background: rgba(159, 247, 159, 0.52); color: var(--primary); font-weight: 800; } .contact-map-card, .contact-form-card, .contact-newsletter { border: 1px solid rgba(191, 202, 186, 0.72); box-shadow: var(--shadow); } .contact-map-card { position: relative; min-height: 300px; overflow: hidden; border-radius: 28px; } .contact-map-image { object-fit: cover; filter: grayscale(1); opacity: 0.5; } .contact-map-badge { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 14px 22px; border-radius: 999px; background: rgba(255, 255, 255, 0.96); color: var(--primary); font-weight: 800; border: 1px solid rgba(18, 109, 39, 0.14); white-space: nowrap; } .contact-form-card { padding: 40px; border-radius: 32px; background: var(--surface); } .contact-form { display: grid; gap: 22px; margin-top: 28px; } .contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; } .contact-field { display: grid; gap: 8px; } .contact-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; } .contact-field span { color: rgba(17, 29, 35, 0.64); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.8rem; font-weight: 800; } .contact-field input, .contact-field select, .contact-field textarea, .contact-newsletter-form input { width: 100%; min-height: 56px; padding: 0 16px; border-radius: 16px; border: 1px solid rgba(191, 202, 186, 0.9); background: var(--background); color: var(--text); font: inherit; outline: 0; transition: border-color 180ms ease, box-shadow 180ms ease; } .contact-field textarea { min-height: 160px; padding: 16px; resize: vertical; } .contact-captcha-card { display: grid; gap: 14px; padding: 18px; border-radius: 20px; border: 1px dashed rgba(18, 109, 39, 0.28); background: rgba(233, 246, 253, 0.7); } .contact-captcha-copy span { display: block; color: rgba(17, 29, 35, 0.64); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.8rem; font-weight: 800; } .contact-captcha-copy strong { display: block; margin-top: 6px; font-family: var(--font-display); font-size: 1.15rem; color: var(--primary); } .contact-captcha-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; } .contact-captcha-row input { width: 100%; min-height: 56px; padding: 0 16px; border-radius: 16px; border: 1px solid rgba(191, 202, 186, 0.9); background: var(--surface); color: var(--text); font: inherit; outline: 0; } .contact-captcha-refresh { min-width: 120px; } .contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus, .contact-newsletter-form input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(18, 109, 39, 0.12); } .contact-submit { width: 100%; } .contact-submit:disabled { opacity: 0.7; cursor: wait; } .contact-submit-message { margin: 0; padding: 14px 16px; border-radius: 16px; font-weight: 700; } .contact-submit-message-success { background: rgba(159, 247, 159, 0.36); color: #0a4f1b; } .contact-submit-message-error { background: rgba(255, 218, 214, 0.72); color: #93000a; } .contact-newsletter { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 36px; border-radius: 40px; background: var(--surface-mid); } .contact-newsletter p { margin: 12px 0 0; color: rgba(17, 29, 35, 0.72); line-height: 1.75; } .contact-newsletter-form { display: flex; align-items: center; gap: 12px; width: min(100%, 470px); } .contact-newsletter-form input { background: var(--surface); } .services-page-shell { padding: 128px 0 80px; } .services-hero { max-width: 760px; margin: 0 auto 72px; text-align: center; } .services-kicker { display: block; margin-bottom: 14px; color: var(--secondary); text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.78rem; font-weight: 800; } .services-hero h1, .services-cta h2, .services-feature h3 { margin: 0; font-family: var(--font-display); letter-spacing: -0.04em; } .services-hero h1 { font-size: clamp(2.8rem, 6vw, 4.7rem); line-height: 1.02; } .services-hero h1 span { color: var(--primary); } .services-hero p, .services-cta p, .services-feature p, .services-stats-grid span { color: rgba(17, 29, 35, 0.68); line-height: 1.8; } .services-hero p { max-width: 46rem; margin: 20px auto 0; font-size: 1.08rem; } .services-bento-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; } .services-feature { border: 1px solid rgba(191, 202, 186, 0.72); background: var(--surface); box-shadow: var(--shadow); } .services-feature-large { grid-column: span 8; display: flex; justify-content: space-between; gap: 28px; padding: 32px; border-radius: 20px; background: var(--surface); } .services-feature-copy { flex: 1; } .services-feature-media { position: relative; width: 260px; min-width: 260px; border-radius: 20px; overflow: hidden; } .services-media-image { object-fit: cover; transition: transform 500ms ease; } .services-feature:hover .services-media-image { transform: scale(1.05); } .services-badge-icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: rgba(18, 109, 39, 0.1); color: var(--primary); font-weight: 800; } .services-badge-secondary { background: rgba(255, 152, 0, 0.14); color: #8b5000; } .services-badge-tertiary, .services-badge-market { background: rgba(100, 187, 99, 0.16); color: #106d20; } .services-feature h3 { margin-top: 18px; font-size: clamp(1.5rem, 2.5vw, 2rem); } .services-checklist { margin: 22px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; } .services-checklist li { position: relative; padding-left: 28px; color: rgba(17, 29, 35, 0.78); } .services-checklist li::before { content: "•"; position: absolute; left: 10px; color: var(--primary); font-weight: 800; } .services-inline-link { display: inline-flex; margin-top: 24px; font-weight: 800; color: var(--primary); } .services-link-secondary { color: #8b5000; } .services-link-tertiary { color: #106d20; } .services-feature-card { grid-column: span 4; overflow: hidden; border-radius: 20px; } .services-card-image { position: relative; min-height: 220px; } .services-card-tag { position: absolute; left: 16px; top: 16px; padding: 6px 10px; border-radius: 999px; background: rgba(102, 187, 106, 0.9); color: #004814; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .services-card-body { padding: 24px; } .services-card-body h3 { font-size: 1.5rem; } .services-feature-market { grid-column: span 8; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 28px; align-items: center; padding: 32px; border-radius: 20px; background: var(--surface-high); } .services-market-media { position: relative; min-height: 320px; border-radius: 20px; overflow: hidden; } .services-stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 24px 0; } .services-stats-grid div { padding: 16px; border-radius: 14px; background: rgba(255, 255, 255, 0.56); border: 1px solid rgba(255, 255, 255, 0.7); } .services-stats-grid strong { display: block; color: var(--primary); font-size: 1.8rem; font-family: var(--font-display); } .services-cta { position: relative; overflow: hidden; margin-top: 72px; padding: 48px; border-radius: 24px; background: var(--primary); color: #fff; text-align: center; } .services-cta-content { position: relative; z-index: 1; } .services-cta h2 { font-size: clamp(2rem, 4vw, 3rem); } .services-cta p { margin: 16px auto 0; max-width: 42rem; color: rgba(255, 255, 255, 0.88); } .services-cta-actions { display: flex; justify-content: center; gap: 16px; margin-top: 28px; flex-wrap: wrap; } .services-cta-primary { background: #fff; color: var(--primary); } .services-cta-secondary { background: transparent; border-color: rgba(255, 255, 255, 0.32); color: #fff; } .services-cta-orb { position: absolute; width: 260px; height: 260px; border-radius: 50%; filter: blur(60px); opacity: 0.2; } .services-cta-orb-green { right: -60px; bottom: -80px; background: #64bb63; } .services-cta-orb-orange { left: -60px; top: -80px; background: #ff9800; } @media (max-width: 1100px) { .hero-content, .showcase-grid, .about-history-grid, .about-purpose-grid, .contact-grid, .services-feature-large, .services-feature-market, .section-heading-split, .cta-inner, .services-grid { grid-template-columns: 1fr; display: grid; } .hero-content { padding: 72px 0; } .hero-panel { align-self: auto; padding-bottom: 0; } .bento-identity, .bento-years, .mini-card, .about-vision-card, .about-mission-intro, .about-mission-card, .services-feature-large, .services-feature-card, .services-feature-market { grid-column: span 12; } .services-grid { gap: 20px; } .about-purpose-card { grid-template-columns: 1fr; } .services-feature-media { width: 100%; min-width: 0; min-height: 260px; } .contact-form-grid, .contact-newsletter { grid-template-columns: 1fr; display: grid; } } @media (max-width: 820px) { .container { width: min(calc(100vw - 32px), 1280px); } .desktop-nav, .topbar-cta { display: none; } .topbar-inner { justify-content: center; } .hero { min-height: auto; } .about-hero { min-height: auto; } .contact-hero { min-height: 420px; } .services-page-shell { padding-top: 112px; } .hero-content { min-height: auto; } .about-hero-content { min-height: auto; padding: 88px 0; } .hero-copy h1 { max-width: 100%; } .hero-highlight-grid, .showcase-stack, .about-stats, .contact-form-grid, .services-stats-grid { grid-template-columns: 1fr; } .showcase-tall { grid-row: auto; } .section { padding: 88px 0; } .bento-identity, .bento-years, .about-image-card { min-height: 420px; } .footer-inner { align-items: start; flex-direction: column; } .contact-newsletter-form { width: 100%; flex-direction: column; align-items: stretch; } .contact-captcha-row { grid-template-columns: 1fr; } .services-cta-actions { flex-direction: column; } } @media (max-width: 560px) { .hero-actions, .cta-inner, .contact-newsletter, .services-feature-large { display: flex; flex-direction: column; align-items: stretch; } .button { width: 100%; } .bento-identity, .bento-years, .mini-card, .service-card, .contact-map-card, .contact-form-card, .contact-newsletter, .services-feature-card, .services-feature-market, .services-cta { border-radius: 24px; } .hero-stat-card, .hero-highlight-grid article, .showcase-stack figure { border-radius: 22px; } }