

html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:#fbf8f1}#module1,#module2,#module3,#module4{position:relative}

#module1{
  --navy:#0b1726; --navy2:#13263b; --cream:#f4efe5; --paper:#fbf8f1;
  --gold:#c8a55d; --ink:#15202b; --muted:#7b7a75; --line:rgba(11,23,38,.16);
  --serif:"Libre Caslon Display", Georgia, serif; --sans:"DM Sans",Arial,sans-serif;
}
#module1, #module1 *{box-sizing:border-box} #module1{scroll-behavior:smooth} #module1{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
#module1 a{text-decoration:none;color:inherit}#module1 .wrap{width:min(1220px,calc(100% - 48px));margin:auto}#module1 .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}#module1 .serif{font-family:var(--serif)}
#module1 header{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;display:flex;align-items:center;background:rgba(251,248,241,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(11,23,38,.08)}
#module1 .nav{display:flex;align-items:center;justify-content:space-between;width:min(1320px,calc(100% - 48px));margin:auto}#module1 .brand{font-family:var(--serif);font-size:25px;letter-spacing:.02em}#module1 .navlinks{display:flex;gap:30px;align-items:center;font-size:13px}#module1 .amazon{background:var(--navy);color:#fff;padding:13px 18px;border-radius:999px;font-size:12px;font-weight:700}#module1 .hamb{display:none}
#module1 .hero{min-height:100vh;padding:132px 0 72px;display:flex;align-items:center;background:linear-gradient(90deg,var(--paper) 0 64%,var(--cream) 64%)}
#module1 .heroGrid{display:grid;grid-template-columns:1.07fr .93fr;gap:54px;align-items:center}#module1 .hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(62px,7.3vw,112px);line-height:.89;letter-spacing:-.045em;margin:22px 0 28px;max-width:780px}#module1 .hero h1 em{color:var(--gold);font-style:italic}#module1 .sub{font-size:18px;line-height:1.6;max-width:610px;color:#42505c}#module1 .actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}#module1 .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 22px;border:1px solid var(--navy);border-radius:999px;font-weight:700;font-size:13px}#module1 .btn.dark{background:var(--navy);color:#fff}#module1 .btn:hover{transform:translateY(-2px);transition:.25s}#module1 .heroMeta{display:flex;gap:26px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;color:#5f6870}#module1 .heroMeta b{display:block;color:var(--ink);font-size:15px;margin-bottom:3px}
#module1 .bookStage{position:relative;height:610px;perspective:1200px}#module1 .halo{position:absolute;inset:12% 4% 4%;background:radial-gradient(circle at center,rgba(200,165,93,.2),rgba(200,165,93,0) 66%)}#module1 .book{position:absolute;overflow:hidden;border-radius:3px;box-shadow:0 30px 60px rgba(10,22,36,.22);background:#fff;transform-style:preserve-3d;transition:.4s}#module1 .book img{width:100%;height:100%;object-fit:cover}#module1 .book.one{width:235px;height:355px;left:12%;top:25%;transform:rotate(-8deg) rotateY(7deg)}#module1 .book.two{width:260px;height:390px;left:38%;top:12%;z-index:4;transform:rotate(5deg) translateZ(70px)}#module1 .book.three{width:220px;height:335px;right:0;top:34%;transform:rotate(10deg) rotateY(-7deg)}#module1 .bookStage:hover .book.one{transform:rotate(-11deg) translate(-10px,-7px)}#module1 .bookStage:hover .book.two{transform:rotate(2deg) translateY(-13px) translateZ(70px)}#module1 .bookStage:hover .book.three{transform:rotate(13deg) translate(10px,-5px)}#module1 .stamp{position:absolute;right:6%;bottom:0;width:132px;height:132px;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center;text-align:center;font:700 11px/1.35 var(--sans);letter-spacing:.12em;text-transform:uppercase;transform:rotate(10deg);background:rgba(244,239,229,.88)}
#module1 section{padding:112px 0}#module1 .sectionHead{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:58px}#module1 .sectionHead h2{font:400 clamp(44px,5vw,72px)/.98 var(--serif);margin:10px 0 0;letter-spacing:-.025em}#module1 .sectionHead p{max-width:500px;line-height:1.65;color:#5b6570;margin:0 0 8px}
#module1 .path{background:var(--navy);color:#fff}#module1 .path .sectionHead p{color:#c3cbd3}#module1 .pathChoice{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.2)}#module1 .pathCard{min-height:470px;padding:38px;position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.2);transition:.35s}#module1 .pathCard:last-child{border:0}#module1 .pathCard:hover{background:var(--navy2)}#module1 .pathCard .num{font-size:11px;letter-spacing:.2em;color:#aeb9c4}#module1 .pathCard h3{font:400 74px/1 var(--serif);margin:56px 0 10px}#module1 .pathCard .stage{font-size:18px;color:#e8d9b7;margin-bottom:28px}#module1 .pathCard p{max-width:430px;line-height:1.6;color:#c9d0d6}#module1 .pathCard .link{position:absolute;bottom:38px;left:38px;font-weight:700;font-size:13px}#module1 .ghostWord{position:absolute;right:-18px;bottom:0;font:400 180px/.72 var(--serif);color:rgba(255,255,255,.035);pointer-events:none}
#module1 .books{background:var(--cream)}#module1 .tabs{display:flex;gap:7px;margin-bottom:35px}#module1 .tab{border:1px solid var(--line);background:transparent;border-radius:999px;padding:11px 18px;font-weight:700;cursor:pointer}#module1 .tab.active{background:var(--navy);color:#fff}#module1 .series{display:none}#module1 .series.active{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}#module1 .product{background:var(--paper);padding:20px;border:1px solid rgba(11,23,38,.12);min-height:570px;display:flex;flex-direction:column}#module1 .coverWrap{height:335px;display:grid;place-items:center;background:#eee8db;overflow:hidden;margin-bottom:24px}#module1 .coverWrap img{height:305px;max-width:88%;object-fit:contain;object-position:center;filter:drop-shadow(0 18px 14px rgba(11,23,38,.16));transition:.3s}#module1 .product:hover img{transform:translateY(-8px) rotate(-1deg)}#module1 .mockCover{height:315px;width:225px;background:var(--navy);color:white;box-shadow:0 18px 25px rgba(0,0,0,.18);padding:24px;display:flex;flex-direction:column;justify-content:space-between}#module1 .mockCover .big{font:400 68px/.9 var(--serif);color:#d7bb79}#module1 .mockCover small{font-size:10px;letter-spacing:.18em}#module1 .productInfo{display:flex;justify-content:space-between;gap:20px}#module1 .product h4{font:400 27px/1.1 var(--serif);margin:4px 0 8px}#module1 .product p{font-size:13px;line-height:1.55;color:#667078;margin:0}#module1 .product .buy{margin-top:auto;padding-top:25px;font-weight:700;font-size:12px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}
#module1 .sat4Cover{background:linear-gradient(160deg,#102033,#19334f);border-top:7px solid #c8a55d}#module1 .sat4Cover .big{font-size:43px;line-height:.9}#module1 .comingSoon .buy{color:#927139}
@media(max-width:1120px){#module1 .series.active{grid-template-columns:repeat(2,1fr)}}
#module1 .method{background:var(--paper)}#module1 .methodGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}#module1 .quote{font:400 clamp(45px,5.2vw,76px)/1.03 var(--serif);letter-spacing:-.025em}#module1 .quote em{color:var(--gold);font-style:italic}#module1 .steps{border-top:1px solid var(--line)}#module1 .step{display:grid;grid-template-columns:74px 1fr;padding:26px 0;border-bottom:1px solid var(--line)}#module1 .step b{font:400 42px/1 var(--serif);color:#9a7d43}#module1 .step h4{font-size:16px;margin:2px 0 7px}#module1 .step p{margin:0;color:#65707a;font-size:14px;line-height:1.55}#module1 .parentPanel{margin-top:70px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1.35fr .65fr;min-height:360px}#module1 .parentCopy{padding:54px}#module1 .parentCopy h3{font:400 46px/1.08 var(--serif);margin:16px 0}#module1 .parentCopy p{max-width:640px;color:#c8d0d8;line-height:1.65}#module1 .facts{border-left:1px solid rgba(255,255,255,.18);display:grid;grid-template-rows:repeat(2,1fr)}#module1 .fact{padding:34px;border-bottom:1px solid rgba(255,255,255,.18)}#module1 .fact:last-child{border:0}#module1 .fact b{font:400 45px/1 var(--serif);color:#d4b873;display:block;margin-bottom:8px}#module1 .fact span{font-size:12px;color:#bac4cd;line-height:1.5}
#module1 .author{padding-top:0}#module1 .authorCard{display:grid;grid-template-columns:430px 1fr;min-height:500px;background:var(--cream)}#module1 .portrait{background:linear-gradient(145deg,#d6cfbf,#b9af9c);overflow:hidden}#module1 .portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.05)}#module1 .authorCopy{padding:64px}#module1 .authorCopy h3{font:400 58px/1 var(--serif);margin:15px 0 25px}#module1 .authorCopy p{font-size:17px;line-height:1.7;max-width:630px;color:#53606b}#module1 .signature{font:italic 36px var(--serif);margin-top:44px;color:#927139}
#module1 .final{padding:125px 0;background:var(--navy);color:#fff;text-align:center;position:relative;overflow:hidden}#module1 .final h2{font:400 clamp(58px,7vw,108px)/.9 var(--serif);max-width:900px;margin:0 auto 25px;letter-spacing:-.04em}#module1 .final h2 em{color:#d3b66f}#module1 .final p{color:#c1cad2;max-width:650px;margin:0 auto 34px;line-height:1.6}#module1 .finalBtns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}#module1 .final .btn{border-color:#fff}#module1 .final .btn.dark{background:#fff;color:var(--navy)}#module1 .marquee{position:absolute;bottom:14px;left:0;white-space:nowrap;font:400 112px/.8 var(--serif);color:rgba(255,255,255,.025);animation:marquee 25s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
#module1 footer{background:#07111d;color:#aab5c0;padding:30px 0;font-size:11px}#module1 .foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}#module1 .foot b{color:#fff;font-family:var(--serif);font-size:18px}
#module1 .reveal{opacity:0;transform:translateY(22px);transition:.7s ease}#module1 .reveal.in{opacity:1;transform:none}
@media(max-width:900px){#module1 .navlinks a:not(.amazon){display:none}#module1 .hamb{display:block}#module1 .hero{background:var(--paper);padding-top:115px}#module1 .heroGrid,#module1 .sectionHead,#module1 .methodGrid,#module1 .authorCard,#module1 .parentPanel{grid-template-columns:1fr}#module1 .hero h1{font-size:64px}#module1 .bookStage{height:450px;margin-top:10px}#module1 .book.one{width:170px;height:260px;left:5%}#module1 .book.two{width:190px;height:285px;left:31%}#module1 .book.three{width:160px;height:245px}#module1 .pathChoice,#module1 .series.active{grid-template-columns:1fr}#module1 .pathCard{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);min-height:390px}#module1 .product{min-height:540px}#module1 .facts{border-left:0;border-top:1px solid rgba(255,255,255,.18);grid-template-columns:1fr 1fr;grid-template-rows:1fr}#module1 .fact{border-bottom:0;border-right:1px solid rgba(255,255,255,.18)}#module1 .authorCard{grid-template-columns:1fr}#module1 .portrait{height:430px}#module1 .wrap{width:min(100% - 30px,1220px)}#module1 section{padding:82px 0}}
@media(max-width:560px){#module1 header{height:66px}#module1 .brand{font-size:21px}#module1 .amazon{padding:10px 13px}#module1 .hero{padding-top:100px}#module1 .hero h1{font-size:52px}#module1 .sub{font-size:16px}#module1 .heroMeta{gap:14px;flex-wrap:wrap}#module1 .bookStage{height:355px}#module1 .book.one{width:130px;height:198px;top:30%;left:2%}#module1 .book.two{width:150px;height:225px;left:28%;top:12%}#module1 .book.three{width:125px;height:190px;top:35%}#module1 .stamp{width:90px;height:90px;font-size:8px}#module1 .pathCard h3{font-size:60px}#module1 .coverWrap{height:320px}#module1 .sectionHead h2{font-size:48px}#module1 .authorCopy,#module1 .parentCopy{padding:35px}#module1 .final h2{font-size:58px}}

/* ===== MODULE 1 / HERO V3 — FULL-SCREEN EDITORIAL ===== */
#module1 .heroV3{position:relative;min-height:100vh;padding:112px 0 54px;display:flex;align-items:stretch;background:var(--paper);overflow:hidden;border-bottom:1px solid var(--line);isolation:isolate}
#module1 .heroV3:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 8%,rgba(11,23,38,.055) 8% calc(8% + 1px),transparent calc(8% + 1px) 92%,rgba(11,23,38,.055) 92% calc(92% + 1px),transparent calc(92% + 1px)),linear-gradient(180deg,transparent 0 27%,rgba(11,23,38,.045) 27% calc(27% + 1px),transparent calc(27% + 1px));z-index:-2}
#module1 .heroV3:after{content:"";position:absolute;right:-12vw;top:4vh;width:48vw;height:48vw;border:1px solid rgba(200,165,93,.18);border-radius:50%;box-shadow:0 0 0 8vw rgba(200,165,93,.025),0 0 0 16vw rgba(200,165,93,.018);z-index:-2}
#module1 .heroV3Inner{width:min(1320px,calc(100% - 48px));margin:auto;display:flex;flex-direction:column;min-height:calc(100vh - 166px);position:relative}
#module1 .heroV3Core{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:42px;align-items:end;padding:18px 0 26px;flex:1}
#module1 .heroV3 h1{font:400 clamp(72px,9.1vw,145px)/.82 var(--serif);letter-spacing:-.056em;margin:0;max-width:1110px}#module1 .heroV3 h1 em{color:#9b7839;font-style:italic}#module1 .heroV3 h1 .smallLine{display:block;font-family:var(--sans);font-size:.105em;line-height:1;letter-spacing:.19em;font-weight:700;text-transform:uppercase;margin:0 0 23px 7px;color:#35414b}
#module1 .heroV3Aside{align-self:stretch;border-left:1px solid var(--line);padding-left:24px;display:flex;flex-direction:column;justify-content:space-between}#module1 .heroV3Aside .verticalLabel{font-size:8px;letter-spacing:.2em;writing-mode:vertical-rl;transform:rotate(180deg);color:#8a8e8d}#module1 .heroV3Aside .number{font:400 78px/.8 var(--serif);color:#d2b66f}#module1 .heroV3Aside small{font-size:8px;line-height:1.5;letter-spacing:.08em;color:#737b81;text-transform:uppercase;display:block;margin-top:8px}
#module1 .heroV3Intro{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end;padding:0 0 22px}#module1 .heroV3Intro p{font-size:18px;line-height:1.62;color:#4f5b65;max-width:720px;margin:0}#module1 .heroCred{justify-self:end;max-width:470px;border-left:2px solid var(--gold);padding-left:18px}#module1 .heroCredTitle{font:400 22px/1.15 var(--serif);color:var(--ink);margin-bottom:7px}#module1 .heroCredMeta{font-size:10px;line-height:1.55;letter-spacing:.08em;text-transform:uppercase;color:#697178}#module1 .heroCredMeta b{color:#9a783e}
#module1 .testChooser{display:grid;grid-template-columns:1fr auto 1fr;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy);min-height:132px;margin-top:auto;background:rgba(251,248,241,.7);backdrop-filter:blur(5px)}
#module1 .testChoice{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:22px 28px;overflow:hidden;transition:.35s;color:var(--navy)}#module1 .testChoice:before{content:"";position:absolute;inset:0;background:var(--navy);transform:translateY(101%);transition:.42s cubic-bezier(.2,.8,.2,1);z-index:-1}#module1 .testChoice:hover{color:#fff}#module1 .testChoice:hover:before{transform:none}#module1 .testChoice:hover .choiceMeta,#module1 .testChoice:hover .choiceIndex{color:#bfc9d2}#module1 .testChoice:hover .choiceArrow{transform:translate(6px,-4px);color:#d6bb78}
#module1 .choiceIndex{font-size:9px;letter-spacing:.18em;color:#8a7448;transition:.35s}#module1 .choiceName{font:400 clamp(48px,5.3vw,84px)/.85 var(--serif);letter-spacing:-.04em}#module1 .choiceMeta{font-size:10px;line-height:1.5;color:#6d757a;letter-spacing:.04em;transition:.35s}#module1 .choiceMeta b{font-size:11px;color:inherit;display:block;margin-bottom:4px}#module1 .choiceArrow{font-size:24px;transition:.35s}#module1 .choiceOr{display:grid;place-items:center;padding:0 22px;border-left:1px solid var(--line);border-right:1px solid var(--line);font:italic 26px var(--serif);color:#9a783e;background:var(--paper)}
#module1 .heroV3Foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;font-size:8px;letter-spacing:.17em;color:#7a8084}#module1 .heroV3Foot span:last-child{color:#9a783e;font-weight:700}
#module1 .heroV3Ghost{position:absolute;right:-3%;top:31%;font:400 clamp(150px,20vw,330px)/.7 var(--serif);color:rgba(11,23,38,.025);letter-spacing:-.07em;pointer-events:none;z-index:-1;animation:ghostPulse 7s ease-in-out infinite}@keyframes ghostPulse{50%{transform:translateY(-7px);opacity:.72}}
#module1 .heroV3Words{position:absolute;left:0;right:0;bottom:153px;white-space:nowrap;font:italic 21px var(--serif);letter-spacing:.06em;color:rgba(11,23,38,.08);animation:wordDrift 28s linear infinite;pointer-events:none;z-index:-1}@keyframes wordDrift{to{transform:translateX(-28%)}}
@media(max-width:950px){#module1 .heroV3Core{grid-template-columns:1fr}#module1 .heroV3Aside{display:none}#module1 .heroV3 h1{font-size:clamp(72px,12vw,120px)}#module1 .heroV3Intro{grid-template-columns:1fr}#module1 .heroCred{justify-self:start}#module1 .testChooser{grid-template-columns:1fr}#module1 .choiceOr{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px}#module1 .testChoice{min-height:108px}#module1 .heroV3Words{bottom:260px}}
@media(max-width:560px){#module1 .heroV3{padding:82px 0 32px}#module1 .heroV3Inner{width:min(100% - 28px,1320px);min-height:calc(100vh - 114px)}#module1 .heroV3Core{padding:18px 0 20px}#module1 .heroV3 h1{font-size:57px;line-height:.86}#module1 .heroV3 h1 .smallLine{font-size:.13em;margin-bottom:15px}#module1 .heroV3Intro{gap:18px;padding-bottom:20px}#module1 .heroV3Intro p{font-size:15px}#module1 .testChoice{grid-template-columns:24px 1fr 20px;gap:12px;padding:18px 12px}#module1 .choiceName{font-size:50px}#module1 .choiceMeta{font-size:8px}#module1 .choiceMeta b{font-size:9px}#module1 .choiceOr{font-size:19px;padding:8px}#module1 .heroV3Foot{font-size:6px}#module1 .heroV3Words{display:none}}


#module2{--navy:#081523;--navy2:#10263a;--cream:#f3eee5;--paper:#081523;--gold:#c8a55d;--ink:#f8f6ef;--muted:#aeb9c3;--line:rgba(255,255,255,.14);--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
#module2, #module2 *{box-sizing:border-box}#module2{scroll-behavior:smooth}#module2{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}#module2 a{color:inherit;text-decoration:none}#module2 .wrap{width:min(1320px,calc(100% - 64px));margin:auto}
#module2 .demoTop{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;background:rgba(8,21,35,.92);position:sticky;top:0;z-index:40;backdrop-filter:blur(12px)}#module2 .demoNav{display:flex;justify-content:space-between;align-items:center;width:100%}#module2 .brand{font:400 25px var(--serif)}#module2 .route{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#aeb9c3}#module2 .route b{color:#e2c889}
#module2 .satModule{padding:108px 0 120px;position:relative;background:radial-gradient(circle at 78% 15%,rgba(200,165,93,.065),transparent 28%),var(--navy)}#module2 .satModule:before{content:"SAT";position:absolute;right:-3vw;top:46px;font:400 300px/.8 var(--serif);color:rgba(255,255,255,.025);pointer-events:none}#module2 .intro{display:grid;grid-template-columns:1.18fr .82fr;gap:80px;align-items:end;position:relative;z-index:2}#module2 .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#d3b775}#module2 .intro h1{font:400 clamp(58px,7.1vw,108px)/.9 var(--serif);letter-spacing:-.045em;margin:18px 0 0;max-width:860px}#module2 .intro h1 em{font-style:italic;color:var(--gold)}#module2 .introCopy{padding-bottom:8px}#module2 .introCopy p{font-size:17px;line-height:1.68;color:#c2ccd4;margin:0;max-width:510px}#module2 .microStats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}#module2 .microStat{padding-top:16px;border-top:1px solid var(--line)}#module2 .microStat b{display:block;font:400 28px var(--serif);color:#f4e2b3;margin-bottom:3px}#module2 .microStat span{font-size:10px;line-height:1.35;letter-spacing:.09em;text-transform:uppercase;color:#9fabb5}
#module2 .architecture{margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:3fr 1.13fr;min-height:650px;position:relative;z-index:2}#module2 .vocabZone{padding:42px 44px 48px 0;border-right:1px solid var(--line);position:relative}#module2 .testsZone{padding:42px 0 48px 44px;position:relative}#module2 .zoneHead{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:34px}#module2 .zoneLabel{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#9fabb5}#module2 .zoneLabel strong{display:block;font:400 34px/1.05 var(--serif);text-transform:none;letter-spacing:0;color:var(--ink);margin-top:10px}#module2 .zoneNote{max-width:250px;font-size:12px;line-height:1.5;color:#9fabb5;text-align:right}#module2 .booksRow{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:end}#module2 .bookCard{position:relative;min-width:0}#module2 .coverFrame{width:100%;aspect-ratio:1534/2048;background:transparent;border:0;display:block;position:relative;overflow:hidden}#module2 .coverFrame:after{display:none}#module2 .coverFrame img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;position:relative;z-index:2;transition:transform .35s ease;filter:drop-shadow(0 20px 18px rgba(0,0,0,.32))}#module2 .bookCard:hover img{transform:translateY(-10px)}#module2 .bookMeta{padding-top:18px}#module2 .bookMeta small{font-size:9px;letter-spacing:.16em;font-weight:700;color:#d3b875}#module2 .bookMeta h3{font:400 25px/1.02 var(--serif);margin:8px 0 7px}#module2 .bookMeta p{font-size:12px;line-height:1.5;color:#aeb9c3;margin:0}#module2 .amazon{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:18px;padding-top:13px;font-size:10px;font-weight:700;letter-spacing:.08em;transition:.25s}#module2 .amazon:hover{color:#d7bc7d;transform:translateX(2px)}
#module2 .phaseArrow{position:absolute;right:-31px;top:48%;width:62px;height:62px;border-radius:50%;background:#d3b66f;color:var(--navy);z-index:6;display:grid;place-items:center;font-size:24px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
#module2 .testFeature{height:100%;display:flex;flex-direction:column}#module2 .testCoverFrame{height:385px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;position:relative;overflow:hidden}#module2 .testCoverFrame:before{content:"APPLY";position:absolute;font:400 110px/.8 var(--serif);color:rgba(255,255,255,.035);transform:rotate(-90deg);right:-79px;top:150px}#module2 .mockCover{height:350px;width:248px;background:linear-gradient(155deg,#12263b,#0a1726);color:white;padding:24px;border-top:7px solid var(--gold);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 22px 28px rgba(0,0,0,.24);position:relative;z-index:2;transition:transform .35s}#module2 .testFeature:hover .mockCover{transform:translateY(-10px)}#module2 .mockCover .top{font-size:10px;letter-spacing:.16em;font-weight:700}#module2 .mockCover .big{font:400 49px/.88 var(--serif);color:#d7bb79}#module2 .mockCover .sub{font-size:11px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}#module2 .testMeta{padding-top:18px}#module2 .testMeta small{font-size:9px;letter-spacing:.16em;font-weight:700;color:#d3b875}#module2 .testMeta h3{font:400 31px/1.02 var(--serif);margin:8px 0}#module2 .testMeta p{font-size:12px;line-height:1.55;color:#aeb9c3;margin:0}#module2 .soon{border-top:1px solid var(--line);padding-top:13px;margin-top:18px;font-size:10px;font-weight:700;letter-spacing:.08em;color:#d7bc7d;display:flex;justify-content:space-between}
#module2 .parentLine{margin-top:58px;background:var(--cream);color:#15202b;display:grid;grid-template-columns:1.35fr .65fr;align-items:center}#module2 .parentCopy{padding:34px 38px}#module2 .parentCopy span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#8e6f34;font-weight:700}#module2 .parentCopy h4{font:400 30px/1.1 var(--serif);margin:9px 0 0;color:#15202b}#module2 .parentFact{height:100%;border-left:1px solid rgba(8,21,35,.15);padding:25px 32px;display:flex;align-items:center;justify-content:space-between;gap:22px}#module2 .parentFact b{font:400 50px var(--serif);color:#9a7b3d}#module2 .parentFact p{margin:0;max-width:260px;font-size:11px;line-height:1.5;color:#56616a}#module2 .reveal{opacity:0;transform:translateY(24px);transition:.7s ease}#module2 .reveal.in{opacity:1;transform:none}
@media(max-width:1040px){#module2 .intro{grid-template-columns:1fr}#module2 .architecture{grid-template-columns:1fr}#module2 .vocabZone{border-right:0;border-bottom:1px solid var(--line);padding-right:0}#module2 .testsZone{padding-left:0}#module2 .phaseArrow{right:auto;left:50%;top:auto;bottom:-31px;transform:translateX(-50%) rotate(90deg)}#module2 .parentLine{grid-template-columns:1fr}#module2 .parentFact{border-left:0;border-top:1px solid rgba(8,21,35,.15)}}
@media(max-width:760px){#module2 .wrap{width:min(100% - 32px,1320px)}#module2 .satModule{padding-top:72px}#module2 .booksRow{grid-template-columns:1fr}#module2 .testCoverFrame{height:410px}#module2 .coverFrame{width:100%;aspect-ratio:1534/2048}#module2 .coverFrame img{width:100%;height:100%}#module2 .microStats{grid-template-columns:1fr 1fr}#module2 .intro h1{font-size:58px}#module2 .zoneHead{display:block}#module2 .zoneNote{text-align:left;margin-top:10px}#module2 .parentFact{align-items:flex-start}#module2 .satModule:before{font-size:180px}}


#module3{
  --navy:#0b1726;
  --navy2:#13263b;
  --paper:#fbf8f1;
  --cream:#f4efe5;
  --gold:#c8a55d;
  --gold-dark:#98763b;
  --ink:#15202b;
  --muted:#65707a;
  --line:rgba(11,23,38,.16);
  --serif:"Libre Caslon Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
}
#module3, #module3 *{box-sizing:border-box}
#module3{scroll-behavior:smooth}
#module3{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
#module3 a{text-decoration:none;color:inherit}
#module3 .wrap{width:min(1320px,calc(100% - 64px));margin:auto}

/* preview header only */
#module3 .demoTop{
  height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;
  background:rgba(251,248,241,.92);position:sticky;top:0;z-index:40;backdrop-filter:blur(12px)
}
#module3 .demoNav{display:flex;justify-content:space-between;align-items:center;width:100%}
#module3 .brand{font:400 25px var(--serif)}
#module3 .route{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#737b81}
#module3 .route b{color:var(--gold-dark)}

/* module */
#module3 .methodModule{
  min-height:100vh;
  padding:112px 0 118px;
  position:relative;
  overflow:hidden;
  background:var(--paper);
  isolation:isolate;
}
#module3 .methodModule:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,transparent 0 7%,rgba(11,23,38,.045) 7% calc(7% + 1px),transparent calc(7% + 1px) 93%,rgba(11,23,38,.045) 93% calc(93% + 1px),transparent calc(93% + 1px)),
    linear-gradient(180deg,transparent 0 31%,rgba(11,23,38,.04) 31% calc(31% + 1px),transparent calc(31% + 1px));
  z-index:-3;
}
#module3 .methodModule:after{
  content:"";
  position:absolute;
  width:600px;height:600px;border-radius:50%;
  border:1px solid rgba(200,165,93,.18);
  box-shadow:0 0 0 100px rgba(200,165,93,.025),0 0 0 200px rgba(200,165,93,.014);
  right:-250px;top:100px;z-index:-2;
}
#module3 .ghost{
  position:absolute;left:-30px;bottom:34px;
  font:400 clamp(170px,22vw,340px)/.7 var(--serif);
  color:rgba(11,23,38,.025);letter-spacing:-.07em;
  z-index:-2;pointer-events:none;
}

#module3 .intro{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:86px;
  align-items:end;
}
#module3 .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--gold-dark)}
#module3 .intro h1{
  font:400 clamp(61px,7.5vw,116px)/.88 var(--serif);
  letter-spacing:-.048em;
  margin:18px 0 0;
  max-width:900px;
}
#module3 .intro h1 em{font-style:italic;color:var(--gold-dark)}
#module3 .introCopy{padding-bottom:7px}
#module3 .introCopy p{font-size:17px;line-height:1.7;color:#4f5b65;margin:0;max-width:520px}
#module3 .introCopy strong{color:var(--ink)}

