.cob-section{ --ink:#0A2A20; --emerald:#0B3D2E; --emerald-mid:#1C6B4F; --gold:#B8860B; --gold-deep:#8f6a08; --walnut:#6B4226; --bg:#FBF8F0; --sand:#F0E6D2; --sand-line:#e2d3ab; --card:#FEFCF6; position:relative; padding:0 0 100px; background:var(--bg); overflow:hidden; }
.cob-section *{ box-sizing:border-box; }

/* Arch Hero */
.cob-hero{ position:relative; padding:76px 64px 64px; background:radial-gradient(ellipse 800px 400px at 50% 0%, rgba(184,134,11,0.06), transparent 65%), var(--bg); border-bottom:1px solid var(--sand-line); }
.cob-lattice-bg{ position:absolute; inset:0; pointer-events:none; }
.cob-lattice-bg svg{ width:100%; height:100%; }
.cob-lattice-line{ stroke:var(--gold); stroke-width:1; fill:none; opacity:0.06; }
.cob-hero-inner{ position:relative; max-width:1200px; margin:0 auto; }

.cob-eyebrow-row{ display:flex; align-items:center; gap:16px; margin-bottom:28px; }
.cob-eyebrow-arch{ width:26px; height:30px; flex-shrink:0; color:var(--gold-deep); }
.cob-eyebrow-text{ font-size:12.5px; font-weight:500; letter-spacing:0.28em; text-transform:uppercase; color:var(--gold-deep); }
.cob-eyebrow-line{ flex:1; height:1px; background:linear-gradient(90deg, var(--sand-line), transparent); max-width:200px; }

.cob-heading-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; }
.cob-heading-copy{ max-width:660px; }
.cob-heading-copy h2{ font-family:'Amiri', serif; font-size:58px; line-height:1.14; font-weight:700; margin:0 0 20px; color:var(--emerald); }
.cob-heading-copy h2 .accent{ color:var(--gold-deep); font-style:italic; position:relative; display:inline-block; }
.cob-heading-copy h2 .accent svg.underarch{ position:absolute; left:-4%; bottom:-14px; width:108%; height:16px; overflow:visible; }
.cob-heading-copy h2 .accent svg.underarch path{ stroke:var(--gold); stroke-width:2; fill:none; }

.cob-heading-sub{ font-size:17px; font-weight:300; line-height:1.65; color:var(--walnut); margin:0; }
.cob-heading-sub .place{ color:var(--emerald-mid); font-weight:500; }

.cob-viewall-btn{ position:relative; flex-shrink:0; display:inline-flex; align-items:center; gap:10px; padding:16px 20px 16px 26px; border-radius:4px 4px 40px 40px; border:1.5px solid var(--emerald); background:var(--emerald); color:var(--bg); font-family:'Jost',sans-serif; font-size:14px; font-weight:500; letter-spacing:0.03em; cursor:pointer; text-decoration:none; transition:background 0.35s ease, color 0.35s ease, transform 0.35s cubic-bezier(.34,1.4,.64,1); }
.cob-viewall-btn:hover{ background:var(--gold-deep); border-color:var(--gold-deep); transform:translateY(-3px); }
.cob-viewall-btn svg{ width:15px; height:15px; transition:transform 0.4s cubic-bezier(.65,0,.35,1); }
.cob-viewall-btn:hover svg{ transform:translateX(4px); }

/* Filter Tabs */
.cob-filter-wrap{ position:relative; margin-top:52px; }
.cob-filter-baseline{ position:relative; height:2px; background:var(--sand-line); margin-top:-1px; }
.cob-filter-rail{ display:flex; align-items:flex-end; gap:2px; overflow-x:auto; padding:10px 4px 0; scrollbar-width:none; -ms-overflow-style:none; }
.cob-filter-rail::-webkit-scrollbar{ display:none; }
.cob-filter-fade{ position:absolute; top:0; bottom:2px; width:56px; pointer-events:none; z-index:2; }
.cob-filter-fade.left{ left:0; background:linear-gradient(90deg, var(--bg) 20%, transparent); }
.cob-filter-fade.right{ right:0; background:linear-gradient(270deg, var(--bg) 20%, transparent); }

