*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  
  --sage:        #485935;       
  --sage-deep:   #35432a;       
  --sage-light:  #cadbb7;       
  --sage-mid:    #93a267;       
  --clay:        #a67b5b;       
  --clay-soft:   #ecdccd;

  --cream:       #f6f7f0;       
  --cream-deep:  #ecefe2;       
  --paper:       #ffffff;

  --ink:         #1f2a18;       
  --ink-soft:    #2a3a20;
  --border-d:    rgba(255,255,255,0.09);
  --muted:       rgba(255,255,255,0.58);
  --surface-d:   rgba(255,255,255,0.045);

  --text:        #2b2520;       
  --text-soft:   #6b6258;
  --line:        #dfe3d2;

  --font-main:    'Inter', sans-serif;
  --font-display: 'Poppins', sans-serif;
  --font-grotesk: 'Space Grotesk', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  --radius:    18px;
  --radius-sm: 11px;
  --radius-lg: 30px;
  --ease: cubic-bezier(0.16,1,0.3,1);
  --t:    0.4s cubic-bezier(0.16,1,0.3,1);
}

html { scroll-behavior: smooth; }

body { font-family: var(--font-main); background: var(--cream); color: var(--text); overflow-x: hidden; -webkit-font-smoothing: antialiased; }

img { max-width: 100%; display: block; }

a { text-decoration: none; color: inherit; }

ul { list-style: none; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

#about-hero { background: var(--ink); padding: 100px 0 80px; position: relative; overflow: hidden; }

#about-hero::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 65% 55% at 5% -5%,  rgba(147,162,103,.28), transparent),
    radial-gradient(ellipse 45% 55% at 95% 20%,  rgba(166,123,91,.14), transparent),
    radial-gradient(ellipse 60% 50% at 50% 110%, rgba(147,162,103,.12), transparent);
  pointer-events: none;
}

#about-hero::after {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 50px 50px;
  mask-image: linear-gradient(180deg, transparent, rgba(0,0,0,.55) 30%, rgba(0,0,0,.55) 70%, transparent);
  pointer-events: none;
}

.hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 70px; align-items: center; }

.hero-text .breadcrumb { display: flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: .72rem; color: var(--muted); letter-spacing: .04em; margin-bottom: 22px; }

.hero-text .breadcrumb a:hover { color: var(--sage-mid); }

.hero-text .breadcrumb .sep { color: rgba(255,255,255,.2); }

.hero-pill { display: inline-flex; align-items: center; gap: 8px; background: rgba(147,162,103,.14); border: 1px solid rgba(147,162,103,.3); color: var(--sage-mid); font-family: var(--font-mono); font-size: .72rem; padding: 7px 16px; border-radius: 100px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 22px; }

.hero-pill .blink { width: 6px; height: 6px; border-radius: 50%; background: var(--sage-mid); animation: blink 1.4s ease-in-out infinite; }


@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.15} }
.hero-text h1 { font-family: var(--font-display); font-size: clamp(2.3rem,4.6vw,3.6rem); font-weight: 600; color: #fff; line-height: 1.12; letter-spacing: -.01em; margin-bottom: 20px; }

.hero-text h1 em { font-style: italic; color: var(--sage-mid); font-weight: 500; }

.hero-text > p { color: var(--muted); line-height: 1.8; font-size: .98rem; margin-bottom: 32px; max-width: 480px; }

.hero-cta { display: flex; gap: 14px; flex-wrap: wrap; }

.btn-g { display: inline-flex; align-items: center; gap: 8px; background: var(--sage); color: #fff; padding: 13px 28px; border-radius: 10px; font-weight: 700; font-size: .9rem; transition: var(--t); border: none; cursor: pointer; font-family: var(--font-main); }

.btn-g:hover { background: var(--sage-deep); transform: translateY(-2px); box-shadow: 0 12px 32px rgba(72,89,53,.4); }

.btn-ghost { display: inline-flex; align-items: center; gap: 8px; background: transparent; color: var(--muted); padding: 13px 26px; border-radius: 10px; font-weight: 600; font-size: .9rem; border: 1px solid var(--border-d); transition: var(--t); font-family: var(--font-main); }

.btn-ghost:hover { color: #fff; border-color: rgba(255,255,255,.25); background: var(--surface-d); }

.hero-stats { display: flex; gap: 26px; margin-top: 36px; flex-wrap: wrap; }

.hstat { display: flex; flex-direction: column; }

.hstat .num { font-family: var(--font-grotesk); font-size: 1.5rem; font-weight: 700; color: #fff; }

.hstat .lbl { font-size: .7rem; color: var(--muted); margin-top: 2px; letter-spacing: .05em; text-transform: uppercase; }

.hstat-div { width: 1px; background: var(--border-d); align-self: stretch; }

.accredit-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }

.acc-badge { display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.13); border-radius: 12px; padding: 12px 18px; }

.acc-badge i { color: var(--sage-mid); font-size: 1.1rem; }

.acc-badge strong { color: #fff; font-size: .86rem; display: block; font-weight: 600; }

.acc-badge small { color: var(--muted); font-size: .72rem; }

.hero-visuals { position: relative; display: flex; justify-content: center; }

.arch-wrap { position: relative; width: 320px; height: 420px; border-radius: 160px 160px 24px 24px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); box-shadow: 0 32px 80px rgba(0,0,0,.45); flex-shrink: 0; }

.arch-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: brightness(.9) saturate(1.05); }

.arch-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 50%,rgba(31,42,24,.7)); pointer-events: none; }