#module3 .methodCanvas{
  margin-top:78px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);
  min-height:650px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

/* left visual laboratory */
#module3 .wordLab{
  position:relative;
  padding:45px 54px 45px 0;
  border-right:1px solid var(--line);
  overflow:hidden;
}
#module3 .labHead{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}
#module3 .labLabel{font-size:10px;letter-spacing:.19em;text-transform:uppercase;font-weight:700;color:#777e83}
#module3 .labLabel b{display:block;font:400 30px/1.05 var(--serif);letter-spacing:0;text-transform:none;color:var(--ink);margin-top:10px}
#module3 .labCounter{text-align:right;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8a8f91}
#module3 .labCounter strong{display:block;font:400 38px/1 var(--serif);letter-spacing:0;color:var(--gold-dark);margin-bottom:5px}

#module3 .wordStage{
  position:relative;
  height:430px;
  margin-top:34px;
  display:flex;
  align-items:center;
  justify-content:center;
}
#module3 .orbit{
  position:absolute;width:430px;height:430px;border:1px solid rgba(11,23,38,.13);border-radius:50%;
  animation:spin 32s linear infinite;
}
#module3 .orbit:before,#module3 .orbit:after{content:"";position:absolute;border:1px solid rgba(11,23,38,.08);border-radius:50%;inset:54px}
#module3 .orbit:after{inset:117px}
@keyframes spin{to{transform:rotate(360deg)}}
#module3 .wordCore{
  width:305px;height:305px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  box-shadow:0 30px 70px rgba(11,23,38,.18);position:relative;z-index:3;
}
#module3 .wordCore .small{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#b8c2cb;margin-bottom:19px}
#module3 .wordCore .word{font:400 49px/.95 var(--serif);letter-spacing:-.02em;color:#f5e4b8;transition:.35s}
#module3 .wordCore .meaning{font-size:11px;line-height:1.5;color:#c2ccd4;max-width:190px;margin-top:15px;transition:.35s}
#module3 .wordCore:after{content:"";position:absolute;inset:15px;border:1px solid rgba(255,255,255,.12);border-radius:50%}

#module3 .floatingWord{position:absolute;font:italic 18px var(--serif);color:rgba(11,23,38,.25);transition:.35s;pointer-events:none}
#module3 .fw1{left:5%;top:19%}#module3 .fw2{right:3%;top:26%}#module3 .fw3{left:8%;bottom:17%}#module3 .fw4{right:6%;bottom:14%}

#module3 .labFoot{
  display:flex;justify-content:space-between;gap:24px;align-items:center;
  padding-top:18px;border-top:1px solid var(--line);
  font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#7e8589
}
#module3 .labFoot b{color:var(--gold-dark)}

/* right method steps */
#module3 .steps{padding:45px 0 45px 52px;display:flex;flex-direction:column}
#module3 .stepsTitle{font-size:10px;letter-spacing:.19em;text-transform:uppercase;font-weight:700;color:#777e83;margin-bottom:28px}
#module3 .step{
  flex:1;
  display:grid;
  grid-template-columns:70px 1fr 36px;
  gap:18px;
  align-items:center;
  border-top:1px solid var(--line);
  cursor:pointer;
  position:relative;
  transition:.3s;
}
#module3 .step:last-of-type{border-bottom:1px solid var(--line)}
#module3 .stepNum{font:400 42px/1 var(--serif);color:#aa8a4f;transition:.3s}
#module3 .stepText h3{font:400 38px/1 var(--serif);margin:0 0 7px;letter-spacing:-.02em}
#module3 .stepText p{font-size:12px;line-height:1.55;color:#68727a;margin:0;max-width:350px}
#module3 .stepArrow{font-size:20px;color:#a2a7aa;transition:.3s}
#module3 .step:hover,#module3 .step.active{padding-left:12px;background:linear-gradient(90deg,rgba(200,165,93,.09),transparent 72%)}
#module3 .step:hover .stepNum,#module3 .step.active .stepNum{color:var(--navy)}
#module3 .step:hover .stepArrow,#module3 .step.active .stepArrow{transform:translateX(5px);color:var(--gold-dark)}
#module3 .step.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold)}

#module3 .methodNote{
  margin-top:auto;
  padding-top:27px;
  display:grid;grid-template-columns:82px 1fr;gap:18px;align-items:start
}
#module3 .methodNote b{font:400 47px/.9 var(--serif);color:var(--gold-dark)}
#module3 .methodNote p{font-size:11px;line-height:1.55;color:#68727a;margin:0}

/* bottom reassurance ribbon */
#module3 .reassure{
  margin-top:62px;
  background:var(--cream);color:var(--ink);
  display:grid;
  grid-template-columns:1.2fr .8fr;
  min-height:190px;
  border:1px solid rgba(11,23,38,.10);
}
#module3 .reassureCopy{padding:35px 42px}
#module3 .reassureCopy span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);font-weight:700}
#module3 .reassureCopy h4{font:400 34px/1.06 var(--serif);margin:10px 0 0;max-width:650px;color:var(--ink)}
#module3 .reassureFact{border-left:1px solid rgba(11,23,38,.14);padding:31px 38px;display:flex;align-items:center;gap:28px}
#module3 .reassureFact b{font:400 62px/.9 var(--serif);color:var(--gold-dark);white-space:nowrap}
#module3 .reassureFact p{font-size:11px;line-height:1.55;color:#56616a;margin:0;max-width:300px}

#module3 .reveal{opacity:0;transform:translateY(24px);transition:.75s ease}
#module3 .reveal.in{opacity:1;transform:none}

@media(max-width:1050px){
  #module3 .intro{grid-template-columns:1fr;gap:28px}
  #module3 .methodCanvas{grid-template-columns:1fr}
  #module3 .wordLab{border-right:0;border-bottom:1px solid var(--line);padding-right:0}
  #module3 .steps{padding-left:0}
  #module3 .reassure{grid-template-columns:1fr}
  #module3 .reassureFact{border-left:0;border-top:1px solid rgba(11,23,38,.14)}
}
@media(max-width:720px){
  #module3 .wrap{width:min(100% - 32px,1320px)}
  #module3 .methodModule{padding:74px 0 78px}
  #module3 .intro h1{font-size:58px}
  #module3 .methodCanvas{margin-top:52px}
  #module3 .wordLab{padding-top:32px}
  #module3 .wordStage{height:350px}
  #module3 .orbit{width:330px;height:330px}
  #module3 .wordCore{width:240px;height:240px}
  #module3 .wordCore .word{font-size:39px}
  #module3 .floatingWord{font-size:15px}
  #module3 .labHead{display:block}#module3 .labCounter{text-align:left;margin-top:18px}
  #module3 .steps{padding-top:32px}
  #module3 .step{grid-template-columns:48px 1fr 24px;min-height:135px}
  #module3 .stepNum{font-size:34px}#module3 .stepText h3{font-size:31px}
  #module3 .reassureCopy,#module3 .reassureFact{padding:28px}
  #module3 .reassureFact{align-items:flex-start}
  #module3 .ghost{font-size:170px}
}


#module4{
  --navy:#0b1726;
  --navy2:#13263b;
  --navy3:#1a3047;
  --paper:#fbf8f1;
  --cream:#f4efe5;
  --gold:#c8a55d;
  --gold2:#dbc482;
  --white:#f9f7f1;
  --muted:#aeb9c3;
  --line:rgba(255,255,255,.14);
  --serif:"Libre Caslon Display", Georgia, serif;
  --sans:"DM Sans", Arial, sans-serif;
}
#module4, #module4 *{box-sizing:border-box}
#module4{scroll-behavior:smooth}
#module4{margin:0;background:var(--navy);color:var(--white);font-family:var(--sans);overflow-x:hidden}
#module4 a{color:inherit;text-decoration:none}
#module4 .wrap{width:min(1320px,calc(100% - 64px));margin:auto}

#module4 .demoTop{
  height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;
  background:rgba(11,23,38,.92);position:sticky;top:0;z-index:40;backdrop-filter:blur(12px)
}
#module4 .demoNav{display:flex;justify-content:space-between;align-items:center;width:100%}
#module4 .brand{font:400 25px var(--serif)}
#module4 .route{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#aeb9c3}
#module4 .route b{color:var(--gold2)}

