.e-home { --brown:#663b21; --content-width:1060px; --gutter:clamp(24px,5.3vw,80px); --muted:#6b655e; }
.e-home a { text-decoration:none; }
.e-home .hero { display:grid; position:relative; height:clamp(350px,42.6667vw,720px); background:var(--brown); touch-action:pan-y pinch-zoom; }
.e-home .hero-page-title { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.e-home .hero-copy { display:flex; align-items:flex-end; padding:60px var(--gutter); background:var(--hero-panel-bg,var(--brown)); color:#fff; }
.e-home .hero-title { font-size:clamp(20px,2.45vw,36px); line-height:1.45; letter-spacing:-.055em; font-weight:400; }
.e-home .hero-title span { display:block; }
.e-home .hero-description { margin-top:17px; color:#f3e8dd; font-size:13px; line-height:1.9; }
.e-home .text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-height:44px; font-size:12px; }
.e-home .text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.e-home .light-link { margin-top:24px; color:#fff; }
.e-home .light-link:focus-visible { outline-color:#fff; }
.e-home .hero-image { position:relative; min-width:0; min-height:0; overflow:hidden; background:#f2e5d2; }
.e-home .hero-slide { grid-area:1 / 1; display:grid; grid-template-columns:36% 64%; min-width:0; min-height:0; opacity:0; z-index:0; transition:opacity .75s ease; pointer-events:none; }
.e-home .hero-slide[data-palette="terracotta"] { --hero-panel-bg:#87452e; }
.e-home .hero-slide[data-palette="sage"] { --hero-panel-bg:#4c7051; }
.e-home .hero-slide[data-palette="ochre"] { --hero-panel-bg:#765a33; }
.e-home .hero-slide[data-palette="olive"] { --hero-panel-bg:#62624c; }
.e-home .hero-slide[data-palette="clay"] { --hero-panel-bg:#735743; }
.e-home .hero-slide[data-palette="slate"] { --hero-panel-bg:#4e5b58; }
.e-home .hero-slide.is-current { opacity:1; z-index:1; pointer-events:auto; }
.e-home .hero-slide img { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--slide-position); }
.e-home .hero-controls { position:absolute; right:24px; bottom:22px; z-index:2; display:flex; align-items:center; gap:5px; padding:6px 8px; background:rgba(37,27,20,.58); color:#fff; backdrop-filter:blur(8px); }
.e-home .hero-control,.e-home .hero-dot { display:grid; place-items:center; height:32px; padding:0; border:0; background:none; color:inherit; }
.e-home .hero-control { width:32px; font-size:14px; }
.e-home .hero-control:hover { background:rgba(255,255,255,.15); }
.e-home .hero-dots { display:flex; align-items:center; }
.e-home .hero-dot { width:24px; }
.e-home .hero-dot span { width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.45); }
.e-home .hero-dot[aria-current="true"] span { width:15px; border-radius:4px; background:#fff; }
.e-home .hero-controls button:focus-visible { outline:2px solid #fff; outline-offset:0; }
.e-home .editorial { max-width:var(--content-width); margin-inline:auto; padding-bottom:92px; }
.e-home .introduction { padding:65px 20px 57px; text-align:center; }
.e-home .introduction h2 { font-size:22px; }
.e-home .introduction p { margin-top:12px; font-size:12px; color:var(--muted); }
.e-home .feature { display:flex; align-items:center; position:relative; }
.e-home .feature-image { overflow:hidden; flex-shrink:0; aspect-ratio:3 / 2; background:#f2e5d2; }
.e-home .feature-image img { display:block; width:100%; height:100%; object-fit:contain; }
.e-home .product-feature,.e-home .lecture-feature { padding-left:60px; }
.e-home .product-image,.e-home .lecture-image { width:510px; }
.e-home .lecture-feature { margin-top:106px; }
.e-home .information-panel { position:relative; width:368px; flex-shrink:0; margin-left:-38px; padding:43px 37px 35px; background:#fff; }
.e-home .information-panel h2 { font-size:26px; line-height:1.5; }
.e-home .information-panel>p { margin-top:21px; font-size:12px; color:var(--muted); line-height:1.95; }
.e-home .class-feature { flex-direction:row-reverse; margin-top:106px; padding-right:36px; }
.e-home .class-image { width:563px; }
.e-home .class-feature .information-panel { margin-left:0; margin-right:-40px; width:360px; z-index:1; }
.e-home .solid-link { display:flex; justify-content:space-between; align-items:center; min-height:46px; margin-top:19px; padding:10px 14px; background:var(--brown); color:#fff; font-size:11px; }
.e-home .solid-link:hover { background:#4f2d18; }
.e-home .home-reviews-band { --reviews-bg:#5b3e2e; --reviews-ink:#f6f1e9; --reviews-muted:#e0d1c1; padding-block:76px; background:var(--reviews-bg); color:var(--reviews-ink); }
.e-home .home-reviews { width:calc(100% - var(--gutter)*2); max-width:var(--content-width); margin:auto; }
.e-home .home-reviews-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:30px; }
.e-home .home-reviews-heading h2 { font-size:26px; color:var(--reviews-ink); }
.e-home .home-reviews-heading .text-link { min-height:46px; padding:10px 20px; border:1px solid var(--reviews-muted); color:var(--reviews-ink); }
.e-home .home-reviews-heading .text-link:hover { background:rgba(246,241,233,.08); text-decoration-color:var(--reviews-ink); }
.e-home .home-reviews-band a:focus-visible { outline-color:var(--reviews-ink); }
.e-home .fc-reviews-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.e-home .fc-review { display:block; border-top:0; padding:0; }
.e-home .fc-review-thumb { border-radius:0; height:210px; min-height:0; }
.e-home .fc-review-body { padding:20px 0 0; }
.e-home .fc-review blockquote { min-height:0; margin:0 0 15px; font-size:13px; line-height:1.9; color:var(--reviews-ink); }
.e-home .fc-review .fc-fine { font-size:10px; }
.e-home .home-reviews-band :is(.fc-fine,.fc-review-meta) { color:var(--reviews-muted); opacity:1; }
.e-home .home-reviews-band .fc-fine a { color:inherit; border-bottom-color:var(--reviews-muted); }
.e-home .home-reviews-band .fc-fine a:hover { color:var(--reviews-ink); border-bottom-color:currentColor; }
@media(min-width:1680px) {
  .e-home .hero-copy { justify-content:flex-end; }
  .e-home .hero-copy>div { width:340px; }
}
@media(max-width:1100px) {
  .e-home .hero-copy { padding:43px 35px; }
  .e-home .editorial { margin-inline:40px; }
  .e-home .product-feature,.e-home .lecture-feature { padding-left:0; }
  .e-home .product-image,.e-home .lecture-image { width:58%; }
  .e-home .information-panel { width:43%; padding:36px 30px; }
  .e-home .class-feature { padding-right:0; }
  .e-home .class-image { width:59%; }
  .e-home .class-feature .information-panel { width:43%; }
}
@media(max-width:900px) {
  .e-home .fc-reviews-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .e-home .fc-review-thumb { height:180px; }
}
@media(max-width:760px) {
  .e-home .hero { --hero-image-height:calc(100vw * 2 / 3); height:auto; }
  .e-home .hero-slide { display:flex; flex-direction:column-reverse; }
  .e-home .hero-image { height:var(--hero-image-height); flex:0 0 var(--hero-image-height); }
  .e-home .hero-controls { right:15px; top:calc(var(--hero-image-height) - 53px); bottom:auto; padding:3px 6px; gap:3px; }
  .e-home .hero-copy { padding:34px 28px; flex:1; }
  .e-home .hero-copy>div { width:100%; }
  .e-home .hero-copy .light-link { display:flex; width:fit-content; max-width:100%; margin-left:auto; }
  .e-home .hero-title { font-size:clamp(18px,3vw,23px); }
  .e-home .hero-description { font-size:12px; }
  .e-home .editorial { margin-inline:28px; padding-bottom:62px; }
  .e-home .introduction { padding:48px 0 40px; }
  .e-home .introduction h2 { font-size:20px; }
  .e-home .information-panel { padding:31px 25px; }
  .e-home .information-panel h2 { font-size:23px; }
  .e-home .class-feature,.e-home .lecture-feature { margin-top:74px; }
  .e-home .home-reviews-band { padding-block:48px; }
}
@media(max-width:540px) {
  .e-home .hero-copy { padding:31px 28px 30px; flex:1; }
  .e-home .hero-title { font-size:28px; }
  .e-home .hero-description { margin-top:10px; }
  .e-home .hero-description br { display:none; }
  .e-home .light-link { margin-top:16px; }
  .e-home .introduction { padding:43px 0 34px; }
  .e-home .feature,.e-home .class-feature { display:block; }
  .e-home .product-image,.e-home .class-image,.e-home .lecture-image { width:calc(100% - 18px); }
  .e-home .information-panel,.e-home .class-feature .information-panel { width:calc(100% - 18px); margin:-26px 0 0 18px; padding:30px 27px; }
  .e-home .information-panel h2 { font-size:24px; }
  .e-home .information-panel>p { margin-top:14px; }
  .e-home .class-feature,.e-home .lecture-feature { margin-top:56px; }
  .e-home .class-image { margin-left:auto; }
  .e-home .class-feature .information-panel { margin-left:0; margin-right:18px; }
  .e-home .fc-reviews-grid { grid-template-columns:1fr; gap:23px; }
  .e-home .fc-review { display:grid; grid-template-columns:90px 1fr; gap:18px; }
  .e-home .fc-review-thumb { height:128px; }
  .e-home .fc-review-body { padding:0; }
  .e-home .fc-review blockquote { font-size:12px; }
  .e-home .home-reviews-heading h2 { font-size:23px; }
  .e-home .home-reviews-heading .text-link { gap:18px; padding:9px 13px; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .e-home .hero-slide { transition:none; }
}