.float-card { position: absolute; bottom: -20px; left: -50px; background: rgba(42,58,32,.94); backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 18px 22px; box-shadow: 0 20px 60px rgba(0,0,0,.4); min-width: 180px; animation: floatCard 4s ease-in-out infinite; }


@keyframes floatCard { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.float-card .fc-icon { width: 36px; height: 36px; border-radius: 10px; background: rgba(147,162,103,.18); color: var(--sage-mid); display: flex; align-items: center; justify-content: center; font-size: .9rem; margin-bottom: 10px; }

.float-card .fc-num { font-family: var(--font-grotesk); font-size: 1.4rem; font-weight: 700; color: #fff; }

.float-card .fc-lbl { font-size: .72rem; color: var(--muted); margin-top: 2px; }

.arch-small { position: absolute; top: 30px; right: -40px; width: 130px; height: 170px; border-radius: 65px 65px 16px 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); box-shadow: 0 16px 40px rgba(0,0,0,.4); }

.arch-small img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.78); }

.year-badge { position: absolute; top: -20px; right: 80px; width: 76px; height: 76px; background: var(--clay); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 3px solid var(--ink); box-shadow: 0 12px 36px rgba(166,123,91,.4); animation: pulse-b 3s ease-in-out infinite; }

.year-badge .ynum { font-family: var(--font-grotesk); font-size: 1.1rem; font-weight: 700; color: #fff; line-height: 1; }

.year-badge .ylbl { font-size: .56rem; color: rgba(255,255,255,.85); text-transform: uppercase; letter-spacing: .06em; margin-top: 2px; }


@keyframes pulse-b { 0%,100%{box-shadow:0 12px 36px rgba(166,123,91,.4)} 50%{box-shadow:0 12px 56px rgba(166,123,91,.6)} }
#strip { background: var(--sage-deep); color: #fff; padding: 11px 0; overflow: hidden; }

.strip-inner { display: flex; white-space: nowrap; animation: marquee 32s linear infinite; width: max-content; }

.strip-inner:hover { animation-play-state: paused; }

.strip-item { padding: 0 36px; font-size: .87rem; display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; opacity: .92; }

.strip-item i { color: var(--sage-light); }


@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.sec { padding: 100px 0; }

.sec-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: var(--sage-light); border: 1px solid rgba(72,89,53,.22); color: var(--sage-deep); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; padding: 6px 14px; border-radius: 100px; margin-bottom: 18px; }

.sec-eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--sage); animation: blink 1.4s ease-in-out infinite; }

.sec-eyebrow.white { background: rgba(147,162,103,.16); border-color: rgba(147,162,103,.3); color: var(--sage-mid); }

h2.sec-title { font-family: var(--font-display); font-size: clamp(1.9rem,3.6vw,2.7rem); font-weight: 600; color: var(--ink); line-height: 1.18; letter-spacing: -.01em; }

h2.sec-title em { font-style: italic; color: var(--sage); font-weight: 500; }