#module4 .credibility{
  min-height:100vh;
  padding:108px 0 116px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 11%,rgba(200,165,93,.10),transparent 26%),
    radial-gradient(circle at 10% 84%,rgba(255,255,255,.035),transparent 28%),
    var(--navy);
}
#module4 .credibility:before{
  content:"30+";position:absolute;right:-2.5vw;top:44px;
  font:400 clamp(220px,29vw,470px)/.75 var(--serif);
  color:rgba(255,255,255,.025);letter-spacing:-.075em;pointer-events:none;
}
#module4 .credibility:after{
  content:"";position:absolute;left:7.2%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.04);pointer-events:none
}

#module4 .intro{
  display:grid;grid-template-columns:1.12fr .88fr;gap:94px;align-items:end;
  position:relative;z-index:2;margin-bottom:78px
}
#module4 .eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--gold2)}
#module4 .intro h1{
  font:400 clamp(58px,7.2vw,110px)/.9 var(--serif);
  letter-spacing:-.047em;margin:18px 0 0;max-width:840px
}
#module4 .intro h1 em{font-style:italic;color:var(--gold2)}
#module4 .introCopy{padding-bottom:8px}
#module4 .introCopy p{font-size:17px;line-height:1.7;color:#c5ced5;margin:0;max-width:515px}
#module4 .introCopy strong{color:#fff;font-weight:600}

#module4 .proofGrid{
  display:grid;grid-template-columns:.88fr 1.12fr;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  position:relative;z-index:2;min-height:600px
}

#module4 .signaturePanel{
  padding:54px 58px 58px 0;border-right:1px solid var(--line);
  display:flex;flex-direction:column;justify-content:space-between;position:relative
}
#module4 .identity{max-width:470px}
#module4 .identityLabel{font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:#95a4af;font-weight:700}
#module4 .identity h2{font:400 clamp(43px,4.7vw,70px)/.96 var(--serif);letter-spacing:-.035em;margin:14px 0 22px}
#module4 .identity h2 em{font-style:italic;color:var(--gold2)}
#module4 .identity p{font-size:14px;line-height:1.7;color:#b8c3cc;margin:0;max-width:435px}
#module4 .roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
#module4 .role{border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:9px 13px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#e3e7e9}

#module4 .bigProof{margin-top:62px;padding-top:31px;border-top:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:end}
#module4 .bigProof b{font:400 90px/.78 var(--serif);color:var(--gold2);letter-spacing:-.055em}
#module4 .bigProof span{font-size:11px;line-height:1.55;color:#aeb9c3;max-width:220px}
#module4 .bigProof span strong{display:block;color:#f7f4ec;font-size:13px;margin-bottom:4px}

#module4 .timeline{padding:22px 0 22px 54px;display:flex;flex-direction:column;justify-content:center}
#module4 .timelineTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}
#module4 .timelineTop span{font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:#95a4af;font-weight:700}
#module4 .timelineTop i{display:block;width:56px;height:1px;background:var(--gold)}
#module4 .milestone{
  display:grid;grid-template-columns:116px 1fr 36px;gap:24px;align-items:center;
  padding:28px 0;border-bottom:1px solid var(--line);position:relative;transition:.35s ease
}
#module4 .milestone:last-child{border-bottom:0}
#module4 .milestone:hover{padding-left:12px;background:linear-gradient(90deg,rgba(200,165,93,.09),transparent 80%)}
#module4 .year{font:400 31px/1 var(--serif);color:#e0c783}
#module4 .milestone h3{font:400 26px/1.06 var(--serif);margin:0 0 7px;color:#fff}
#module4 .milestone p{font-size:11px;line-height:1.55;color:#aeb9c3;margin:0;max-width:530px}
#module4 .dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--gold);justify-self:end;position:relative}
#module4 .dot:after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--gold);opacity:.45}

#module4 .parentCase{
  margin-top:64px;display:grid;grid-template-columns:1.25fr .75fr;
  background:var(--paper);color:#15202b;position:relative;z-index:2;overflow:hidden
}
#module4 .parentCopy{padding:43px 48px}
#module4 .parentCopy .small{font-size:9px;letter-spacing:.19em;text-transform:uppercase;color:#927139;font-weight:700}
#module4 .parentCopy h3{font:400 clamp(34px,3.4vw,51px)/1.02 var(--serif);letter-spacing:-.025em;margin:11px 0 16px;max-width:690px}
#module4 .parentCopy p{font-size:13px;line-height:1.68;color:#5b6670;margin:0;max-width:690px}
#module4 .parentCopy p strong{color:#15202b}
#module4 .parentProof{
  border-left:1px solid rgba(11,23,38,.14);padding:39px 42px;display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(145deg,#f4efe5,#eee7da)
}
#module4 .parentProof b{font:400 clamp(56px,6vw,88px)/.8 var(--serif);color:#9c7a3c;letter-spacing:-.04em}
#module4 .parentProof span{font-size:11px;line-height:1.55;color:#59646d;margin-top:17px;max-width:290px}
#module4 .parentProof span strong{display:block;color:#15202b;font-size:13px;margin-bottom:4px}

#module4 .footnote{margin-top:22px;position:relative;z-index:2;display:flex;justify-content:space-between;gap:28px;align-items:center;color:#7f8d98;font-size:9px;line-height:1.5;letter-spacing:.04em}
#module4 .footnote .next{color:#d2bb7b;text-transform:uppercase;letter-spacing:.15em;font-weight:700}

#module4 .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
#module4 .reveal.in{opacity:1;transform:none}

@media(max-width:960px){
  #module4 .wrap{width:min(100% - 34px,1320px)}
  #module4 .credibility{padding:84px 0 86px}
  #module4 .intro{grid-template-columns:1fr;gap:32px;margin-bottom:54px}
  #module4 .intro h1{font-size:64px}
  #module4 .proofGrid{grid-template-columns:1fr}
  #module4 .signaturePanel{border-right:0;border-bottom:1px solid var(--line);padding:44px 0}
  #module4 .timeline{padding:28px 0}
  #module4 .parentCase{grid-template-columns:1fr}
  #module4 .parentProof{border-left:0;border-top:1px solid rgba(11,23,38,.14)}
  #module4 .bigProof{grid-template-columns:125px 1fr}
}
@media(max-width:620px){
  #module4 .demoTop{height:66px}#module4 .brand{font-size:21px}#module4 .route{font-size:9px}
  #module4 .credibility{padding-top:68px}#module4 .intro h1{font-size:50px}
  #module4 .introCopy p{font-size:15px}
  #module4 .milestone{grid-template-columns:78px 1fr 18px;gap:15px;padding:23px 0}
  #module4 .year{font-size:25px}#module4 .milestone h3{font-size:22px}
  #module4 .bigProof{grid-template-columns:1fr;gap:12px}#module4 .bigProof b{font-size:76px}
  #module4 .parentCopy,#module4 .parentProof{padding:32px 27px}
  #module4 .footnote{align-items:flex-start;flex-direction:column}
}



/* ===== MODULE 5 / SAT FINAL CONVERSION ===== */

