/* ═══════════════════════════════════════════════════════════
   pages.css — Page-specific layout and component styles
   ═══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════
   HOME PAGE
══════════════════════════════════ */

/* About Strip */
.home-about { display:grid; grid-template-columns:1fr 1fr; min-height:88vh; }
.home-about-img {
  position:relative; overflow:hidden;
  background-size:cover; background-position:center top; background-repeat:no-repeat;
}
.home-about-img .img-tint { position:absolute; inset:0; background:linear-gradient(to right, transparent 55%, var(--white) 100%); }
.home-about-badge { position:absolute; bottom:3rem; left:3rem; background:var(--gold); padding:1.8rem 2rem; z-index:2; }
.home-about-badge-top { font-family:var(--font-display); font-size:2.2rem; font-weight:400; color:var(--earth); line-height:1; }
.home-about-badge-lbl { font-family:var(--font-sans); font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--earth); margin-top:0.3rem; }
.home-about-text { padding:8rem 5rem 6rem 4rem; display:flex; flex-direction:column; justify-content:center; background:var(--white); }

/* Feature Grid */
.feature-grid-wrap { padding:9rem 6rem; background:var(--cream-dark); }
.feature-grid-header { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:5rem; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:400px 400px; gap:3px; }
.fg-item { position:relative; overflow:hidden; cursor:pointer; }
.fg-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.8s ease; }
.fg-item:hover img { transform:scale(1.1); }
.fg-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(20,12,5,0.9) 0%,transparent 55%); transition:all 0.4s; }
.fg-item:hover .fg-overlay { background:linear-gradient(to top,rgba(20,12,5,0.95) 0%,rgba(20,12,5,0.3) 100%); }
.fg-item.featured { grid-column:span 2; }
.fg-content { position:absolute; bottom:0; left:0; right:0; padding:2.5rem 2rem; }
.fg-tag { display:inline-block; margin-bottom:0.6rem; font-family:var(--font-sans); font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--gold); background:rgba(201,150,42,0.12); border:1px solid rgba(201,150,42,0.3); padding:0.25rem 0.7rem; }
.fg-title { font-family:var(--font-display); font-size:1.6rem; font-weight:400; color:var(--cream); line-height:1.15; }
.fg-item.featured .fg-title { font-size:2.2rem; }
.fg-desc { font-family:var(--font-sans); font-size:0.82rem; font-weight:300; color:rgba(245,237,216,0.7); line-height:1.65; margin-top:0.5rem; max-height:0; overflow:hidden; transition:max-height 0.45s ease; }
.fg-item:hover .fg-desc { max-height:100px; }
.fg-arrow { display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--font-sans); font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-top:0.8rem; opacity:0; transform:translateY(8px); transition:all 0.3s ease 0.1s; cursor:pointer; background:none; border:none; }
.fg-item:hover .fg-arrow { opacity:1; transform:translateY(0); }

/* Orchard Tease */
.orchard-tease { display:grid; grid-template-columns:1.1fr 1fr; min-height:85vh; background:var(--cream-dark); }
.ot-img { position:relative; overflow:hidden; background-size:cover; background-position:center; }
.ot-img-tint { position:absolute; inset:0; background:linear-gradient(to right, transparent 50%, var(--cream-dark) 100%); }
.ot-accent { position:absolute; bottom:3rem; right:-1.5rem; width:45%; border:6px solid var(--white); box-shadow:var(--shadow-lg); }
.ot-text { padding:7rem 5rem 7rem 4rem; display:flex; flex-direction:column; justify-content:center; }
.fruit-pills { display:flex; flex-wrap:wrap; gap:0.7rem; margin:1.8rem 0; }
.fruit-pill { font-family:var(--font-sans); font-size:0.75rem; font-weight:300; letter-spacing:0.1em; padding:0.45rem 1rem; border:1px solid rgba(201,150,42,0.35); color:var(--earth-light); background:white; transition:all 0.3s; cursor:default; }
.fruit-pill:hover { background:var(--gold); border-color:var(--gold); color:var(--earth); }

