﻿/*
Theme Name: Penamer
Theme URI: https://penamer.com
Author: Penamer Company Limited
Author URI: https://penamer.com
Description: Premium East African commodities — specialty coffee, tea, horticulture and livestock. Sourced at origin, blockchain-verified, exported worldwide.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 8.0
License: Proprietary
Text Domain: penamer
*/

:root {
  --radius: 0.25rem;
  --background: oklch(0.975 0.012 85);
  --foreground: oklch(0.22 0.032 45);
  --card: oklch(0.99 0.008 85);
  --card-foreground: oklch(0.22 0.032 45);
  --secondary: oklch(0.93 0.022 80);
  --secondary-foreground: oklch(0.3 0.055 45);
  --muted: oklch(0.94 0.018 82);
  --muted-foreground: oklch(0.48 0.03 58);
  --accent: oklch(0.63 0.13 55);
  --accent-foreground: oklch(0.98 0.01 85);
  --destructive: oklch(0.55 0.2 27);
  --border: oklch(0.88 0.02 76);
  --espresso: oklch(0.21 0.033 44);
  --espresso-foreground: oklch(0.95 0.018 84);
  --copper: oklch(0.68 0.13 58);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border-color:var(--border);}
html{scroll-behavior:smooth;}
body{background-color:var(--background);color:var(--foreground);font-family:"Manrope",system-ui,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;}
img,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:600;letter-spacing:-0.02em;line-height:1.15;color:var(--foreground);}

.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--copper);}
.container{max-width:72rem;margin-inline:auto;padding-inline:1.5rem;}

.btn-primary{display:inline-block;border-radius:var(--radius);background:var(--espresso);color:var(--espresso-foreground);padding:.75rem 1.75rem;font-size:.8125rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;transition:background .2s;cursor:pointer;border:none;font-family:inherit;}
.btn-primary:hover{background:var(--accent);}
.btn-accent{display:inline-block;border-radius:var(--radius);background:var(--accent);color:var(--accent-foreground);padding:.75rem 1.5rem;font-size:.8125rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;transition:opacity .2s;cursor:pointer;}
.btn-accent:hover{opacity:.9;}
.btn-outline{display:inline-block;border-radius:var(--radius);border:1px solid var(--border);padding:.75rem 1.75rem;font-size:.8125rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;transition:background .2s;cursor:pointer;}
.btn-outline:hover{background:var(--secondary);}
.btn-outline-light{display:inline-block;border-radius:var(--radius);border:1px solid rgba(255,255,255,.4);padding:.75rem 1.5rem;font-size:.8125rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;transition:background .2s;cursor:pointer;}
.btn-outline-light:hover{background:rgba(255,255,255,.1);}
.btn-link-accent{display:inline-block;border-bottom:2px solid var(--accent);padding-bottom:.25rem;font-size:.8125rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;}

/* ── HEADER ── */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(128,128,128,.18);background:rgba(251,248,242,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.site-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.5rem;max-width:72rem;margin-inline:auto;}
.site-header__logo{display:flex;align-items:center;gap:.75rem;min-width:0;text-decoration:none;}
.site-header__logo img{height:2.5rem;width:auto;flex-shrink:0;}
.site-header__logo-name{font-family:"Fraunces",Georgia,serif;font-size:1.125rem;letter-spacing:-.02em;line-height:1;color:var(--foreground);}
.site-header__logo-sub{display:none;font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-foreground);margin-top:.25rem;}
.site-header__right{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
.site-nav{display:none;align-items:center;gap:1.5rem;font-size:.875rem;}
.site-nav a{color:var(--muted-foreground);transition:color .15s;white-space:nowrap;}
.site-nav a:hover,.site-nav a.current{color:var(--foreground);}
.site-nav a.current{font-weight:600;}

.nav-dropdown{position:relative;}
.nav-dropdown__trigger{display:inline-flex;align-items:center;gap:.25rem;color:var(--muted-foreground);font-size:.875rem;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;transition:color .15s;white-space:nowrap;}
.nav-dropdown__trigger:hover,.nav-dropdown.is-open .nav-dropdown__trigger{color:var(--foreground);}
.nav-dropdown__trigger svg{width:1rem;height:1rem;transition:transform .2s;}
.nav-dropdown.is-open .nav-dropdown__trigger svg{transform:rotate(180deg);}
.nav-dropdown__menu{display:none;position:absolute;top:calc(100% + .5rem);left:0;width:20rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 30px rgba(0,0,0,.12);padding:.5rem;z-index:100;}
.nav-dropdown.is-open .nav-dropdown__menu{display:block;}
.nav-dropdown__item{display:flex;flex-direction:column;gap:.125rem;padding:.625rem .75rem;border-radius:calc(var(--radius) - 2px);transition:background .15s;text-decoration:none;color:var(--foreground);}
.nav-dropdown__item:hover{background:var(--secondary);}
.nav-dropdown__item-label{font-size:.875rem;font-weight:600;}
.nav-dropdown__item-detail{font-size:.75rem;color:var(--muted-foreground);}

.header-cta{display:none;}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius);border:1px solid var(--border);background:none;cursor:pointer;color:var(--foreground);flex-shrink:0;}
.nav-toggle svg{width:1.25rem;height:1.25rem;}