#module5{--navy:#0b1726;--navy2:#13263b;--paper:#fbf8f1;--cream:#f4efe5;--gold:#c8a55d;--ink:#15202b;--muted:#77766f;--line:rgba(11,23,38,.16);--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
#module5 *{box-sizing:border-box} #module5{scroll-behavior:smooth} #module5{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden} #module5 a{color:inherit;text-decoration:none}
#module5{min-height:100vh;background:var(--paper);position:relative;overflow:hidden;padding:110px 0 0}
#module5:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 20%,rgba(200,165,93,.11),transparent 31%),linear-gradient(90deg,transparent 0 49.9%,rgba(11,23,38,.045) 50%,transparent 50.1%);pointer-events:none}
#module5 .wrap{width:min(1220px,calc(100% - 48px));margin:0 auto;position:relative;z-index:2}
#module5 .kicker{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#6e6c65;margin-bottom:24px}#module5 .kicker:before{content:"";width:42px;height:1px;background:var(--gold)}
#module5 .headerGrid{display:grid;grid-template-columns:1.22fr .78fr;gap:80px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:42px}
#module5 h1{font-family:var(--serif);font-size:clamp(64px,8vw,118px);font-weight:400;line-height:.88;letter-spacing:-.055em;margin:0;color:var(--navy)} #module5 h1 em{font-style:italic;color:var(--gold)}
#module5 .intro{max-width:430px;margin-left:auto;padding-bottom:8px}#module5 .intro p{font-size:18px;line-height:1.55;margin:0 0 20px;color:#4d5256}#module5 .parentNote{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:10px}#module5 .parentNote span{display:block;width:28px;height:1px;background:var(--gold)}
#module5 .collection{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;padding:68px 0 54px}
#module5 .booksStage{height:520px;position:relative;display:flex;align-items:flex-end;justify-content:center;perspective:1200px}
#module5 .book{position:absolute;width:190px;aspect-ratio:1000/1600;filter:drop-shadow(0 24px 24px rgba(11,23,38,.18));transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s ease;transform-origin:50% 100%;border-radius:1px;overflow:hidden;background:#ddd}#module5 .book img{width:100%;height:100%;object-fit:cover;display:block}
#module5 .book.b1{left:3%;bottom:24px;transform:rotate(-7deg) translateY(8px)}#module5 .book.b2{left:27%;bottom:38px;transform:rotate(-2deg) translateY(-4px);z-index:3}#module5 .book.b3{left:51%;bottom:22px;transform:rotate(4deg);z-index:2}#module5 .book.b4{left:75%;bottom:38px;transform:rotate(8deg) translateY(4px);z-index:1;background:var(--navy);color:white;border:1px solid rgba(255,255,255,.15)}#module5 .book:hover{z-index:10;transform:translateY(-18px) rotate(0deg) scale(1.04);filter:drop-shadow(0 32px 30px rgba(11,23,38,.25))}
#module5 .cover4{height:100%;padding:22px 18px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(165deg,#11263c 0%,#0b1726 70%);position:relative}#module5 .cover4:before{content:"";position:absolute;inset:18px;border:1px solid rgba(200,165,93,.5)}#module5 .cover4Top{font-size:10px;letter-spacing:.18em;text-transform:uppercase;position:relative;z-index:2;color:#e9ddc1}#module5 .cover4Num{font-family:var(--serif);font-size:72px;line-height:.8;color:var(--gold);position:relative;z-index:2}#module5 .cover4Title{font-family:var(--serif);font-size:24px;line-height:1.06;position:relative;z-index:2}#module5 .cover4Sub{font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:#d6dce2;position:relative;z-index:2}#module5 .coming{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);position:relative;z-index:2}#module5 .coming:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
#module5 .decision{padding-left:10px}#module5 .decisionEyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#77756f;margin-bottom:18px}#module5 .decision h2{font-family:var(--serif);font-size:clamp(42px,5vw,72px);line-height:.96;font-weight:400;letter-spacing:-.035em;color:var(--navy);margin:0 0 26px}#module5 .decision h2 span{color:var(--gold);font-style:italic}
#module5 .route{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:start}#module5 .route:last-of-type{border-bottom:1px solid var(--line)}#module5 .routeTag{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#797770;padding-top:3px}#module5 .routeTitle{font-size:18px;font-weight:600;color:var(--navy);margin-bottom:5px}#module5 .routeCopy{font-size:14px;line-height:1.55;color:#64645f}
#module5 .mainCta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}#module5 .cta{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-width:245px;padding:17px 20px;border:1px solid var(--navy);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.25s ease}#module5 .cta.primary{background:var(--navy);color:white}#module5 .cta.primary:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}#module5 .cta.secondary:hover{background:var(--navy);color:white}#module5 .cta i{font-style:normal;font-size:17px}
#module5 .buyStrip{border-top:1px solid var(--line);padding:30px 0 54px}#module5 .buyTitle{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}#module5 .buyTitle h3{font-family:var(--serif);font-size:32px;font-weight:400;margin:0;color:var(--navy)}#module5 .buyTitle p{margin:0;color:#77756f;font-size:13px}#module5 .buyGrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}#module5 .buyCard{padding:22px 20px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:162px;display:flex;flex-direction:column;transition:.25s ease;background:rgba(255,255,255,.18)}#module5 .buyCard:hover{background:white;transform:translateY(-3px)}#module5 .vol{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#89867e;margin-bottom:30px}#module5 .buyCard strong{font-family:var(--serif);font-size:23px;font-weight:400;line-height:1.12;color:var(--navy)}#module5 .buyCard .buy{margin-top:auto;padding-top:22px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}#module5 .buyCard .buy span{color:var(--gold)}#module5 .buyCard.disabled{opacity:.6}#module5 .buyCard.disabled:hover{background:rgba(255,255,255,.18);transform:none}
#module5 footer{background:var(--navy);color:white;padding:42px 0 34px}#module5 .footerGrid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}#module5 .brand{font-family:var(--serif);font-size:30px;letter-spacing:-.02em}#module5 .role{margin-top:7px;color:#bfc7d0;font-size:12px;letter-spacing:.1em;text-transform:uppercase}#module5 .footerLinks{display:flex;gap:28px;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#d7dce1}#module5 .copy{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13);font-size:11px;color:#8895a2;display:flex;justify-content:space-between;gap:20px}
#module5 .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}#module5 .reveal.on{opacity:1;transform:none}
@media(max-width:980px){#module5{padding-top:82px}#module5 .headerGrid, #module5 .collection{grid-template-columns:1fr;gap:34px}#module5 .intro{margin:0;max-width:600px}#module5 .booksStage{height:430px;margin-top:10px}#module5 .book{width:160px}#module5 .book.b1{left:2%}#module5 .book.b2{left:27%}#module5 .book.b3{left:52%}#module5 .book.b4{left:76%}#module5 .decision{padding-left:0}#module5 .buyGrid{grid-template-columns:1fr 1fr}#module5 .footerGrid{grid-template-columns:1fr}}
@media(max-width:640px){#module5 .wrap{width:min(100% - 28px,1220px)}#module5{padding-top:62px}#module5 h1{font-size:58px}#module5 .headerGrid{padding-bottom:28px}#module5 .booksStage{height:300px;margin-left:-10px}#module5 .book{width:112px}#module5 .book.b1{left:0}#module5 .book.b2{left:24%}#module5 .book.b3{left:48%}#module5 .book.b4{left:72%}#module5 .cover4{padding:13px 10px}#module5 .cover4:before{inset:10px}#module5 .cover4Num{font-size:45px}#module5 .cover4Title{font-size:15px}#module5 .cover4Sub{font-size:7px}#module5 .route{grid-template-columns:1fr;gap:8px}#module5 .mainCta{display:grid}#module5 .cta{min-width:0;width:100%}#module5 .buyGrid{grid-template-columns:1fr}#module5 .buyTitle{display:block}#module5 .buyTitle p{margin-top:8px}#module5 .footerLinks{gap:14px;flex-wrap:wrap}#module5 .copy{display:block;line-height:1.7}}


/* ===== AMAZON MARKETPLACE CONTROL ===== */
#module1 .amazonMarketControl{position:relative;margin-left:18px;font-family:var(--sans)}
#module1 .amazonMarketButton{height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(11,23,38,.18);background:rgba(251,248,241,.78);color:var(--navy);cursor:pointer;font:600 10px/1 var(--sans);letter-spacing:.12em;border-radius:999px;transition:.2s ease}
#module1 .amazonMarketButton:hover{border-color:rgba(11,23,38,.42);background:#fff}
#module1 .marketLabel{opacity:.62}.amazonMarketButton b{font-size:11px}.marketChevron{font-size:12px;opacity:.55;margin-top:-2px}
#module1 .amazonMarketMenu{position:absolute;right:0;top:46px;width:245px;padding:8px;background:#fff;border:1px solid rgba(11,23,38,.12);box-shadow:0 20px 46px rgba(11,23,38,.16);z-index:100;border-radius:4px}
#module1 .amazonMarketMenu button{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:11px 10px;text-align:left;color:var(--navy);font:600 12px/1.2 var(--sans);cursor:pointer;border-radius:3px}
#module1 .amazonMarketMenu button:hover,#module1 .amazonMarketMenu button.active{background:var(--cream)}
#module1 .amazonMarketMenu button span{font-size:10px;font-weight:500;color:#7a7b79}
@media(max-width:900px){#module1 .marketLabel{display:none}#module1 .amazonMarketControl{margin-left:auto;margin-right:8px}#module1 .amazonMarketButton{padding:0 10px}}
@media(max-width:560px){#module1 .amazonMarketControl{display:none}}
/* marketplace status inside module 5 */
#module5 .marketStatus{margin-top:18px;display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#77766f}
#module5 .marketStatus b{color:#0b1726}


/* ===== GRE APPROVED MODULES ===== */
/* Module-specific design tokens preserved from approved standalone versions */
.m2{
  --navy:#081523;
  --navy2:#0d2134;
  --cream:#f3eee5;
  --gold:#c8a55d;
  --gold2:#dfc477;
  --ink:#f8f6ef;
  --muted:#aeb9c3;
  --line:rgba(255,255,255,.14);
  --serif:'Libre Caslon Display',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
}
.m3{
  --paper:#f2ede4;
  --paper2:#e9e0d2;
  --ink:#15202b;
  --navy:#0b1e31;
  --navy2:#17324b;
  --gold:#b18a44;
  --gold2:#d5b66f;
  --muted:#68737c;
  --line:rgba(21,32,43,.16);
  --softline:rgba(21,32,43,.09);
  --serif:'Libre Caslon Display',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
}
.m4{
  --navy:#081523;
  --navy2:#0e2235;
  --cream:#f3eee5;
  --ink:#f7f4ed;
  --gold:#c8a55d;
  --gold2:#dfc477;
  --muted:#aeb9c3;
  --line:rgba(255,255,255,.14);
  --serif:'Libre Caslon Display',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
}
.m5{
  --paper:#f2ede4;
  --paper2:#e8dfd1;
  --ink:#15202b;
  --navy:#0a1d30;
  --gold:#a9803c;
  --gold2:#c7a15a;
  --muted:#68737c;
  --line:rgba(21,32,43,.15);
  --soft:rgba(21,32,43,.07);
  --serif:'Libre Caslon Display',Georgia,serif;
  --sans:'DM Sans',Arial,sans-serif;
}

/* M2 */
.m2 .wrap{width:min(1320px,calc(100% - 64px));margin:auto}.m2 .route b{color:#e2c889}.m2 .greModule{
  position:relative;
  padding:108px 0 120px;
  background:
    radial-gradient(circle at 18% 18%,rgba(200,165,93,.055),transparent 27%),
    radial-gradient(circle at 80% 68%,rgba(41,106,116,.075),transparent 30%),
    var(--navy);
}.m2 .greModule:before{
  content:"GRE";
  position:absolute;
  right:-2.5vw;
  top:65px;
  font:400 280px/.8 var(--serif);
  color:rgba(255,255,255,.024);
  pointer-events:none;
}.m2 .intro{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:78px;
  align-items:end;
  position:relative;
  z-index:2;
}.m2 .eyebrow{
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
  color:#d3b775;
}.m2 .intro h1{
  font:400 clamp(56px,7vw,106px)/.91 var(--serif);
  letter-spacing:-.045em;
  margin:18px 0 0;
  max-width:900px;
}.m2 .intro h1 em{font-style:italic;color:var(--gold)}.m2 .introCopy{padding-bottom:7px}.m2 .introCopy p{
  font-size:17px;
  line-height:1.7;
  color:#c2ccd4;
  margin:0;
  max-width:530px;
}.m2 .microStats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:32px;
}.m2 .microStat{
  padding-top:16px;
  border-top:1px solid var(--line);
}.m2 .microStat b{
  display:block;
  font:400 27px var(--serif);
  color:#f4e2b3;
  margin-bottom:4px;
}.m2 .microStat span{
  font-size:10px;
  line-height:1.35;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#9fabb5;
}.m2 .seriesHead{
  margin-top:72px;
  padding:27px 0 23px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:32px;
  position:relative;
  z-index:2;
}.m2 .seriesHeadLeft{
  display:flex;
  align-items:baseline;
  gap:22px;
  flex-wrap:wrap;
}.m2 .seriesNo{
  font:400 33px var(--serif);
  color:var(--gold2);
}.m2 .seriesTitle{
  font:400 30px/1 var(--serif);
}.m2 .seriesNote{
  font-size:11px;
  line-height:1.5;
  color:#9fabb5;
  max-width:420px;
  text-align:right;
}.m2 .booksGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:42px;
  /* Match the exact desktop content width of the 3-cover SAT vocabulary zone:
     SAT col 1 = 3 / 4.13 of the 1320px wrapper, minus its 44px right padding + 1px border. */
  width:calc(72.6392251816% - 45px);
  position:relative;
  z-index:2;
}.m2 .bookCard{
  min-width:0;
  position:relative;
}.m2 .coverWrap{
  width:100%;
  /* Exact same display ratio used by the approved SAT Module 2 covers. */
  aspect-ratio:1534/2048;
  overflow:hidden;
  background:transparent;
  border:0;
  position:relative;
}.m2 .coverWrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:drop-shadow(0 22px 20px rgba(0,0,0,.32));
  transition:transform .4s ease,filter .4s ease;
}.m2 .bookCard:hover img{
  transform:translateY(-10px);
  filter:drop-shadow(0 30px 25px rgba(0,0,0,.42));
}.m2 .bookMeta{padding-top:19px}.m2 .bookMeta small{
  font-size:9px;
  letter-spacing:.17em;
  font-weight:700;
  color:#d3b875;
}.m2 .bookMeta h3{
  font:400 27px/1.06 var(--serif);
  margin:9px 0 8px;
}.m2 .bookMeta p{
  margin:0;
  color:#aeb9c3;
  font-size:12px;
  line-height:1.58;
  min-height:58px;
}.m2 .edition{
  margin-top:13px;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#7f909e;
}.m2 .amazon{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid var(--line);
  margin-top:18px;
  padding-top:13px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
  transition:.25s;
}.m2 .amazon:hover{
  color:#e2c889;
  transform:translateX(2px);
}.m2 .methodBand{
  margin-top:60px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:.9fr 1.8fr .8fr;
  align-items:stretch;
  position:relative;
  z-index:2;
}.m2 .methodLabel{
  padding:34px 34px 34px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}.m2 .methodLabel span{
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9fabb5;
  font-weight:700;
}.m2 .methodLabel strong{
  font:400 29px/1.05 var(--serif);
  margin-top:10px;
}.m2 .methodSteps{
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(3,1fr);
}.m2 .step{
  padding:34px 25px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.13em;
  color:#efe1ba;
  position:relative;
}.m2 .step:not(:last-child):after{
  content:"→";
  position:absolute;
  right:-9px;
  color:#667685;
  z-index:2;
}.m2 .methodFact{
  padding:28px 0 28px 30px;
  display:flex;
  align-items:center;
  gap:18px;
}.m2 .methodFact b{
  font:400 48px var(--serif);
  color:#d7bc7d;
}.m2 .methodFact p{
  margin:0;
  font-size:11px;
  line-height:1.5;
  color:#9fabb5;
}.m2 .purchaseGuide{
  margin-top:56px;
  background:var(--cream);
  color:#15202b;
  display:grid;
  grid-template-columns:1.3fr .7fr;
  align-items:stretch;
  position:relative;
  z-index:2;
}.m2 .guideCopy{padding:34px 40px}.m2 .guideCopy span{
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8e6f34;
  font-weight:700;
}.m2 .guideCopy h4{
  font:400 31px/1.08 var(--serif);
  margin:9px 0 8px;
  color:#15202b;
}.m2 .guideCopy p{
  margin:0;
  font-size:12px;
  line-height:1.58;
  color:#68727a;
  max-width:720px;
}.m2 .guideAction{
  border-left:1px solid rgba(8,21,35,.14);
  padding:29px 32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}.m2 .guideAction strong{
  font:400 27px/1.08 var(--serif);
  color:#9a7b3d;
}.m2 .guideAction p{
  font-size:11px;
  line-height:1.5;
  color:#66717a;
  margin:8px 0 0;
}.m2 .reveal{
  opacity:0;
  transform:translateY(24px);
  transition:.72s ease;
}.m2 .reveal.in{opacity:1;transform:none}

@media(max-width:1040px){.m2 .intro{grid-template-columns:1fr}.m2 .seriesHead{grid-template-columns:1fr}.m2 .seriesNote{text-align:left}.m2 /* SAT Module 2 also expands its vocabulary cover row to full width
     once the architecture stacks at this breakpoint. */
  .booksGrid{width:100%;gap:24px}.m2 .methodBand{grid-template-columns:1fr}.m2 .methodLabel{padding-right:0}.m2 .methodSteps{border:1px solid var(--line)}.m2 .methodFact{padding-left:0}.m2 .purchaseGuide{grid-template-columns:1fr}.m2 .guideAction{border-left:0;border-top:1px solid rgba(8,21,35,.14)}
}
@media(max-width:760px){.m2 .wrap{width:min(100% - 32px,1320px)}.m2 .greModule{padding-top:72px}.m2 .greModule:before{font-size:170px}.m2 .intro h1{font-size:58px}.m2 .microStats{grid-template-columns:1fr 1fr}.m2 .booksGrid{grid-template-columns:1fr;width:100%;gap:24px}.m2 .coverWrap{width:100%;aspect-ratio:1534/2048}.m2 .bookMeta p{min-height:0}.m2 .methodSteps{grid-template-columns:1fr}.m2 .step:not(:last-child):after{
    content:"↓";
    right:auto;
    bottom:-10px;
  }
}

/* M3 */
.m3 .wrap{
  width:min(1320px,calc(100% - 64px));
  margin:auto;
}.m3 .route b{color:#8e6c32}.m3 .greMethod{
  position:relative;
  padding:108px 0 118px;
  min-height:900px;
  background:
    radial-gradient(circle at 78% 20%,rgba(177,138,68,.10),transparent 24%),
    radial-gradient(circle at 16% 75%,rgba(34,71,99,.055),transparent 30%),
    var(--paper);
  overflow:hidden;
}.m3 .greMethod:before{
  content:"VERIFY";
  position:absolute;
  left:-2vw;
  bottom:-22px;
  font:400 195px/.8 var(--serif);
  letter-spacing:-.045em;
  color:rgba(11,30,49,.028);
  pointer-events:none;
}.m3 .intro{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:84px;
  align-items:end;
  position:relative;
  z-index:2;
}.m3 .eyebrow{
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
  color:#8e6f36;
}.m3 .intro h1{
  margin:18px 0 0;
  font:400 clamp(56px,7vw,104px)/.91 var(--serif);
  letter-spacing:-.045em;
  max-width:900px;
}.m3 .intro h1 em{
  font-style:italic;
  color:#8e6f36;
}.m3 .introCopy{
  padding-bottom:6px;
}.m3 .introCopy p{
  margin:0;
  color:#66717a;
  font-size:17px;
  line-height:1.72;
  max-width:570px;
}.m3 .methodSignature{
  display:flex;
  gap:10px;
  margin-top:29px;
  flex-wrap:wrap;
}.m3 .signaturePill{
  border:1px solid var(--line);
  padding:10px 13px;
  font-size:10px;
  letter-spacing:.14em;
  font-weight:700;
  color:#755b2e;
  background:rgba(255,255,255,.24);
}.m3 .lab{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:40px;
  margin-top:72px;
  position:relative;
  z-index:2;
}.m3 .questionPanel{
  background:var(--navy);
  color:#f7f3ea;
  padding:43px 44px 40px;
  min-height:550px;
  position:relative;
  box-shadow:0 24px 60px rgba(11,30,49,.13);
}.m3 .questionPanel:after{
  content:"GRE";
  position:absolute;
  right:22px;
  bottom:12px;
  font:400 95px/.9 var(--serif);
  color:rgba(255,255,255,.035);
}.m3 .qTop{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.14);
}.m3 .qLabel{
  font-size:10px;
  letter-spacing:.17em;
  font-weight:700;
  color:#d8bc7b;
}.m3 .qProgress{
  font-size:10px;
  letter-spacing:.12em;
  color:#93a3b0;
}.m3 .passageLabel{
  margin-top:31px;
  color:#9cb0bf;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:700;
}.m3 .passage{
  font:400 14.67px/1.58 var(--serif);
  margin:12px 0 29px;
  max-width:800px;
}.m3 .passage strong{
  color:#e4c474;
  font-weight:400;
}.m3 .prompt{
  color:#b9c4cc;
  font-size:12px;
  line-height:1.6;
  margin-bottom:18px;
}.m3 .answers{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}.m3 .answerBtn{
  appearance:none;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.025);
  color:#e9edf0;
  padding:15px 16px;
  text-align:left;
  cursor:pointer;
  transition:.22s ease;
  font-size:11px;
}.m3 .answerBtn:hover{
  border-color:#d3b773;
  background:rgba(211,183,115,.08);
}.m3 .answerBtn.selected{
  border-color:#d3b773;
  color:#f0d797;
  background:rgba(211,183,115,.10);
}.m3 .answerBtn.correct{
  border-color:#8ead97;
  color:#c9e2cf;
  background:rgba(112,157,125,.14);
}.m3 .answerBtn.wrong{
  border-color:#b88578;
  color:#e8bfb5;
  background:rgba(172,102,85,.13);
}.m3 .verifyRow{
  margin-top:20px;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}.m3 .verifyBtn{
  border:0;
  background:#d0af66;
  color:#102131;
  padding:13px 17px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  cursor:pointer;
}.m3 .feedback{
  color:#aebac3;
  font-size:11px;
  line-height:1.5;
  min-height:32px;
  max-width:520px;
}.m3 .stepsPanel{
  border-top:1px solid var(--line);
}.m3 .step{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:20px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
  transition:.25s;
}.m3 .stepNo{
  font:400 31px var(--serif);
  color:#aa8647;
}.m3 .step h3{
  margin:0 0 7px;
  font:400 30px/1 var(--serif);
}.m3 .step p{
  margin:0;
  font-size:12px;
  line-height:1.62;
  color:#69747c;
  max-width:440px;
}.m3 .step.active{
  transform:translateX(7px);
}.m3 .step.active h3{color:#8c6a31}.m3 .logicBand{
  margin-top:56px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:.9fr 1.7fr .85fr;
  align-items:stretch;
  position:relative;
  z-index:2;
}.m3 .logicIntro{
  padding:31px 30px 31px 0;
}.m3 .logicIntro span{
  font-size:9px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:#897347;
  font-weight:700;
}.m3 .logicIntro h4{
  margin:8px 0 0;
  font:400 27px/1.06 var(--serif);
}.m3 .logicFlow{
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(3,1fr);
}.m3 .logicCell{
  padding:30px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  font-size:11px;
  line-height:1.45;
  font-weight:700;
  letter-spacing:.1em;
  color:#715c36;
}.m3 .logicCell:not(:last-child):after{
  content:"→";
  position:absolute;
  right:-8px;
  color:#a79a85;
}.m3 .logicOutcome{
  padding:28px 0 28px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}.m3 .logicOutcome b{
  font:400 27px/1.05 var(--serif);
  color:#8e6c32;
}.m3 .logicOutcome p{
  margin:7px 0 0;
  color:#758089;
  font-size:11px;
  line-height:1.55;
}.m3 .bottomStatement{
  margin-top:52px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:50px;
  align-items:end;
  position:relative;
  z-index:2;
}.m3 .bottomStatement h5{
  margin:0;
  font:400 41px/1.03 var(--serif);
  max-width:720px;
}.m3 .bottomStatement p{
  margin:0;
  color:#6c767e;
  font-size:12px;
  line-height:1.66;
  max-width:510px;
}.m3 .reveal{
  opacity:0;
  transform:translateY(24px);
  transition:.75s ease;
}.m3 .reveal.in{
  opacity:1;
  transform:none;
}

@media(max-width:1000px){.m3 .intro, .m3 .lab, .m3 .bottomStatement{grid-template-columns:1fr}.m3 .logicBand{grid-template-columns:1fr}.m3 .logicIntro{padding-right:0}.m3 .logicFlow{border:1px solid var(--line)}.m3 .logicOutcome{padding-left:0}
}
@media(max-width:720px){.m3 .wrap{width:min(100% - 32px,1320px)}.m3 .greMethod{padding-top:72px}.m3 .intro h1{font-size:57px}.m3 .questionPanel{padding:30px 24px}.m3 .passage{font-size:14.67px}.m3 .answers{grid-template-columns:1fr}.m3 .logicFlow{grid-template-columns:1fr}.m3 .logicCell:not(:last-child):after{
    content:"↓";
    right:auto;
    bottom:-8px;
  }.m3 .greMethod:before{font-size:115px}
}

/* M4 */
.m4 .wrap{
  width:min(1320px,calc(100% - 64px));
  margin:auto;
}.m4 .route b{color:#dec27e}.m4 .module{
  position:relative;
  padding:108px 0 118px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 24%,rgba(200,165,93,.065),transparent 28%),
    radial-gradient(circle at 83% 74%,rgba(52,104,126,.08),transparent 30%),
    var(--navy);
}.m4 .module:before{
  content:"30+";
  position:absolute;
  right:-1vw;
  top:88px;
  font:400 270px/.8 var(--serif);
  color:rgba(255,255,255,.024);
  pointer-events:none;
}.m4 .intro{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:82px;
  align-items:end;
  position:relative;
  z-index:2;
}.m4 .eyebrow{
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
  color:#d2b673;
}.m4 .intro h1{
  margin:18px 0 0;
  font:400 clamp(56px,7vw,103px)/.91 var(--serif);
  letter-spacing:-.045em;
  max-width:900px;
}.m4 .intro h1 em{
  color:var(--gold);
  font-style:italic;
}.m4 .introCopy p{
  margin:0;
  font-size:17px;
  line-height:1.72;
  color:#bdc8d0;
  max-width:580px;
}.m4 .identity{
  margin-top:27px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}.m4 .identity span{
  padding:9px 12px;
  border:1px solid var(--line);
  color:#e0c88d;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}.m4 .ledger{
  margin-top:72px;
  border-top:1px solid var(--line);
  position:relative;
  z-index:2;
}.m4 .row{
  display:grid;
  grid-template-columns:180px 1.2fr 1fr;
  gap:34px;
  padding:27px 0;
  border-bottom:1px solid var(--line);
  align-items:center;
}.m4 .rowNo{
  font:400 38px var(--serif);
  color:#d7bb78;
}.m4 .rowTitle{
  font:400 30px/1.05 var(--serif);
}.m4 .rowCopy{
  color:#9facb6;
  font-size:12px;
  line-height:1.6;
}.m4 .row:hover .rowTitle{
  color:#e5cc91;
}.m4 .statement{
  margin-top:58px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:52px;
  align-items:stretch;
  position:relative;
  z-index:2;
}.m4 .quote{
  background:var(--cream);
  color:#17222c;
  padding:42px 44px;
}.m4 .quote small{
  display:block;
  font-size:9px;
  letter-spacing:.17em;
  font-weight:700;
  color:#907139;
  text-transform:uppercase;
}.m4 .quote h3{
  margin:12px 0 15px;
  font:400 40px/1.03 var(--serif);
  max-width:720px;
}.m4 .quote p{
  margin:0;
  color:#657078;
  font-size:12px;
  line-height:1.68;
  max-width:760px;
}.m4 .profile{
  border:1px solid var(--line);
  padding:38px 38px 35px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}.m4 .profileLabel{
  font-size:9px;
  letter-spacing:.17em;
  font-weight:700;
  text-transform:uppercase;
  color:#93a2ad;
}.m4 .profile h4{
  margin:12px 0 8px;
  font:400 38px/1 var(--serif);
}.m4 .profileRole{
  color:#d8be7e;
  font-size:11px;
  letter-spacing:.08em;
  margin-bottom:24px;
}.m4 .profile p{
  margin:0;
  color:#aeb9c2;
  font-size:12px;
  line-height:1.65;
}.m4 .profileBottom{
  margin-top:30px;
  padding-top:19px;
  border-top:1px solid var(--line);
  font-size:10px;
  line-height:1.55;
  color:#8494a0;
}.m4 .relevance{
  margin-top:58px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:46px;
  align-items:start;
  position:relative;
  z-index:2;
}.m4 .relevance h5{
  margin:0;
  font:400 33px/1.05 var(--serif);
  color:#e0c584;
}.m4 .relevance p{
  margin:0;
  color:#aab6c0;
  font-size:13px;
  line-height:1.72;
  max-width:760px;
}.m4 .relevance strong{
  color:#f2e5c6;
  font-weight:500;
}.m4 .reveal{
  opacity:0;
  transform:translateY(24px);
  transition:.75s ease;
}.m4 .reveal.in{
  opacity:1;
  transform:none;
}

@media(max-width:980px){.m4 .intro, .m4 .statement, .m4 .relevance{grid-template-columns:1fr}.m4 .row{grid-template-columns:120px 1fr}.m4 .rowCopy{grid-column:2}
}
@media(max-width:680px){.m4 .wrap{width:min(100% - 32px,1320px)}.m4 .module{padding-top:72px}.m4 .intro h1{font-size:56px}.m4 .row{grid-template-columns:1fr;gap:9px}.m4 .rowCopy{grid-column:auto}.m4 .quote, .m4 .profile{padding:30px 24px}.m4 .module:before{font-size:160px}
}