h2.sec-title.white { color: #fff; }

h2.sec-title.white em { color: var(--sage-mid); }

p.sec-sub { font-size: .98rem; color: var(--text-soft); line-height: 1.85; max-width: 560px; margin-top: 14px; }

p.sec-sub.white { color: var(--muted); }

.text-center { text-align: center; }

.text-center p.sec-sub { margin: 14px auto 0; }

.anim { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }

.anim.visible { opacity: 1; transform: translateY(0); }

.anim.from-left { transform: translateX(-30px); }

.anim.from-right { transform: translateX(30px); }

.anim.from-left.visible, .anim.from-right.visible { transform: translateX(0); opacity: 1; }

.d1 {transition-delay:.08s}

.d2 {transition-delay:.16s}

.d3 {transition-delay:.24s}

.d4 {transition-delay:.32s}

@media(prefers-reduced-motion:reduce) {
.anim, .strip-inner, .float-card, .year-badge, .apart-stat-card2 { animation:none!important; transition:none!important; opacity:1!important; transform:none!important; }

}

#story { background: var(--paper); }

.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

.story-images { position: relative; }

.story-arch { width: 100%; max-width: 340px; border-radius: 170px 170px 26px 26px; overflow: hidden; box-shadow: 0 32px 80px rgba(31,42,24,.15); border: 1px solid var(--line); margin: 0 auto; }

.story-arch img { width: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: center top; }

.story-img-sm { position: absolute; bottom: -24px; right: 0; width: 170px; height: 210px; border-radius: 85px 85px 18px 18px; overflow: hidden; border: 5px solid var(--paper); box-shadow: 0 16px 40px rgba(31,42,24,.14); }

.story-img-sm img { width: 100%; height: 100%; object-fit: cover; }

.founded-chip { position: absolute; top: 30px; left: -20px; background: var(--sage-deep); color: #fff; border-radius: 16px; padding: 14px 18px; box-shadow: 0 16px 36px rgba(53,67,42,.3); border: 4px solid var(--paper); }

.founded-chip .fn { font-family: var(--font-grotesk); font-size: 1.5rem; font-weight: 800; line-height: 1; }

.founded-chip .fl { font-size: .65rem; opacity: .85; margin-top: 3px; letter-spacing: .06em; text-transform: uppercase; }

.story-content .story-para { color: var(--text-soft); line-height: 1.9; font-size: .96rem; margin-bottom: 18px; }

.story-highlight { background: linear-gradient(135deg, var(--sage-light), #f1f2ea); border-left: 3px solid var(--sage); border-radius: 0 14px 14px 0; padding: 20px 24px; margin: 28px 0; font-size: 1.05rem; font-family: var(--font-display); font-style: italic; color: var(--ink); line-height: 1.7; }

#mission { background: var(--ink); position: relative; overflow: hidden; }

#mission::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 55% 60% at 0% 50%,rgba(147,162,103,.16),transparent), radial-gradient(ellipse 45% 55% at 100% 50%,rgba(166,123,91,.1),transparent); pointer-events: none; }

.mission-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }

.mission-badge-row { display: flex; align-items: flex-start; gap: 16px; background: rgba(255,255,255,.045); border: 1px solid var(--border-d); border-radius: 16px; padding: 22px; margin-bottom: 14px; transition: var(--t); }

.mission-badge-row:hover { background: rgba(255,255,255,.08); }

.mb-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0; }

.mb-icon.green { background: rgba(147,162,103,.18); color: var(--sage-mid); }

.mb-icon.clay { background: rgba(166,123,91,.18); color: #c99f80; }

.mission-badge-row h4 { font-family: var(--font-display); font-weight: 600; color: #fff; font-size: 1rem; margin-bottom: 6px; }

.mission-badge-row p { font-size: .84rem; color: var(--muted); line-height: 1.7; }

.values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.val-card { background: var(--surface-d); border: 1px solid var(--border-d); border-radius: 16px; padding: 22px; transition: var(--t); position: relative; overflow: hidden; }

.val-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; border-radius: 2px; background: var(--vc, var(--sage-mid)); opacity: .65; }

.val-card:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.15); transform: translateY(-4px); }

.val-icon { width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.06); color: var(--vc, var(--sage-mid)); display: flex; align-items: center; justify-content: center; font-size: .9rem; margin-bottom: 12px; }

.val-card h4 { font-size: .9rem; font-weight: 700; color: #fff; margin-bottom: 6px; }

.val-card p { font-size: .79rem; color: var(--muted); line-height: 1.65; }

#numbers { background: linear-gradient(135deg,var(--sage-deep),#3f5230 55%,var(--ink)); padding: 84px 0; }

.numbers-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }

.n-card { text-align: center; padding: 38px 20px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); border-radius: var(--radius); backdrop-filter: blur(10px); transition: var(--t); }

.n-card:hover { background: rgba(255,255,255,.11); transform: translateY(-4px); }

.n-icon { font-size: 2rem; color: var(--sage-mid); margin-bottom: 14px; }

.n-num { font-family: var(--font-grotesk); font-size: 2.7rem; font-weight: 800; color: #fff; line-height: 1; margin-bottom: 8px; }

.n-num span { font-size: 1.9rem; color: var(--sage-mid); }

.n-lbl { font-size: .88rem; color: rgba(255,255,255,.6); font-weight: 500; }

#chief { background: var(--cream-deep); padding: 100px 0; }

.chief-inner { display: grid; grid-template-columns: 400px 1fr; gap: 72px; align-items: center; }

.chief-img-wrap { position: relative; }

.chief-arch { width: 100%; border-radius: 200px 200px 26px 26px; overflow: hidden; box-shadow: 0 40px 100px rgba(31,42,24,.18); border: 1px solid var(--line); aspect-ratio: 3/4; }

.chief-arch img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .6s ease; }

.chief-arch:hover img { transform: scale(1.04); }

.chief-badge { position: absolute; bottom: -16px; left: 50%; transform: translateX(-50%); background: var(--sage-deep); color: #fff; padding: 14px 26px; border-radius: 50px; font-family: var(--font-grotesk); font-size: .82rem; font-weight: 700; white-space: nowrap; box-shadow: 0 12px 32px rgba(53,67,42,.35); border: 4px solid var(--cream-deep); display: flex; align-items: center; gap: 8px; }

.chief-badge i { color: var(--sage-light); }

.chief-content .chief-eyebrow { display: inline-flex; align-items: center; gap: 8px; background: var(--sage-light); border: 1px solid rgba(72,89,53,.22); color: var(--sage-deep); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; padding: 6px 14px; border-radius: 100px; margin-bottom: 16px; }

.chief-content h2 { font-family: var(--font-display); font-size: clamp(1.9rem,3.1vw,2.7rem); font-weight: 600; color: var(--ink); margin-bottom: 8px; letter-spacing: -.01em; }

.chief-title { font-family: var(--font-mono); font-size: .82rem; color: var(--sage); font-weight: 600; margin-bottom: 22px; letter-spacing: .03em; }

.chief-content p { color: var(--text-soft); line-height: 1.9; font-size: .96rem; margin-bottom: 16px; }

.chief-content em { color: var(--ink); font-style: italic; font-family: var(--font-display); }

.chief-credentials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

.cred-chip { display: inline-flex; align-items: center; gap: 7px; background: var(--sage-light); color: var(--sage-deep); padding: 8px 15px; border-radius: 50px; font-size: .79rem; font-weight: 600; }

.cred-chip i { font-size: .8rem; }

#goals { background: var(--paper); padding: 84px 0; }

.goals-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 48px; }

.goal-card { background: var(--cream); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 24px; transition: var(--t); position: relative; overflow: hidden; }

.goal-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg,rgba(72,89,53,.07),transparent); opacity: 0; transition: opacity .35s; pointer-events: none; }

.goal-card:hover { border-color: var(--sage-mid); transform: translateY(-5px); box-shadow: 0 16px 40px rgba(31,42,24,.08); }

.goal-card:hover::after { opacity: 1; }

.goal-num { font-family: var(--font-mono); font-size: .7rem; color: var(--sage); font-weight: 600; letter-spacing: .12em; margin-bottom: 12px; }

.goal-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--sage-light); color: var(--sage-deep); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; margin-bottom: 14px; transition: var(--t); }

.goal-card:hover .goal-icon { background: var(--sage); color: #fff; }

.goal-card h4 { font-family: var(--font-display); font-weight: 600; color: var(--ink); font-size: .98rem; margin-bottom: 8px; }

.goal-card p { font-size: .83rem; color: var(--text-soft); line-height: 1.65; }

#apart { background: var(--cream-deep); }

.apart-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }

.apart-left { display: flex; flex-direction: column; gap: 16px; }