.mobile-nav{display:none;position:fixed;inset:0;z-index:200;}
.mobile-nav.is-open{display:block;}
.mobile-nav__overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);}
.mobile-nav__panel{position:absolute;top:0;right:0;bottom:0;width:min(88vw,24rem);background:var(--background);padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;}
.mobile-nav__title{font-family:"Fraunces",Georgia,serif;font-size:1.125rem;font-weight:600;}
.mobile-nav__close{position:absolute;top:1.25rem;right:1.25rem;background:none;border:none;cursor:pointer;color:var(--foreground);display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;}
.mobile-nav__close svg{width:1.25rem;height:1.25rem;}
.mobile-nav__links{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem;font-size:1rem;}
.mobile-nav__link{display:flex;min-height:3rem;align-items:center;border-radius:var(--radius);padding:0 .75rem;color:var(--muted-foreground);transition:background .15s,color .15s;text-decoration:none;}
.mobile-nav__link:hover,.mobile-nav__link.current{background:var(--secondary);color:var(--foreground);}
.mobile-nav__link.current{font-weight:600;}
.mobile-nav__section-title{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--copper);padding:0 .75rem;margin-top:1rem;}
.mobile-nav__commodity-link{display:flex;flex-direction:column;justify-content:center;min-height:3.5rem;border-radius:var(--radius);border:1px solid rgba(128,128,128,.18);padding:.5rem .75rem;transition:background .15s;text-decoration:none;color:var(--foreground);}
.mobile-nav__commodity-link:hover{background:var(--secondary);}
.mobile-nav__commodity-link-label{font-size:.875rem;font-weight:600;}
.mobile-nav__commodity-link-detail{font-size:.75rem;color:var(--muted-foreground);}
.mobile-nav__cta{display:flex;min-height:3rem;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--espresso);color:var(--espresso-foreground);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-top:1.5rem;padding:0 1rem;text-decoration:none;}

/* ── FOOTER ── */
.site-footer{margin-top:6rem;background:var(--espresso);color:var(--espresso-foreground);}
.site-footer__main{max-width:72rem;margin-inline:auto;padding:4rem 1.5rem;display:grid;gap:2.5rem;}
.site-footer__logo img{height:3.5rem;width:auto;margin-bottom:1rem;}
.site-footer__brand-name{font-family:"Fraunces",Georgia,serif;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;}
.site-footer__tagline{margin-top:.75rem;font-size:.875rem;opacity:.7;max-width:20rem;}
.site-footer__col-title{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--copper);}
.site-footer__links{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;opacity:.8;}
.site-footer__links a{color:inherit;}
.site-footer__links a:hover{color:var(--accent);}
.site-footer__address{margin-top:.75rem;font-size:.875rem;opacity:.8;line-height:1.7;}
.site-footer__contact{margin-top:.75rem;font-size:.875rem;opacity:.8;line-height:1.9;}
.site-footer__contact a:hover{color:var(--accent);}
.site-footer__disclosure{border-top:1px solid rgba(255,255,255,.15);max-width:72rem;margin-inline:auto;padding:1.5rem;font-size:.7rem;opacity:.55;line-height:1.7;}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.15);}
.site-footer__bottom-inner{max-width:72rem;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:1.25rem 1.5rem;font-size:.75rem;opacity:.6;}