/* M5 */
.m5 .wrap{
  width:min(1320px, calc(100% - 64px));
  margin:auto;
}.m5 .route b{ color:#8d6b31; }.m5 .module{
  position:relative;
  padding:106px 0 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 20%, rgba(169,128,60,.09), transparent 26%),
    radial-gradient(circle at 16% 72%, rgba(40,75,105,.05), transparent 30%),
    var(--paper);
}.m5 .module:before{
  content:"GRE";
  position:absolute;
  right:-2vw;
  top:50px;
  font:400 270px/.8 var(--serif);
  color:rgba(21,32,43,.028);
  pointer-events:none;
}.m5 .intro{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:78px;
  align-items:end;
  position:relative;
  z-index:2;
}.m5 .eyebrow{
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
  color:#8c6b31;
}.m5 .intro h1{
  margin:18px 0 0;
  font:400 clamp(58px,7vw,106px)/.91 var(--serif);
  letter-spacing:-.045em;
  max-width:930px;
}.m5 .intro h1 em{
  font-style:italic;
  color:#8e6c32;
}.m5 .introCopy p{
  margin:0;
  font-size:17px;
  line-height:1.7;
  color:#68737c;
  max-width:560px;
}.m5 .trustLine{
  margin-top:25px;
  padding-top:17px;
  border-top:1px solid var(--line);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#91743c;
  font-weight:700;
}.m5 .collection{
  margin-top:72px;
  padding:47px 0 52px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1.55fr;
  gap:58px;
  align-items:center;
  position:relative;
  z-index:2;
}.m5 .collectionCopy small{
  display:block;
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#8d713d;
  font-weight:700;
}.m5 .collectionCopy h2{
  margin:10px 0 13px;
  font:400 39px/1.04 var(--serif);
}.m5 .collectionCopy p{
  margin:0;
  font-size:12px;
  line-height:1.67;
  color:#68737c;
  max-width:500px;
}.m5 .collectionStat{
  margin-top:25px;
  display:flex;
  gap:28px;
  flex-wrap:wrap;
}.m5 .collectionStat div{
  padding-top:13px;
  border-top:1px solid var(--line);
  min-width:120px;
}.m5 .collectionStat b{
  display:block;
  font:400 26px var(--serif);
  color:#8d6a30;
}.m5 .collectionStat span{
  font-size:9px;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#7b848a;
}.m5 .coverRow{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:19px;
  align-items:end;
}.m5 .cover{
  width:100%;
  aspect-ratio:1546/2048;
  object-fit:cover;
  display:block;
  box-shadow:0 22px 42px rgba(28,30,33,.14);
  transition:transform .35s ease, box-shadow .35s ease;
}.m5 .cover:nth-child(2){
  transform:translateY(-17px);
}.m5 .coverRow:hover .cover:nth-child(1){
  transform:translateY(-7px) rotate(-1deg);
}.m5 .coverRow:hover .cover:nth-child(2){
  transform:translateY(-25px);
}.m5 .coverRow:hover .cover:nth-child(3){
  transform:translateY(-7px) rotate(1deg);
}.m5 .choose{
  padding:62px 0 70px;
  position:relative;
  z-index:2;
}.m5 .chooseHead{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:50px;
  align-items:end;
  margin-bottom:34px;
}.m5 .chooseHead h3{
  margin:0;
  font:400 41px/1.04 var(--serif);
}.m5 .chooseHead p{
  margin:0;
  color:#707a81;
  font-size:12px;
  line-height:1.65;
}.m5 .buyGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}.m5 .buyCard{
  padding:29px 27px 26px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-height:235px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:.25s ease;
  background:rgba(255,255,255,.08);
}.m5 .buyCard:hover{
  background:rgba(255,255,255,.28);
}.m5 .buyNo{
  font-size:9px;
  letter-spacing:.16em;
  font-weight:700;
  color:#98783c;
}.m5 .buyCard h4{
  margin:15px 0 8px;
  font:400 28px/1.04 var(--serif);
}.m5 .buyCard p{
  margin:0;
  color:#737d84;
  font-size:11px;
  line-height:1.58;
}.m5 .amazon{
  margin-top:25px;
  border-top:1px solid var(--line);
  padding-top:13px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
  color:#684f27;
  transition:.22s;
}.m5 .amazon:hover{
  color:#aa7d31;
  transform:translateX(3px);
}.m5 .finalChoice{
  margin-top:58px;
  background:var(--navy);
  color:#f7f4ec;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  align-items:stretch;
  position:relative;
  z-index:2;
}.m5 .finalMain{
  padding:43px 44px 42px;
}.m5 .finalMain small{
  display:block;
  color:#d8bd7d;
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
}.m5 .finalMain h5{
  margin:10px 0 13px;
  font:400 42px/1.02 var(--serif);
  max-width:720px;
}.m5 .finalMain p{
  margin:0;
  color:#adb9c2;
  font-size:12px;
  line-height:1.66;
  max-width:680px;
}.m5 .finalAction{
  border-left:1px solid rgba(255,255,255,.14);
  padding:36px 38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}.m5 .finalAction span{
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#92a3af;
  font-weight:700;
}.m5 .finalAction strong{
  margin-top:9px;
  font:400 31px/1.05 var(--serif);
  color:#ebd59f;
}.m5 .finalAction p{
  margin:8px 0 0;
  color:#99a9b4;
  font-size:11px;
  line-height:1.55;
}.m5 .footer{
  margin-top:82px;
  padding:43px 0 38px;
  background:#071421;
  color:#f5f0e7;
}.m5 .footerTop{
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:end;
}.m5 .footerBrand{
  font:400 39px/1 var(--serif);
}.m5 .footerRole{
  margin-top:8px;
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#9dacb6;
}.m5 .footerLinks{
  display:flex;
  gap:25px;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#c9d0d4;
}.m5 .footerBottom{
  margin-top:31px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content:space-between;
  gap:25px;
  color:#788996;
  font-size:9px;
}.m5 .reveal{
  opacity:0;
  transform:translateY(22px);
  transition:.72s ease;
}.m5 .reveal.in{
  opacity:1;
  transform:none;
}

@media(max-width:1000px) {.m5 .intro, .m5 .collection, .m5 .chooseHead, .m5 .finalChoice{ grid-template-columns:1fr; }.m5 .buyGrid{ grid-template-columns:1fr; }.m5 .finalAction{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.14);
  }
}
@media(max-width:720px) {.m5 .wrap{ width:min(100% - 32px,1320px); }.m5 .module{ padding-top:72px; }.m5 .intro h1{ font-size:58px; }.m5 .coverRow{ gap:10px; }.m5 .collection{ gap:35px; }.m5 .footerTop{ grid-template-columns:1fr; }.m5 .footerLinks{ flex-wrap:wrap; }.m5 .footerBottom{ flex-direction:column; }.m5 .module:before{ font-size:160px; }
}



/* ===== FULL WEBSITE ROUTING ===== */
.journey{
  display:none;
  opacity:0;
}
.journey.active{
  display:block;
  animation:journeyIn .42s ease both;
}
@keyframes journeyIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

/* Route-aware fixed navigation */
#module1 .navlinks a[data-select-route].active{
  color:#9b7637;
  position:relative;
}
#module1 .navlinks a[data-select-route].active:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-9px;
  height:1px;
  background:#9b7637;
}
#module1 .navlinks a[data-context-target]{
  transition:opacity .22s ease,color .22s ease;
}
body:not(.route-selected) #module1 .navlinks a[data-context-target]{
  opacity:.42;
}
#module1 .testChoice{
  cursor:pointer;
}
#module1 .testChoice.routeSelected{
  background:rgba(11,23,38,.035);
}
#module1 .testChoice.routeSelected .choiceName{
  color:#997437;
}

/* Keep the shared hero as the true entry point */
#module1 #hero{
  scroll-margin-top:78px;
}
#module2,#module3,#module4,#module5,
#gre-series,#gre-method,#gre-about,#gre-buy{
  scroll-margin-top:76px;
}

/* GRE flow lives beneath the same fixed Module-1 navigation */
.greJourney{
  background:#f2ede4;
}

/* Remove any standalone-preview visual assumptions from GRE modules. */
.greJourney .m2,
.greJourney .m3,
.greJourney .m4,
.greJourney .m5{
  margin:0;
  padding:0;
}

/* Make the brand switch feel intentional rather than like page reload. */
.routeTransition{
  position:fixed;
  inset:78px 0 auto;
  height:2px;
  transform-origin:left;
  transform:scaleX(0);
  background:#c8a55d;
  z-index:90;
  pointer-events:none;
}
.routeTransition.run{
  animation:routeLine .55s ease;
}
@keyframes routeLine{
  0%{transform:scaleX(0);opacity:1}
  65%{transform:scaleX(1);opacity:1}
  100%{transform:scaleX(1);opacity:0}
}

@media(max-width:760px){
  #module1 .navlinks{
    gap:16px;
  }
}


/* =========================================================
   FINAL FULL-SITE RESPONSIVE + GRE LINK REFINEMENTS
   ========================================================= */

/* Browser-default blue links must never leak into the GRE experience. */
.greJourney a{
  text-decoration:none;
  color:inherit;
}

/* On the GRE dark modules, links remain white/ivory.
   Existing hover treatments can still shift them toward gold. */
.greJourney .m2 .greModule a:not(:hover){
  color:#f8f6ef;
}
.greJourney .m4 .module a:not(:hover){
  color:#f7f4ed;
}
.greJourney .m5 .footer a:not(:hover){
  color:#f5f0e7;
}

/* Preserve intended gold hover cues on dark backgrounds. */
.greJourney .m2 .greModule a:hover{
  color:#e2c889;
}
.greJourney .m4 .module a:hover{
  color:#e0c584;
}
.greJourney .m5 .footer a:hover{
  color:#dfc477;
}

/* General image protection across phone/tablet layouts. */
#module1 img,
.satJourney img,
.greJourney img{
  max-width:100%;
}

/* Tablet: keep spacing generous but prevent horizontal overflow. */
@media (max-width:1024px){
  #module1 .wrap,
  #module1 .nav,
  .satJourney .wrap,
  .greJourney .wrap{
    width:min(100% - 40px,1320px);
  }

  #module1 .navlinks{
    gap:20px;
  }

  .greJourney .m2 .booksGrid{
    width:100%;
  }
}

/* Phone / small tablet navigation:
   retain SAT + GRE + Method/About, while fitting safely on-screen. */
@media (max-width:760px){
  #module1 header{
    height:68px;
  }

  #module1 .nav{
    width:calc(100% - 28px);
    gap:14px;
  }

  #module1 .brand{
    font-size:21px;
    flex:0 0 auto;
  }

  #module1 .navlinks{
    gap:13px;
    font-size:10px;
    min-width:0;
  }

  #module1 .navlinks a{
    white-space:nowrap;
  }

  /* Hide the two lower-priority contextual links on very small screens.
     SAT/GRE route choice remains permanently visible. */
  #module1 .navlinks a[data-context-target]{
    display:none;
  }

  #module1 .hero{
    padding-top:100px;
  }

  .greJourney .m2 .booksGrid,
  .greJourney .m5 .buyGrid{
    width:100%;
  }

  /* Ensure long GRE exercise text never creates horizontal scrolling. */
  .greJourney .m3 .passage,
  .greJourney .m3 .prompt,
  .greJourney .m3 .feedback{
    overflow-wrap:anywhere;
  }
}

/* Narrow phones */
@media (max-width:480px){
  #module1 .nav{
    width:calc(100% - 22px);
  }

  #module1 .brand{
    font-size:19px;
  }

  #module1 .navlinks{
    gap:10px;
    font-size:9px;
  }

  /* Keep touch targets comfortable. */
  #module1 .testChoice,
  .satJourney a,
  .greJourney a,
  .greJourney button{
    -webkit-tap-highlight-color:transparent;
  }

  .amazonMarketControl,
  .marketDock{
    max-width:calc(100vw - 20px);
  }
}


/* =========================================================
   GRE DARK-MODULE CONTRAST FIX
   Explicit overrides to prevent inherited dark text.
   ========================================================= */

/* GRE MODULE 2 */
.greJourney .m2 .greModule .intro h1,
.greJourney .m2 .greModule .intro h1:not(em),
.greJourney .m2 .greModule .seriesTitle,
.greJourney .m2 .greModule .bookMeta h3,
.greJourney .m2 .greModule .methodLabel strong{
  color:#ffffff !important;
}

/* Keep the intentional highlighted italic phrase gold. */
.greJourney .m2 .greModule .intro h1 em{
  color:#c8a55d !important;
}

/* Supporting GRE Module 2 copy remains readable on navy. */
.greJourney .m2 .greModule .introCopy p,
.greJourney .m2 .greModule .seriesNote,
.greJourney .m2 .greModule .bookMeta p,
.greJourney .m2 .greModule .methodFact p{
  color:#c2ccd4 !important;
}

/* Explicitly ensure all three repeated book titles are white. */
.greJourney .m2 .greModule .bookCard .bookMeta h3{
  color:#ffffff !important;
}

/* "Learning through use." */
.greJourney .m2 .greModule .methodLabel strong{
  color:#ffffff !important;
}

/* GRE MODULE 4 — all readable text on the navy background */
.greJourney .m4 .module{
  color:#ffffff !important;
}
.greJourney .m4 .module h1,
.greJourney .m4 .module h2,
.greJourney .m4 .module h3,
.greJourney .m4 .module h4,
.greJourney .m4 .module h5,
.greJourney .m4 .module .rowTitle,
.greJourney .m4 .module .profile h4{
  color:#ffffff !important;
}
.greJourney .m4 .module .introCopy p,
.greJourney .m4 .module .rowCopy,
.greJourney .m4 .module .profile p,
.greJourney .m4 .module .profileBottom,
.greJourney .m4 .module .relevance p{
  color:#d7e0e6 !important;
}

/* Retain gold as an accent rather than losing hierarchy entirely. */
.greJourney .m4 .module .eyebrow,
.greJourney .m4 .module .rowNo,
.greJourney .m4 .module .profileRole,
.greJourney .m4 .module .relevance h5,
.greJourney .m4 .module .intro h1 em{
  color:#dfc477 !important;
}

/* The cream quote card must remain dark-on-light for contrast. */
.greJourney .m4 .module .quote{
  color:#17222c !important;
}
.greJourney .m4 .module .quote h3{
  color:#17222c !important;
}
.greJourney .m4 .module .quote p{
  color:#657078 !important;
}
.greJourney .m4 .module .quote small{
  color:#907139 !important;
}


/* =========================================================
   GLOBAL BACK-TO-TOP BUTTON
   ========================================================= */
.backToTop{
  position:fixed;
  right:20px;
  bottom:20px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  background:#FFD84D;
  color:#000000;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:140;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .22s ease, visibility .22s ease, transform .22s ease, box-shadow .22s ease;
}
.backToTop.visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.backToTop:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,0,0,.30);
}
.backToTop svg{
  width:18px;
  height:18px;
  display:block;
  stroke:currentColor;
  stroke-width:2.4;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.backToTop:focus-visible{
  outline:2px solid #FFD84D;
  outline-offset:3px;
}
@media(max-width:760px){
  .backToTop{
    right:12px;
    bottom:12px;
    width:42px;
    height:42px;
  }
}



/* GRE MODULE 5 COVER LOADING + DISPLAY FIX */
.greJourney .m5 .coverRow{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:19px !important;
  align-items:end !important;
  width:100% !important;
}
.greJourney .m5 .coverRow img.cover{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:1546 / 2048 !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
}
@media(max-width:720px){
  .greJourney .m5 .coverRow{gap:10px !important;}
}


/* =========================================================
   SAT MODULE 3 — INTERACTIVE MICRO EXERCISE
   ========================================================= */
#module3 .satMicro{
  margin-top:62px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:38px 0 42px;
}
#module3 .satMicroHead{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:34px;
  margin-bottom:28px;
}
#module3 .satMicroHead span{
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold-dark);
  font-weight:700;
}
#module3 .satMicroHead h3{
  margin:9px 0 0;
  font:400 38px/1.04 var(--serif);
  color:var(--ink);
}
#module3 .satMicroFlow{
  font-size:10px;
  letter-spacing:.14em;
  font-weight:700;
  color:#7b8185;
  white-space:nowrap;
}
#module3 .satMicroFlow i{
  font-style:normal;
  color:var(--gold-dark);
  padding:0 7px;
}
#module3 .satMicroGrid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  min-height:410px;
  border:1px solid var(--line);
}
#module3 .satPassagePanel{
  padding:34px 38px;
  background:var(--navy);
  color:#fff;
  border-right:1px solid rgba(255,255,255,.13);
}
#module3 .satQuestionPanel{
  padding:34px 34px 30px;
  background:#f7f2e9;
  display:flex;
  flex-direction:column;
}
#module3 .satPassageLabel{
  font-size:9px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:#c3a65e;
  font-weight:700;
}
#module3 .satPassage{
  margin:15px 0 0;
  font:400 15px/1.68 var(--serif);
  color:#e9edf0;
}
#module3 .satPassage strong{
  color:#f4d887;
  font-weight:400;
  border-bottom:1px solid rgba(244,216,135,.55);
}
#module3 .satPrompt{
  margin:15px 0 18px;
  font:400 22px/1.25 var(--serif);
  color:var(--ink);
}
#module3 .satAnswers{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
#module3 .satAnswerBtn{
  appearance:none;
  border:1px solid rgba(11,23,38,.16);
  background:#fffaf3;
  color:#25303a;
  padding:14px 15px;
  text-align:left;
  cursor:pointer;
  font-size:11px;
  transition:.22s ease;
}
#module3 .satAnswerBtn:hover{
  border-color:var(--gold-dark);
  background:#f2e6cd;
}
#module3 .satAnswerBtn.selected{
  border-color:var(--gold-dark);
  background:#efe2c6;
  color:#6d5125;
}
#module3 .satAnswerBtn.correct{
  border-color:#6f9a78;
  background:#e6efe7;
  color:#315a3a;
}
#module3 .satAnswerBtn.wrong{
  border-color:#b77c70;
  background:#f5e6e2;
  color:#804b41;
}
#module3 .satVerifyRow{
  margin-top:auto;
  padding-top:22px;
  display:flex;
  flex-direction:column;
  gap:13px;
}
#module3 .satVerifyBtn{
  width:max-content;
  border:0;
  background:var(--navy);
  color:#fff;
  padding:13px 17px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  cursor:pointer;
  transition:.22s ease;
}
#module3 .satVerifyBtn:hover{
  background:#1b3048;
  transform:translateY(-1px);
}
#module3 .satFeedback{
  min-height:35px;
  color:#68727a;
  font-size:11px;
  line-height:1.55;
}
@media(max-width:1050px){
  #module3 .satMicroGrid{grid-template-columns:1fr}
  #module3 .satPassagePanel{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:720px){
  #module3 .satMicroHead{display:block}
  #module3 .satMicroFlow{margin-top:18px;white-space:normal}
  #module3 .satMicroHead h3{font-size:32px}
  #module3 .satPassagePanel,#module3 .satQuestionPanel{padding:27px 24px}
  #module3 .satPassage{font-size:14px}
  #module3 .satAnswers{grid-template-columns:1fr}
}


/* SAT Module 4 — compact evolving-series proof line */
#module4 .bottomCallout h3,
#module4 .bottomCallout .calloutTitle,
#module4 .bottomCallout p:first-of-type{
  font-size:18px !important;
  line-height:1.35 !important;
  max-width:760px !important;
}


/* =========================================================
   SAT MODULE 3 — BALANCED MICRO EXERCISE REWORK
   ========================================================= */
#module3 .satMicro{
  margin-top:54px;
  padding:30px 0 34px;
}

#module3 .satMicroHead{
  margin-bottom:20px;
  align-items:center;
}

#module3 .satMicroHead h3{
  font-size:34px;
  line-height:1.02;
}

