:root {
    --green-dark: #123527;
    --green-deep: #0d291e;
    --green: #285f44;
    --green-soft: #dfe9e1;
    --gold: #c7a14d;
    --gold-light: #f1e4c6;
    --cream: #f6f2e8;
    --cream-light: #fbf9f4;
    --white: #ffffff;
    --text: #202820;
    --text-light: #667067;
    --border: #e2e5df;
    --hacienda: #1f4ca3;
    --rey: #aa8129;
    --triunfo: #206942;
    --container: 1180px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: Inter, Arial, Helvetica, sans-serif;
    color: var(--text);
    background: var(--white);
    line-height: 1.65;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
.container { width: min(90%, var(--container)); margin: auto; }

/* HEADER */
.header {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 20;
    border-bottom: 1px solid rgba(255,255,255,.18);
}
.nav {
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.group-brand { display: inline-flex; flex-direction: column; line-height: .95; }
.group-kicker {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 4px;
    color: var(--gold);
    margin-bottom: 5px;
}
.group-name {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -.8px;
    color: var(--white);
}
.navigation { display: flex; gap: 30px; }
.navigation a {
    font-size: 14px;
    font-weight: 600;
    color: var(--white);
    transition: color .2s, opacity .2s;
}
.navigation a:hover { color: var(--gold-light); }

/* HERO */
.hero {
    min-height: 830px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(9,38,27,.96) 0%, rgba(11,45,32,.84) 47%, rgba(10,37,27,.32) 100%),
        url("/images/arroz-campo-ecuador.webp");
    background-size: cover;
    background-position: center;
}
.hero-content { color: var(--white); padding-top: 90px; }
.hero-eyebrow, .section-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
    color: var(--gold);
}
.hero h1 {
    max-width: 860px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(58px, 7.7vw, 102px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -4px;
}
.hero h1 span {
    display: block;
    max-width: 760px;
    margin-top: 18px;
    font-size: .56em;
    line-height: 1.05;
    letter-spacing: -2px;
    color: var(--gold-light);
}
.hero p {
    max-width: 670px;
    margin-top: 30px;
    font-size: 18px;
    color: rgba(255,255,255,.86);
}
.hero-buttons { display: flex; gap: 14px; margin-top: 36px; }
.btn {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 28px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 750;
    transition: transform .2s, background .2s;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--gold); color: var(--green-deep); }
.btn-outline { border: 1px solid rgba(255,255,255,.55); color: var(--white); }
.btn-outline-dark { border: 1px solid var(--green-dark); color: var(--green-dark); }
.btn-light { background: var(--white); color: var(--green-dark); }

/* INTRO */
.intro { padding: 115px 0; background: var(--cream); }
.intro-grid {
    display: grid;
    grid-template-columns: 1fr .8fr;
    gap: 90px;
    align-items: start;
}
.intro h2, .section-heading h2, .industry-content h2, .contact-content h2, .cta-content h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    line-height: 1.08;
}
.intro h2 { font-size: clamp(42px, 5vw, 68px); color: var(--green-dark); }
.intro-copy p { color: var(--text-light); font-size: 17px; }
.intro-copy p + p { margin-top: 22px; }

/* COMMON */
.section-heading { max-width: 760px; margin-bottom: 58px; }
.section-heading h2 { font-size: clamp(38px, 4vw, 56px); color: var(--green-dark); }
.section-heading p { margin-top: 18px; color: var(--text-light); }
.centered { text-align: center; margin-left: auto; margin-right: auto; }

/* FOCUS */
.focus-section { padding: 115px 0; background: var(--white); }
.focus-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.focus-card {
    padding: 38px 34px;
    border: 1px solid var(--border);
    background: var(--cream-light);
}
.focus-number {
    display: block;
    margin-bottom: 24px;
    color: var(--gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}
.focus-card h3 {
    font-family: Georgia, serif;
    font-size: 28px;
    color: var(--green-dark);
}
.focus-card p { margin-top: 15px; color: var(--text-light); font-size: 15px; }

/* INDUSTRY */
.industry-section { padding: 125px 0; background: var(--green-dark); color: var(--white); }
.industry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; }
.industry-logo { width: 220px; max-height: 92px; object-fit: contain; margin-bottom: 28px; }
.industry-content h2 { font-size: clamp(44px, 5vw, 66px); }
.industry-content p { margin-top: 22px; color: rgba(255,255,255,.76); font-size: 17px; }
.industry-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.industry-tags span {
    padding: 8px 14px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 30px;
    font-size: 12px;
}
.industry-image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }

/* BRANDS */
.brands-section { padding: 120px 0 135px; background: var(--cream); }
.brands-heading {
    max-width: none;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 40px;
}
.brands-heading > div { max-width: 700px; }
.text-link { color: var(--green); font-weight: 750; white-space: nowrap; padding-bottom: 8px; }
.brand-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.product-card {
    overflow: hidden;
    background: var(--white);
    border: 1px solid rgba(0,0,0,.06);
    transition: transform .25s ease, box-shadow .25s ease;
}
.product-card:hover { transform: translateY(-7px); box-shadow: 0 22px 60px rgba(0,0,0,.08); }
.brand-hacienda { border-top: 5px solid var(--hacienda); }
.brand-rey { border-top: 5px solid var(--rey); }
.brand-triunfo { border-top: 5px solid var(--triunfo); }
.product-image {
    height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: linear-gradient(180deg, #f2eee4 0%, #fbfaf6 100%);
}
.product-image img { width: 100%; height: 100%; object-fit: contain; }
.product-content { padding: 30px 30px 36px; }
.product-type { font-size: 10px; font-weight: 850; letter-spacing: 1.4px; color: var(--gold); }
.brand-hacienda .product-type { color: var(--hacienda); }
.brand-rey .product-type { color: var(--rey); }
.brand-triunfo .product-type { color: var(--triunfo); }
.product-content h3 {
    margin-top: 10px;
    font-family: Georgia, serif;
    font-size: 29px;
    line-height: 1.15;
    color: var(--green-dark);
}
.product-content p { margin-top: 17px; color: var(--text-light); font-size: 15px; }

/* QUALITY */
.quality-section { padding: 120px 0; background: var(--white); }
.quality-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.quality-card { padding: 34px 26px; text-align: center; border: 1px solid var(--border); border-radius: 4px; }
.quality-badge {
    width: 78px;
    height: 78px;
    margin: 0 auto 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    background: var(--cream-light);
    border: 1px solid var(--border);
}
.quality-badge img { width: 57px; height: 57px; object-fit: contain; }
.quality-badge-text { color: var(--green-dark); font-size: 12px; font-weight: 850; letter-spacing: 1px; }
.quality-card h3 { color: var(--green-dark); font-size: 18px; }
.quality-card p { margin-top: 12px; color: var(--text-light); font-size: 14px; }
.quality-news-link { display: inline-block; margin-top: 13px; color: var(--green); font-weight: 750; font-size: 14px; }

/* CONTACT */
.contact-section { padding: 120px 0; background: var(--cream-light); }
.contact-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 60px; align-items: start; }
.contact-content h2 { font-size: clamp(44px, 5vw, 62px); color: var(--green-dark); }
.contact-content p { margin-top: 22px; max-width: 620px; color: var(--text-light); font-size: 17px; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.contact-card-box { padding: 34px 32px; background: var(--white); border: 1px solid var(--border); box-shadow: 0 12px 35px rgba(0,0,0,.04); }
.contact-card-box h3 { font-family: Georgia, serif; font-size: 27px; color: var(--green-dark); margin-bottom: 21px; }
.contact-list { list-style: none; }
.contact-list li { margin-bottom: 19px; color: var(--text-light); font-size: 15px; }
.contact-list a { color: var(--green); font-weight: 700; }

/* CTA */
.cta-section { padding: 95px 0; background: var(--gold); color: var(--green-dark); }
.cta-content { max-width: 900px; text-align: center; margin: auto; }
.cta-content > span { font-size: 11px; font-weight: 850; letter-spacing: 2.5px; }
.cta-content h2 { margin: 13px 0 30px; font-size: clamp(42px, 5vw, 67px); }

/* FOOTER */
.footer { padding: 78px 0 28px; background: var(--green-deep); color: rgba(255,255,255,.72); }
.footer-grid { display: grid; grid-template-columns: 1.5fr .9fr .9fr 1.2fr; gap: 48px; }
.footer-group-brand .group-name { color: var(--white); }
.footer h3 { margin-bottom: 15px; color: var(--white); font-size: 14px; }
.footer p { margin-top: 12px; font-size: 14px; }
.footer a { display: block; margin-bottom: 8px; font-size: 14px; }
.footer a:hover { color: var(--gold); }
.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 25px;
    margin-top: 58px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.1);
}

/* RESPONSIVE */
@media (max-width: 950px) {
    .navigation { display: none; }
    .hero { min-height: 720px; }
    .hero h1 { letter-spacing: -2px; }
    .intro-grid, .industry-grid, .contact-grid { grid-template-columns: 1fr; gap: 50px; }
    .focus-grid { grid-template-columns: 1fr; }
    .brand-grid { grid-template-columns: 1fr; }
    .product-card { display: grid; grid-template-columns: 1fr 1fr; }
    .quality-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
    .nav { height: 72px; }
    .group-name { font-size: 22px; }
    .hero { min-height: 700px; }
    .hero h1 { font-size: 54px; }
    .hero h1 span { font-size: .52em; }
    .hero p { font-size: 16px; }
    .hero-buttons, .contact-actions { flex-direction: column; align-items: flex-start; }
    .brands-heading { display: block; }
    .brands-heading .text-link { display: inline-block; margin-top: 20px; }
    .product-card { display: block; }
    .product-image { height: 390px; }
    .quality-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .footer-bottom { flex-direction: column; }
}