/* ── PAGE WRAPPER ── */
.page-wrapper{max-width:72rem;margin-inline:auto;padding:4rem 1.5rem;}
.page-header{max-width:48rem;}
.page-header .eyebrow{margin-bottom:1rem;}
.page-header h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;}
.page-header .lead{margin-top:1.25rem;font-size:1.125rem;color:var(--muted-foreground);}

/* ── HERO ── */
.hero-section{position:relative;overflow:hidden;background:var(--espresso);color:var(--espresso-foreground);isolation:isolate;}
.hero-section__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4;}
.hero-section__content{position:relative;max-width:72rem;margin-inline:auto;padding:7rem 1.5rem;}
.hero-section--home .hero-section__bg{opacity:.45;}
.hero-section--home .hero-section__content{padding:8rem 1.5rem 11rem;}
.hero-section h1{margin-top:1.25rem;font-size:clamp(2.5rem,7vw,4.5rem);line-height:1.05;color:var(--espresso-foreground);max-width:52rem;}
.hero-section p.lead{margin-top:1.5rem;max-width:40rem;font-size:1.125rem;opacity:.85;}
.hero-section .btn-row{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.75rem;}

/* ── HOME SECTIONS ── */
.section-blockchain-teaser{border-bottom:1px solid var(--border);background:oklch(.955 .014 83);padding:6rem 1.5rem;}
.blockchain-cards{margin-top:3rem;display:grid;gap:1.5rem;}
.blockchain-card{border-top:2px solid var(--accent);background:var(--card);padding:1.75rem;}
.blockchain-card h3{font-size:1.25rem;}
.blockchain-card p{margin-top:1rem;font-size:.875rem;color:var(--muted-foreground);}

.section-about{padding:6rem 1.5rem;}
.about-grid{display:grid;gap:3rem;}
.about-values{border-left:2px solid rgba(180,130,70,.5);padding-left:1.5rem;}
.values-list{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem;font-size:.875rem;}
.values-list li{border-bottom:1px solid var(--border);padding-bottom:.75rem;}

.section-portfolio{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:oklch(.96 .013 84);padding:6rem 1.5rem;}
.portfolio-table-wrap{margin-top:3rem;overflow-x:auto;}
.portfolio-table{width:100%;min-width:45rem;border-collapse:collapse;text-align:left;font-size:.875rem;}
.portfolio-table th{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--copper);border-bottom:1px solid var(--border);padding:1rem 1.5rem 1rem 0;}
.portfolio-table td{border-bottom:1px solid var(--border);padding:1.5rem 1.5rem 1.5rem 0;vertical-align:top;}
.portfolio-table td:first-child{font-family:"Fraunces",Georgia,serif;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;}
.portfolio-table td:first-child a:hover{color:var(--accent);}
.portfolio-table td:last-child p{color:var(--muted-foreground);}
.portfolio-table td:last-child .tech-tag{margin-top:.5rem;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}

.section-split{max-width:72rem;margin-inline:auto;padding:6rem 1.5rem;display:grid;gap:3rem;}
.section-split img{width:100%;object-fit:cover;}

.section-clients{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:5rem 1.5rem;}
.clients-grid{margin-top:2.5rem;display:grid;gap:1rem;font-size:.875rem;color:var(--muted-foreground);}
.clients-grid li{border-top:1px solid var(--border);padding-top:.75rem;}

.section-cta{max-width:72rem;margin-inline:auto;padding:6rem 1.5rem;text-align:center;}
.section-cta h2{font-size:clamp(1.75rem,4vw,2.5rem);}
.section-cta p{margin:1.25rem auto 0;max-width:40rem;color:var(--muted-foreground);}
.section-cta .btn-primary{margin-top:2rem;}

/* ── COFFEE PAGE ── */
.coffee-hero-figure{margin-top:3rem;overflow:hidden;border:1px solid var(--border);}
.coffee-hero-figure img{width:100%;height:16rem;object-fit:cover;}
.coffee-list{margin-top:4rem;display:flex;flex-direction:column;gap:1.5rem;}
.coffee-card{border:1px solid var(--border);background:var(--card);}
.coffee-card__img{width:100%;height:16rem;object-fit:cover;}
.coffee-card__body{padding:2rem;}
.coffee-card__header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem;}
.coffee-card__name{font-size:1.5rem;}
.coffee-card__dl{margin-top:2rem;display:grid;gap:1.5rem;}
.coffee-card__dt{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-foreground);}
.coffee-card__dd{margin-top:.5rem;font-size:.875rem;}
.coffee-card__def-item{border-top:1px solid var(--border);padding-top:.75rem;}
.cta-row{margin-top:4rem;display:flex;flex-wrap:wrap;gap:.75rem;}

