.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.hero-left{background:var(--forest);position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:80px 60px 72px;overflow:hidden}
.hero-left::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 80%,rgba(74,103,65,.6) 0%,transparent 60%)}
.hero-badge{position:absolute;top:88px;right:44px;text-align:center}
.hero-badge .yr{font-family:var(--display);font-size:3.5rem;font-weight:700;color:rgba(250,246,239,.1);line-height:1}
.hero-badge .lbl{font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:rgba(250,246,239,.2)}
.eyebrow{position:relative;font-size:.65rem;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--tan);margin-bottom:22px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:36px;height:1px;background:var(--tan);opacity:.6}
.hero-h1{position:relative;font-family:var(--display);font-size:clamp(2.6rem,4vw,4.2rem);font-weight:700;line-height:1.1;color:var(--cream);margin-bottom:16px}
.hero-h1 em{font-style:italic;font-weight:400;color:var(--tan)}
.hero-sub{position:relative;font-family:var(--serif);font-size:1.1rem;font-style:italic;line-height:1.75;color:rgba(250,246,239,.6);max-width:400px;margin-bottom:44px}
.hero-actions{position:relative;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.btn-ghost{padding:13px 22px;color:var(--cream);font-size:.74rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px solid rgba(250,246,239,.25);transition:.2s}
.btn-ghost:hover{color:var(--tan);border-color:var(--tan)}
.hero-scroll{position:absolute;bottom:28px;left:60px;display:flex;align-items:center;gap:10px;font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:rgba(250,246,239,.35);z-index:1}
.scroll-bar{width:36px;height:1px;background:rgba(250,246,239,.15);position:relative;overflow:hidden}
.scroll-bar::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--tan);animation:swipe 2s ease infinite}
@keyframes swipe{0%{left:-100%}100%{left:100%}}
.hero-right{position:relative;background:var(--ivory)}
.mosaic{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:4px}
.mosaic .tile{overflow:hidden;position:relative}
.mosaic .tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.mosaic .tile:hover img{transform:scale(1.06)}
.mosaic .t-tall{grid-row:span 2}
.tile-cap{position:absolute;bottom:0;left:0;right:0;padding:14px;background:linear-gradient(to top,rgba(28,20,16,.65),transparent);font-size:.62rem;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.8)}
.band{background:var(--sienna);padding:28px 48px;display:flex;align-items:center;gap:56px;overflow:hidden;position:relative}
.band::before{content:'"';position:absolute;left:24px;top:-24px;font-family:var(--display);font-size:12rem;color:rgba(255,255,255,.04);line-height:1}
.band-quote{font-family:var(--serif);font-size:1.3rem;font-style:italic;color:var(--cream);line-height:1.5;flex:1;position:relative}
.band-src{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:var(--tan);flex-shrink:0;text-align:right;position:relative}
.pillars{padding:96px 48px;max-width:1400px;margin:0 auto}
.s-header{display:grid;grid-template-columns:1fr 2fr;gap:56px;margin-bottom:56px;align-items:end}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--sand)}
.pillar{background:var(--cream);padding:44px 36px;position:relative;overflow:hidden;transition:background var(--ease)}
.pillar:hover{background:var(--ivory)}
.pillar::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--sienna);transform:scaleX(0);transform-origin:left;transition:transform var(--ease)}
.pillar:hover::before{transform:scaleX(1)}
.pillar-n{font-family:var(--display);font-size:4.5rem;font-weight:700;color:var(--sand);line-height:1;margin-bottom:14px}
.pillar-ico{width:44px;height:44px;background:var(--sienna);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:1.2rem}
.pillar h3{font-family:var(--display);font-size:1.3rem;font-weight:700;color:var(--ink);margin-bottom:10px}
.pillar p{font-family:var(--serif);font-size:.92rem;line-height:1.78;color:var(--mist)}
.founder{background:var(--ink)}
.founder-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:580px}
.founder-img{position:relative;background:var(--umber);overflow:hidden}
.founder-img img{width:100%;height:100%;object-fit:cover;opacity:.5;mix-blend-mode:luminosity}
.founder-img-ov{position:absolute;inset:0;background:linear-gradient(135deg,var(--forest) 0%,transparent 55%)}
.big-cross{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;opacity:.12}
.big-cross::before,.big-cross::after{content:'';position:absolute;background:var(--cream);border-radius:3px}
.big-cross::before{width:7px;height:72px;left:32.5px;top:0}
.big-cross::after{width:50px;height:7px;left:11px;top:26px}
.founder-body{padding:80px 68px;display:flex;flex-direction:column;justify-content:center}
.founder-body .s-label{color:var(--tan)}.founder-body .s-label::before{background:var(--tan)}
.founder-body .s-title{color:var(--cream)}.founder-body .s-title em{color:var(--gold)}
.founder-bio{font-family:var(--serif);font-size:1rem;line-height:1.88;color:rgba(250,246,239,.6);margin:24px 0 36px}
.dates{display:flex;gap:36px;flex-wrap:wrap}
.date-item{border-left:2px solid var(--gold);padding-left:14px}
.date-yr{font-family:var(--display);font-size:1.7rem;font-weight:700;color:var(--gold);line-height:1}
.date-ev{font-size:.65rem;letter-spacing:1px;text-transform:uppercase;color:var(--mist);margin-top:4px}
.communities{padding:96px 48px;max-width:1400px;margin:0 auto}
.comm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px}
.comm-card{position:relative;aspect-ratio:.75;border-radius:6px;overflow:hidden;cursor:pointer}
.comm-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.comm-card:hover img{transform:scale(1.07)}
.comm-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(28,20,16,.85) 30%,transparent 70%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px 18px}
.comm-ov h3{font-family:var(--display);font-size:1.05rem;font-weight:700;color:var(--cream);line-height:1.3}
.comm-ov .loc{font-size:.6rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--tan);margin-top:3px}
.comm-text{background:var(--ivory);border-radius:6px;padding:28px 24px;display:flex;flex-direction:column;justify-content:center}
.comm-text h3{font-family:var(--display);font-size:1.25rem;font-weight:700;color:var(--ink);margin-bottom:10px}
.comm-text p{font-family:var(--serif);font-size:.88rem;line-height:1.78;color:var(--mist)}
.see-all{margin-top:18px;font-size:.68rem;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--sienna);display:flex;align-items:center;gap:6px}
.see-all::after{content:'→';transition:transform .2s}
.comm-text:hover .see-all::after{transform:translateX(4px)}
.timeline-sec{background:var(--forest);padding:96px 48px}
.tl-inner{max-width:960px;margin:0 auto}
.tl{position:relative}
.tl-line{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:2px;background:rgba(200,147,42,.18)}
.tl-fill{width:100%;height:0;background:var(--gold);transition:height 1.2s ease}
.tl-item{display:grid;grid-template-columns:1fr 40px 1fr;margin-bottom:44px;align-items:center}
.tl-item:nth-child(odd) .tl-content{grid-column:1;text-align:right;padding-right:44px}
.tl-item:nth-child(odd) .tl-blank{grid-column:3}
.tl-item:nth-child(even) .tl-content{grid-column:3;text-align:left;padding-left:44px}
.tl-item:nth-child(even) .tl-blank{grid-column:1}
.tl-dot{grid-column:2;width:14px;height:14px;border-radius:50%;background:var(--gold);border:3px solid var(--forest);box-shadow:0 0 0 2px var(--gold);margin:0 auto;z-index:1}
.tl-yr{font-family:var(--display);font-size:2rem;font-weight:700;color:var(--gold);line-height:1;margin-bottom:6px}
.tl-ev{font-size:.82rem;font-weight:500;color:var(--cream);margin-bottom:4px}
.tl-detail{font-family:var(--serif);font-size:.82rem;font-style:italic;color:rgba(250,246,239,.42);line-height:1.62}
.gallery-sec{padding:80px 0}
.gallery-sec .s-header{padding:0 48px;margin-bottom:32px}
.g-scroll{display:flex;gap:14px;padding:0 48px;overflow-x:auto;scrollbar-width:none;cursor:grab}
.g-scroll::-webkit-scrollbar{display:none}
.g-scroll:active{cursor:grabbing}
.g-item{flex-shrink:0;border-radius:6px;overflow:hidden}
.g-item img{height:248px;width:auto;transition:transform .5s ease}
.g-item:hover img{transform:scale(1.05)}
.news-sec{padding:96px 48px;max-width:1400px;margin:0 auto}
.news-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;margin-top:52px}
.n-card{border-radius:6px;overflow:hidden;background:var(--ivory)}
.n-card.feat{grid-row:span 2}
.n-img{overflow:hidden}
.n-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.n-card:hover .n-img img{transform:scale(1.04)}
.n-card.feat .n-img{aspect-ratio:.7}
.n-card:not(.feat) .n-img{aspect-ratio:1.6}
.n-body{padding:24px 20px}
.n-tag{font-size:.6rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--sienna);margin-bottom:8px}
.n-card h3{font-family:var(--display);font-size:1.15rem;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:8px}
.n-card.feat h3{font-size:1.55rem}
.n-card p,.n-card h3 a{font-family:var(--serif);font-size:.88rem;line-height:1.7;color:var(--mist)}
.n-card h3 a{color:var(--ink)}
.n-date{font-size:.66rem;color:var(--mist);margin-top:12px}
.cta{background:var(--ivory);padding:96px 48px;position:relative;overflow:hidden}
.cta::before{content:'✝';position:absolute;right:6%;top:50%;transform:translateY(-50%);font-size:18rem;color:var(--sand);opacity:.55;line-height:1}
.cta-inner{max-width:660px;position:relative}
.cta-inner .s-title{margin:14px 0 22px}
.cta-inner .s-desc{font-size:1.05rem;margin-bottom:36px}
.cta-btns{display:flex;gap:14px;flex-wrap:wrap}
.cta-contacts{margin-top:44px;display:flex;gap:44px;flex-wrap:wrap}
.ctc-item .lbl{font-size:.62rem;letter-spacing:2px;text-transform:uppercase;color:var(--mist)}
.ctc-item .val{font-family:var(--serif);font-size:.95rem;color:var(--ink);margin-top:3px}
@media(max-width:1024px){
  .hero{grid-template-columns:1fr}.hero-right{display:none}
  .hero-left{min-height:100vh;justify-content:center;padding:120px 36px 80px}
  .pillars-grid{grid-template-columns:1fr}.s-header{grid-template-columns:1fr;gap:14px}
  .founder-inner{grid-template-columns:1fr}.founder-img{display:none}
  .founder-body{padding:56px 36px}
  .comm-grid{grid-template-columns:1fr 1fr}
  .news-grid{grid-template-columns:1fr}.n-card.feat{grid-row:auto}
  .band{flex-direction:column;gap:16px;padding:36px 28px}
  .pillars,.communities,.news-sec,.cta{padding:56px 24px}
  .timeline-sec{padding:56px 24px}.gallery-sec .s-header{padding:0 24px}
}
@media(max-width:640px){
  .comm-grid{grid-template-columns:1fr}.hero-left{padding:96px 24px 56px}
  .tl-item{grid-template-columns:1fr}
  .tl-content,.tl-item:nth-child(even) .tl-content,.tl-item:nth-child(odd) .tl-content{grid-column:1;text-align:left;padding:0}
  .tl-dot,.tl-blank,.tl-line{display:none}.cta-contacts{flex-direction:column;gap:20px}
}