/* Animals Showcase */
.animals-showcase { padding:9rem 6rem; background:var(--earth); }
.animals-header { text-align:center; margin-bottom:5rem; }
.animals-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; max-width:1400px; margin:0 auto; }
.animal-card { position:relative; overflow:hidden; aspect-ratio:3/4; cursor:pointer; }
.animal-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.7s ease; }
.animal-card:hover img { transform:scale(1.12); }
.animal-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(15,9,3,0.88) 0%,transparent 55%); }
.animal-foot { position:absolute; bottom:0; left:0; right:0; padding:2rem 1.5rem; }
.animal-icon { font-size:1.8rem; margin-bottom:0.4rem; display:block; }
.animal-name { font-family:var(--font-display); font-size:1.3rem; font-weight:400; color:var(--cream); }
.animal-desc { font-family:var(--font-sans); font-size:0.78rem; font-weight:300; color:rgba(245,237,216,0.65); line-height:1.5; margin-top:0.3rem; max-height:0; overflow:hidden; transition:max-height 0.4s; }
.animal-card:hover .animal-desc { max-height:80px; }

/* Sustainability Preview */
.sustain-preview { display:grid; grid-template-columns:1fr 1fr; min-height:80vh; }
.sp-img { position:relative; overflow:hidden; background-size:cover; background-position:center; }
.sp-img::before { content:''; position:absolute; inset:0; background:rgba(46,62,34,0.3); }
.sp-badge { position:absolute; top:3rem; right:3rem; width:140px; height:140px; border-radius:50%; background:var(--gold); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.sp-badge-num { font-family:var(--font-display); font-size:2.2rem; font-weight:400; color:var(--earth); line-height:1; }
.sp-badge-lbl { font-family:var(--font-sans); font-size:0.6rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--earth); margin-top:0.2rem; }
.sp-text { background:var(--moss-dark); padding:7rem 5rem; display:flex; flex-direction:column; justify-content:center; }
.sp-pillars { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:2.5rem; }
.sp-pillar { padding:1.6rem 1.4rem; border:1px solid rgba(201,150,42,0.18); background:rgba(255,255,255,0.04); transition:all 0.3s; }
.sp-pillar:hover { border-color:var(--gold); background:rgba(201,150,42,0.08); }
.sp-pillar-icon { font-size:1.6rem; margin-bottom:0.5rem; }
.sp-pillar-title { font-family:var(--font-sans); font-size:0.8rem; font-weight:400; letter-spacing:0.1em; text-transform:uppercase; color:var(--cream); margin-bottom:0.3rem; }
.sp-pillar-text { font-family:var(--font-serif); font-size:0.88rem; font-weight:300; color:rgba(201,169,122,0.75); line-height:1.65; }

/* Immersive Quote */
.immersive-quote { min-height:70vh; background-attachment:fixed; background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; padding:8rem 4rem; text-align:center; }
.iq-inner { max-width:860px; }
.iq-mark { font-family:var(--font-display); font-size:6rem; color:rgba(201,150,42,0.2); line-height:0; margin-bottom:2rem; display:block; font-style:italic; }
.iq-text { font-family:var(--font-display); font-size:clamp(1.6rem,3.5vw,2.8rem); font-style:italic; color:var(--cream); line-height:1.4; font-weight:400; }
.iq-attr { font-family:var(--font-sans); font-size:0.72rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-top:2rem; }

/* Vision Cards */
.vision-section { padding:9rem 6rem; background:var(--cream); }
.vs-header { max-width:700px; margin:0 auto 5rem; text-align:center; }
.vs-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; max-width:1400px; margin:0 auto; }
.vs-card { padding:3rem 2.2rem; background:white; text-align:center; border-bottom:3px solid transparent; transition:all 0.35s; position:relative; overflow:hidden; }
.vs-card:hover { border-bottom-color:var(--gold); box-shadow:var(--shadow-md); transform:translateY(-8px); }
.vs-icon { font-size:2.8rem; margin-bottom:1.2rem; }
.vs-title { font-family:var(--font-display); font-size:1.25rem; font-weight:400; color:var(--earth); margin-bottom:0.6rem; }
.vs-text { font-family:var(--font-sans); font-size:0.82rem; font-weight:300; color:var(--text-mid); line-height:1.75; }