/* ── GRADE/PRODUCT CARDS ── */
.grade-grid{margin-top:3rem;display:grid;gap:1.5rem;}
.grade-card{border:1px solid var(--border);background:var(--card);padding:1.75rem;}
.grade-card h2{font-size:1.25rem;}
.grade-card p{margin-top:1rem;font-size:.875rem;color:var(--muted-foreground);}

.specs-bar{margin-top:4rem;border:1px solid var(--border);padding:2rem;display:grid;gap:2rem;}
.specs-bar__item p:first-child{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--copper);}
.specs-bar__item p:last-child{margin-top:.75rem;font-size:.875rem;color:var(--muted-foreground);}

/* ── BLOCKCHAIN PAGE ── */
.pillar-grid{display:grid;gap:1.5rem;}
.pillar-card{border-top:2px solid var(--accent);background:var(--card);padding:1.75rem;}
.pillar-card h2{font-size:1.25rem;}
.pillar-card p{margin-top:1rem;font-size:.875rem;color:var(--muted-foreground);}
.steps-section{margin-top:5rem;}
.steps-grid{margin-top:3rem;display:grid;gap:1.5rem;}
.step-card{border:1px solid var(--border);padding:1.75rem;}
.step-card__num{font-family:"Fraunces",Georgia,serif;font-size:1.875rem;font-weight:600;color:var(--accent);}
.step-card h3{margin-top:.75rem;font-size:1.25rem;}
.step-card p{margin-top:.75rem;font-size:.875rem;color:var(--muted-foreground);}
.disclosure-box{margin-top:5rem;border:1px solid var(--border);background:oklch(.955 .014 83);padding:2rem;font-size:.875rem;color:var(--muted-foreground);}
.disclosure-box .eyebrow{display:block;color:var(--foreground);margin-bottom:1rem;}

/* ── LIVESTOCK PAGE ── */
.facts-list{margin-top:3rem;}
.fact-item{display:grid;gap:.75rem;padding:1.5rem 0;border-bottom:1px solid var(--border);}
.fact-item:first-child{border-top:1px solid var(--border);}
.fact-item dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--copper);}
.fact-item dd{color:var(--muted-foreground);}

/* ── SOURCING PAGE ── */
.sourcing-grid{margin-top:4rem;display:grid;gap:3rem;}
.sourcing-model{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;}
.sourcing-model li{display:flex;gap:1rem;border-bottom:1px solid var(--border);padding-bottom:1rem;font-size:.875rem;}
.sourcing-model__num{font-family:"Fraunces",Georgia,serif;color:var(--accent);font-size:1rem;flex-shrink:0;}
.community-panel{margin-top:5rem;background:var(--espresso);color:var(--espresso-foreground);padding:2rem;}
.community-panel p{margin-top:1rem;max-width:48rem;opacity:.85;}

/* ── ABOUT PAGE ── */
.values-grid{margin-top:1.5rem;display:grid;gap:1rem;}
.values-grid li{border-left:2px solid var(--accent);background:var(--card);padding:1.25rem;font-size:.875rem;}

/* ── TRADE PAGE ── */
.trade-grid{margin-top:3.5rem;display:grid;gap:2.5rem;}
.services-list{display:grid;gap:1rem;}
.services-list li{border-bottom:1px solid var(--border);padding-bottom:1rem;font-size:.875rem;}

