.torva-image-accordion{
  --tc-ink:   #2C4030;
  --tc-sage:  #8B9B88;

  --tc-serif: "Playfair Display", "Times New Roman", serif;
  --tc-sans:  "Jost", "Helvetica Neue", Arial, sans-serif;
}

.torva-image-accordion, .torva-image-accordion :where(*){ box-sizing:border-box; margin:0; padding:0; }
.torva-image-accordion.tc-section{
  font-family:var(--tc-sans);
  background:#F0F1EF;
  color:var(--tc-ink);
  -webkit-font-smoothing:antialiased;
  padding:0;
}



.torva-image-accordion .tc-accordion{
  display:flex;
  width:100%;
  height:clamp(420px, 62vw, 640px);
  overflow:hidden;
}

.torva-image-accordion .tc-panel{
  position:relative;
  flex:1 1 0;
  min-width:0;
  cursor:pointer;
  overflow:hidden;
  transition:flex-grow .6s cubic-bezier(.22,.61,.36,1);
}
.torva-image-accordion .tc-panel.is-active{ flex-grow:6; }

.torva-image-accordion .tc-panel__img{
  display:block !important;
  position:absolute !important;
  top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
  width:100% !important; height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  transition:transform .8s ease;
}
.torva-image-accordion .tc-panel:hover .tc-panel__img{ transform:scale(1.04); }

.torva-image-accordion .tc-panel__scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,20,15,0) 20%, rgba(15,20,15,.55) 60%, rgba(15,20,15,.88) 100%);
  transition:opacity .5s ease;
}

.torva-image-accordion .tc-panel__label{
  position:absolute;
  top:0; left:0; right:0; bottom:0;
  display:flex; align-items:center; justify-content:center;
  opacity:1;
  transition:opacity .35s ease;
}
.torva-image-accordion .tc-panel.is-active .tc-panel__label{ opacity:0; pointer-events:none; }
.torva-image-accordion .tc-panel__label span{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:var(--tc-serif);
  font-size:clamp(15px, 1.6vw, 22px);
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#fff;
  white-space:nowrap;
}

