@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400;1,700&family=DM+Sans:wght@300;400;500;600&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: #FEFCF5; color: #1a1a1a; overflow-x: hidden; }

/* ── NAV ── */
.pear-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 40px; height: 76px;
  background: #fff; border-bottom: 1px solid rgba(160,140,60,0.15);
  position: sticky; top: 0; z-index: 999; transition: box-shadow 0.3s;
}
.pear-nav.scrolled { box-shadow: 0 2px 20px rgba(0,0,0,0.08); }
.pear-logo { display: flex; align-items: center; gap: 12px; }
.logo-text-wrap { display: flex; flex-direction: column; line-height: 1; }
.logo-name { font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 900; letter-spacing: 0.08em; color: #1a3a0a; text-transform: uppercase; line-height: 1; }
.logo-name span { color: #c8960a; }
.logo-sub { font-size: 9.5px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: #8a7020; margin-top: 3px; }
.nav-links { display: flex; gap: 24px; }
.nav-links a { font-size: 13.5px; font-weight: 400; color: #3a3a3a; text-decoration: none; cursor: pointer; transition: color 0.2s; padding-bottom: 3px; border-bottom: 2px solid transparent; }
.nav-links a:hover, .nav-links a.active { color: #2a5a10; border-bottom-color: #F5C842; }
.nav-cta { background: #F5C842; color: #1a2a00; border: none; padding: 11px 22px; border-radius: 24px; font-size: 13.5px; font-weight: 600; cursor: pointer; transition: background 0.2s, transform 0.15s; }
.nav-cta:hover { background: #e8b820; transform: scale(1.03); }
.nav-hamburger { display: none; background: none; border: none; font-size: 22px; cursor: pointer; color: #2a5a10; }
.mobile-nav { display: none; flex-direction: column; gap: 10px; background: #fff; padding: 20px 24px; border-bottom: 1px solid rgba(0,0,0,0.08); }
.mobile-nav.open { display: flex; }
.mobile-nav a { font-size: 15px; color: #2a3a10; text-decoration: none; padding: 6px 0; }

/* ── HERO ── */
.hero {
  min-height: 560px; padding: 80px 60px 70px;
  background: linear-gradient(135deg, #FFFDE8 0%, #FFF8CC 40%, #F0FAE8 100%);
  display: flex; align-items: center; gap: 60px; position: relative; overflow: hidden;
}
.hero::before { content:''; position:absolute; top:-80px; right:-80px; width:440px; height:440px; border-radius:50%; background:radial-gradient(circle, rgba(245,200,66,0.2) 0%, transparent 70%); }
.hero::after { content:''; position:absolute; bottom:-60px; left:28%; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle, rgba(130,200,80,0.14) 0%, transparent 70%); }
.hero-left { flex:1; z-index:2; }
.hero-tag { display:inline-block; background:rgba(245,200,66,0.2); color:#7a5c00; font-size:11.5px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; padding:6px 14px; border-radius:20px; border:1px solid rgba(245,200,66,0.5); margin-bottom:22px; }
.hero h1 { font-family:'Playfair Display',serif; font-size:54px; line-height:1.15; font-weight:700; color:#1a3a0a; margin-bottom:18px; }
.hero h1 em { font-style:italic; color:#7a5800; }
.hero-sub { font-size:17px; color:#4a5040; line-height:1.8; font-weight:300; max-width:480px; margin-bottom:36px; }
.hero-right { flex:0 0 270px; z-index:2; }

/* ── BUTTONS ── */
.btn-primary { background:#2a5a10; color:#fff; border:none; padding:14px 28px; border-radius:30px; font-size:14.5px; font-weight:500; cursor:pointer; transition:background 0.2s, transform 0.15s; }
.btn-primary:hover { background:#1e4a0a; transform:scale(1.03); }
.btn-secondary { background:transparent; color:#2a5a10; border:2px solid #2a5a10; padding:14px 28px; border-radius:30px; font-size:14.5px; font-weight:500; cursor:pointer; transition:all 0.2s; }
.btn-secondary:hover { background:#2a5a10; color:#fff; }
.btn-gold { background:#F5C842; color:#1a2a00; border:none; padding:14px 28px; border-radius:30px; font-size:14.5px; font-weight:600; cursor:pointer; transition:background 0.2s, transform 0.15s; }
.btn-gold:hover { background:#e8b820; transform:scale(1.03); }
.hero-btns { display:flex; gap:14px; flex-wrap:wrap; }

/* ── RATE CARD ── */
.rate-card { background:#fff; border-radius:20px; padding:28px; box-shadow:0 8px 40px rgba(60,90,0,0.10); border:1px solid rgba(180,200,80,0.2); }
.rate-card-title { font-size:12px; text-transform:uppercase; letter-spacing:0.1em; color:#8a7a20; margin-bottom:6px; }
.rate-card-big { font-family:'Playfair Display',serif; font-size:42px; font-weight:700; color:#2a5a10; }
.rate-card-label { font-size:13px; color:#6a7060; margin-bottom:22px; }
.rate-divider { height:1px; background:rgba(0,0,0,0.06); margin:16px 0; }
.mini-stat { margin-bottom:10px; }
.mini-stat-label { font-size:11px; color:#8a9080; text-transform:uppercase; letter-spacing:0.06em; }
.mini-stat-val { font-size:16px; font-weight:500; color:#1a2a10; }

/* ── TICKER ── */
.ticker { background:#2a5a10; color:#c8e860; padding:13px 0; overflow:hidden; }
.ticker-inner { display:flex; gap:60px; animation:tickerScroll 30s linear infinite; white-space:nowrap; }
.ticker-inner span { font-size:12.5px; font-weight:500; letter-spacing:0.04em; flex-shrink:0; }
.ticker-inner strong { color:#F5C842; }
@keyframes tickerScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── SECTIONS ── */
.section { padding:72px 60px; }
.section-white { background:#fff; }
.section-cream { background:#FEFCF5; }
.section-light { background:#F9FDF0; }
.section-gold { background:#FFF8E0; border-top:1px solid rgba(245,200,66,0.3); border-bottom:1px solid rgba(245,200,66,0.3); }
.section-dark { background:#1a3a0a; color:#fff; }
.section-title { font-family:'Playfair Display',serif; font-size:36px; font-weight:700; color:#1a3a0a; text-align:center; margin-bottom:10px; }
.section-dark .section-title { color:#fff; }
.section-sub { font-size:16px; color:#6a7060; text-align:center; margin-bottom:52px; font-weight:300; }
.section-dark .section-sub { color:#b0c890; }

/* ── CARDS ── */
.card-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.card-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.card-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.card { background:#fff; border-radius:18px; padding:32px 26px; border:1px solid rgba(180,200,80,0.2); transition:transform 0.25s, box-shadow 0.25s; }
.card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(40,90,0,0.10); }
.card-icon { width:54px; height:54px; border-radius:14px; margin-bottom:18px; display:flex; align-items:center; justify-content:center; font-size:26px; }
.card h3 { font-size:17px; font-weight:500; color:#1a2a10; margin-bottom:10px; }
.card p { font-size:14px; color:#6a7060; line-height:1.75; font-weight:300; }
.card-gold { border-color:rgba(245,200,66,0.4); }
.icon-gold { background:#FFFADE; }
.icon-green { background:#EAFBE0; }
.icon-sage { background:#E8F5E0; }
.icon-sky { background:#E8F0FF; }
.icon-rose { background:#FFF0F0; }
.icon-purple { background:#F5EEFF; }

/* ── STATS ── */
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); text-align:center; }
.stat-item { padding:40px 20px; border-right:1px solid rgba(0,0,0,0.05); }
.stat-item:last-child { border-right:none; }
.stat-num { font-family:'Playfair Display',serif; font-size:46px; font-weight:700; color:#2a5a10; line-height:1; }
.stat-label { font-size:14px; color:#7a8870; margin-top:8px; font-weight:300; }

/* ── TABS ── */
.tab-nav { display:flex; border-bottom:2px solid rgba(0,0,0,0.08); margin-bottom:40px; gap:0; }
.tab-btn { padding:14px 28px; font-size:14.5px; font-weight:500; color:#6a7060; background:none; border:none; border-bottom:3px solid transparent; margin-bottom:-2px; cursor:pointer; transition:all 0.2s; }
.tab-btn:hover { color:#2a5a10; }
.tab-btn.active { color:#2a5a10; border-bottom-color:#F5C842; }
.tab-pane { display:none; animation:fadeTab 0.3s ease; }
.tab-pane.active { display:block; }
@keyframes fadeTab { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* ── HERITAGE BLOCK ── */
.heritage-block { background:#1a3a0a; border-radius:24px; padding:64px 60px; margin:0 0 0 0; display:flex; gap:64px; align-items:center; }
.heritage-left { flex:1; }
.heritage-tag { display:inline-block; background:rgba(245,200,66,0.15); color:#F5C842; font-size:11px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; padding:5px 14px; border-radius:20px; border:1px solid rgba(245,200,66,0.3); margin-bottom:18px; }
.heritage-block h2 { font-family:'Playfair Display',serif; font-size:40px; font-weight:700; line-height:1.25; margin-bottom:18px; color:#fff; }
.heritage-block h2 em { font-style:italic; color:#F5C842; }
.heritage-block p { font-size:15px; line-height:1.85; color:#b0c890; font-weight:300; margin-bottom:28px; }
.heritage-right { flex:0 0 290px; }
.company-list { display:flex; flex-direction:column; gap:10px; }
.company-pill { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); border-radius:10px; padding:13px 18px; display:flex; align-items:center; gap:12px; transition:background 0.2s; }
.company-pill:hover { background:rgba(255,255,255,0.12); }
.company-dot { width:9px; height:9px; border-radius:50%; flex-shrink:0; }
.company-pill span { font-size:13px; color:#d0e8b0; font-weight:400; }

/* ── MISSION QUOTE ── */
.mission-block { text-align:center; padding:72px 80px; }
.mission-quote { font-family:'Playfair Display',serif; font-size:28px; font-style:italic; color:#3a4a20; line-height:1.65; max-width:760px; margin:0 auto 24px; }
.mission-attr { font-size:13px; color:#8a7a30; letter-spacing:0.08em; text-transform:uppercase; }

/* ── PAGE HERO (inner pages) ── */
.page-hero { background:linear-gradient(135deg,#FFFDE8 0%,#FFF8CC 50%,#F0FAE8 100%); padding:64px 60px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; top:-40px; right:-40px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(245,200,66,0.18) 0%,transparent 70%); }
.page-hero-tag { display:inline-block; background:rgba(245,200,66,0.2); color:#7a5c00; font-size:11px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; padding:5px 14px; border-radius:20px; border:1px solid rgba(245,200,66,0.5); margin-bottom:16px; }
.page-hero h1 { font-family:'Playfair Display',serif; font-size:46px; font-weight:700; color:#1a3a0a; margin-bottom:14px; }
.page-hero h1 em { font-style:italic; color:#7a5800; }
.page-hero p { font-size:17px; color:#4a5040; font-weight:300; max-width:560px; line-height:1.8; }

/* ── PRODUCT ROW ── */
.product-row { display:flex; gap:40px; align-items:center; padding:40px 0; border-bottom:1px solid rgba(0,0,0,0.06); }
.product-row:last-child { border-bottom:none; }
.product-row-icon { width:64px; height:64px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:30px; flex-shrink:0; }
.product-row-body { flex:1; }
.product-row-body h3 { font-size:18px; font-weight:500; color:#1a2a10; margin-bottom:6px; }
.product-row-body p { font-size:14px; color:#6a7060; line-height:1.75; font-weight:300; }
.product-row-rate { flex:0 0 160px; text-align:right; }
.product-row-rate .rate { font-family:'Playfair Display',serif; font-size:28px; font-weight:700; color:#2a5a10; }
.product-row-rate .rate-label { font-size:12px; color:#8a8a70; margin-top:2px; }

/* ── CTA BANNER ── */
.cta-banner { background:#F5C842; padding:72px 60px; text-align:center; }
.cta-banner h2 { font-family:'Playfair Display',serif; font-size:40px; font-weight:700; color:#1a2a00; margin-bottom:14px; }
.cta-banner p { font-size:17px; color:#4a4000; margin-bottom:36px; font-weight:300; }
.cta-btns { display:flex; justify-content:center; gap:16px; }

/* ── FOOTER ── */
.pear-footer { background:#0f2008; color:#8aaa70; padding:56px 60px 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; }
.footer-brand p { font-size:13px; color:#6a8a50; line-height:1.8; font-weight:300; max-width:260px; }
.footer-tagline { font-family:'Playfair Display',serif; font-style:italic; font-size:13px; color:#8a9a60; margin-top:12px; }
.footer-col h5 { font-size:11px; text-transform:uppercase; letter-spacing:0.12em; color:#F5C842; margin-bottom:16px; font-weight:600; }
.footer-col a { display:block; font-size:13px; color:#7a9a60; text-decoration:none; margin-bottom:11px; transition:color 0.2s; }
.footer-col a:hover { color:#c8e860; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.06); padding:18px 0; display:flex; justify-content:space-between; font-size:12px; color:#4a6040; }

/* ── ANIMATE IN ── */
.animate-in { opacity:0; transform:translateY(24px); transition:opacity 0.6s ease, transform 0.6s ease; }
.animate-in.visible { opacity:1; transform:none; }
.animate-in:nth-child(2) { transition-delay:0.1s; }
.animate-in:nth-child(3) { transition-delay:0.2s; }
.animate-in:nth-child(4) { transition-delay:0.3s; }
.animate-in:nth-child(5) { transition-delay:0.4s; }
.animate-in:nth-child(6) { transition-delay:0.5s; }

/* ── TEAM CARD ── */
.team-card { background:#fff; border-radius:18px; padding:28px; border:1px solid rgba(0,0,0,0.06); text-align:center; }
.team-avatar { width:72px; height:72px; border-radius:50%; background:#F5C842; display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:700; color:#1a2a00; margin:0 auto 16px; font-family:'Playfair Display',serif; }
.team-card h4 { font-size:16px; font-weight:500; color:#1a2a10; margin-bottom:4px; }
.team-card p { font-size:13px; color:#8a9070; }

/* ── ACCORDION ── */
.accordion-item { border-bottom:1px solid rgba(0,0,0,0.07); }
.accordion-header { display:flex; justify-content:space-between; align-items:center; padding:20px 0; cursor:pointer; font-size:16px; font-weight:500; color:#1a2a10; transition:color 0.2s; }
.accordion-header:hover { color:#2a5a10; }
.accordion-arrow { font-size:18px; transition:transform 0.3s; color:#8a9070; }
.accordion-item.open .accordion-arrow { transform:rotate(180deg); }
.accordion-body { max-height:0; overflow:hidden; transition:max-height 0.4s ease, padding 0.3s; }
.accordion-item.open .accordion-body { max-height:300px; padding-bottom:18px; }
.accordion-body p { font-size:14.5px; color:#6a7060; line-height:1.8; font-weight:300; }

/* ── COMPANY PROFILE ── */
.company-profile { background:#fff; border-radius:20px; padding:36px; border:1px solid rgba(0,0,0,0.06); display:flex; gap:28px; align-items:flex-start; transition:transform 0.25s, box-shadow 0.25s; }
.company-profile:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,0.08); }
.company-badge { width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:26px; flex-shrink:0; }
.company-profile h3 { font-size:18px; font-weight:600; color:#1a2a10; margin-bottom:6px; }
.company-profile .tag { display:inline-block; font-size:11px; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; padding:3px 10px; border-radius:12px; margin-bottom:10px; }
.company-profile p { font-size:14px; color:#6a7060; line-height:1.75; font-weight:300; }

/* ── SKIP LINK (ADA/Accessibility) ── */
.skip-link { position:absolute; top:-100%; left:12px; background:#2a5a10; color:#fff; padding:8px 18px; border-radius:0 0 8px 8px; font-size:14px; font-weight:600; text-decoration:none; z-index:9999; }
.skip-link:focus { top:0; outline:3px solid #F5C842; outline-offset:2px; }

/* ── FOOTER COMPLIANCE ── */
.footer-compliance { border-top:1px solid rgba(255,255,255,0.06); padding:28px 0; display:flex; align-items:flex-start; gap:48px; flex-wrap:wrap; }
.ncua-notice { display:flex; align-items:flex-start; gap:14px; max-width:520px; }
.ncua-notice-text strong { display:block; font-size:11px; text-transform:uppercase; letter-spacing:0.1em; color:#aac890; margin-bottom:5px; }
.ncua-notice-text p { font-size:11px; color:#5a7a50; line-height:1.6; margin:0; }
.ehl-notice { display:flex; align-items:center; gap:10px; color:#6a8a50; }
.ehl-notice span { font-size:11px; line-height:1.4; color:#5a7a50; }
.footer-bottom a { color:#6a8a50; text-decoration:none; transition:color 0.2s; }
.footer-bottom a:hover { color:#aac890; }

/* ── COMPLIANCE PAGE ── */
.compliance-section { max-width:820px; margin:0 auto; padding:0 24px; }
.compliance-section h2 { font-family:'Playfair Display',serif; font-size:26px; font-weight:700; color:#1a3a0a; margin:36px 0 12px; }
.compliance-section h3 { font-size:16px; font-weight:600; color:#2a5a10; margin:24px 0 8px; }
.compliance-section p, .compliance-section li { font-size:15px; color:#4a5040; line-height:1.8; font-weight:300; }
.compliance-section ul, .compliance-section ol { padding-left:22px; margin:12px 0; }
.compliance-section li { margin-bottom:6px; }
.compliance-section .effective-date { font-size:13px; color:#8a9a80; margin-bottom:32px; }
.compliance-section a { color:#2a5a10; }
.compliance-section a:hover { color:#1e4a0a; }
.compliance-back { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#6a8a50; text-decoration:none; margin-bottom:28px; }
.compliance-back:hover { color:#2a5a10; }

/* ── RESPONSIVE ── */
@media(max-width:900px) {
  .pear-nav { padding:0 20px; }
  .nav-links, .nav-cta { display:none; }
  .nav-hamburger { display:block; }
  .hero, .page-hero { padding:50px 24px; flex-direction:column; }
  .hero-right { display:none; }
  .section { padding:48px 24px; }
  .card-grid-3, .card-grid-4 { grid-template-columns:1fr; }
  .card-grid-2 { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .heritage-block { flex-direction:column; padding:40px 28px; }
  .heritage-right { display:none; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .cta-banner { padding:48px 24px; }
  .mission-block { padding:48px 24px; }
}