#module3 .satMicroGrid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);
  min-height:0 !important;
  align-items:stretch;
  border:1px solid var(--line);
}

#module3 .satPassagePanel{
  padding:26px 30px 24px;
  min-height:0 !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

#module3 .satPassage{
  margin:12px 0 0;
  font-size:14.25px;
  line-height:1.56;
}

#module3 .satQuestionPanel{
  padding:26px 26px 24px;
  min-height:0 !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

#module3 .satPrompt{
  margin:12px 0 15px;
  font-size:20px;
  line-height:1.2;
}

#module3 .satAnswers{
  gap:8px;
}

#module3 .satAnswerBtn{
  padding:12px 13px;
  font-size:10.5px;
}

#module3 .satVerifyRow{
  margin-top:16px;
  padding-top:0;
  gap:10px;
}

#module3 .satVerifyBtn{
  padding:11px 15px;
}

#module3 .satFeedback{
  min-height:0;
  font-size:10.5px;
  line-height:1.45;
}

@media(max-width:980px){
  #module3 .satMicroGrid{
    grid-template-columns:1fr;
  }
  #module3 .satPassagePanel{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
}

@media(max-width:720px){
  #module3 .satMicro{
    margin-top:44px;
    padding:26px 0 30px;
  }
  #module3 .satMicroHead h3{
    font-size:30px;
  }
  #module3 .satPassagePanel,
  #module3 .satQuestionPanel{
    padding:22px 20px;
  }
  #module3 .satPassage{
    font-size:13.5px;
    line-height:1.52;
  }
}


/* Ensure the SAT micro exercise is never left hidden after route switching */
#module3 .satMicro{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  display:block !important;
}

/* =========================================================
   GRE MODULE 4 — BALANCED CREDIBILITY CARDS
   ========================================================= */
.greJourney .m4 .statement{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}

.greJourney .m4 .quote,
.greJourney .m4 .profile{
  box-sizing:border-box;
  min-height:0 !important;
  padding:32px 34px !important;
}

.greJourney .m4 .quote{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.greJourney .m4 .quote h3{
  margin:11px 0 13px !important;
  font-size:34px !important;
  line-height:1.07 !important;
  max-width:none !important;
}

.greJourney .m4 .quote p{
  font-size:12px !important;
  line-height:1.6 !important;
  max-width:none !important;
}

.greJourney .m4 .profile{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.16) !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-start !important;
}

.greJourney .m4 .profile h4{
  margin:11px 0 8px !important;
  font-size:34px !important;
  line-height:1.05 !important;
}

.greJourney .m4 .profileRole{
  margin-bottom:15px !important;
}

.greJourney .m4 .profile p{
  line-height:1.58 !important;
}

.greJourney .m4 .profileBottom{
  margin-top:18px !important;
  padding-top:15px !important;
}

@media(max-width:980px){
  .greJourney .m4 .statement{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
}

@media(max-width:680px){
  .greJourney .m4 .quote,
  .greJourney .m4 .profile{
    padding:27px 24px !important;
  }
  .greJourney .m4 .quote h3,
  .greJourney .m4 .profile h4{
    font-size:30px !important;
  }
}



/* =========================================================
   DEX SAUNIER — BRAND + CONVERSION UPGRADE
   ========================================================= */

/* Shared brand spine in hero */
#module1 .brandSpine{
  margin-top:16px;
  padding-top:15px;
  border-top:1px solid rgba(11,23,38,.14);
  font:400 19px/1.35 var(--serif);
  color:#8d6a30;
  max-width:760px;
}

/* SAT Method: shared Dex philosophy becomes the memorable statement */
#module3 .reassureCopy h4{
  max-width:720px;
}

/* SAT Module 04: real reader proof, treated editorially rather than as a sales testimonial */
#module4 .satReviewProof{
  margin-top:28px;
  display:grid;
  grid-template-columns:1.35fr .65fr;
  background:var(--cream);
  color:var(--navy);
  border:1px solid rgba(11,23,38,.10);
}
#module4 .satReviewMain{
  padding:34px 40px 36px;
}
#module4 .satReviewLabel{
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  color:#8d6a30;
}
#module4 .satReviewMain h3{
  margin:10px 0 13px;
  font:400 35px/1.07 var(--serif);
  color:var(--navy);
  max-width:720px;
}
#module4 .satReviewMain p{
  margin:0;
  font-size:13px;
  line-height:1.62;
  color:#59636b;
  max-width:720px;
}
#module4 .satReviewAside{
  border-left:1px solid rgba(11,23,38,.12);
  padding:32px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#module4 .satReviewAside span{
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  color:#8d6a30;
}
#module4 .satReviewAside strong{
  margin-top:11px;
  font:400 22px/1.25 var(--serif);
  color:var(--navy);
}
#module4 .satReviewAside p{
  margin:13px 0 0;
  font-size:10px;
  line-height:1.5;
  color:#77766f;
}

/* SAT Module 05: turn the final area into a premium bookshop rather than a funnel */
#module5 .collection{
  position:relative;
}
#module5 .booksStage:after{
  content:"";
  position:absolute;
  left:8%;
  right:4%;
  bottom:12px;
  height:34px;
  border-radius:50%;
  background:rgba(11,23,38,.08);
  filter:blur(18px);
  z-index:0;
}
#module5 .book{
  z-index:1;
}
#module5 .buyCard{
  position:relative;
  overflow:hidden;
}
#module5 .buyCard:not(.disabled):after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .28s ease;
}
#module5 .buyCard:not(.disabled):hover:after{
  transform:scaleX(1);
}
#module5 .satAssurance{
  margin:0 auto 54px;
  padding:27px 30px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:26px;
  align-items:center;
}
#module5 .satAssurance span{
  font-size:9px;
  letter-spacing:.17em;
  text-transform:uppercase;
  font-weight:700;
  color:#8d6a30;
  white-space:nowrap;
}
#module5 .satAssurance strong{
  font:400 23px/1.2 var(--serif);
  color:var(--navy);
}
#module5 .satAssurance p{
  margin:0;
  max-width:330px;
  font-size:10.5px;
  line-height:1.5;
  color:#72736f;
}

/* GRE Module 05: make Amazon actions unmistakable but still editorial */
.greJourney .m5 .buyCard{
  transition:transform .28s ease, background .28s ease, box-shadow .28s ease;
}
.greJourney .m5 .buyCard:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,.45);
  box-shadow:0 18px 34px rgba(21,32,43,.07);
}
.greJourney .m5 .amazon{
  margin-top:24px;
  padding:13px 15px;
  border:1px solid var(--navy);
  background:var(--navy);
  color:#f8f5ed;
  transition:background .22s ease,color .22s ease,border-color .22s ease;
}
.greJourney .m5 .amazon:hover{
  background:var(--gold2);
  border-color:var(--gold2);
  color:var(--navy);
  transform:none;
}
.greJourney .m5 .finalChoice{
  box-shadow:0 24px 50px rgba(10,29,48,.10);
}
.greJourney .m5 .finalMain h5{
  max-width:850px;
}
.greJourney .m5 .finalAction{
  background:rgba(255,255,255,.025);
}

/* Responsive refinements */
@media(max-width:980px){
  #module4 .satReviewProof{
    grid-template-columns:1fr;
  }
  #module4 .satReviewAside{
    border-left:0;
    border-top:1px solid rgba(11,23,38,.12);
  }
  #module5 .satAssurance{
    grid-template-columns:1fr;
    gap:10px;
  }
  #module5 .satAssurance p{
    max-width:620px;
  }
}
@media(max-width:640px){
  #module1 .brandSpine{
    font-size:17px;
  }
  #module4 .satReviewMain,
  #module4 .satReviewAside{
    padding:27px 24px;
  }
  #module4 .satReviewMain h3{
    font-size:30px;
  }
  #module5 .satAssurance{
    padding:24px 4px;
  }
}


#module4 .satReviewAside .satReviewerName{
  display:inline-block;
  font-family:var(--sans);
  font-size:10.5px;
  line-height:1.45;
  letter-spacing:.02em;
  font-weight:700;
  color:var(--navy);
}
#module4 .satReviewAside .satReviewerPurchase{
  display:inline-block;
  margin-top:2px;
  font-size:10px;
  line-height:1.45;
  color:#77766f;
}

/* SEO/GEO enhancement: crawlable internal title links without changing approved visual styling */
.seoBookTitle{color:inherit!important;text-decoration:none!important}
.seoBookTitle:hover{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:4px!important}
.seoNoscript{font-family:Arial,sans-serif;padding:18px;background:#f4efe5;color:#0b1726;text-align:center}


/* GEO/SEO internal discovery links — intentionally quiet */
.seoDeepLink{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:10px;font-weight:700;
letter-spacing:.05em;text-transform:uppercase;color:inherit!important;text-decoration:none!important;opacity:.78}
.seoDeepLink:hover{opacity:1;text-decoration:underline!important;text-underline-offset:4px!important}


/* =========================================================
   DEX SAUNIER HEADER LOGO
   Uses transparent asset: logot.png
   ========================================================= */
#module1 .brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex:0 0 auto;
  line-height:0;
  text-decoration:none;
  height:78px;
  overflow:visible;
}
#module1 .brandLogo{
  display:block;
  width:auto;
  height:72px;
  max-width:none;
  object-fit:contain;
}
@media(max-width:760px){
  #module1 .brand{
    height:68px;
  }
  #module1 .brandLogo{
    height:62px;
  }
}


/* =========================================================
   DEX SAUNIER FOOTER LOGO
   Logo embedded directly in this HTML
   ========================================================= */
.footerBrandMark{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  line-height:0;
  text-decoration:none;
  flex:0 0 auto;
}
.footerBrandLogo{
  display:block;
  width:auto;
  height:88px;
  max-width:none;
  object-fit:contain;
}
@media(max-width:760px){
  .footerBrandLogo{
    height:76px;
  }
}


/* =========================================================
   CONTACT — SAT + GRE
   ========================================================= */
.dsContact{
  padding:78px 0 74px;
  background:var(--cream);
  border-top:1px solid rgba(11,23,38,.10);
}
.dsContactGrid{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);
  gap:68px;
  align-items:start;
}
.dsContactIntro{
  padding-top:8px;
}
.dsContactEyebrow{
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  color:#8d6a30;
}
.dsContactIntro h2{
  margin:13px 0 18px;
  font:400 clamp(38px,4vw,58px)/1.02 var(--serif);
  color:var(--navy);
  letter-spacing:-.025em;
}
.dsContactIntro p{
  margin:0;
  max-width:430px;
  font-size:13px;
  line-height:1.7;
  color:#5a646c;
}
.dsContactNote{
  margin-top:24px;
  padding-top:17px;
  border-top:1px solid rgba(11,23,38,.12);
  max-width:430px;
  font-size:9.5px;
  line-height:1.5;
  letter-spacing:.02em;
  color:#7b7b75;
}
.contactForm{
  background:#fffdf8;
  border:1px solid rgba(11,23,38,.12);
  padding:30px;
  box-shadow:0 18px 42px rgba(11,23,38,.045);
}
.contactFields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 18px;
}
.contactField{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.contactFieldFull{
  grid-column:1 / -1;
}
.contactField label{
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:700;
  color:#53606b;
}
.contactField input,
.contactField select,
.contactField textarea{
  width:100%;
  border:1px solid rgba(11,23,38,.17);
  border-radius:0;
  background:#fff;
  color:var(--navy);
  font:400 13px/1.5 var(--sans);
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.contactField input,
.contactField select{
  height:48px;
  padding:0 13px;
}
.contactField textarea{
  padding:13px;
  min-height:150px;
  resize:vertical;
}
.contactField input:focus,
.contactField select:focus,
.contactField textarea:focus{
  border-color:#9b7637;
  box-shadow:0 0 0 2px rgba(155,118,55,.08);
  background:#fffefa;
}
.contactField textarea::placeholder{
  color:#a2a29c;
}
.contactActions{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:48px;
}
.contactSubmit{
  border:1px solid var(--navy);
  background:var(--navy);
  color:#fff;
  min-height:46px;
  padding:0 22px;
  font:700 10px/1 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.contactSubmit:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--navy);
}
.contactSubmit:disabled{
  opacity:.58;
  cursor:wait;
  transform:none;
}
.contactStatus{
  margin:0;
  font-size:10.5px;
  line-height:1.45;
  color:#925044;
}
.contactTrap{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.contactModal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(7,18,30,.68);
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,visibility .2s ease;
}
.contactModal.isOpen{
  opacity:1;
  visibility:visible;
}
.contactModalDialog{
  position:relative;
  width:min(560px,100%);
  background:var(--paper);
  color:var(--navy);
  padding:42px 42px 36px;
  border-top:4px solid var(--gold);
  box-shadow:0 28px 70px rgba(0,0,0,.22);
  transform:translateY(10px);
  transition:transform .2s ease;
}
.contactModal.isOpen .contactModalDialog{
  transform:translateY(0);
}
.contactModalEyebrow{
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  color:#8d6a30;
}
.contactModalDialog h2{
  margin:11px 0 14px;
  font:400 40px/1.04 var(--serif);
}
.contactModalDialog p{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:#59646c;
}
.contactModalClose{
  position:absolute;
  top:13px;
  right:16px;
  width:36px;
  height:36px;
  border:0;
  background:transparent;
  color:var(--navy);
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.contactModalDone{
  margin-top:26px;
  min-height:42px;
  padding:0 19px;
  border:1px solid var(--navy);
  background:var(--navy);
  color:#fff;
  font:700 9.5px/1 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
@media(max-width:900px){
  .dsContactGrid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .dsContactIntro p,
  .dsContactNote{
    max-width:650px;
  }
}
@media(max-width:620px){
  .dsContact{
    padding:60px 0 58px;
  }
  .contactForm{
    padding:22px 18px;
  }
  .contactFields{
    grid-template-columns:1fr;
  }
  .contactFieldFull{
    grid-column:auto;
  }
  .contactActions{
    align-items:flex-start;
    flex-direction:column;
  }
  .contactSubmit{
    width:100%;
  }
  .contactModalDialog{
    padding:36px 24px 28px;
  }
  .contactModalDialog h2{
    font-size:34px;
  }
}


/* Top navigation Contact link */
#module1 .navlinks a[data-contact-target]{
  transition:opacity .22s ease,color .22s ease;
}
#module1 .navlinks a[data-contact-target]:hover{
  color:#9b7637;
}


/* =========================================================
   DEX SAUNIER EMBEDDED LOGO
   No external logo file is required.
   ========================================================= */
.dexEmbeddedLogo{
  display:block;
  flex:0 0 auto;
  background-image:url("../images/dex-logo.webp");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
#module1 .brandLogo.dexEmbeddedLogoHeader{
  width:70px;
  height:72px;
  max-width:none;
}
.footerBrandLogo.dexEmbeddedLogoFooter{
  width:86px;
  height:88px;
  max-width:none;
}
@media(max-width:760px){
  #module1 .brandLogo.dexEmbeddedLogoHeader{
    width:60px;
    height:62px;
  }
  .footerBrandLogo.dexEmbeddedLogoFooter{
    width:74px;
    height:76px;
  }
}


/* =========================================================
   FOOTER VISUAL UPDATE — SAT + GRE
   Creamy-white background with black typography
   ========================================================= */
footer{
  background:var(--paper) !important;
  color:#111 !important;
  border-top:1px solid rgba(17,17,17,.12) !important;
}
footer .footerGrid,
footer .footerLinks,
footer .copy,
footer .role{
  color:#111 !important;
}
footer a,
footer .footerLinks a,
footer .copy a{
  color:#111 !important;
}
footer .footerLinks a:hover{
  color:#8d6a30 !important;
}
footer .copy{
  border-top-color:rgba(17,17,17,.12) !important;
}


/* =========================================================
   DEX PORTRAIT — SAT + GRE WHY DEX INTRO
   Desktop portrait is absolutely positioned in existing
   empty space, so it does not increase the intro row height.
   ========================================================= */
#module4 .introCopy,
#gre-about .introCopy{
  position:relative;
}

#module4 .dexIntroPortrait,
#gre-about .dexIntroPortrait{
  position:absolute;
  left:0;
  top:-132px;
  width:111px;
  margin:0;
  text-align:center;
  z-index:4;
  pointer-events:none;
}

#module4 .dexIntroPortrait img,
#gre-about .dexIntroPortrait img{
  display:block;
  width:99px;
  height:99px;
  margin:0 auto;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
  background:#f4efe5;
  box-shadow:0 0 0 1px rgba(255,255,255,.04);
}

#module4 .satDexPortrait img{
  border:2px solid var(--gold2);
}

#gre-about .greDexPortrait img{
  border:2px solid #d2b673;
}

#module4 .dexIntroPortrait span,
#gre-about .dexIntroPortrait span{
  display:block;
  margin-top:8px;
  color:#fff;
  font-size:9px;
  line-height:1.15;
  letter-spacing:.055em;
  white-space:nowrap;
}

/* On tablet/mobile the two-column intro becomes stacked.
   Move the portrait into normal flow to avoid overlap. */
@media(max-width:980px){
  #module4 .dexIntroPortrait,
  #gre-about .dexIntroPortrait{
    position:static;
    width:111px;
    margin:0 0 22px;
  }
}

/* =========================================================
   FOOTER — SAT + GRE
   Creamy-white background and black typography.
   ========================================================= */
#module5 footer,
.greJourney .m5 .footer{
  background:#fbf8f1 !important;
  color:#111 !important;
  border-top:1px solid rgba(17,17,17,.12) !important;
}

#module5 footer .role,
#module5 footer .footerLinks,
#module5 footer .copy,
#module5 footer a,
.greJourney .m5 .footer .footerRole,
.greJourney .m5 .footer .footerLinks,
.greJourney .m5 .footer .footerBottom,
.greJourney .m5 .footer a,
.greJourney .m5 .footer a:not(:hover){
  color:#111 !important;
}

#module5 footer .copy,
.greJourney .m5 .footer .footerBottom{
  border-top-color:rgba(17,17,17,.12) !important;
}

#module5 footer .footerLinks a:hover,
.greJourney .m5 .footer a:hover{
  color:#8d6a30 !important;
}


/* =========================================================
   SAT EDITORIAL VISUALS — Modules 2, 3 and 4
   ========================================================= */