/* Family Legacy Parallax */
.legacy-section { min-height:100vh; background-attachment:fixed; background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; padding:10rem 4rem; text-align:center; }
.leg-inner { max-width:900px; }
.leg-title { font-family:var(--font-display); font-size:clamp(2.8rem,6vw,5.5rem); font-weight:400; color:var(--cream); line-height:1.1; margin:1.5rem 0; }
.leg-amp { font-style:italic; color:var(--gold-light); }
.leg-children { display:flex; justify-content:center; gap:4rem; margin:2.5rem 0; flex-wrap:wrap; }
.leg-child { font-family:var(--font-serif); font-size:1.15rem; font-style:italic; color:var(--sand); display:flex; align-items:center; gap:0.6rem; }
.leg-child::before { content:'✦'; font-size:0.55rem; color:var(--gold); }

/* Gallery Preview */
.gallery-preview { padding:9rem 6rem; background:var(--earth-deep); }
.gp-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3.5rem; }
.gallery-mosaic { display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:280px 280px; gap:4px; max-width:1400px; margin:0 auto; }
.gm-item { position:relative; overflow:hidden; cursor:pointer; }
.gm-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.65s ease; }
.gm-item:hover img { transform:scale(1.1); }
.gm-item::after { content:''; position:absolute; inset:0; background:rgba(201,150,42,0); transition:background 0.4s; }
.gm-item:hover::after { background:rgba(201,150,42,0.12); }
.gm-1{grid-column:span 5;} .gm-2{grid-column:span 3;} .gm-3{grid-column:span 4;}
.gm-4{grid-column:span 3;} .gm-5{grid-column:span 4;} .gm-6{grid-column:span 5;}

/* Testimonials */
.testimonials-section { padding:9rem 6rem; background:linear-gradient(135deg,var(--dusk-dark),var(--dusk)); text-align:center; }
.tst-track { position:relative; max-width:860px; margin:3rem auto; }
.tst-slide { display:none; }
.tst-slide.active { display:block; }
.tst-q { font-family:var(--font-display); font-size:7rem; color:rgba(201,150,42,0.15); line-height:0; margin-bottom:2rem; display:block; }
.tst-text { font-family:var(--font-display); font-size:clamp(1.4rem,2.8vw,2.2rem); font-style:italic; color:var(--cream); line-height:1.45; }
.tst-author { font-family:var(--font-sans); font-size:0.72rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-top:1.8rem; }
.tst-dots { display:flex; justify-content:center; gap:0.8rem; margin-top:2.5rem; }
.tst-dot { width:8px; height:8px; border-radius:50%; background:rgba(201,150,42,0.3); cursor:pointer; transition:all 0.3s; border:none; }
.tst-dot.active { background:var(--gold); transform:scale(1.3); }

/* Contact Strip */
.contact-strip { display:grid; grid-template-columns:1fr 1fr; }
.cs-map { position:relative; min-height:600px; background-size:cover; background-position:center; }
.cs-map::after { content:''; position:absolute; inset:0; background:linear-gradient(to right, transparent 50%, var(--earth) 100%); }
.cs-pin { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:2; text-align:center; }
.cs-pin-dot { width:16px; height:16px; border-radius:50%; background:var(--gold); margin:0 auto 0.5rem; animation:pinPulse 2s infinite; }
.cs-pin-label { font-family:var(--font-sans); font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--cream); background:rgba(10,7,3,0.7); padding:0.3rem 0.7rem; white-space:nowrap; }
.cs-form { background:var(--earth); padding:7rem 5rem; display:flex; flex-direction:column; justify-content:center; }
.cs-details { display:flex; flex-direction:column; gap:1rem; margin:1.8rem 0; }
.cs-detail { display:flex; align-items:flex-start; gap:1rem; font-family:var(--font-sans); font-size:0.87rem; font-weight:300; color:var(--sand); line-height:1.6; }
.cs-icon { font-size:1rem; flex-shrink:0; margin-top:0.15rem; }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

/* ══════════════════════════════════
   ABOUT PAGE
══════════════════════════════════ */
.about-story { display:grid; grid-template-columns:1fr 1fr; min-height:90vh; }
.as-text { padding:8rem 5rem; background:var(--white); display:flex; flex-direction:column; justify-content:center; }
.as-img { position:relative; overflow:hidden; background-size:cover; background-position:center top; min-height:700px; }
.as-img-badge { position:absolute; bottom:3rem; right:3rem; background:rgba(10,7,3,0.85); backdrop-filter:blur(12px); border:1px solid rgba(201,150,42,0.3); padding:1.8rem 2rem; }
.as-badge-text { font-family:var(--font-serif); font-size:0.95rem; font-style:italic; color:var(--sand); line-height:1.6; }

