/* ============================================================
   NOYAN CAPITAL — Home page interactions
   II  "What we do"      → expanding accordion (.domino)
   III "Register"        → hover-synced image gallery (.regx)
   Loads after tide.css. Mobile/reduced-motion degrade to stacks.
   ============================================================ */

/* ---------- II · expanding accordion ---------- */
.domino{display:flex;gap:.8rem;align-items:stretch}
.dom{flex:1 1 0;min-width:0;font:inherit;color:inherit;text-align:left;background:transparent;
  border:0;border-top:1px solid var(--line);padding:1.5rem 1.3rem 1.7rem 0;cursor:pointer;
  position:relative;overflow:hidden;min-height:286px;display:flex;flex-direction:column;
  transition:flex-grow .6s cubic-bezier(.2,.7,.3,1),padding .6s cubic-bezier(.2,.7,.3,1),background .5s ease}
.dom::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--copper);
  transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.7,.3,1)}
.dom.active{flex-grow:2.6;background:linear-gradient(180deg,rgba(162,104,44,.07),transparent 70%);padding-left:1.5rem}
.dom.active::before{transform:scaleX(1)}
.dom-no{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,1.6rem + 2vw,3.4rem);line-height:1;color:var(--copper)}
.dom-verb{font-family:var(--serif);font-weight:500;font-size:clamp(1.35rem,1.1rem + 1vw,1.9rem);
  line-height:1.05;color:var(--forest);margin-top:.55rem}
.dom-body{margin-top:auto;max-width:34ch;opacity:0;transform:translateY(16px);pointer-events:none;
  transition:opacity .5s ease .08s,transform .55s cubic-bezier(.2,.7,.3,1) .08s}
.dom.active .dom-body{opacity:1;transform:none}
.dom-h{display:block;font-family:var(--serif);font-weight:500;font-size:1.2rem;color:var(--forest);margin-bottom:.5rem}
.dom-p{display:block;color:var(--sage);line-height:1.55;font-size:.98rem}
.dom-meta{display:flex;align-items:baseline;gap:.7rem}
@media(max-width:760px){
  .domino{flex-direction:column;gap:0;overflow-x:clip}
  .dom{flex:none;min-height:0;border-top:1px solid var(--line);padding:1.4rem 0;
    opacity:0;transition:opacity 1s ease,transform 1.15s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}
  /* Build (1) from the left, Invest (2) from the right, Operate (3) from the left */
  .dom:nth-child(odd){transform:translateX(-54px)}
  .dom:nth-child(even){transform:translateX(54px)}
  .dom.dom-in{opacity:1;transform:none}
  .dom.active{flex-grow:0;padding-left:0;background:none}
  .dom::before{display:none}
  .dom-body{opacity:1;transform:none;margin-top:1rem;pointer-events:auto}
}

/* ---------- III · hover-synced register gallery ---------- */
.regx{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,5vw,4rem);align-items:stretch}
.regx-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.regx-row{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;
  padding:clamp(1.4rem,2.6vw,2.1rem) 0;border-bottom:1px solid var(--line);position:relative;
  text-decoration:none;color:inherit;transition:padding-left .45s cubic-bezier(.2,.7,.3,1)}
.regx-row .rlogo{height:clamp(54px,6.4vw,82px);width:auto;max-width:min(82%,300px);object-fit:contain;
  display:block;margin-bottom:.6rem;filter:saturate(.96)}
.regx-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--copper);
  transform:scaleY(0);transform-origin:top;transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.regx-row.active{padding-left:1.4rem}
.regx-row.active::before{transform:scaleY(1)}
.regx-row .rno{grid-column:1;font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;color:var(--copper);align-self:center}
.regx-row .rname{grid-column:2;font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.2rem);line-height:1;color:var(--forest);transition:color .3s}
.regx-row .rname .sub{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-top:.45rem}
.regx-row .rsec{grid-column:2;color:var(--sage);font-size:.95rem;margin-top:.45rem;max-width:40ch}
.regx-row .rgo{grid-column:2;display:inline-flex;align-items:center;gap:.4em;font-family:var(--mono);font-size:.74rem;
  letter-spacing:.04em;color:var(--copper);margin-top:.85rem;opacity:0;transform:translateY(-5px);
  transition:opacity .4s ease,transform .4s cubic-bezier(.2,.7,.3,1)}
.regx-row.active .rgo{opacity:1;transform:none}
.regx-media{position:relative;border-radius:3px;overflow:hidden;min-height:400px;align-self:stretch;
  background:var(--forest-deep);box-shadow:0 36px 60px -50px rgba(23,36,32,.5)}
.regx-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.09);
  transition:opacity .7s ease,transform 1.3s cubic-bezier(.2,.7,.3,1)}
.regx-img.active{opacity:1;transform:scale(1)}
.regx-media .vig{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(14,23,20,.12),rgba(14,23,20,.5));pointer-events:none}
.regx-cap{position:absolute;left:0;bottom:0;z-index:2;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--paper);background:rgba(14,23,20,.62);padding:.55rem .85rem}
@media(max-width:820px){
  .regx{grid-template-columns:1fr;gap:0}
  .regx-media{display:none}
  .regx-row{padding-left:0}
  .regx-row.active{padding-left:0}
  .regx-row::before{display:none}
  .regx-row .rgo{opacity:1;transform:none}
}