.cob-arch-tab{ position:relative; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:15px 24px 15px; border:none; background:transparent; color:var(--walnut); font-family:'Jost',sans-serif; font-size:14px; font-weight:500; letter-spacing:0.01em; white-space:nowrap; cursor:pointer; clip-path:polygon(10% 100%, 0% 42%, 0% 30%, 6% 14%, 20% 3%, 50% 0%, 80% 3%, 94% 14%, 100% 30%, 100% 42%, 90% 100%); transition:color 0.3s ease; }
.cob-arch-tab::before{ content:''; position:absolute; inset:0; background:var(--sand); opacity:0; transition:opacity 0.3s ease; z-index:-1; }
.cob-arch-tab:hover::before{ opacity:1; }
.cob-arch-tab:hover{ color:var(--emerald); }
.cob-arch-tab.active{ color:var(--bg); }
.cob-arch-tab.active::before{ opacity:1; background:linear-gradient(180deg, var(--emerald-mid), var(--emerald)); }
.cob-arch-tab.active::after{ content:''; position:absolute; left:50%; bottom:-2px; width:6px; height:6px; background:var(--gold); border-radius:50%; transform:translateX(-50%); }

/* Members Marquee */
.cob-members-wrap{ padding:64px 0 0; overflow:hidden; }
.cob-marquee-track{ display:flex; gap:28px; width:max-content; animation:cobMarqueeScroll var(--cob-duration, 40s) linear infinite; }
.cob-marquee-track:hover{ animation-play-state:paused; }

/* Grid mode (cabinet-members page) */
.cob-grid-track{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:28px; width:100%; max-width:1200px; margin:0 auto; padding:64px 24px 0; }
.cob-grid-track .cob-member-card{ flex:none; width:100%; }

/* Member Card */
.cob-member-card{ flex:0 0 248px; opacity:0; transform:translateY(24px); animation:cobCardRise 0.7s cubic-bezier(.19,1,.22,1) forwards; }

.cob-tile-panel{ position:relative; padding:14px; background:var(--card); border:1px solid var(--sand-line); border-radius:3px; transition:transform 0.5s cubic-bezier(.34,1.1,.64,1), border-color 0.4s ease, box-shadow 0.4s ease; box-shadow:0 1px 0 var(--sand-line); }
.cob-member-card:hover .cob-tile-panel{ transform:translateY(-9px); border-color:var(--gold); box-shadow:0 22px 34px -20px rgba(10,42,32,0.28); }

/* Medallions */
.cob-medallion{ position:absolute; width:15px; height:15px; color:var(--gold); opacity:0.75; z-index:2; transition:opacity 0.4s ease, transform 0.4s ease; }
.cob-medallion.tl{ top:5px; left:5px; }
.cob-medallion.tr{ top:5px; right:5px; transform:scaleX(-1); }
.cob-medallion.bl{ bottom:5px; left:5px; transform:scaleY(-1); }
.cob-medallion.br{ bottom:5px; right:5px; transform:scale(-1,-1); }
.cob-member-card:hover .cob-medallion{ opacity:1; }
.cob-member-card:hover .cob-medallion.tl{ transform:scale(1.15); }
.cob-member-card:hover .cob-medallion.tr{ transform:scale(1.15) scaleX(-1); }
.cob-member-card:hover .cob-medallion.bl{ transform:scale(1.15) scaleY(-1); }
.cob-member-card:hover .cob-medallion.br{ transform:scale(1.15) scale(-1,-1); }

/* Tile mat */
.cob-tile-mat{ position:relative; padding:10px; background:var(--sand); border-radius:2px; overflow:hidden; }
.cob-tile-mat-pattern{ position:absolute; inset:0; opacity:0.35; pointer-events:none; }
.cob-tile-mat-pattern svg{ width:100%; height:100%; }
.cob-mat-motif{ stroke:var(--gold); stroke-width:0.75; fill:none; }