/* Values */
.values-section { padding:9rem 6rem; background:var(--cream-dark); }
.values-header { text-align:center; max-width:700px; margin:0 auto 5rem; }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; max-width:1200px; margin:0 auto; }
.value-card { padding:3rem 2.5rem; background:white; border-top:3px solid var(--gold); transition:all 0.35s; }
.value-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.value-icon { font-size:2.5rem; margin-bottom:1.2rem; }
.value-title { font-family:var(--font-display); font-size:1.35rem; font-weight:400; color:var(--earth); margin-bottom:0.6rem; }
.value-text { font-family:var(--font-serif); font-size:0.98rem; font-weight:300; color:var(--text-mid); line-height:1.8; }

/* Timeline */
.timeline-section { padding:9rem 6rem; background:var(--white); }
.tl-inner { max-width:900px; margin:0 auto; }
.timeline { position:relative; padding-left:3rem; margin-top:3rem; }
.timeline::before { content:''; position:absolute; left:0.7rem; top:0; bottom:0; width:1px; background:linear-gradient(to bottom, var(--gold), transparent); }
.tl-item { position:relative; padding-bottom:4rem; }
.tl-item:last-child { padding-bottom:0; }
.tl-dot { position:absolute; left:-3rem; top:0.3rem; width:14px; height:14px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(201,150,42,0.2); }
.tl-year { font-family:var(--font-sans); font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:0.4rem; }
.tl-title { font-family:var(--font-display); font-size:1.4rem; font-weight:400; color:var(--earth); margin-bottom:0.5rem; }
.tl-text { font-family:var(--font-serif); font-size:1rem; font-weight:300; color:var(--text-mid); line-height:1.8; }

/* Family Portrait Banner */
.family-section { padding:9rem 6rem; background:var(--earth); }
.family-header { text-align:center; margin-bottom:5rem; }
.family-portrait-banner { display:grid; grid-template-columns:repeat(4,1fr); height:600px; overflow:hidden; }
.fpb-panel { position:relative; overflow:hidden; cursor:default; }
.fpb-panel img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:brightness(0.82) sepia(8%); transition:transform 0.8s cubic-bezier(0.4,0,0.2,1), filter 0.5s; }
.fpb-panel:hover img { transform:scale(1.06); filter:brightness(1) sepia(0%); }
.fpb-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(20,12,5,0.92) 0%,rgba(20,12,5,0.15) 55%,transparent 100%); transition:all 0.5s; }
.fpb-panel:hover .fpb-overlay { background:linear-gradient(to top,rgba(20,12,5,0.85) 0%,rgba(20,12,5,0.05) 40%,transparent 100%); }
.fpb-divider { position:absolute; top:0; right:0; bottom:0; width:1px; background:rgba(201,150,42,0.2); z-index:2; }
.fpb-content { position:absolute; bottom:0; left:0; right:0; padding:2.2rem 1.8rem; z-index:3; }
.fpb-name { font-family:var(--font-display); font-size:1.7rem; font-weight:400; font-style:italic; color:var(--cream); line-height:1; transform:translateY(4px); transition:transform 0.4s; }
.fpb-panel:hover .fpb-name { transform:translateY(0); }
.fpb-role { font-family:var(--font-sans); font-size:0.65rem; font-weight:300; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold); margin-top:0.35rem; opacity:0; transition:opacity 0.4s ease 0.05s; }
.fpb-panel:hover .fpb-role { opacity:1; }
.fpb-caption { background:var(--earth-deep); padding:2rem 6rem; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(201,150,42,0.15); }
.fpb-caption-quote { font-family:var(--font-serif); font-size:1.05rem; font-style:italic; color:var(--sand); font-weight:300; }
.fpb-caption-names { font-family:var(--font-sans); font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); display:flex; gap:2rem; }