.torva-image-accordion .tc-panel__content{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:clamp(24px, 3.5vw, 56px);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .4s ease .1s, transform .4s ease .1s;
  pointer-events:none;
  max-width:640px;
}
.torva-image-accordion .tc-panel.is-active .tc-panel__content{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.torva-image-accordion .tc-panel__eyebrow{
  font-family:var(--tc-sans);
  font-size:12px; font-weight:500;
  letter-spacing:.18em; text-indent:.18em;
  text-transform:uppercase;
  color:#cfe0ca;
  margin-bottom:10px;
  text-shadow:0 1px 8px rgba(0,0,0,.4);
}
.torva-image-accordion .tc-panel__title{
  font-family:var(--tc-serif);
  font-weight:500;
  font-size:clamp(24px, 2.6vw, 34px);
  color:#fff;
  margin-bottom:8px;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.torva-image-accordion .tc-panel__stats{
  font-family:var(--tc-sans);
  font-size:13px; font-weight:500;
  letter-spacing:.06em;
  color:#cfe0ca;
  margin-bottom:16px;
  text-shadow:0 1px 8px rgba(0,0,0,.4);
}
.torva-image-accordion .tc-panel__text{
  font-family:var(--tc-serif);
  font-size:16px;
  line-height:1.65;
  color:#fff;
  opacity:.96;
  margin-bottom:22px;
  text-shadow:0 1px 10px rgba(0,0,0,.4);
}

.torva-image-accordion .tc-panel__cta{
  display:inline-block;
  color:#fff;
  text-decoration:none;
}
.torva-image-accordion .tc-panel__cta-label{
  display:block;
  font-family:var(--tc-sans);
  font-size:12.5px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  margin-bottom:8px;
}
.torva-image-accordion .tc-panel__cta-rule{
  position:relative;
  display:block;
  width:120px; height:1px;
  background:rgba(255,255,255,.4);
}
.torva-image-accordion .tc-panel__cta-rule::after{
  content:"";
  position:absolute; left:0; top:0;
  width:34px; height:1px;
  background:#fff;
  transition:width .35s ease;
}
.torva-image-accordion .tc-panel__cta:hover .tc-panel__cta-rule::after{ width:100%; }

@media (max-width:820px){
  .torva-image-accordion .tc-accordion{
    flex-direction:column;
    height:auto;
  }
  .torva-image-accordion .tc-panel{
    flex:none;
    height:420px;
  }
  .torva-image-accordion .tc-panel.is-active{ flex-grow:0; }
  .torva-image-accordion .tc-panel__label{ display:none; }
  .torva-image-accordion .tc-panel__content{
    opacity:1; transform:none; pointer-events:auto;
    position:absolute; max-width:none;
  }
  .torva-image-accordion .tc-panel__scrim{ opacity:1; }
}

/* Integration and keyboard support; visual defaults above come from the supplied design. */
.torva-image-accordion { --tc-button-color:#fff; --tc-button-hover-color:var(--tc-button-color); }
.torva-image-accordion .tc-panel { background:#2c4030; }
.torva-image-accordion .tc-panel__img { border-radius:0; object-position:center; }
.torva-image-accordion .tc-panel__toggle {
  position:absolute; inset:0; z-index:2; display:block; width:100%; height:100%;
  appearance:none; background:transparent; border:0; border-radius:0; box-shadow:none;
  padding:0; margin:0; cursor:pointer; color:inherit; font:inherit; text-align:inherit;
}
.torva-image-accordion .tc-panel__toggle:hover,
.torva-image-accordion .tc-panel__toggle:focus { background:transparent; color:inherit; }
.torva-image-accordion .tc-panel__toggle:focus-visible { outline:3px solid #fff; outline-offset:-6px; }
.torva-image-accordion .tc-panel__content { z-index:3; }
.torva-image-accordion .tc-panel__cta,
.torva-image-accordion .tc-panel__cta:hover,
.torva-image-accordion .tc-panel__cta:focus { text-decoration:none; background:transparent; box-shadow:none; border:0; }
.torva-image-accordion .tc-panel__cta-label { color:var(--tc-button-color); }
.torva-image-accordion .tc-panel__cta:hover .tc-panel__cta-label,
.torva-image-accordion .tc-panel__cta:focus-visible .tc-panel__cta-label { color:var(--tc-button-hover-color); }
.torva-image-accordion .tc-panel__cta:focus-visible { outline:2px solid #fff; outline-offset:6px; }
.torva-image-accordion .tc-panel__cta:focus-visible .tc-panel__cta-rule::after { width:100%; }
.torva-image-accordion .tc-panel__content > :last-child { margin-bottom:0; }
.torva-image-accordion-empty { padding:24px; border:1px dashed #888; }
/* Fully readable fallback until JavaScript initializes, including when scripts are unavailable. */
.torva-image-accordion:not(.is-ready) .tc-accordion { flex-direction:column; height:auto; }
.torva-image-accordion:not(.is-ready) .tc-panel { flex:none; height:420px; }
.torva-image-accordion:not(.is-ready) .tc-panel__toggle { display:none; }
.torva-image-accordion:not(.is-ready) .tc-panel__content { opacity:1; transform:none; pointer-events:auto; max-width:none; }
@media (max-width:820px) {
  .torva-image-accordion .tc-panel__toggle { display:none; }
  .torva-image-accordion .tc-panel { cursor:default; }
}
@media (prefers-reduced-motion:reduce) {
  .torva-image-accordion .tc-panel,
  .torva-image-accordion .tc-panel__img,
  .torva-image-accordion .tc-panel__scrim,
  .torva-image-accordion .tc-panel__label,
  .torva-image-accordion .tc-panel__content,
  .torva-image-accordion .tc-panel__cta-rule::after { transition:none; }
  .torva-image-accordion .tc-panel:hover .tc-panel__img { transform:none; }
}
.torva-image-accordion .tc-editor-notice {
  margin:16px 24px 0; padding:12px 16px; background:#fff8df; color:#483800;
  border:1px solid #ddc567; font:14px/1.5 Arial,sans-serif;
}
.torva-image-accordion .tc-editor-notice[hidden] { display:none; }