.satJourney .satEditorialVisual{
  position:relative;
  overflow:hidden;
  margin:28px 0 34px;
  border:1px solid rgba(11,23,38,.12);
  background:#0c1825;
}
.satJourney .satEditorialVisual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.satJourney .satEditorialVisual .visualTag{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 11px;
  background:rgba(8,20,32,.86);
  color:#fff;
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  font-family:var(--sans, "DM Sans", Arial, sans-serif);
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.satJourney .satM2Editorial{
  height:clamp(245px,31vw,390px);
}
.satJourney .satM2Editorial img{
  object-position:center 48%;
}
.satJourney .satM3Editorial{
  height:clamp(235px,27vw,340px);
  margin-top:30px;
  margin-bottom:32px;
}
.satJourney .satM3Editorial img{
  object-position:center 52%;
}
.satJourney .satM4Editorial{
  height:clamp(255px,30vw,375px);
  margin-top:30px;
  margin-bottom:36px;
}
.satJourney .satM4Editorial img{
  object-position:center 46%;
}
.satJourney .satM4Editorial:after,
.satJourney .satM2Editorial:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(5,15,25,.17));
}
@media (max-width:760px){
  .satJourney .satEditorialVisual{
    margin:22px 0 28px;
  }
  .satJourney .satM2Editorial,
  .satJourney .satM3Editorial,
  .satJourney .satM4Editorial{
    height:230px;
  }
  .satJourney .satEditorialVisual .visualTag{
    left:12px;
    bottom:11px;
    font-size:7px;
  }
}


/* =========================================================
   GRE EDITORIAL VISUALS — Modules 2, 3 and 4
   Review build: WebP assets embedded directly in HTML.
   ========================================================= */
.greJourney .greEditorialVisual{
  position:relative;
  overflow:hidden;
  margin:28px 0 34px;
  border:1px solid rgba(11,23,38,.14);
  background:#081522;
}
.greJourney .greEditorialVisual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.greJourney .greEditorialVisual .visualTag{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 11px;
  background:rgba(7,18,30,.88);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  font-family:var(--sans, "DM Sans", Arial, sans-serif);
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.greJourney .greM2Editorial{
  height:clamp(245px,30vw,380px);
}
.greJourney .greM2Editorial img{
  object-position:center 46%;
}
.greJourney .greM3Editorial{
  height:clamp(245px,29vw,365px);
  margin-top:30px;
  margin-bottom:32px;
}
.greJourney .greM3Editorial img{
  object-position:center 44%;
}
.greJourney .greM4Editorial{
  height:clamp(255px,30vw,375px);
  margin-top:30px;
  margin-bottom:34px;
}
.greJourney .greM4Editorial img{
  object-position:center 45%;
}
.greJourney .greM2Editorial:after,
.greJourney .greM4Editorial:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 58%,rgba(5,15,25,.18));
}
@media (max-width:760px){
  .greJourney .greEditorialVisual{
    margin:22px 0 28px;
  }
  .greJourney .greM2Editorial,
  .greJourney .greM3Editorial,
  .greJourney .greM4Editorial{
    height:230px;
  }
  .greJourney .greEditorialVisual .visualTag{
    left:12px;
    bottom:11px;
    font-size:7px;
  }
}


/* =========================================================
   DEX SIGNATURE — SAT + GRE WHY DEX PORTRAITS
   Replaces the plain-text Dex Saunier caption.
   ========================================================= */
#module4 .dexIntroPortrait img.dexSignature,
#gre-about .dexIntroPortrait img.dexSignature{
  display:block;
  width:106px;
  height:auto;
  max-width:106px;
  margin:6px auto 0;
  padding:0;
  object-fit:contain;
  object-position:center;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none;
}

@media(max-width:980px){
  #module4 .dexIntroPortrait img.dexSignature,
  #gre-about .dexIntroPortrait img.dexSignature{
    width:106px;
    max-width:106px;
    margin-top:7px;
  }
}


/* =========================================================
   WHY DEX — PORTRAIT / SIGNATURE SPACING REFINEMENT
   SAT + GRE
   ========================================================= */

/* Pull the portrait + signature upward on desktop. */
#module4 .dexIntroPortrait,
#gre-about .dexIntroPortrait{
  top:-170px;
}

/* The signature remains visually attached to the portrait. */
#module4 .dexIntroPortrait img.dexSignature,
#gre-about .dexIntroPortrait img.dexSignature{
  margin-top:5px;
}

/* Roughly two lines of clean breathing room between the
   bottom of the signature and the paragraph beneath it. */
#module4 .introCopy > p,
#gre-about .introCopy > p{
  margin-top:0;
}

/* On stacked layouts, preserve the same intentional gap. */
@media(max-width:980px){
  #module4 .dexIntroPortrait,
  #gre-about .dexIntroPortrait{
    top:auto;
    margin:0 0 42px;
    transform:translateY(-8px);
  }
}


/* =========================================================
   GRE MODULE 3 — MICRO EXERCISE INLINE ANSWERS
   A / B / C / D appear on one horizontal line on desktop.
   ========================================================= */
.greJourney .m3 .answers{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.greJourney .m3 .answerBtn{
  min-width:0;
  padding:13px 8px;
  text-align:center;
  white-space:nowrap;
  font-size:10.5px;
}

/* Tablet: keep the interaction comfortably readable. */
@media(max-width:900px){
  .greJourney .m3 .answers{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Narrow mobile: stack only when the viewport really requires it. */
@media(max-width:520px){
  .greJourney .m3 .answers{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   GRE MODULE 3 — REBALANCED METHOD + MICRO EXERCISE
   Full-width READ / ANSWER / VERIFY strip above a compact
   62 / 38 passage-and-answer exercise.
   ========================================================= */
.greJourney .m3 .lab{
  display:block;
  margin-top:48px;
}

/* METHOD STRIP */
.greJourney .m3 .greMethodStrip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:18px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.34);
}

.greJourney .m3 .greMethodStrip .step{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  min-height:86px;
  padding:17px 22px;
  border-bottom:0;
  transition:.22s ease;
}

.greJourney .m3 .greMethodStrip .step:not(:last-child){
  border-right:1px solid var(--line);
}

.greJourney .m3 .greMethodStrip .stepNo{
  font-size:25px;
  line-height:1;
}

.greJourney .m3 .greMethodStrip .step h3{
  margin:0 0 4px;
  font-size:22px;
  line-height:1;
}

.greJourney .m3 .greMethodStrip .step p{
  margin:0;
  max-width:none;
  font-size:10.5px;
  line-height:1.42;
}

.greJourney .m3 .greMethodStrip .step.active{
  transform:none;
  background:rgba(200,165,93,.09);
  box-shadow:inset 0 -2px 0 #b28b49;
}

/* EXERCISE: natural-height cards, no artificial equal-height stretch */
.greJourney .m3 .greExerciseGrid{
  display:grid;
  grid-template-columns:minmax(0,1.62fr) minmax(310px,1fr);
  gap:16px;
  align-items:start;
}

/* Passage card */
.greJourney .m3 .grePassageCard{
  min-height:0;
  height:auto;
  padding:31px 34px 30px;
  box-shadow:0 18px 42px rgba(11,30,49,.10);
}

.greJourney .m3 .grePassageCard .qTop{
  padding-bottom:16px;
}

.greJourney .m3 .grePassageCard .passageLabel{
  margin-top:22px;
}

.greJourney .m3 .grePassageCard .passage{
  margin:10px 0 0;
  font-size:14.67px;
  line-height:1.56;
}

.greJourney .m3 .grePassageCard:after{
  font-size:76px;
}

/* Answer card — intentionally lighter and compact */
.greJourney .m3 .greAnswerCard{
  align-self:start;
  min-height:0;
  padding:28px 26px 25px;
  border:1px solid var(--line);
  background:#f7f2e8;
  color:#13202d;
  box-shadow:0 14px 34px rgba(11,30,49,.055);
}

.greJourney .m3 .answerKicker{
  margin-bottom:11px;
  color:#957039;
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.greJourney .m3 .greAnswerCard .prompt{
  margin:0 0 16px;
  color:#253441;
  font:400 24px/1.16 var(--serif);
}

/* A / B / C / D remain on one row on desktop */
.greJourney .m3 .greAnswerCard .answers{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}

.greJourney .m3 .greAnswerCard .answerBtn{
  min-width:0;
  min-height:42px;
  padding:8px 5px;
  border:1px solid rgba(11,23,38,.16);
  background:#fffdfa;
  color:#283640;
  text-align:center;
  white-space:nowrap;
  font-size:9.5px;
}

.greJourney .m3 .greAnswerCard .answerBtn:hover{
  border-color:#9e7a3d;
  background:#fff;
}

.greJourney .m3 .greAnswerCard .answerBtn.selected{
  border-color:#9e7a3d;
  color:#785a2d;
  background:#fff8e8;
}

.greJourney .m3 .greAnswerCard .answerBtn.correct{
  border-color:#6e8d76;
  color:#426249;
  background:#edf5ee;
}

.greJourney .m3 .greAnswerCard .answerBtn.wrong{
  border-color:#a26c60;
  color:#874f44;
  background:#f8eeee;
}

.greJourney .m3 .greAnswerCard .verifyRow{
  margin-top:15px;
  display:block;
}

.greJourney .m3 .greAnswerCard .verifyBtn{
  width:100%;
  min-height:42px;
  padding:0 14px;
}

.greJourney .m3 .greAnswerCard .feedback{
  min-height:0;
  max-width:none;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(11,23,38,.10);
  color:#66717a;
  font-size:10.5px;
  line-height:1.5;
}

/* Tablet */
@media(max-width:1000px){
  .greJourney .m3 .greExerciseGrid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .greJourney .m3 .greMethodStrip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

/* Mobile */
@media(max-width:720px){
  .greJourney .m3 .greMethodStrip{
    grid-template-columns:1fr;
  }

  .greJourney .m3 .greMethodStrip .step{
    min-height:0;
  }

  .greJourney .m3 .greMethodStrip .step:not(:last-child){
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .greJourney .m3 .greAnswerCard .answers{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:460px){
  .greJourney .m3 .greAnswerCard .answers{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   SAT BRIGHTER EDITORIAL VISUALS — FINAL CROP REFINEMENT
   Keep the full-resolution 4:3 WebP assets externally;
   object-position optimizes their display inside wide modules.
   ========================================================= */
.satJourney .satM2Editorial img{
  object-position:center 43%;
}
.satJourney .satM4Editorial img{
  object-position:center 42%;
}


/* =========================================================
   COMPACT CONTACT MODULES — VISUAL REVIEW
   SAT = Alternative 2 / Dark Contact Bar
   GRE = Alternative 1 / Compact Editorial Split
   ========================================================= */

/* SAT — DARK CONTACT BAR */
#sat-contact.contactAlt2{
  background:#0b1726 !important;
  color:#fff;
  padding:34px 0 31px !important;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
#sat-contact .contactAlt2Header{
  display:grid;
  grid-template-columns:minmax(290px,.84fr) minmax(0,1.22fr);
  gap:40px;
  align-items:end;
  margin-bottom:19px;
}
#sat-contact .contactAlt2Heading .dsContactEyebrow{
  color:#d7be7a !important;
  font-size:8.5px !important;
  letter-spacing:.18em;
}
#sat-contact .contactAlt2Heading h2{
  margin:8px 0 0 !important;
  color:#fff !important;
  font-size:clamp(32px,3vw,44px) !important;
  line-height:.98 !important;
}
#sat-contact .contactAlt2Copy{
  margin:0 0 2px !important;
  max-width:620px;
  color:#b8c0c6 !important;
  font-size:11.5px !important;
  line-height:1.55 !important;
}
#sat-contact .contactForm{
  padding:18px 0 0 !important;
  border:0 !important;
  border-top:1px solid rgba(255,255,255,.13) !important;
  background:transparent !important;
  box-shadow:none !important;
}
#sat-contact .contactAlt2Fields{
  display:grid !important;
  grid-template-columns:1fr 1fr 1.28fr .72fr !important;
  gap:10px !important;
}
#sat-contact .contactField{min-width:0;gap:6px !important;}
#sat-contact .contactField label{
  color:#aeb7be !important;
  font-size:7.8px !important;
  letter-spacing:.12em;
}
#sat-contact .contactField input,
#sat-contact .contactField select,
#sat-contact .contactField textarea{
  border:1px solid rgba(255,255,255,.18) !important;
  background:#fff !important;
  color:#0b1726 !important;
  border-radius:0 !important;
  font-size:11.5px !important;
}
#sat-contact .contactField input,
#sat-contact .contactField select{
  height:40px !important;
  min-height:40px !important;
  padding:0 10px !important;
}
#sat-contact .contactAlt2MessageLine{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 142px;
  gap:10px;
  align-items:end;
}
#sat-contact .contactAlt2MessageField textarea{
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  padding:9px 10px !important;
  resize:none !important;
}
#sat-contact .contactAlt2Actions{
  display:flex !important;
  flex-direction:column;
  gap:6px;
  align-self:end;
}
#sat-contact .contactSubmit{
  width:100% !important;
  height:64px !important;
  min-height:64px !important;
  padding:0 12px !important;
  border:1px solid #c8a55d !important;
  background:#c8a55d !important;
  color:#0b1726 !important;
}
#sat-contact .contactSubmit:hover{
  background:#ead59a !important;
  border-color:#ead59a !important;
}
#sat-contact .contactStatus{
  margin:0 !important;
  min-height:0 !important;
  color:#d4d9dd !important;
  font-size:8px !important;
  line-height:1.3 !important;
}
#sat-contact .contactAlt2Privacy{
  margin:9px 0 0 !important;
  text-align:right;
  color:#87939d !important;
  font-size:8px !important;
  line-height:1.4 !important;
}

/* GRE — COMPACT EDITORIAL SPLIT */
#gre-contact.contactAlt1{
  background:#f4efe5 !important;
  color:#111b24;
  padding:41px 0 39px !important;
  border-top:1px solid rgba(11,23,38,.10);
  border-bottom:1px solid rgba(11,23,38,.10);
}
#gre-contact .dsContactGrid{
  display:grid !important;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr) !important;
  gap:46px !important;
  align-items:center !important;
}
#gre-contact .contactAlt1Intro .dsContactEyebrow{
  color:#8d6a30 !important;
  font-size:9px !important;
  letter-spacing:.18em;
}
#gre-contact .contactAlt1Intro h2{
  margin:10px 0 12px !important;
  color:#0b1726 !important;
  font-size:clamp(34px,3.4vw,48px) !important;
  line-height:.98 !important;
}
#gre-contact .contactAlt1Intro p{
  margin:0 !important;
  max-width:360px;
  color:#5a646c !important;
  font-size:12px !important;
  line-height:1.6 !important;
}
#gre-contact .contactAlt1Intro .dsContactNote{
  margin-top:16px !important;
  color:#7b7b75 !important;
  font-size:9px !important;
  line-height:1.45 !important;
}
#gre-contact .contactForm{
  padding:22px !important;
  border:1px solid rgba(11,23,38,.12) !important;
  background:#fffdf8 !important;
  box-shadow:0 14px 34px rgba(11,23,38,.04) !important;
}
#gre-contact .contactAlt1Fields{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:end;
}
#gre-contact .contactField{min-width:0;gap:6px !important;}
#gre-contact .contactField label{
  color:#53606b !important;
  font-size:8px !important;
  letter-spacing:.12em;
}
#gre-contact .contactField input,
#gre-contact .contactField select,
#gre-contact .contactField textarea{
  border:1px solid rgba(11,23,38,.16) !important;
  border-radius:0 !important;
  background:#fff !important;
  color:#0b1726 !important;
  font-size:12px !important;
}
#gre-contact .contactField input,
#gre-contact .contactField select{
  height:42px !important;
  min-height:42px !important;
  padding:0 10px !important;
}
#gre-contact .contactAlt1MessageRow{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 146px;
  gap:12px;
  align-items:end;
  margin-top:2px;
}
#gre-contact .contactAlt1MessageField textarea{
  height:76px !important;
  min-height:76px !important;
  max-height:76px !important;
  padding:10px !important;
  resize:none !important;
}
#gre-contact .contactAlt1Actions{
  display:flex !important;
  flex-direction:column;
  gap:6px;
  align-self:end;
}
#gre-contact .contactSubmit{
  width:100% !important;
  height:76px !important;
  min-height:76px !important;
  padding:0 12px !important;
  border:1px solid #0b1726 !important;
  background:#0b1726 !important;
  color:#fff !important;
}
#gre-contact .contactSubmit:hover{
  border-color:#c8a55d !important;
  background:#c8a55d !important;
  color:#0b1726 !important;
}
#gre-contact .contactStatus{
  margin:0 !important;
  min-height:0 !important;
  color:#69747d !important;
  font-size:8px !important;
  line-height:1.3 !important;
}

/* Responsive */
@media(max-width:900px){
  #sat-contact .contactAlt2Header{grid-template-columns:1fr;gap:12px;}
  #sat-contact .contactAlt2Fields{grid-template-columns:1fr 1fr !important;}
  #sat-contact .contactAlt2MessageLine{grid-column:1 / -1;}

  #gre-contact .dsContactGrid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  #gre-contact .contactAlt1Fields{grid-template-columns:1fr 1fr !important;}
  #gre-contact .contactAlt1MessageRow{grid-column:1 / -1;}
}
@media(max-width:620px){
  #sat-contact.contactAlt2,
  #gre-contact.contactAlt1{padding:30px 0 !important;}

  #sat-contact .contactAlt2Fields,
  #gre-contact .contactAlt1Fields{grid-template-columns:1fr !important;}

  #sat-contact .contactAlt2MessageLine,
  #gre-contact .contactAlt1MessageRow{
    grid-column:1;
    grid-template-columns:1fr;
  }

  #sat-contact .contactSubmit,
  #gre-contact .contactSubmit{
    height:44px !important;
    min-height:44px !important;
  }

  #sat-contact .contactAlt2Privacy{text-align:left;}
}


/* =========================================================
   GRE EDITORIAL VISUALS — FACE-FIRST REFRAMING
   Keep the same 3 pictures; reveal more of each student's face.
   ========================================================= */

/* Blonde student — Module 2 */
.greJourney .greM2Editorial{
  height:clamp(275px,32vw,405px);
}
.greJourney .greM2Editorial img{
  object-position:center 30% !important;
}

/* Male student — Module 3 */
.greJourney .greM3Editorial{
  height:clamp(275px,31vw,395px);
}
.greJourney .greM3Editorial img{
  object-position:center 31% !important;
}

/* Brunette student — Module 4 */
.greJourney .greM4Editorial{
  height:clamp(285px,32vw,410px);
}
.greJourney .greM4Editorial img{
  object-position:center 29% !important;
}

/* On narrower screens, keep the face high in frame instead of recentering. */
@media(max-width:760px){
  .greJourney .greM2Editorial,
  .greJourney .greM3Editorial,
  .greJourney .greM4Editorial{
    height:260px !important;
  }

  .greJourney .greM2Editorial img{
    object-position:center 28% !important;
  }

  .greJourney .greM3Editorial img{
    object-position:center 30% !important;
  }

  .greJourney .greM4Editorial img{
    object-position:center 27% !important;
  }
}


/* =========================================================
   CONTACT FORMS — MESSAGE / SEND BOX ALIGNMENT
   SAT + GRE
   Exact same height and top alignment.
   ========================================================= */

/* ---------- SAT ---------- */
#sat-contact .contactAlt2MessageLine{
  align-items:start !important;
}

#sat-contact .contactAlt2MessageField textarea{
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
}

#sat-contact .contactAlt2Actions{
  align-self:start !important;
  padding-top:15px; /* aligns button top with textarea below its label */
}