/* ══════════════════════════════════
   ORCHARD PAGE
══════════════════════════════════ */
.orchard-intro { display:grid; grid-template-columns:1fr 1.1fr; min-height:90vh; }
.oi-text { padding:8rem 5rem; display:flex; flex-direction:column; justify-content:center; background:var(--cream-dark); }
.oi-img-col { position:relative; overflow:hidden; background-size:cover; background-position:center; }
.oi-img-grid { position:absolute; bottom:3rem; right:3rem; left:3rem; display:grid; grid-template-columns:1fr 1fr; gap:0.8rem; }
.oi-thumb { aspect-ratio:4/3; overflow:hidden; border:3px solid var(--white); }
.oi-thumb img { width:100%; height:100%; object-fit:cover; }

.fruits-section { padding:9rem 6rem; background:var(--white); }
.fruits-header { text-align:center; margin-bottom:5rem; }
.fruits-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; max-width:1300px; margin:0 auto; }
.fruit-card { background:var(--cream-dark); padding:2.5rem 2rem; text-align:center; border-bottom:2px solid transparent; transition:all 0.35s; }
.fruit-card:hover { border-bottom-color:var(--gold); background:white; box-shadow:var(--shadow-sm); transform:translateY(-4px); }
.fruit-emoji { font-size:2.8rem; margin-bottom:0.8rem; }
.fruit-name { font-family:var(--font-display); font-size:1.2rem; font-weight:400; color:var(--earth); margin-bottom:0.4rem; }
.fruit-note { font-family:var(--font-sans); font-size:0.78rem; font-weight:300; color:var(--text-mid); line-height:1.65; }
.fruit-season { display:inline-block; margin-top:0.8rem; font-family:var(--font-sans); font-size:0.62rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(201,150,42,0.3); padding:0.2rem 0.6rem; }

.orchard-vision { min-height:70vh; background-attachment:fixed; background-size:cover; background-position:center; display:flex; align-items:center; padding:8rem; }
.ov-inner { max-width:700px; }

.orchard-plan { padding:9rem 6rem; background:var(--cream-dark); }
.op-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.op-diagram { background:rgba(61,43,31,0.06); border:1px solid rgba(201,150,42,0.2); padding:2.5rem; aspect-ratio:1; display:flex; flex-direction:column; gap:0.8rem; }
.op-row { display:flex; gap:0.8rem; flex:1; }
.op-zone { flex:1; display:flex; align-items:center; justify-content:center; text-align:center; font-size:1.2rem; border:1px dashed rgba(201,150,42,0.25); background:rgba(107,127,94,0.08); transition:all 0.3s; cursor:default; flex-direction:column; gap:0.3rem; }
.op-zone:hover { background:rgba(201,150,42,0.1); border-color:var(--gold); }
.op-zone-lbl { font-family:var(--font-sans); font-size:0.6rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--earth-light); }

/* ══════════════════════════════════
   FARMING PAGE
══════════════════════════════════ */
.farming-intro { padding:9rem 6rem; background:var(--cream-dark); }
.fi-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }

.farming-animals { padding:0 6rem 9rem; background:var(--cream-dark); }
.fa-header { text-align:center; margin-bottom:4rem; padding-top:0; }
.animal-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.ad-card { position:relative; overflow:hidden; aspect-ratio:1; cursor:pointer; }
.ad-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.7s ease; }
.ad-card:hover img { transform:scale(1.1); }
.ad-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(15,9,3,0.9) 0%,transparent 55%); transition:all 0.4s; }
.ad-card:hover .ad-overlay { background:linear-gradient(to top,rgba(15,9,3,0.95) 0%,rgba(15,9,3,0.3) 100%); }
.ad-content { position:absolute; bottom:0; left:0; right:0; padding:2rem 1.8rem; }
.ad-icon { font-size:1.8rem; margin-bottom:0.3rem; display:block; }
.ad-name { font-family:var(--font-display); font-size:1.4rem; font-weight:400; color:var(--cream); }
.ad-info { font-family:var(--font-sans); font-size:0.78rem; font-weight:300; color:rgba(245,237,216,0.65); line-height:1.55; margin-top:0.4rem; max-height:0; overflow:hidden; transition:max-height 0.4s; }
.ad-card:hover .ad-info { max-height:100px; }