.apart-item { display: flex; align-items: flex-start; gap: 18px; padding: 22px; background: var(--paper); border: 1px solid var(--line); border-left: 3px solid var(--sage); border-radius: 0 14px 14px 0; transition: var(--t); position: relative; overflow: hidden; }

.apart-item::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(72,89,53,.06),transparent 60%); opacity: 0; transition: opacity .35s; pointer-events: none; }

.apart-item:hover { transform: translateX(5px); box-shadow: 0 8px 24px rgba(31,42,24,.07); }

.apart-item:hover::before { opacity: 1; }

.apart-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--sage-light); color: var(--sage-deep); display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; transition: var(--t); }

.apart-item:hover .apart-icon { background: var(--sage); color: #fff; transform: scale(1.1); }

.apart-text h4 { font-size: .94rem; font-weight: 700; color: var(--ink); margin-bottom: 5px; }

.apart-text p { font-size: .83rem; color: var(--text-soft); line-height: 1.65; }

.apart-right { position: relative; display: flex; justify-content: center; }

.apart-arch { width: 300px; height: 390px; border-radius: 150px 150px 24px 24px; overflow: hidden; box-shadow: 0 32px 80px rgba(31,42,24,.18); border: 1px solid var(--line); }

.apart-arch img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }

.apart-stat-card { position: absolute; bottom: -10px; right: -10px; background: var(--sage-deep); color: #fff; border-radius: 18px; padding: 18px 22px; box-shadow: 0 16px 40px rgba(53,67,42,.3); border: 4px solid var(--cream-deep); text-align: center; }

.apart-stat-card .asn { font-family: var(--font-grotesk); font-size: 1.8rem; font-weight: 800; }

.apart-stat-card .asl { font-size: .7rem; opacity: .85; margin-top: 3px; letter-spacing: .05em; }

.apart-stat-card2 { position: absolute; top: 30px; left: -20px; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 16px 20px; box-shadow: 0 12px 36px rgba(31,42,24,.12); display: flex; align-items: center; gap: 12px; animation: floatCard 5s ease-in-out infinite; }

.apart-stat-card2 .sc2-icon { width: 38px; height: 38px; border-radius: 10px; background: var(--sage-light); color: var(--sage-deep); display: flex; align-items: center; justify-content: center; font-size: 1rem; }

.apart-stat-card2 .sc2n { font-family: var(--font-grotesk); font-size: 1.15rem; font-weight: 700; color: var(--ink); }

.apart-stat-card2 .sc2l { font-size: .7rem; color: var(--text-soft); }

#provide { background: var(--ink); padding: 100px 0; position: relative; overflow: hidden; }

#provide::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 55% at 50% 30%,rgba(147,162,103,.12),transparent 65%); pointer-events: none; }

.provide-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }

.prov-card { background: var(--surface-d); border: 1px solid var(--border-d); border-radius: var(--radius); padding: 28px 24px; transition: var(--t); }

.prov-card:hover { background: rgba(255,255,255,.07); border-color: rgba(147,162,103,.35); transform: translateY(-5px); box-shadow: 0 20px 50px rgba(0,0,0,.25); }

.prov-icon { width: 52px; height: 52px; border-radius: 14px; background: rgba(147,162,103,.16); color: var(--sage-mid); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; margin-bottom: 16px; transition: var(--t); }

.prov-card:hover .prov-icon { background: rgba(147,162,103,.26); transform: scale(1.1); }