#sat-contact .contactSubmit{
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
}

#sat-contact .contactStatus{
  margin-top:6px !important;
}

/* ---------- GRE ---------- */
#gre-contact .contactAlt1MessageRow{
  align-items:start !important;
}

#gre-contact .contactAlt1MessageField textarea{
  height:76px !important;
  min-height:76px !important;
  max-height:76px !important;
}

#gre-contact .contactAlt1Actions{
  align-self:start !important;
  padding-top:15px; /* aligns button top with textarea below its label */
}

#gre-contact .contactSubmit{
  height:76px !important;
  min-height:76px !important;
  max-height:76px !important;
}

#gre-contact .contactStatus{
  margin-top:6px !important;
}

/* Mobile keeps the button compact after stacking. */
@media(max-width:620px){
  #sat-contact .contactAlt2Actions,
  #gre-contact .contactAlt1Actions{
    padding-top:0 !important;
  }

  #sat-contact .contactSubmit,
  #gre-contact .contactSubmit{
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }
}


/* =========================================================
   GRE CONTACT — FINAL TRUE ALIGNMENT
   Message textarea and SEND button form one matched pair.
   Status text is moved below, so it cannot affect alignment.
   ========================================================= */

#gre-contact .contactAlt1MessageRow{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 146px !important;
  gap:12px !important;
  align-items:end !important;
}

#gre-contact .contactAlt1MessageField{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}

#gre-contact .contactAlt1MessageField textarea{
  box-sizing:border-box !important;
  display:block !important;
  height:76px !important;
  min-height:76px !important;
  max-height:76px !important;
  margin:0 !important;
  padding:10px !important;
  resize:none !important;
}

#gre-contact .contactAlt1Actions{
  display:block !important;
  align-self:end !important;
  margin:0 !important;
  padding:0 !important;
  height:76px !important;
  min-height:76px !important;
  max-height:76px !important;
}

#gre-contact .contactAlt1Actions .contactSubmit{
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  height:76px !important;
  min-height:76px !important;
  max-height:76px !important;
  margin:0 !important;
  padding:0 12px !important;
}

#gre-contact .contactAlt1Status{
  grid-column:1 / -1;
  margin:6px 0 0 !important;
  min-height:0 !important;
  color:#69747d !important;
  font-size:8px !important;
  line-height:1.3 !important;
}

/* Mobile: after stacking, the button becomes compact again. */
@media(max-width:620px){
  #gre-contact .contactAlt1MessageRow{
    grid-template-columns:1fr !important;
    align-items:start !important;
  }

  #gre-contact .contactAlt1Actions{
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }

  #gre-contact .contactAlt1Actions .contactSubmit{
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }
}


/* =========================================================
   FINAL MODULE 04 UPDATES
   SAT: vivid red publishing-background CTA
   GRE: headline reduced ~20% + vivid red CTA
   ========================================================= */

/* SAT Module 04 — vivid red background link */
#module4 .dexPublishingBackgroundLink{
  color:#ff3b30 !important;
}
#module4 .dexPublishingBackgroundLink:hover{
  color:#ff6259 !important;
}

/* GRE Module 04 — headline reduced approximately 20% */
#gre-about .intro h1{
  font-size:clamp(45px,5.6vw,82px) !important;
  line-height:.91 !important;
  letter-spacing:-.045em !important;
}

/* GRE Module 04 — vivid red background link */
#gre-about .dexPublishingBackgroundLink{
  color:#ff3b30 !important;
}
#gre-about .dexPublishingBackgroundLink:hover{
  color:#ff6259 !important;
}

/* Preserve the 20% reduction on smaller screens. */
@media(max-width:680px){
  #gre-about .intro h1{
    font-size:45px !important;
  }
}


/* =========================================================
   GRE MODULE 03 — BALANCED INTRO
   Reduce the left headline slightly and center it vertically
   against the right explanatory + READ/ANSWER/VERIFY block.
   ========================================================= */

#gre-method .greM3BalancedIntro{
  align-items:center !important;
}

/* Left headline: slightly smaller than before, still editorial. */
#gre-method .greM3BalancedIntro h1{
  font-size:clamp(42px,5.1vw,72px) !important;
  line-height:.96 !important;
  letter-spacing:-.038em !important;
  margin-top:14px !important;
  max-width:650px !important;
}

/* Center the left headline block against the full right column. */
#gre-method .greM3BalancedIntro > :first-child{
  align-self:center !important;
}

/* Keep right copy compact so both columns read as one balanced row. */
#gre-method .greM3BalancedIntro .introCopy{
  align-self:center !important;
}

/* Tablet/mobile: preserve comfortable hierarchy without oversizing. */
@media(max-width:900px){
  #gre-method .greM3BalancedIntro h1{
    font-size:52px !important;
    max-width:760px !important;
  }
}

@media(max-width:620px){
  #gre-method .greM3BalancedIntro h1{
    font-size:42px !important;
    line-height:1 !important;
  }
}



/* =========================================================
   SAT MODULE 3B — WHAT YOUR TEENAGER WILL REALLY GAIN
   Integrated parent outcomes, condensed for flow.
   ========================================================= */
#satParentOutcomes{
  --spo-navy:#0b1726;
  --spo-paper:#fbf8f1;
  --spo-cream:#f3ede2;
  --spo-gold:#c8a55d;
  --spo-gold2:#dbc482;
  --spo-ink:#15202a;
  --spo-muted:#64717a;
  --spo-line:rgba(11,23,38,.12);
  --spo-serif:"Libre Caslon Display",Georgia,serif;
  --spo-sans:"DM Sans",Arial,sans-serif;
  background:var(--spo-paper);
  color:var(--spo-ink);
  border-top:1px solid var(--spo-line);
  border-bottom:1px solid var(--spo-line);
  overflow:hidden;
}
#satParentOutcomes *{box-sizing:border-box}
#satParentOutcomes .spoWrap{
  width:min(1240px,calc(100% - 48px));
  margin:auto;
}
#satParentOutcomes .spoTop{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:70px;
  padding:66px 0 54px;
  align-items:start;
}
#satParentOutcomes .spoLead{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
#satParentOutcomes .spoEyebrow{
  color:var(--spo-navy);
  font:600 clamp(17px,1.65vw,24px)/1.12 var(--spo-sans);
  letter-spacing:.045em;
  text-transform:uppercase;
}
#satParentOutcomes .spoGainTitle{
  margin-top:9px;
  color:#9b7739;
  font:600 10px/1.2 var(--spo-sans);
  letter-spacing:.18em;
  text-transform:uppercase;
}
#satParentOutcomes .spoTop h2{
  margin:17px 0 0;
  max-width:760px;
  font:400 clamp(40px,4.45vw,66px)/.99 var(--spo-serif);
  letter-spacing:-.035em;
  color:var(--spo-navy);
}
#satParentOutcomes .spoTop h2 em{
  display:inline;
  color:#9b7739;
  font-style:italic;
}
#satParentOutcomes .spoIntro{
  align-self:start;
  max-width:560px;
}
#satParentOutcomes .spoStudentVisual{
  margin:0 0 18px;
  width:66.667%;
  background:transparent;
  border:0;
  overflow:visible;
  display:block;
}
#satParentOutcomes .spoStudentVisual img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center;
}
#satParentOutcomes .spoIntro p{
  margin:0;
  max-width:100%;
  color:#5f6b74;
  font-size:14px;
  line-height:1.72;
}
#satParentOutcomes .spoIntro strong{
  color:var(--spo-navy);
  font-weight:600;
}

/* Three memorable outcomes only — the redundant proof strip and six-outcome
   grid from the standalone parents page are intentionally omitted. */
#satParentOutcomes .spoOutcomes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--spo-line);
  border-bottom:1px solid var(--spo-line);
}
#satParentOutcomes .spoOutcome{
  padding:30px 28px 32px;
  min-height:235px;
  border-right:1px solid var(--spo-line);
  background:#fffdf9;
}
#satParentOutcomes .spoOutcome:last-child{border-right:0}
#satParentOutcomes .spoOutcomeNum{
  font-size:8.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#98763b;
  font-weight:700;
}
#satParentOutcomes .spoOutcome h3{
  margin:14px 0 9px;
  font:400 31px/1.04 var(--spo-serif);
  color:var(--spo-navy);
}
#satParentOutcomes .spoOutcome p{
  margin:0;
  color:#68737b;
  font-size:12px;
  line-height:1.62;
  max-width:330px;
}
#satParentOutcomes .spoOutcome strong{
  display:block;
  margin-top:17px;
  color:#8c6d37;
  font-size:9px;
  line-height:1.45;
  letter-spacing:.11em;
  text-transform:uppercase;
}

/* Parent close retained because it carries the strongest parent-facing argument. */
#satParentOutcomes .spoParentClose{
  background:var(--spo-cream);
  padding:48px 0 50px;
}
#satParentOutcomes .spoParentGrid{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:70px;
  align-items:center;
}
#satParentOutcomes .spoParentEyebrow{
  color:var(--spo-navy);
  font:700 clamp(15px,1.25vw,17px)/1.1 var(--spo-sans);
  letter-spacing:.09em;
  text-transform:uppercase;
}
#satParentOutcomes .spoParentClose h3{
  margin:13px 0 0;
  max-width:620px;
  font:400 clamp(34px,3.8vw,54px)/1.01 var(--spo-serif);
  letter-spacing:-.035em;
  color:var(--spo-navy);
}
#satParentOutcomes .spoParentStatement{
  margin:0;
  padding-left:28px;
  border-left:2px solid var(--spo-gold);
  font:400 clamp(22px,2.5vw,31px)/1.28 var(--spo-serif);
  color:#2e3942;
}
#satParentOutcomes .spoParentStatement strong{
  color:var(--spo-navy);
  font-weight:400;
}
#satParentOutcomes .spoParentStatement .spoGold{
  color:#8c6d37;
}
#satParentOutcomes .spoParentTag{
  margin-top:15px;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#8a744c;
  font-weight:700;
}

@media(max-width:1050px){
  #satParentOutcomes .spoTop{gap:44px}
}
@media(max-width:900px){
  #satParentOutcomes .spoTop,
  #satParentOutcomes .spoParentGrid{
    grid-template-columns:1fr;
    gap:28px;
  }
  #satParentOutcomes .spoStudentVisual{
    width:100%;
  }
  #satParentOutcomes .spoLead{
    min-height:auto;
    justify-content:flex-start;
  }
  #satParentOutcomes .spoOutcomes{
    grid-template-columns:1fr;
  }
  #satParentOutcomes .spoOutcome{
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--spo-line);
  }
  #satParentOutcomes .spoOutcome:last-child{border-bottom:0}
  #satParentOutcomes .spoTop h2{
    max-width:820px;
    font-size:clamp(39px,6.1vw,58px);
  }
}
@media(max-width:620px){
  #satParentOutcomes .spoWrap{
    width:min(100% - 30px,1240px);
  }
  #satParentOutcomes .spoTop{
    padding:48px 0 40px;
  }
  #satParentOutcomes .spoTop h2{
    font-size:39px;
    line-height:1.02;
    letter-spacing:-.03em;
  }
  #satParentOutcomes .spoEyebrow{
    font-size:17px;
    letter-spacing:.035em;
  }
  #satParentOutcomes .spoGainTitle{
    font-size:9.5px;
  }
  #satParentOutcomes .spoParentClose{
    padding:42px 0;
  }
  #satParentOutcomes .spoParentStatement{
    padding-left:20px;
  }
  #satParentOutcomes .spoParentClose h3{
    font-size:34px;
  }
}



/* =========================================================
   GRE MODULE 3B — WHAT WILL YOUR GRE PREPARATION UNLOCK?
   Integrated GRE outcomes, condensed for flow.
   ========================================================= */
#greIntegratedOutcomes{
  --gio-navy:#0b1726;
  --gio-paper:#fbf8f1;
  --gio-cream:#f3ede2;
  --gio-gold:#c8a55d;
  --gio-gold2:#dbc482;
  --gio-ink:#15202a;
  --gio-muted:#64717a;
  --gio-line:rgba(11,23,38,.12);
  --gio-serif:"Libre Caslon Display",Georgia,serif;
  --gio-sans:"DM Sans",Arial,sans-serif;
  background:var(--gio-paper);
  color:var(--gio-ink);
  border-top:1px solid var(--gio-line);
  border-bottom:1px solid var(--gio-line);
  overflow:hidden;
}
#greIntegratedOutcomes *{box-sizing:border-box}
#greIntegratedOutcomes .gioWrap{
  width:min(1240px,calc(100% - 48px));
  margin:auto;
}
#greIntegratedOutcomes .gioTop{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:68px;
  padding:64px 0 50px;
  align-items:start;
}
#greIntegratedOutcomes .gioPrimaryTitle{
  margin:0;
  color:var(--gio-navy);
  font-family:var(--gio-sans);
  font-size:clamp(21px,2.2vw,31px);
  line-height:1.08;
  letter-spacing:.035em;
  font-weight:700;
  text-transform:uppercase;
  max-width:660px;
}
#greIntegratedOutcomes .gioMoreThan{
  margin-top:12px;
  color:#9b7739;
  font-family:var(--gio-sans);
  font-size:12px;
  line-height:1.2;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
}
#greIntegratedOutcomes .gioLead{
  margin:48px 0 0;
  max-width:670px;
  font:400 clamp(29px,3.15vw,43px)/1.08 var(--gio-serif);
  letter-spacing:-.028em;
  color:var(--gio-navy);
}
#greIntegratedOutcomes .gioLead em{
  font-style:italic;
  color:#987338;
}
#greIntegratedOutcomes .gioTopRight{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
}
#greIntegratedOutcomes .gioStudentVisual{
  width:100%;
  max-width:610px;
  margin:0 0 18px;
}
#greIntegratedOutcomes .gioStudentVisual img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
}
#greIntegratedOutcomes .gioTopCopy{
  width:100%;
  max-width:610px;
  margin:0;
  color:#5f6b74;
  font-size:14px;
  line-height:1.72;
}
#greIntegratedOutcomes .gioTopCopy strong{
  color:var(--gio-navy);
  font-weight:600;
}

/* Three core benefits retained; standalone proof strip and six-outcome
   repetition intentionally removed for a tighter main GRE journey. */
#greIntegratedOutcomes .gioBenefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--gio-line);
  border-bottom:1px solid var(--gio-line);
}
#greIntegratedOutcomes .gioBenefit{
  min-height:235px;
  padding:30px 29px 31px;
  border-right:1px solid var(--gio-line);
  background:#fffdf9;
}
#greIntegratedOutcomes .gioBenefit:last-child{border-right:0}
#greIntegratedOutcomes .gioBenefitNo{
  color:#98763b;
  font-size:8.5px;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
}
#greIntegratedOutcomes .gioBenefit h3{
  margin:14px 0 9px;
  font:400 30px/1.04 var(--gio-serif);
  color:var(--gio-navy);
}
#greIntegratedOutcomes .gioBenefit p{
  margin:0;
  color:#68737b;
  font-size:12px;
  line-height:1.62;
  max-width:330px;
}
#greIntegratedOutcomes .gioBenefit strong{
  display:block;
  margin-top:17px;
  color:#8c6d37;
  font-size:9px;
  line-height:1.45;
  letter-spacing:.11em;
  text-transform:uppercase;
}

#greIntegratedOutcomes .gioSupport{
  background:var(--gio-cream);
  padding:49px 0 52px;
}
#greIntegratedOutcomes .gioSupportGrid{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:70px;
  align-items:center;
}
#greIntegratedOutcomes .gioSupportLabel{
  display:inline-block;
  padding-bottom:5px;
  border-bottom:2px solid var(--gio-gold);
  color:var(--gio-navy);
  font-size:12px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
}
#greIntegratedOutcomes .gioSupport h3{
  margin:15px 0 0;
  max-width:570px;
  color:var(--gio-navy);
  font:400 clamp(36px,4.1vw,57px)/.99 var(--gio-serif);
  letter-spacing:-.035em;
}
#greIntegratedOutcomes .gioSupportStatement{
  margin:0;
  padding-left:28px;
  border-left:2px solid var(--gio-gold);
  color:#2e3942;
  font:400 clamp(21px,2.35vw,29px)/1.3 var(--gio-serif);
}
#greIntegratedOutcomes .gioSupportStatement strong{
  color:#9a7638;
  font-weight:700;
}
#greIntegratedOutcomes .gioSupportTag{
  margin-top:15px;
  color:#8a744c;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:700;
}

@media(max-width:950px){
  #greIntegratedOutcomes .gioTop,
  #greIntegratedOutcomes .gioSupportGrid{
    grid-template-columns:1fr;
    gap:30px;
  }
  #greIntegratedOutcomes .gioLead{margin-top:24px}
  #greIntegratedOutcomes .gioStudentVisual,
  #greIntegratedOutcomes .gioTopCopy{max-width:none}
  #greIntegratedOutcomes .gioBenefits{grid-template-columns:1fr}
  #greIntegratedOutcomes .gioBenefit{
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--gio-line);
  }
  #greIntegratedOutcomes .gioBenefit:last-child{border-bottom:0}
}
@media(max-width:650px){
  #greIntegratedOutcomes .gioWrap{
    width:min(100% - 30px,1240px);
  }
  #greIntegratedOutcomes .gioTop{
    padding:48px 0 40px;
  }
  #greIntegratedOutcomes .gioMoreThan{font-size:11px}
  #greIntegratedOutcomes .gioLead{
    font-size:clamp(25px,7.2vw,34px);
    line-height:1.1;
  }
  #greIntegratedOutcomes .gioSupport{padding:42px 0}
}


/* =========================================================
   CONTACT FORM HOTFIX — 2026-09-20
   High-contrast modal + clearly visible send/error status
   ========================================================= */
.contactModal{
  background:rgba(7,18,30,.82) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.contactModalDialog{
  background:#ffffff !important;
  background-color:#ffffff !important;
  opacity:1 !important;
  color:#0b1726 !important;
  border:1px solid rgba(11,23,38,.12) !important;
  border-top:4px solid #c8a55d !important;
  box-shadow:0 30px 85px rgba(0,0,0,.38) !important;
}
.contactModalDialog h2{
  color:#0b1726 !important;
}
.contactModalDialog p{
  color:#46515b !important;
}
.contactModalEyebrow{
  color:#8d6a30 !important;
}
.contactModalClose{
  color:#0b1726 !important;
}
.contactModalDone{
  background:#0b1726 !important;
  color:#ffffff !important;
}

.contactStatus:not(:empty){
  display:block;
  width:100%;
  margin-top:10px;
  padding:11px 12px;
  border:1px solid rgba(11,23,38,.16);
  background:#ffffff;
  color:#34424f;
  font-size:12px;
  line-height:1.45;
  font-weight:600;
}
.contactStatus.isError{
  border-color:#b9685c;
  background:#fff8f6;
  color:#7b2d25;
}
.contactStatus.isSending{
  border-color:#c8a55d;
  background:#fffdf8;
  color:#5f523c;
}