.farming-philosophy { padding:9rem 6rem; background:var(--moss-dark); }
.fp-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.fp-points { display:flex; flex-direction:column; gap:1.5rem; margin-top:2.5rem; }
.fp-point { display:flex; gap:1.5rem; align-items:flex-start; padding:1.5rem; border:1px solid rgba(201,150,42,0.15); background:rgba(255,255,255,0.04); transition:all 0.3s; }
.fp-point:hover { border-color:var(--gold); background:rgba(201,150,42,0.07); }
.fp-icon { font-size:1.8rem; flex-shrink:0; }
.fp-title { font-family:var(--font-sans); font-size:0.85rem; font-weight:400; letter-spacing:0.1em; text-transform:uppercase; color:var(--cream); margin-bottom:0.3rem; }
.fp-text { font-family:var(--font-serif); font-size:0.92rem; font-weight:300; color:rgba(201,169,122,0.75); line-height:1.7; }

/* ══════════════════════════════════
   GALLERY PAGE
══════════════════════════════════ */
.gallery-filter { background:var(--cream-dark); padding:3rem 6rem; display:flex; gap:0.8rem; flex-wrap:wrap; border-bottom:1px solid rgba(61,43,31,0.08); }
.gf-btn { font-family:var(--font-sans); font-size:0.72rem; font-weight:300; letter-spacing:0.18em; text-transform:uppercase; padding:0.55rem 1.4rem; border:1px solid rgba(61,43,31,0.2); color:var(--text-mid); background:transparent; transition:all 0.3s; cursor:pointer; }
.gf-btn:hover, .gf-btn.active { background:var(--gold); border-color:var(--gold); color:var(--earth); }
.gallery-main { padding:5rem 6rem 9rem; background:var(--cream-dark); }
.gallery-masonry { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; max-width:1400px; margin:0 auto; }
.gall-item { position:relative; overflow:hidden; cursor:pointer; background:var(--earth); }
.gall-item img { width:100%; display:block; object-fit:cover; transition:transform 0.7s ease, opacity 0.4s; }
.gall-item:hover img { transform:scale(1.07); opacity:0.88; }
.gall-caption { position:absolute; bottom:0; left:0; right:0; padding:2rem 1.5rem; background:linear-gradient(transparent,rgba(15,9,3,0.85)); transform:translateY(100%); transition:transform 0.4s ease; }
.gall-item:hover .gall-caption { transform:translateY(0); }
.gall-title { font-family:var(--font-display); font-size:1.1rem; font-style:italic; color:var(--cream); }
.gall-cat { font-family:var(--font-sans); font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-top:0.2rem; }

/* ══════════════════════════════════
   SUSTAINABILITY PAGE
══════════════════════════════════ */
.sustain-hero-split { display:grid; grid-template-columns:1fr 1fr; min-height:90vh; }
.shs-img { background-size:cover; background-position:center; position:relative; }
.shs-img::after { content:''; position:absolute; inset:0; background:rgba(46,62,34,0.3); }
.shs-text { background:var(--moss); padding:8rem 5rem; display:flex; flex-direction:column; justify-content:center; }
.sustain-principles { padding:9rem 6rem; background:var(--cream-dark); }
.sp-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:1200px; margin:3rem auto 0; }
.sp-card { display:flex; gap:2rem; padding:2.5rem; background:white; border-left:3px solid var(--gold); transition:all 0.35s; }
.sp-card:hover { box-shadow:var(--shadow-sm); transform:translateX(6px); }
.sp-card-icon { font-size:2.2rem; flex-shrink:0; }
.sp-card-title { font-family:var(--font-display); font-size:1.25rem; font-weight:400; color:var(--earth); margin-bottom:0.5rem; }
.sp-card-text { font-family:var(--font-serif); font-size:0.97rem; font-weight:300; color:var(--text-mid); line-height:1.8; }
.sustain-data { padding:9rem 6rem; background:var(--earth-deep); }
.sd-header { text-align:center; margin-bottom:5rem; }
.sd-bars { max-width:800px; margin:0 auto; }
.sd-bar { margin-bottom:2.5rem; }
.sd-bar-label { display:flex; justify-content:space-between; font-family:var(--font-sans); font-size:0.8rem; font-weight:300; letter-spacing:0.1em; color:var(--sand); margin-bottom:0.6rem; }
.sd-track { height:4px; background:rgba(255,255,255,0.08); position:relative; overflow:hidden; }
.sd-fill { height:100%; background:linear-gradient(to right, var(--gold), var(--gold-light)); width:0; transition:width 1.4s ease; }
.sd-fill.animate { width:var(--w); }

