/* GRE directory v11 — final full-bleed hero, sharp image element, localized readability panel.
   No whole-hero white veil. Desktop/mobile each use dedicated images, with @2x sources for high-DPI screens. */
.gre-directory-v12{
  --gre-navy:#073b75;
  --gre-ink:#173b66;
  --gre-blue:#2f82f6;
  --gre-violet:#755df1;
  position:relative;
  overflow-x:hidden;
  background:linear-gradient(180deg,#edf9ff 0%,#f7fbff 58%,#fff 100%);
}

/* ===== Hero media ===== */
.gre-directory-v12 .topbar.gre-directory-hero{
  position:relative;
  overflow:hidden;
  min-height:420px;
  padding:0;
  border-radius:0 0 38px 38px;
  background:#dff5ff;
  box-shadow:0 20px 56px rgba(38,102,156,.11);
}
.gre-directory-v12 .gre-hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  overflow:hidden;
}
.gre-directory-v12 .gre-hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  image-rendering:auto;
  transform:translateZ(0);
}
.gre-directory-v12 .topbar.gre-directory-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:24px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(239,251,255,0),rgba(239,251,255,.34));
}
.gre-directory-v12 .gre-hero-inner{
  position:relative;
  z-index:2;
  width:min(1400px,calc(100% - 48px));
  min-height:420px;
  margin:0 auto;
  padding:16px 0 38px;
}
.gre-directory-v12 .directory-top-actions{
  display:flex;
  gap:9px;
  margin:0 0 22px;
  position:relative;
  z-index:5;
}
.gre-directory-v12 .directory-top-actions .pill-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid rgba(12,102,117,.18);
  border-radius:999px;
  color:#0b5966;
  background:rgba(255,255,255,.90);
  box-shadow:0 5px 16px rgba(37,106,145,.06);
  font-weight:850;
}
.gre-directory-v12 .gre-hero-stage{position:relative;min-height:320px}
.gre-directory-v12 .gre-hero-copy{
  position:relative;
  z-index:4;
  width:min(610px,47%);
  min-width:460px;
  padding:18px 24px 20px 20px;
  border-radius:26px;
  background:linear-gradient(90deg,rgba(241,251,255,.92) 0%,rgba(241,251,255,.84) 72%,rgba(241,251,255,.30) 100%);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 12px 28px rgba(43,96,138,.10);
}
.gre-directory-v12 .gre-title-row{display:flex;align-items:center;gap:15px}
.gre-directory-v12 .gre-directory-icon{
  display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;border-radius:22px;
  color:#fff;font-size:35px;background:linear-gradient(145deg,#149c9c,#4ad2c0);
  box-shadow:0 14px 30px rgba(16,139,139,.17),inset 0 0 0 1px rgba(255,255,255,.45);
}
.gre-directory-v12 .gre-hero-copy h1{
  margin:0;color:#073b75;font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;
  font-size:clamp(48px,4.1vw,64px);font-weight:950;line-height:1;letter-spacing:-.035em;
}
.gre-directory-v12 .gre-book-title{
  display:flex;align-items:baseline;flex-wrap:wrap;width:max-content;max-width:100%;position:relative;
  margin:18px 0 0 2px;padding:0 3px 10px;font-family:"Songti SC","STSong","Noto Serif CJK SC","Noto Serif SC",serif;
  font-size:clamp(30px,2.45vw,39px);font-weight:900;line-height:1.16;letter-spacing:.018em;
}
.gre-directory-v12 .gre-book-title span{display:inline-block}
.gre-directory-v12 .gre-title-normal{color:#073d79}
.gre-directory-v12 .gre-title-gold{margin-left:.06em;color:#d89a2b}
.gre-directory-v12 .gre-title-comma{margin-right:.05em;color:#0b6583}
.gre-directory-v12 .gre-title-trial{margin-left:.06em;color:#147a9e}
.gre-directory-v12 .gre-book-title::after{
  content:"";position:absolute;left:0;right:0;bottom:1px;height:3px;border-radius:999px;
  background:linear-gradient(90deg,transparent,#1886a4 18%,#d89d35 48%,#3980bd 80%,transparent);
}
.gre-directory-v12 .gre-stats{margin:12px 0 0 5px;color:#174e7f;font-size:17px;font-weight:900}
.gre-directory-v12 .gre-module-line{
  display:inline-flex;width:max-content;max-width:100%;flex-wrap:wrap;margin:14px 0 0;padding:9px 14px;
  border:1px solid rgba(42,112,167,.13);border-radius:999px;color:#174e79;background:rgba(255,255,255,.94);
  box-shadow:0 6px 18px rgba(44,115,159,.06);font-size:13.5px;font-weight:850;
}
.gre-directory-v12 .gre-hero-art{display:none!important}

/* ===== Main content ===== */
.gre-directory-v12 .directory-main{
  width:min(1320px,calc(100% - 48px));
  margin:-24px auto 0;
  padding-bottom:50px;
  position:relative;
  z-index:6;
}
.gre-directory-v12 .directory-toolbar{
  padding:20px 24px 18px;border:1px solid rgba(86,148,205,.14);border-radius:24px;
  background:rgba(255,255,255,.98);box-shadow:0 20px 54px rgba(48,104,163,.12);
}
.gre-directory-v12 .directory-toolbar>h2,
.gre-directory-v12 .directory-toolbar>p:not(.gre-story-summary){
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.gre-directory-v12 .gre-story-summary{
  position:static;width:100%;margin:0 0 15px;padding:0;border:0;background:none;box-shadow:none;
  color:#264d78;font-size:17px;font-weight:650;line-height:1.75;text-align:justify;text-justify:inter-ideograph;
}
.gre-directory-v12 .gre-story-summary::before{display:none}
.gre-directory-v12 .directory-toolbar .directory-actions{display:flex;gap:10px;margin:0}
.gre-directory-v12 .primary-action,.gre-directory-v12 .secondary-action{
  min-height:46px;padding:10px 20px;border-radius:14px;font-size:15.5px;font-weight:850;
}
.gre-directory-v12 .primary-action{background:linear-gradient(135deg,#2f86f7,#6d70f1);box-shadow:0 9px 20px rgba(47,116,242,.18)}
.gre-directory-v12 .secondary-action{color:#3d51ad;background:#fff;border-color:rgba(80,100,218,.20)}
.gre-directory-v12 .directory-toolbar>.toolbar{display:flex;gap:10px;margin-top:12px!important;margin-bottom:0}
.gre-directory-v12 .searchbox{width:100%;min-height:46px;border-color:rgba(55,116,188,.16);border-radius:13px;background:#fbfdff;color:#23446e;font-size:14.5px}
.gre-directory-v12 .count-badge{flex:0 0 auto;padding:9px 15px;color:#1d6fe5;background:#eef6ff;font-weight:850}
.gre-directory-v12 .quiz-drawer{border-radius:18px;background:#f8fcff}

/* ===== Larger desktop chapter cards ===== */
.gre-directory-v12 .chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:20px}
.gre-directory-v12 .chapter-card-link{
  min-height:92px;grid-template-columns:62px minmax(0,1fr) 24px;gap:15px;padding:14px 18px;
  border:1px solid rgba(67,116,184,.13);border-radius:18px;background:rgba(255,255,255,.985);
  box-shadow:0 8px 24px rgba(53,91,145,.07);
}
.gre-directory-v12 .chapter-card-link:hover{transform:translateY(-2px);border-color:rgba(54,123,220,.23);box-shadow:0 13px 30px rgba(53,91,145,.11)}
.gre-directory-v12 .chapter-num{width:60px;height:60px;border-radius:16px;font-size:19px;box-shadow:0 6px 14px rgba(48,117,214,.13)}
.gre-directory-v12 .chapter-info{min-width:0}
.gre-directory-v12 .chapter-info strong{color:#073774;font-size:18px;line-height:1.08}
.gre-directory-v12 .chapter-info small{margin-top:5px;color:#476487;font-size:15px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gre-directory-v12 .chapter-info small+small{margin-top:4px;color:#3c978f;font-size:13px}
.gre-directory-v12 .arrow{font-size:30px;color:#1977ed}

.gre-directory-v12::before,.gre-directory-v12::after{
  position:absolute;z-index:1;pointer-events:none;white-space:pre;font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
  color:rgba(60,127,219,.36);font-weight:650;line-height:1.15;
}
.gre-directory-v12::before{content:"Good Vocabulary\A Brighter Future ♡";left:24px;top:590px;transform:rotate(-10deg);font-size:18px}
.gre-directory-v12::after{content:"Every Challenge\A Makes a Stronger You!";right:24px;top:600px;transform:rotate(9deg);text-align:center;font-size:18px}

@media (min-width:1600px){
  .gre-directory-v12 .gre-hero-inner{width:min(1460px,calc(100% - 72px))}
  .gre-directory-v12 .directory-main{width:min(1360px,calc(100% - 72px))}
}
@media (max-width:1280px){
  .gre-directory-v12::before,.gre-directory-v12::after{display:none}
  .gre-directory-v12 .gre-hero-copy{width:49%;min-width:410px}
}
@media (max-width:1050px) and (min-width:681px){
  .gre-directory-v12 .gre-hero-inner{width:min(980px,calc(100% - 36px))}
  .gre-directory-v12 .gre-hero-copy{width:55%;min-width:380px}
  .gre-directory-v12 .gre-hero-copy h1{font-size:44px}
  .gre-directory-v12 .gre-book-title{font-size:27px}
  .gre-directory-v12 .directory-main{width:min(960px,calc(100% - 36px))}
}

/* ===== Mobile: full art, localized top readability panel only ===== */
@media (max-width:680px){
  .gre-directory-v12{background:linear-gradient(180deg,#e9f9ff 0,#f7fbff 62%,#fff 100%)}
  .gre-directory-v12::before,.gre-directory-v12::after{display:none}
  .gre-directory-v12 .topbar.gre-directory-hero{min-height:590px;border-radius:0 0 28px 28px}
  .gre-directory-v12 .gre-hero-media img{object-position:center top}
  .gre-directory-v12 .topbar.gre-directory-hero::after{height:22px;background:linear-gradient(180deg,rgba(239,250,255,0),rgba(239,250,255,.30))}
  .gre-directory-v12 .gre-hero-inner{width:100%;min-height:590px;padding:12px 10px 18px}
  .gre-directory-v12 .directory-top-actions{justify-content:center;flex-wrap:nowrap;gap:6px;margin:0 0 12px}
  .gre-directory-v12 .directory-top-actions .pill-link{min-width:0;min-height:36px;padding:7px 8px;font-size:11.8px;white-space:nowrap;background:rgba(255,255,255,.92)}
  .gre-directory-v12 .gre-hero-stage{min-height:0}
  .gre-directory-v12 .gre-hero-copy{
    width:calc(100% - 14px);min-width:0;margin:0 auto;padding:12px 10px 13px;text-align:center;border-radius:22px;
    background:rgba(238,250,255,.78);border:1px solid rgba(255,255,255,.62);box-shadow:0 8px 20px rgba(33,92,135,.07);
  }
  .gre-directory-v12 .gre-title-row{justify-content:center;gap:11px}
  .gre-directory-v12 .gre-directory-icon{width:56px;height:56px;flex-basis:56px;border-radius:18px;font-size:28px}
  .gre-directory-v12 .gre-hero-copy h1{font-size:39px}
  .gre-directory-v12 .gre-book-title{justify-content:center;width:100%;margin:12px auto 0;padding-bottom:7px;font-size:21.5px;line-height:1.18}
  .gre-directory-v12 .gre-stats{margin:8px 0 0;font-size:13.8px}
  .gre-directory-v12 .gre-module-line{margin:10px auto 0;padding:7px 10px;font-size:10.9px;background:rgba(255,255,255,.96)}
  .gre-directory-v12 .gre-hero-art{display:none!important}
  .gre-directory-v12 .directory-main{width:calc(100% - 14px);margin:-12px auto 0;padding-bottom:30px}
  .gre-directory-v12 .directory-toolbar{padding:15px 14px 13px;border-radius:20px}
  .gre-directory-v12 .gre-story-summary{margin-bottom:12px;font-size:14px;line-height:1.66;color:#173b66}
  .gre-directory-v12 .directory-toolbar .directory-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
  .gre-directory-v12 .primary-action,.gre-directory-v12 .secondary-action{min-height:41px;padding:8px 5px;border-radius:12px;font-size:12.7px;white-space:nowrap}
  .gre-directory-v12 .directory-toolbar>.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px!important}
  .gre-directory-v12 .searchbox{min-width:0;font-size:13.3px}
  .gre-directory-v12 .count-badge{padding:8px 11px}
  .gre-directory-v12 .chapter-grid{grid-template-columns:1fr;gap:10px;margin-top:13px}
  .gre-directory-v12 .chapter-card-link{min-height:78px;grid-template-columns:54px minmax(0,1fr) 18px;gap:11px;padding:10px 12px;border-radius:17px}
  .gre-directory-v12 .chapter-num{width:50px;height:50px;border-radius:14px;font-size:17px}
  .gre-directory-v12 .chapter-info strong{font-size:15px}
  .gre-directory-v12 .chapter-info small{font-size:13px;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .gre-directory-v12 .chapter-info small+small{font-size:11.5px}
  .gre-directory-v12 .arrow{font-size:24px}
  .gre-directory-v12 .setup-row{grid-template-columns:1fr}
  .gre-directory-v12 .chapter-picks{grid-template-columns:repeat(5,1fr)}
  .gre-directory-v12 .directory-toolbar .gre-auth-strip-hidden,
  .gre-directory-v12 .directory-toolbar [data-gre-auth-hidden="1"]{display:none!important}
}
@media (max-width:430px){
  .gre-directory-v12 .topbar.gre-directory-hero{min-height:565px}
  .gre-directory-v12 .gre-hero-inner{min-height:565px}
  .gre-directory-v12 .directory-top-actions .pill-link{font-size:11px;padding:6px 6px}
  .gre-directory-v12 .gre-hero-copy h1{font-size:36px}
  .gre-directory-v12 .gre-book-title{font-size:20px}
  .gre-directory-v12 .gre-module-line{font-size:10.4px}
  .gre-directory-v12 .gre-story-summary{font-size:13.6px;line-height:1.64}
}

/* ===== V12 precision finish: natural full-bleed hero, side art, footer art ===== */
.gre-directory-v12 .topbar.gre-directory-hero{
  height:clamp(405px,25vw,500px);
  min-height:405px;
  border-radius:0;
  clip-path:polygon(0 0,100% 0,100% 91%,96% 93%,88% 95%,74% 97.5%,50% 100%,26% 97.5%,12% 95%,4% 93%,0 91%);
  box-shadow:0 22px 56px rgba(32,95,150,.13);
}
.gre-directory-v12 .gre-hero-media img{
  object-fit:cover;
  object-position:center top;
}
.gre-directory-v12 .gre-hero-inner{
  min-height:100%;
  height:100%;
  padding:14px 0 34px;
}
.gre-directory-v12 .directory-top-actions{margin-bottom:16px}
.gre-directory-v12 .gre-hero-stage{min-height:0}
.gre-directory-v12 .gre-hero-copy{
  width:min(620px,46%);
  min-width:470px;
  padding:16px 22px 18px 18px;
  border-radius:26px;
  background:linear-gradient(90deg,rgba(239,250,255,.90) 0%,rgba(239,250,255,.80) 78%,rgba(239,250,255,.30) 100%);
  border:1px solid rgba(255,255,255,.76);
  box-shadow:0 12px 30px rgba(24,85,133,.10);
  backdrop-filter:blur(1.2px);
  -webkit-backdrop-filter:blur(1.2px);
}
.gre-directory-v12 .topbar.gre-directory-hero::after{
  height:34px;
  background:linear-gradient(180deg,rgba(238,249,255,0),rgba(238,249,255,.22));
}
.gre-directory-v12 .directory-main{margin:-34px auto 0}

/* richer but restrained side decoration zone */
.gre-directory-v12::before,
.gre-directory-v12::after{
  content:"";
  position:absolute;
  z-index:0;
  top:555px;
  width:300px;
  height:520px;
  background-repeat:no-repeat;
  background-position:center top;
  background-size:contain;
  opacity:.92;
  pointer-events:none;
  transform:none;
}
.gre-directory-v12::before{
  left:max(0px,calc((100vw - 1540px)/2 - 105px));
  background-image:url("gre-directory-side-left-v12.svg?v=12");
}
.gre-directory-v12::after{
  right:max(0px,calc((100vw - 1540px)/2 - 105px));
  background-image:url("gre-directory-side-right-v12.svg?v=12");
}
.gre-directory-v12 .directory-main{position:relative;z-index:2}

/* The original footer content is untouched; V12 only gives it a designed visual stage. */
.gre-directory-v12 .site-legal-footer{
  position:relative;
  min-height:190px;
  padding-top:28px!important;
  padding-bottom:34px!important;
  background-color:#fbfdff!important;
  background-image:url("gre-directory-footer-v12.svg?v=12")!important;
  background-repeat:no-repeat!important;
  background-position:center bottom!important;
  background-size:100% 190px!important;
  border-top:1px solid rgba(78,139,205,.12)!important;
  overflow:hidden;
}
.gre-directory-v12 .site-legal-footer__inner{
  position:relative;
  z-index:2;
  width:min(680px,60vw);
  margin:0 auto;
  padding:8px 12px 0;
  border-radius:20px;
  background:rgba(255,255,255,.70);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

@media (max-width:1480px){
  .gre-directory-v12::before,.gre-directory-v12::after{width:220px;height:430px;opacity:.72}
}
@media (max-width:1280px){
  .gre-directory-v12::before,.gre-directory-v12::after{display:none}
}

/* ===== V12 mobile: sky-first hero, full art, no text/image collision ===== */
@media (max-width:680px){
  .gre-directory-v12 .topbar.gre-directory-hero{
    height:640px;
    min-height:640px;
    clip-path:polygon(0 0,100% 0,100% 95%,92% 96.5%,74% 98.5%,50% 100%,26% 98.5%,8% 96.5%,0 95%);
    border-radius:0;
  }
  .gre-directory-v12 .gre-hero-media img{
    object-position:center top;
    object-fit:cover;
  }
  .gre-directory-v12 .gre-hero-inner{
    min-height:640px;
    height:640px;
    padding:10px 9px 22px;
  }
  .gre-directory-v12 .directory-top-actions{margin-bottom:10px}
  .gre-directory-v12 .gre-hero-copy{
    width:calc(100% - 16px);
    min-width:0;
    margin:0 auto;
    padding:10px 10px 11px;
    border-radius:20px;
    background:linear-gradient(180deg,rgba(237,250,255,.89),rgba(237,250,255,.74));
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 8px 18px rgba(31,91,137,.06);
    backdrop-filter:blur(1px);
    -webkit-backdrop-filter:blur(1px);
  }
  .gre-directory-v12 .directory-main{margin:-18px auto 0}
  .gre-directory-v12 .site-legal-footer{
    min-height:150px;
    padding-top:18px!important;
    padding-bottom:22px!important;
    background-size:auto 138px!important;
    background-position:center bottom!important;
  }
  .gre-directory-v12 .site-legal-footer__inner{width:calc(100% - 22px);background:rgba(255,255,255,.78)}
  .gre-directory-v12 .esb-mobile-unified-footer-v373{
    background-color:#fbfdff!important;
    background-image:url("gre-directory-footer-v12.svg?v=12")!important;
    background-repeat:no-repeat!important;
    background-position:center bottom!important;
    background-size:auto 132px!important;
    padding-bottom:118px!important;
  }
}
@media (max-width:430px){
  .gre-directory-v12 .topbar.gre-directory-hero,
  .gre-directory-v12 .gre-hero-inner{height:615px;min-height:615px}
}

/* ===== V12.1 geometry correction =====
   Exact requested direction: BOTH SIDES HANG LOWER; THE MIDDLE LIFTS UP.
   No new hero images. Reuses the already deployed V12 high-DPI assets. */

/* Desktop/tablet hero: center is higher, both outer edges droop downward. */
.gre-directory-v12 .topbar.gre-directory-hero{
  clip-path:polygon(
    0 0,100% 0,
    100% 100%,
    92% 99.7%,
    82% 98.8%,
    72% 97.0%,
    62% 94.7%,
    54% 92.8%,
    50% 92.3%,
    46% 92.8%,
    38% 94.7%,
    28% 97.0%,
    18% 98.8%,
    8% 99.7%,
    0 100%
  );
}

/* Remove the V12 side SVGs that visually competed with the chapter area.
   Restore restrained handwritten side notes, closer to the reference layout. */
.gre-directory-v12::before,
.gre-directory-v12::after{
  display:block;
  width:auto;
  height:auto;
  top:565px;
  background:none!important;
  opacity:1;
  white-space:pre;
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
  color:rgba(67,135,226,.44);
  font-size:18px;
  font-weight:650;
  line-height:1.18;
  letter-spacing:.01em;
}
.gre-directory-v12::before{
  content:"Good Vocabulary\A Brighter Future ♡";
  left:max(22px,calc((100vw - 1600px)/2 + 18px));
  right:auto;
  text-align:left;
  transform:rotate(-8deg);
}
.gre-directory-v12::after{
  content:"Every Challenge\A Makes a Stronger You!  ✈";
  right:max(22px,calc((100vw - 1600px)/2 + 18px));
  left:auto;
  text-align:center;
  transform:rotate(7deg);
}

/* Mobile: substantially shorter hero; compact title panel lives in the sky zone
   and no longer covers the protagonist's face. */
@media (max-width:680px){
  .gre-directory-v12 .topbar.gre-directory-hero{
    height:520px;
    min-height:520px;
    clip-path:polygon(
      0 0,100% 0,
      100% 100%,
      90% 99.6%,
      78% 98.7%,
      66% 97.0%,
      56% 95.0%,
      50% 94.3%,
      44% 95.0%,
      34% 97.0%,
      22% 98.7%,
      10% 99.6%,
      0 100%
    );
  }
  .gre-directory-v12 .gre-hero-inner{
    height:520px;
    min-height:520px;
    padding:8px 8px 14px;
  }
  .gre-directory-v12 .directory-top-actions{
    gap:5px;
    margin-bottom:5px;
  }
  .gre-directory-v12 .directory-top-actions .pill-link{
    min-height:32px;
    padding:5px 7px;
    font-size:10.9px;
  }
  .gre-directory-v12 .gre-hero-copy{
    width:calc(100% - 24px);
    margin:0 auto;
    padding:7px 8px 8px;
    border-radius:17px;
    background:linear-gradient(180deg,rgba(240,251,255,.62),rgba(240,251,255,.36));
    border-color:rgba(255,255,255,.56);
    box-shadow:0 5px 14px rgba(26,83,125,.045);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .gre-directory-v12 .gre-title-row{gap:9px}
  .gre-directory-v12 .gre-directory-icon{
    width:46px;height:46px;flex-basis:46px;border-radius:15px;font-size:23px;
  }
  .gre-directory-v12 .gre-hero-copy h1{font-size:32px}
  .gre-directory-v12 .gre-book-title{
    margin-top:7px;
    padding-bottom:5px;
    font-size:18px;
  }
  .gre-directory-v12 .gre-stats{margin-top:5px;font-size:11.8px}
  .gre-directory-v12 .gre-module-line{
    margin-top:6px;
    padding:5px 8px;
    font-size:9.6px;
  }
  .gre-directory-v12 .gre-hero-media img{
    object-fit:cover;
    object-position:center top;
  }
  .gre-directory-v12 .directory-main{margin:-10px auto 0}
  .gre-directory-v12::before,.gre-directory-v12::after{display:none!important}
}

@media (max-width:430px){
  .gre-directory-v12 .topbar.gre-directory-hero,
  .gre-directory-v12 .gre-hero-inner{
    height:500px;
    min-height:500px;
  }
  .gre-directory-v12 .gre-hero-copy h1{font-size:30px}
  .gre-directory-v12 .gre-book-title{font-size:17px}
}

/* ===== V12.1 FINAL: keep edge-droop geometry + refined side decorations ===== */
/* Geometry remains: BOTH outer edges are lower than the center. */
.gre-directory-v12 .topbar.gre-directory-hero{
  clip-path:polygon(
    0 0,100% 0,
    100% 100%,
    92% 99.7%,82% 98.8%,72% 97.0%,62% 94.7%,54% 92.8%,
    50% 92.3%,
    46% 92.8%,38% 94.7%,28% 97.0%,18% 98.8%,8% 99.7%,0 100%
  );
}

/* Side decoration: light handwritten text + line-art graphics, like the reference. */
.gre-directory-v12::before,
.gre-directory-v12::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:535px!important;
  width:300px!important;
  height:500px!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:contain!important;
  opacity:.78!important;
  pointer-events:none!important;
  z-index:0!important;
  transform:none!important;
}
.gre-directory-v12::before{
  left:max(6px,calc((100vw - 1660px)/2 + 2px))!important;
  right:auto!important;
  background-image:url("gre-directory-side-left-v12-1.svg?v=1211")!important;
}
.gre-directory-v12::after{
  right:max(6px,calc((100vw - 1660px)/2 + 2px))!important;
  left:auto!important;
  background-image:url("gre-directory-side-right-v12-1.svg?v=1211")!important;
}
.gre-directory-v12 .directory-main,
.gre-directory-v12 .site-legal-footer{position:relative;z-index:1}

@media (max-width:1180px){
  .gre-directory-v12::before,.gre-directory-v12::after{width:220px!important;height:390px!important;opacity:.55!important}
}
@media (max-width:980px){
  .gre-directory-v12::before,.gre-directory-v12::after{display:none!important}
}
@media (max-width:680px){
  .gre-directory-v12 .topbar.gre-directory-hero{
    clip-path:polygon(
      0 0,100% 0,
      100% 100%,90% 99.6%,78% 98.7%,66% 97.0%,56% 95.0%,
      50% 94.3%,
      44% 95.0%,34% 97.0%,22% 98.7%,10% 99.6%,0 100%
    );
  }
}
