 :root {
  --forest: #183d2b;
  --forest-deep: #102b20;
  --leaf: #56784b;
  --cream: #f4f0e6;
  --paper: #fbfaf6;
  --ink: #1d2b22;
  --muted: #6b746b;
  --gold: #c6a86b;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 85px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.announcement { min-height: 32px; display:flex; align-items:center; justify-content:center; gap:9px; padding:7px 18px; background:var(--forest-deep); color:#e9e5d8; text-align:center; text-transform:uppercase; font-size:9px; letter-spacing:2px; }
.announcement-dot, .eyebrow span { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--gold); }
.site-header { height:88px; padding:0 7.5%; display:flex; align-items:center; justify-content:space-between; background:var(--paper); position:sticky; top:0; z-index:20; box-shadow:0 3px 20px #172a190b; }
.brand { display:flex; align-items:center; gap:13px; }
.brand img { width:46px; height:64px; object-fit:contain; }
.brand-name { font-size:10px; letter-spacing:1.7px; line-height:1.8; color:var(--muted); }
.brand-name b { display:block; color:var(--forest); font-size:12px; letter-spacing:2.2px; }
.main-nav { display:flex; align-items:center; gap:35px; font-size:12px; color:#47564a; }
.main-nav a { transition:color .2s; }
.main-nav a:hover { color:var(--leaf); }
.main-nav .nav-contact { padding:13px 17px; border:1px solid #c8cdbf; color:var(--forest); }
.nav-contact span { margin-left:10px; }
.menu-toggle { display:none; border:0; background:none; padding:8px; }
.menu-toggle span { display:block; width:23px; height:2px; margin:5px; background:var(--forest); }
.hero { min-height:650px; height:min(760px, 78vw); position:relative; display:flex; align-items:center; overflow:hidden; color:white; background: #263d2c url("https://www.mapanicaragua.com/wp-content/uploads/2020/07/Volc%C3%A1n-San-Crist%C3%B3bal-1.jpg") center 52%/cover no-repeat; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,29,20,.88) 0%,rgba(15,38,25,.65) 47%,rgba(15,38,25,.1) 100%),linear-gradient(0deg,rgba(8,20,13,.25),transparent 60%); }
.hero-content { position:relative; z-index:1; width:min(720px,80%); margin-left:12%; padding:50px 0 70px; }
.eyebrow { display:flex; align-items:center; gap:11px; color:#e1d5b8; font-size:10px; letter-spacing:2.6px; text-transform:uppercase; font-weight:600; }
.hero h1, h2 { font-family:var(--serif); font-weight:500; letter-spacing:-1.8px; }
.hero h1 { margin:26px 0 22px; font-size:clamp(42px,6.2vw,78px); line-height:1.08; }
h1 em, h2 em { color:#c7b486; font-weight:500; }
.hero-copy { max-width:480px; color:#e0e5dc; font-size:14px; line-height:1.9; }
.hero-actions { display:flex; align-items:center; gap:26px; margin-top:35px; }
.button { display:inline-flex; align-items:center; gap:25px; padding:16px 20px; font-size:11px; font-weight:700; letter-spacing:.3px; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button span { font-size:17px; font-weight:400; }
.button-light { background:var(--cream); color:var(--forest); }
.text-link { padding:8px 0; border-bottom:1px solid #ffffff70; font-size:11px; color:#f3f1e8; }
.hero-caption { position:absolute; bottom:35px; left:7.5%; display:flex; align-items:center; gap:12px; font-size:8px; letter-spacing:2.5px; color:#e6e6d9; }
.caption-line { width:34px; height:1px; background:var(--gold); }
.hero-seal { position:absolute; z-index:1; right:8%; bottom:50px; width:115px; height:115px; border:1px solid #d8c99a9c; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#e8dfc5; transform:rotate(9deg); }
.hero-seal span { font-size:6px; letter-spacing:1.6px; }
.hero-seal strong { margin:7px 0; font-family:var(--serif); font-size:13px; letter-spacing:1px; }
.section-wrap { padding-left:12%; padding-right:12%; }
.intro { display:grid; grid-template-columns:.5fr 1.35fr 1fr; gap:30px; align-items:center; padding-top:115px; padding-bottom:120px; }
.intro-mark { font-family:var(--serif); font-size:105px; line-height:1; color:var(--forest); }
.intro-mark span { color:var(--gold); }
.eyebrow-dark { color:var(--leaf); }
.intro h2, .farm-panel h2, .coffee-copy h2, .values-heading h2, .contact-inner h2 { margin:18px 0 0; font-size:clamp(31px,3.4vw,46px); line-height:1.18; }
.intro-description { border-left:1px solid #d9d9ca; padding-left:27px; color:#697168; font-size:12px; line-height:1.9; }
.intro-description p:first-child { margin-top:0; }
.intro-description p:last-child { margin-bottom:0; }
.farm-section { display:grid; grid-template-columns:1.05fr .95fr; min-height:610px; background:var(--forest); color:#f6f2e8; }
.farm-image { min-height:610px; position:relative; background:linear-gradient(0deg,#0d291e99,transparent 45%),url("https://www.mapanicaragua.com/wp-content/uploads/2020/04/original_posoltega_infog_gal1.jpg") center/cover; }
.image-label { position:absolute; bottom:35px; left:9%; display:flex; flex-direction:column; gap:7px; }
.image-label span { font-size:8px; letter-spacing:2px; color:#d9d5bd; }
.image-label b { font:500 28px var(--serif); }
.farm-panel { padding:80px clamp(35px,7vw,105px); align-self:center; }
.farm-panel h2 { font-size:clamp(32px,3.5vw,47px); }
.farm-panel > p:not(.eyebrow) { color:#c9d0c5; font-size:12px; line-height:1.9; max-width:400px; margin-top:24px; }
.fact-list { margin-top:32px; border-top:1px solid #ffffff28; }
.fact-list > div { display:flex; gap:20px; align-items:center; padding:16px 0; border-bottom:1px solid #ffffff28; }
.fact-number { color:var(--gold); font-size:10px; }
.fact-list b, .fact-list small { display:block; }
.fact-list b { font-size:11px; font-weight:600; }
.fact-list small { margin-top:4px; color:#b9c4b8; font-size:10px; }
.coffee-section { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; padding-top:125px; padding-bottom:130px; overflow:hidden; }
.coffee-copy h2 { font-size:clamp(44px,5vw,65px); line-height:1.08; margin:22px 0; }
.coffee-copy h2 em { color:var(--leaf); }
.coffee-copy > p:not(.eyebrow):not(.small-note) { max-width:450px; color:#6c746a; font-size:13px; line-height:1.9; }
.button-dark { margin-top:17px; background:var(--forest); color:white; }
.button-dark:hover { background:#28543b; }
.small-note { margin-top:20px; font-size:10px; color:#8b9186; line-height:1.7; }
.coffee-art { min-height:430px; display:flex; align-items:center; justify-content:center; position:relative; background:#e9e7d9; overflow:hidden; }
.coffee-art:before { content:""; position:absolute; width:90%; height:90%; border:1px solid #c7c9b5; border-radius:50%; }
.coffee-ring { position:absolute; border:1px solid #b9bea9; border-radius:50%; }
.ring-one { width:75%; height:75%; }
.ring-two { width:60%; height:60%; }
.coffee-card { position:relative; width:210px; min-height:290px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; background:var(--forest); color:#e9e3d1; box-shadow:0 18px 45px #142e1c38; text-align:center; transform:rotate(-4deg); }
.coffee-card img { width:100px; height:145px; object-fit:contain; }
.coffee-card-rule { width:38px; height:1px; background:var(--gold); margin:9px 0 12px; }
.coffee-card p { font-size:7px; letter-spacing:2px; margin:0 0 7px; }
.coffee-card strong { font:500 18px var(--serif); letter-spacing:1px; }
.coffee-card small { margin-top:8px; font-size:7px; letter-spacing:3px; }
.coffee-side-note { position:absolute; right:13px; top:50%; writing-mode:vertical-rl; font-size:7px; letter-spacing:2px; color:#737c69; }
.values-section { padding:100px 12% 115px; background:var(--cream); display:grid; grid-template-columns:.8fr 1.2fr; gap:9%; }
.values-heading h2 { font-size:clamp(37px,4vw,52px); }
.values-heading .eyebrow { color:var(--leaf); }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-self:center; }
.value-card { min-height:225px; border-top:1px solid #c8cbb9; padding-top:20px; position:relative; }
.value-icon { color:var(--leaf); font-size:25px; }
.value-index { float:right; color:#a0a696; font-size:9px; }
.value-card h3 { margin:29px 0 10px; font:500 20px var(--serif); }
.value-card p { color:#73796d; font-size:10px; line-height:1.8; }
.contact-section { position:relative; overflow:hidden; padding:110px 20px 115px; background:var(--forest-deep); color:#f5f1e7; text-align:center; }
.contact-inner { position:relative; z-index:1; max-width:600px; margin:auto; }
.contact-inner .eyebrow { justify-content:center; }
.contact-inner h2 { font-size:clamp(40px,5vw,60px); }
.contact-inner > p:not(.eyebrow) { max-width:430px; margin:22px auto 30px; color:#c5d0c4; font-size:12px; line-height:1.9; }
.email-link { display:inline-flex; gap:25px; align-items:center; padding:16px 0; border-bottom:1px solid #c7b486; font-size:clamp(15px,2vw,20px); }
.email-link span { color:var(--gold); }
.contact-label { display:block; margin-top:28px; font-size:8px; letter-spacing:2px; color:#9eae9e; }
.contact-decoration { position:absolute; right:4%; top:-95px; color:#ffffff08; font:500 360px var(--serif); }
.site-footer { padding:35px 7.5% 20px; background:#0c2118; color:#d5dccf; }
.footer-brand { display:inline-flex; gap:12px; align-items:center; }
.footer-brand img { width:34px; height:46px; object-fit:contain; }
.footer-brand span { font-size:8px; line-height:1.8; letter-spacing:1.5px; color:#9aa99a; }
.footer-brand b { color:#e6e4d8; }
.site-footer > p { display:inline-block; margin-left:30px; font-size:10px; color:#aab6a8; }
.footer-bottom { margin-top:28px; padding-top:16px; border-top:1px solid #ffffff1a; display:flex; justify-content:space-between; font-size:9px; color:#8d9d8e; }
.footer-bottom a:hover { color:white; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce) { html {scroll-behavior:auto} .reveal {opacity:1;transform:none;transition:none} * {transition:none!important} }
@media (max-width: 900px) {
  .site-header { padding:0 5%; }
  .main-nav { gap:18px; }
  .section-wrap { padding-left:7%; padding-right:7%; }
  .intro { grid-template-columns:.3fr 1fr; }
  .intro-description { grid-column:2; }
  .farm-panel { padding:55px 35px; }
  .values-section { padding-left:7%; padding-right:7%; grid-template-columns:1fr; gap:35px; }
  .values-grid { gap:18px; }
}
@media (max-width: 650px) {
  .announcement { font-size:8px; letter-spacing:1.3px; }
  .site-header { height:74px; }
  .brand img { width:37px; height:52px; }
  .brand-name { font-size:8px; }
  .brand-name b { font-size:10px; }
  .menu-toggle { display:block; }
  .main-nav { display:none; position:absolute; top:74px; left:0; right:0; padding:20px 6% 25px; background:var(--paper); box-shadow:0 15px 20px #102b2014; flex-direction:column; align-items:stretch; gap:0; }
  .main-nav.open { display:flex; }
  .main-nav a { padding:15px 0; border-bottom:1px solid #e6e5dc; }
  .main-nav .nav-contact { border:0; padding:15px 0; }
  .hero { min-height:650px; height:calc(100svh - 106px); background-position:58% center; }
  .hero-shade { background:linear-gradient(90deg,#0a1d14d9,#0f261999 70%,#0f261933); }
  .hero-content { width:88%; margin-left:7%; padding-top:20px; }
  .hero h1 { font-size:clamp(40px,11vw,58px); letter-spacing:-1.2px; }
  .hero-copy { font-size:12px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .hero-seal { width:88px; height:88px; right:6%; bottom:30px; }
  .hero-seal strong { font-size:10px; }
  .hero-seal span { font-size:5px; }
  .hero-caption { bottom:36px; left:7%; font-size:7px; }
  .intro { padding-top:75px; padding-bottom:80px; grid-template-columns:1fr; gap:16px; }
  .intro-mark { font-size:65px; }
  .intro h2, .farm-panel h2 { font-size:36px; }
  .intro-description { grid-column:auto; margin-top:10px; }
  .farm-section { grid-template-columns:1fr; }
  .farm-image { min-height:350px; }
  .farm-panel { padding:60px 7%; }
  .coffee-section { grid-template-columns:1fr; padding-top:80px; padding-bottom:85px; gap:40px; }
  .coffee-copy h2 { font-size:52px; }
  .coffee-art { min-height:390px; }
  .values-section { padding-top:75px; padding-bottom:65px; }
  .values-grid { grid-template-columns:1fr; gap:8px; }
  .value-card { min-height:0; padding:18px 0 15px; }
  .value-card h3 { margin:15px 0 7px; }
  .value-card p { max-width:300px; }
  .contact-section { padding:80px 7% 85px; }
  .contact-inner h2 { font-size:43px; }
  .email-link { font-size:15px; gap:13px; }
  .site-footer { padding:28px 6% 18px; }
  .site-footer > p { display:block; margin:18px 0 0; line-height:1.7; }
}