/* ══════════════════════════════════
   VISION PAGE
══════════════════════════════════ */
.vision-main { padding:9rem 6rem; background:var(--cream-dark); }
.vm-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.vision-phases { padding:9rem 6rem; background:var(--dusk-dark); }
.vp-header { text-align:center; max-width:700px; margin:0 auto 4rem; }
.vp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:0; max-width:1200px; margin:0 auto; }
.vp-card { padding:3.5rem 2.5rem; background:rgba(255,255,255,0.04); border-top:3px solid transparent; transition:all 0.35s; }
.vp-card:hover { background:rgba(255,255,255,0.07); border-top-color:var(--gold); }
.vp-num { font-family:var(--font-display); font-size:4rem; font-weight:400; color:rgba(201,150,42,0.15); line-height:1; margin-bottom:1rem; }
.vp-title { font-family:var(--font-display); font-size:1.5rem; font-style:italic; color:var(--cream); margin-bottom:0.8rem; }
.vp-list { display:flex; flex-direction:column; gap:0.6rem; }
.vp-list li { font-family:var(--font-sans); font-size:0.82rem; font-weight:300; color:rgba(201,169,122,0.75); display:flex; gap:0.6rem; align-items:flex-start; }
.vp-list li::before { content:'—'; color:var(--gold); flex-shrink:0; }
.agri-tourism { padding:9rem 6rem; background:var(--cream); }
.at-header { text-align:center; max-width:700px; margin:0 auto 4rem; }
.at-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.at-card { border:1px solid rgba(61,43,31,0.1); overflow:hidden; transition:all 0.35s; }
.at-card:hover { box-shadow:var(--shadow-md); }
.at-img { height:240px; overflow:hidden; }
.at-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s; }
.at-card:hover .at-img img { transform:scale(1.08); }
.at-body { padding:2rem 1.8rem; background:white; }
.at-tag { font-family:var(--font-sans); font-size:0.65rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:0.5rem; display:block; }
.at-title { font-family:var(--font-display); font-size:1.3rem; font-weight:400; color:var(--earth); margin-bottom:0.5rem; }
.at-text { font-family:var(--font-serif); font-size:0.95rem; font-weight:300; color:var(--text-mid); line-height:1.75; }