/* Niche (photo) */
.cob-niche{ position:relative; width:100%; aspect-ratio:4/5; background:var(--sand); overflow:hidden; z-index:1; }
.cob-niche img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(0.95) contrast(1.02) sepia(0.06); transition:transform 0.7s cubic-bezier(.19,1,.22,1); }
.cob-member-card:hover .cob-niche img{ transform:scale(1.08); }

.cob-niche-lattice{ position:absolute; inset:0; pointer-events:none; opacity:0.5; }
.cob-niche-shade{ position:absolute; inset:0; background:linear-gradient(180deg, transparent 48%, rgba(10,42,32,0.75) 100%); pointer-events:none; }

.cob-niche-keystone{ position:absolute; top:7px; left:50%; transform:translateX(-50%); width:20px; height:20px; color:var(--gold); opacity:0.9; z-index:2; }

.cob-sheen{ position:absolute; inset:0; background:linear-gradient(115deg, transparent 40%, rgba(184,134,11,0.22) 50%, transparent 60%); transform:translateX(-140%); pointer-events:none; z-index:3; }
.cob-member-card:hover .cob-sheen{ animation:cobSheenSweep 1.1s cubic-bezier(.45,0,.2,1) forwards; }

.cob-role-tag{ position:absolute; bottom:12px; left:12px; display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border-radius:2px; background:rgba(251,248,240,0.94); border-left:2px solid var(--gold); font-size:11px; font-weight:500; letter-spacing:0.03em; color:var(--emerald); z-index:2; }

/* Nameplate */
.cob-nameplate{ position:relative; margin-top:12px; padding:12px 10px 13px; text-align:center; background:linear-gradient(180deg, #d9c78f 0%, #7d5d07 6%, #6d5106 50%, #7d5d07 94%, #7a5a06 100%); border-radius:2px; overflow:hidden; }
.cob-nameplate::before{ content:''; position:absolute; inset:1px; border:1px solid rgba(251,248,240,0.35); border-radius:1px; pointer-events:none; }
.cob-nameplate-rivet{ position:absolute; width:4px; height:4px; border-radius:50%; background:rgba(251,248,240,0.55); box-shadow:inset 0 1px 1px rgba(0,0,0,0.3); }
.cob-nameplate-rivet.nl{ top:5px; left:7px; }
.cob-nameplate-rivet.nr{ top:5px; right:7px; }
.cob-nameplate-rivet.sl{ bottom:5px; left:7px; }
.cob-nameplate-rivet.sr{ bottom:5px; right:7px; }

.cob-member-name{ font-family:'Amiri', serif; font-size:18px; font-weight:700; color:var(--bg); margin:0 0 3px; text-shadow:0 1px 1px rgba(10,42,32,0.25); }
.cob-member-role{ font-size:11px; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; color:#f3ecda; margin:0; }

/* Empty state */
.cob-empty{ width:100%; text-align:center; padding:60px 20px; color:var(--walnut); font-family:'Amiri',serif; font-style:italic; font-size:17px; }

@keyframes cobCardRise{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:translateY(0); } }
@keyframes cobSheenSweep{ to{ transform:translateX(140%); } }
@keyframes cobMarqueeScroll{ 0%{ transform:translateX(0); } 100%{ transform:translateX(-50%); } }

@media (max-width:720px){
  .cob-hero{ padding:52px 22px 40px; }
  .cob-members-wrap{ padding:48px 0 0; }
  .cob-heading-copy h2{ font-size:34px; }
  .cob-heading-row{ flex-direction:column; align-items:flex-start; }
  .cob-viewall-btn{ align-self:flex-start; }
  .cob-member-card{ flex:0 0 200px; }
}

/* ── Mobile fixes ── */
@media (max-width: 480px) {
  .cob-hero { padding: 40px 16px 32px; }
  .cob-heading-copy h2 { font-size: 28px; }
  .cob-member-card { flex: 0 0 170px; }
}

@media (prefers-reduced-motion: reduce){
  .cob-section *, .cob-section *::before, .cob-section *::after{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
}