/* ── CONTACT PAGE ── */
.advantage-panel{margin-top:3.5rem;border-left:2px solid var(--accent);background:oklch(.955 .014 83);padding:2rem;}
.advantage-panel h2{font-size:1.5rem;}
.advantage-panel p{margin-top:1rem;color:var(--muted-foreground);max-width:48rem;}
.contact-grid{margin-top:3.5rem;display:grid;gap:2.5rem;}
.contact-form-card{border:1px solid var(--border);background:var(--card);padding:1.5rem;}
.contact-form-card h2{font-size:1.5rem;}
.contact-form-card > p{margin-top:.75rem;font-size:.875rem;color:var(--muted-foreground);}
.form-grid{margin-top:1.5rem;display:grid;gap:1.25rem;}
.form-field label{display:block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--copper);margin-bottom:.5rem;}
.form-field input,.form-field select,.form-field textarea{width:100%;border-radius:var(--radius);border:1px solid var(--border);background:var(--background);padding:.5rem .75rem;font-size:.875rem;font-family:inherit;outline:none;transition:border-color .2s;color:var(--foreground);}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);}
.field-error{display:none;margin-top:.25rem;font-size:.75rem;color:var(--destructive);}
.field-error.visible{display:block;}
.form-honeypot{position:absolute;left:-9999px;height:0;width:0;overflow:hidden;}
.form-submit{margin-top:1.75rem;}
.form-note{margin-top:1rem;font-size:.75rem;color:var(--muted-foreground);}
.form-success{border:1px solid var(--border);background:var(--card);padding:2rem;}
.form-success h2{font-size:1.5rem;}
.form-success p{margin-top:1rem;font-size:.875rem;color:var(--muted-foreground);}
.contact-info-card{border:1px solid var(--border);background:var(--card);padding:2rem;}
.contact-info-card h2{font-size:1.5rem;}
.contact-info-card dl{margin-top:2rem;display:flex;flex-direction:column;gap:1.5rem;font-size:.875rem;}
.contact-info-card dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--copper);}
.contact-info-card dd{margin-top:.5rem;line-height:1.7;}
.contact-info-card a:hover{color:var(--accent);}
.contact-dark-card{background:var(--espresso);color:var(--espresso-foreground);padding:2rem;}
.contact-dark-card h2{font-size:1.5rem;}
.contact-dark-card p{margin-top:1rem;font-size:.875rem;opacity:.8;}
.contact-dark-card .btn-col{margin-top:2rem;display:flex;flex-direction:column;gap:.75rem;}
.contact-sidebar{display:flex;flex-direction:column;gap:2rem;}

/* ── RESPONSIVE ── */
@media(min-width:640px){
  .site-header__logo-sub{display:block;}
  .clients-grid{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:repeat(2,1fr);}
  .form-field--full{grid-column:1/-1;}
  .coffee-card__dl{grid-template-columns:repeat(2,1fr);}
  .grade-grid{grid-template-columns:repeat(2,1fr);}
  .values-grid{grid-template-columns:repeat(2,1fr);}
}
@media(min-width:768px){
  .hero-section--home .hero-section__content{padding:11rem 1.5rem;}
  .site-footer__main{grid-template-columns:repeat(2,1fr);}
  .about-grid{grid-template-columns:1.2fr 1fr;}
  .section-split{grid-template-columns:repeat(2,1fr);align-items:center;}
  .coffee-hero-figure img{height:24rem;}
  .coffee-card{display:grid;grid-template-columns:repeat(2,1fr);}
  .coffee-card--alt .coffee-card__img{order:2;}
  .coffee-card__img{height:100%;min-height:21rem;}
  .specs-bar{grid-template-columns:repeat(3,1fr);}
  .steps-grid{grid-template-columns:repeat(2,1fr);}
  .pillar-grid{grid-template-columns:repeat(3,1fr);}
  .fact-item{grid-template-columns:13.75rem 1fr;}
  .values-grid{grid-template-columns:repeat(3,1fr);}
  .community-panel{padding:3.5rem;}
  .community-panel h2{font-size:clamp(1.75rem,4vw,2.5rem);}
  .blockchain-cards{grid-template-columns:repeat(3,1fr);}
  .clients-grid{grid-template-columns:repeat(4,1fr);}
  .sourcing-grid{grid-template-columns:repeat(2,1fr);align-items:start;}
  .trade-grid{grid-template-columns:repeat(2,1fr);align-items:center;}
}
@media(min-width:1024px){
  .site-header__inner{display:flex;justify-content:space-between;gap:1.5rem;}
  .site-nav{display:flex;}
  .header-cta{display:inline-block;}
  .nav-toggle{display:none;}
  .site-footer__main{grid-template-columns:repeat(4,1fr);}
  .contact-grid{grid-template-columns:1.15fr 0.85fr;}
}