.prov-card h4 { font-family: var(--font-display); font-weight: 600; color: #fff; font-size: .98rem; margin-bottom: 8px; }

.prov-card p { font-size: .83rem; color: var(--muted); line-height: 1.65; }

#timeline { background: var(--cream); padding: 100px 0; position: relative; overflow: hidden; }

.timeline-inner { position: relative; z-index: 2; }

.timeline-line { position: absolute; left: 50%; top: 60px; bottom: 60px; width: 2px; background: linear-gradient(180deg,transparent,rgba(72,89,53,.35),rgba(72,89,53,.35),transparent); transform: translateX(-50%); }

.tl-items { display: flex; flex-direction: column; gap: 48px; position: relative; }

.tl-item { display: grid; grid-template-columns: 1fr 60px 1fr; gap: 20px; align-items: center; }

.tl-item:nth-child(even) .tl-content { grid-column: 3; grid-row: 1; }

.tl-item:nth-child(even) .tl-empty { grid-column: 1; grid-row: 1; }

.tl-item:nth-child(even) .tl-dot-wrap { grid-column: 2; grid-row: 1; }

.tl-dot-wrap { display: flex; justify-content: center; }

.tl-dot { width: 14px; height: 14px; border-radius: 50%; background: var(--sage); border: 3px solid var(--cream); box-shadow: 0 0 16px rgba(72,89,53,.4); flex-shrink: 0; }

.tl-content { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 22px 24px; transition: var(--t); box-shadow: 0 6px 24px rgba(31,42,24,.04); }

.tl-content:hover { border-color: var(--sage-mid); box-shadow: 0 12px 32px rgba(31,42,24,.09); }

.tl-year { font-family: var(--font-mono); font-size: .72rem; color: var(--sage-deep); letter-spacing: .1em; margin-bottom: 8px; font-weight: 600; }

.tl-title { font-family: var(--font-display); font-size: 1.05rem; font-weight: 600; color: var(--ink); margin-bottom: 6px; }

.tl-desc { font-size: .82rem; color: var(--text-soft); line-height: 1.65; }

#facilities { background: var(--cream-deep); }

.facilities-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }

.fac-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 24px; text-align: center; transition: var(--t); position: relative; overflow: hidden; }

.fac-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 0; background: var(--sage); transition: height .35s ease; border-radius: 0 2px 2px 0; }

.fac-card:hover::before { height: 100%; }

.fac-card:hover { border-color: var(--sage-mid); box-shadow: 0 12px 40px rgba(31,42,24,.08); transform: translateY(-5px); }

.fac-icon { width: 56px; height: 56px; border-radius: 16px; background: var(--sage-light); color: var(--sage-deep); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; margin: 0 auto 16px; transition: var(--t); }

.fac-card:hover .fac-icon { background: var(--sage); color: #fff; transform: scale(1.1); }

.fac-card h4 { font-family: var(--font-display); font-weight: 600; color: var(--ink); margin-bottom: 8px; font-size: .98rem; }

.fac-card p { font-size: .83rem; color: var(--text-soft); line-height: 1.65; }

#cta { background: var(--ink); padding: 96px 0; position: relative; overflow: hidden; }

#cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 50% 50%,rgba(147,162,103,.16),transparent 70%); pointer-events: none; }

.cta-inner { position: relative; z-index: 2; text-align: center; max-width: 660px; margin: 0 auto; }

.cta-inner h2 { font-family: var(--font-display); font-size: 2.5rem; font-weight: 600; color: #fff; margin-bottom: 16px; }

.cta-inner h2 em { color: var(--sage-mid); font-style: italic; }

.cta-inner p { color: var(--muted); font-size: 1rem; line-height: 1.8; margin-bottom: 32px; }

.cta-btns { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }

.trust-chips { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-top: 28px; }

.trust-chip { display: flex; align-items: center; gap: 7px; font-size: .78rem; color: rgba(255,255,255,.5); }

.trust-chip i { color: var(--sage-mid); }

@media(max-width:1024px) {
.hero-inner { grid-template-columns: 1fr; gap: 50px; }

.arch-small, .float-card, .year-badge { display: none; }

.story-grid, .mission-grid, .apart-grid { grid-template-columns: 1fr; gap: 48px; }

.numbers-grid { grid-template-columns: repeat(2,1fr); }

.chief-inner { grid-template-columns: 1fr; gap: 48px; }

.chief-arch { max-width: 320px; margin: 0 auto; }

.timeline-line { display: none; }

.tl-item { grid-template-columns: 1fr; text-align: center; }

.tl-dot-wrap { display: none; }

.tl-item:nth-child(even) .tl-content { grid-column: 1; }

.goals-grid { grid-template-columns: 1fr 1fr; }

.provide-grid { grid-template-columns: 1fr 1fr; }

}

@media(max-width:768px) {
.numbers-grid { grid-template-columns: 1fr 1fr; }

.facilities-grid { grid-template-columns: 1fr 1fr; }

.hero-stats { gap: 14px; }

.goals-grid, .provide-grid { grid-template-columns: 1fr; }

}

@media(max-width:480px) {
.numbers-grid { grid-template-columns: 1fr 1fr; }

.facilities-grid { grid-template-columns: 1fr; }

.cta-btns { flex-direction: column; align-items: center; }

}
