#main .efw {
  --work-ink: var(--hs-ink,#143f43);
  --work-teal: var(--hs-teal,#09646a);
  color: var(--work-ink);
  max-width: 1120px;
  margin: 0 auto;
  padding: 16px clamp(16px,4vw,48px) clamp(46px,8vw,96px);
  font: inherit;
  line-height: 1.65;
  overflow-wrap: break-word;
}
#main .efw *,#main .efw *::before { box-sizing: border-box; }
#main .efw h1,#main .efw h2,#main .efw h3 { color: var(--work-ink); margin: 0 0 .4em; font-family: Georgia,'Times New Roman',serif; line-height: 1.13; }
#main .efw h1 { font-size: clamp(2.35rem,6vw,4.35rem); letter-spacing: -.04em; }
#main .efw h2 { font-size: clamp(1.55rem,3.3vw,2.25rem); }
#main .efw h3 { font-size: clamp(1.28rem,2.3vw,1.55rem); }
#main .efw p { margin: .3em 0 1em; }
#main .efw a { color: var(--work-teal); text-underline-offset: .19em; font-weight: 650; }
#main .efw a:focus-visible,#main .efw summary:focus-visible,#main .efw textarea:focus-visible { outline: 3px solid #91364f; outline-offset: 3px; }
#main .efw-crumb,#main .efw-next { display: flex; align-items: center; flex-wrap: wrap; gap: 0 .65rem; }
#main .efw-crumb { font-size: .875rem; margin: 0 0 1rem; }
#main .efw-crumb a,#main .efw-next a,#main .efw-card a,#main .efw-steps a,#main .efw-note>a { display: inline-flex; align-items: center; min-height: 44px; }
#main .efw-hero,#main .efw-case { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); align-items: center; gap: clamp(22px,4vw,48px); }
#main .efw-intro { max-width: 56ch; font-size: clamp(1.06rem,2.2vw,1.25rem); color: #34575a; }
#main .efw a.efw-button { display: inline-flex; gap: .65em; align-items: center; justify-content:center; min-height: 48px; border-radius: 10px; padding: 12px 18px; color: white; background: var(--work-teal); text-decoration: none; }
#main .efw .efw-button:hover { background: #124d51; }
#main .efw-scene { margin: 0; overflow: hidden; border: 1px solid #ccdcd5; border-radius: 18px; background: #f4f7f3; }
#main .efw-scene img { display: block; margin: 0; width: 100%; height: auto; aspect-ratio: 3/2; }
#main .efw-scene figcaption { padding: .72rem 1rem; color: #314f50; font-size: .94rem; }
#main .efw-section,#main .efw-case,#main .efw-note,#main .efw-next { margin-top: clamp(28px,5vw,52px); }
#main .efw-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 20px; }
#main .efw-card,#main .efw-message,#main .efw-note,#main .efw-service { padding: clamp(18px,3vw,32px); border-radius: 16px; }
#main .efw-card { border: 1px solid #c9d9d1; border-top: 4px solid #387670; display: flex; align-items: flex-start; flex-direction: column; }
#main .efw-card a { margin-top: auto; }
#main .efw-service,#main .efw-note { background: #eff5f0; }
#main .efw-steps { list-style: decimal; padding-left: 1.65rem; margin: 0; }
#main .efw-steps li { padding: 1rem .4rem; border-bottom: 1px solid #d5e1d8; }
#main .efw-steps li::marker { color: var(--work-teal); font-weight: bold; }
#main .efw-steps p,#main .efw-card p { margin-bottom: .25em; }
#main .efw dl { margin: .75rem 0 0; }
#main .efw dt { font-weight: 700; }
#main .efw dd { margin: 0 0 1rem; }
#main .efw-lesson { max-width: 870px; }
#main .efw-message { margin-top: 1.5rem; background: #faf5e9; }
#main .efw blockquote { margin: .6rem 0 1rem; padding: 0 0 0 1rem; border-left: 3px solid #70948b; font-style: normal; color: var(--work-ink); }
#main .efw audio { display: block; width: min(100%,400px); }
#main .efw details { border: 1px solid #b6cec4; border-radius: 10px; background: white; margin: .6rem 0; }
#main .efw summary { padding: .85rem 1rem; min-height: 48px; cursor: pointer; font-weight: 650; }
#main .efw details[open] summary { border-bottom: 1px solid #d5e1d8; }
#main .efw details p,#main .efw details blockquote { margin: .8rem 1rem; }
#main .efw textarea { display: block; margin: .4rem 0; padding: .75rem; width: 100%; max-width: 100%; min-height: 104px; border: 1px solid #63817a; background: white; color: #143f43; font: inherit; border-radius: 8px; resize: vertical; }
#main .efw .efw-hint,#main .efw h2 small { font: inherit; font-size: .94rem; color: #405d5f; }
#main .efw-next { border-top: 1px solid #c9d9d1; padding-top: 1rem; column-gap: 1.4rem; }
@media (max-width: 700px) {
  #main .efw-grid,#main .efw-hero,#main .efw-case { grid-template-columns: minmax(0,1fr); }
  #main .efw-hero { gap: 20px; }
  #main .efw-next { align-items: flex-start; flex-direction: column; }
  #main .efw-lesson h1 { font-size: clamp(2.05rem,8.5vw,3rem); }
}