/* ══════════════════════════════════
   CONTACT PAGE
══════════════════════════════════ */
.contact-wrap { display:grid; grid-template-columns:1fr 1.2fr; min-height:80vh; }
.ci-panel { background:var(--earth); padding:8rem 5rem; display:flex; flex-direction:column; justify-content:center; }
.ci-items { margin:2.5rem 0; display:flex; flex-direction:column; gap:2rem; }
.ci-item { display:flex; gap:1.4rem; }
.ci-icon-box { width:44px; height:44px; border:1px solid rgba(201,150,42,0.3); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.ci-label { font-family:var(--font-sans); font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:0.3rem; }
.ci-value { font-family:var(--font-sans); font-size:0.88rem; font-weight:300; color:var(--sand); line-height:1.65; }
.cf-panel { background:var(--cream-dark); padding:8rem 5rem; display:flex; flex-direction:column; justify-content:center; }
.cf-title { font-family:var(--font-display); font-size:2.2rem; font-weight:400; font-style:italic; color:var(--earth); margin-bottom:0.5rem; }
.cf-sub { font-family:var(--font-serif); font-size:1rem; font-weight:300; color:var(--text-mid); margin-bottom:2rem; }
.cf-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.map-section { height:420px; background-size:cover; background-position:center; position:relative; }
.map-overlay { position:absolute; inset:0; background:rgba(61,43,31,0.35); display:flex; align-items:center; justify-content:center; }
.map-label { background:rgba(10,7,3,0.88); padding:1.8rem 3rem; text-align:center; border:1px solid rgba(201,150,42,0.3); }
.map-label-title { font-family:var(--font-display); font-size:1.4rem; font-style:italic; color:var(--cream); }
.map-label-sub { font-family:var(--font-sans); font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-top:0.4rem; }
.map-pin-animate { display:flex; justify-content:center; margin-top:1rem; }
.map-pin-dot { width:12px; height:12px; border-radius:50%; background:var(--gold); animation:pinPulse 2s infinite; }

/* ══════════════════════════════════
   RESPONSIVE — PAGES
══════════════════════════════════ */
@media (max-width:1100px) {
  .feature-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .fg-item.featured { grid-column:span 2; }
  .animals-grid { grid-template-columns:1fr 1fr; }
  .vs-cards { grid-template-columns:1fr 1fr; }
  .fruits-grid { grid-template-columns:repeat(3,1fr); }
  .vp-grid { grid-template-columns:1fr; }
  .at-cards { grid-template-columns:1fr 1fr; }
}
@media (max-width:900px) {
  /* Home */
  .home-about { grid-template-columns:1fr; }
  .home-about-img { height:65vw; }
  .home-about-text { padding:4rem 2rem; }
  .feature-grid-wrap { padding:5rem 2rem; }
  .feature-grid-header { grid-template-columns:1fr; }
  .feature-grid { grid-template-columns:1fr; }
  .fg-item.featured { grid-column:span 1; }
  .orchard-tease { grid-template-columns:1fr; }
  .ot-img { height:70vw; }
  .ot-text { padding:4rem 2rem; }
  .animals-showcase { padding:5rem 2rem; }
  .animals-grid { grid-template-columns:1fr 1fr; }
  .sustain-preview { grid-template-columns:1fr; }
  .sp-img { height:70vw; }
  .sp-text { padding:4rem 2rem; }
  .vision-section, .gallery-preview, .testimonials-section { padding:5rem 2rem; }
  .legacy-section { padding:6rem 2rem; }
  .contact-strip { grid-template-columns:1fr; }
  .cs-map { height:300px; }
  .cs-form { padding:4rem 2rem; }
  /* About */
  .about-story { grid-template-columns:1fr; }
  .as-img { height:70vw; min-height:unset; }
  .as-text { padding:4rem 2rem; }
  .values-section, .timeline-section, .family-section { padding:5rem 2rem; }
  .values-grid { grid-template-columns:1fr; }
  .family-portrait-banner { grid-template-columns:1fr 1fr; height:auto; }
  .fpb-panel { height:60vw; }
  .fpb-caption { padding:1.5rem 2rem; flex-direction:column; gap:1rem; text-align:center; }
  /* Orchard */
  .orchard-intro { grid-template-columns:1fr; }
  .oi-img-col { height:70vw; }
  .oi-text { padding:4rem 2rem; }
  .fruits-section, .orchard-vision, .orchard-plan { padding:5rem 2rem; }
  .fruits-grid { grid-template-columns:1fr 1fr; }
  .op-grid { grid-template-columns:1fr; }
  /* Farming */
  .farming-intro, .farming-animals, .farming-philosophy { padding:5rem 2rem; }
  .fi-grid, .fp-grid { grid-template-columns:1fr; }
  .animal-detail-grid { grid-template-columns:1fr 1fr; }
  /* Gallery */
  .gallery-filter { padding:2rem; }
  .gallery-main { padding:3rem 2rem 5rem; }
  .gallery-masonry { grid-template-columns:1fr 1fr; }
  /* Sustainability */
  .sustain-hero-split { grid-template-columns:1fr; }
  .shs-img { height:60vw; }
  .shs-text { padding:4rem 2rem; }
  .sustain-principles, .sustain-data { padding:5rem 2rem; }
  .sp-grid { grid-template-columns:1fr; }
  /* Vision */
  .vision-main, .vision-phases, .agri-tourism { padding:5rem 2rem; }
  .vm-grid { grid-template-columns:1fr; }
  .at-cards { grid-template-columns:1fr; }
  /* Contact */
  .contact-wrap { grid-template-columns:1fr; }
  .ci-panel, .cf-panel { padding:5rem 2rem; }
  .cf-row { grid-template-columns:1fr; }
  /* Gallery mosaic */
  .gallery-mosaic { grid-template-columns:repeat(6,1fr); grid-template-rows:200px 200px; }
  .gm-1,.gm-2,.gm-3,.gm-4,.gm-5,.gm-6 { grid-column:span 3; }
}
@media (max-width:500px) {
  .family-portrait-banner { grid-template-columns:1fr; }
  .fpb-panel { height:90vw; }
  .fruits-grid { grid-template-columns:1fr; }
  .gallery-masonry { grid-template-columns:1fr; }
  .gallery-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .gm-1,.gm-2,.gm-3,.gm-4,.gm-5,.gm-6 { grid-column:span 1; }
}
