
/* J P Harper customisation layer
   Keeps the original static template structure but repurposes it as an author website. */

body { font-family: Arial, Helvetica, sans-serif; color: #536275; background: #ffffff; }
h1, h2, h3, h4, h5, h6 { color: #06182e; letter-spacing: .02em; }
p { color: #536275; }
a { color: #123f70; }
a:hover { color: #0b2748; }

header,
header.default { background: rgba(6, 24, 46, 0.96); filter: none; border-bottom: 1px solid rgba(255,255,255,.08); }
.mainNav li a { color: #dce9f5; padding: 42px 13px; }
.mainNav li a:hover { color: #ffffff; }
.logo { margin-top: 0; padding-top: 31px; }
.logo img { display: none; }
.siteLogo { display: inline-block; color: #ffffff; font-size: 20px; letter-spacing: .14em; text-transform: uppercase; font-weight: bold; line-height: 1.2; }
.siteLogo:hover { color: #d5b06d; }
.mobileBtn { color: #ffffff; border: 1px solid rgba(255,255,255,.25); margin-top: 22px; }
.menuText { color: #ffffff; font-size: 12px; text-transform: uppercase; }

.mainSlider .slides li:before { background: rgba(6, 24, 46, .54); }
.caption { top: 44%; }
.captionInner { border-color: rgba(255,255,255,.85); }
.caption h1 { border-color: rgba(255,255,255,.85); font-size: 42px; letter-spacing: .05em; }
.sub h4 { font-size: 16px; color: #f2f7fb; }
.sub h4 em { font-style: italic; color: #ffffff; }

.bgGrey { background: #f4f7fb; }
.title:before, .prfTitle:before { border-bottom-color: #d5b06d; }
h1.title { color: #06182e; }
.introShort { color: #536275; max-width: 700px; margin-left: auto; margin-right: auto; }

.authorAbout { padding-bottom: 70px; }
.authorAbout .intro,
.authorAbout .info { margin-top: 155px; }
.authorAbout .profile { margin-top: 60px; padding-bottom: 80px; box-shadow: 0 15px 35px rgba(6,24,46,.08); }
.innerProfile { margin-top: 70px; }
.info ul li { line-height: 26px; color: #536275; }
.info ul span { color: #06182e; font-weight: bold; }
.placeholderNote { font-size: 12px; color: #8190a3; margin-top: 12px; }
.facebookBox { margin-top: 24px; }
.facebookBox a, .facebookStrip .btn a { background: #123f70; color: #ffffff; display: inline-block; padding: 10px 18px; text-transform: uppercase; font-size: 12px; }
.facebookBox a:hover, .facebookStrip .btn a:hover { background: #06182e; color: #ffffff; }
.doubleBtn a, .btn a { border-color: #cad7e5; color: #06182e; }
.doubleBtn a:hover, .btn a:hover { color: #123f70; border-color: #123f70; }
.doubleBtn .choose { color: #123f70; }

.bookFeature { background: #ffffff; }
.bookCoverWrap { text-align: center; }
.bookCover { max-width: 360px; width: 100%; box-shadow: 0 18px 38px rgba(6,24,46,.22); border: 8px solid #ffffff; }
.bookCopy { padding-top: 55px; }
.bookCopy h2 { font-size: 24px; margin-bottom: 20px; color: #06182e; }
.bookCopy p { font-size: 15px; line-height: 28px; margin-bottom: 16px; }
.bookHook { color: #06182e; font-weight: bold; font-size: 16px !important; }
.bookStatus { margin-top: 22px; color: #06182e; }
.bookStatus del { color: #8190a3; margin-right: 8px; }
.bookStatus strong { color: #123f70; }
.bookBtn { margin-top: 25px; }

.latestBlog .post { margin-top: 50px; }
.postMedia img { width: 100%; }
.postDetails { background: #ffffff; min-height: 245px; border-bottom: 3px solid #d5b06d; }
.postDetails h1 a { color: #06182e; }
.postMeta, .postMeta span { color: #8190a3; }
.allPosts { margin-top: 25px; }

.archivePreview { background: #ffffff; }
.archiveList { margin-top: 30px; }
.fullArchiveList { margin-top: 55px; }
.archiveList article { border-left: 4px solid #d5b06d; padding: 20px 0 20px 25px; margin-bottom: 18px; background: #f8fafc; }
.archiveList h2 { font-size: 17px; margin-bottom: 6px; }
.archiveList h2 a { color: #06182e; }
.archiveDate { color: #123f70; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }

.facebookStrip { background: #06182e; padding: 65px 0; color: #ffffff; }
.facebookStrip h1, .facebookStrip p { color: #ffffff; }
.facebookStrip p { max-width: 700px; margin: 0 auto 20px auto; }
.facebookStrip .btn { margin-top: 15px; }

.singleOffset { padding-top: 150px; }
.archivePage .postLarge, .singleBlogPage .postSingle, .archivePage .sidebar, .singleBlogPage .sidebar { margin-top: 40px; }
.postTitle h1, .postTitle h1 a { color: #06182e; }
.postTitle span.postDate { color: #8190a3; }
.postContent p, .postSingle p { color: #536275; font-size: 14px; line-height: 26px; }
.widget h2 { color: #06182e; }
.catArchives li a, .meta abbr { color: #123f70; }

.footer { background: #06182e; border-top: none; margin-top: 0; color: #dce9f5; }
.footer p, .right li a { color: #dce9f5; }
.right li a:hover { color: #ffffff; }

@media only screen and (max-width: 767px) {
  .mainNav li a { padding: 14px 8px; }
  .logo { padding-top: 18px; padding-bottom: 18px; }
  .caption h1 { font-size: 27px; padding: 24px; }
  .sub h4 { font-size: 14px; }
  .authorAbout .intro, .authorAbout .info { margin-top: 40px; }
  .authorAbout .profile { margin-top: 35px; }
  .bookCopy { padding-top: 30px; }
  .right { float: none; margin-top: 20px; }
}


/* Dark navy refresh and contact/message box update */
body { background: #061426; color: #d9e6f5; }
body, #wrapper { background: #061426; }
h1, h2, h3, h4, h5, h6, h1.title, .bookCopy h2, .postTitle h1, .postTitle h1 a, .widget h2 { color: #f3f7fb; }
p, .postContent p, .postSingle p, .info ul li, .introShort { color: #c8d6e8; }
a { color: #d8b86c; }
a:hover { color: #fff2c6; }
header, header.default { background: rgba(3, 13, 28, 0.97); border-bottom: 1px solid rgba(216,184,108,.24); }
.logo { padding-top: 18px; }
.logo img, .siteLogo img { display: block; max-width: 245px; width: 100%; height: auto; margin: 0 auto; }
.siteLogo { padding: 0; filter: drop-shadow(0 1px 10px rgba(216, 184, 108, .16)); }
.mainNav li a { color: #e8eff7; }
.mainNav li a:hover { color: #d8b86c; }
.mobileBtn { background: rgba(255,255,255,.05); color: #f3f7fb; }
.bgGrey, .bookFeature, .archivePreview, .latestBlog, #blogFull, .singleBlogPage, .archivePage { background: #07182d; }
.authorAbout { background: #081b33; }
.innerProfile, .authorAbout .profile, .postDetails, .archiveList article, .postContent, .postSingle, .sidebar .widget { background: #10243d; color: #d9e6f5; border-color: rgba(216,184,108,.5); box-shadow: 0 18px 40px rgba(0,0,0,.24); }
.info ul span, .bookHook, .bookStatus, .postDetails h1 a, .archiveList h2 a { color: #f3f7fb; }
.postMeta, .postMeta span, .postTitle span.postDate, .bookStatus del { color: #8fa4bd; }
.bookStatus strong, .archiveDate { color: #d8b86c; }
.bookCover { border-color: #132945; box-shadow: 0 20px 45px rgba(0,0,0,.45); }
.doubleBtn a, .btn a, .btn button { border: 1px solid rgba(216,184,108,.65); color: #f3f7fb; background: transparent; cursor: pointer; font-family: inherit; text-transform: uppercase; padding: 10px 18px; }
.doubleBtn a:hover, .btn a:hover, .btn button:hover { color: #07182d; background: #d8b86c; border-color: #d8b86c; }
.facebookBox a, .facebookStrip .btn a { background: #d8b86c; color: #061426; }
.facebookBox a:hover, .facebookStrip .btn a:hover { background: #fff2c6; color: #061426; }
.facebookStrip, .contactStrip { background: #030d1c; border-top: 1px solid rgba(216,184,108,.25); }
.facebookStrip h1, .facebookStrip p, .contactStrip h1, .contactStrip p { color: #f3f7fb; }
.messageForm { max-width: 760px; margin: 28px auto 0 auto; }
.messageBox { width: 100%; min-height: 170px; box-sizing: border-box; padding: 18px; border: 1px solid rgba(216,184,108,.45); background: #07182d; color: #f3f7fb; resize: vertical; font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 24px; outline: none; }
.messageBox::placeholder { color: #8fa4bd; }
.messageBox:focus { border-color: #d8b86c; box-shadow: 0 0 0 3px rgba(216,184,108,.14); }
.contactEmail { font-size: 12px !important; letter-spacing: .08em; margin: 8px 0 16px 0 !important; color: #aebfd4 !important; }
.formBtn, .facebookBtn { display: inline-block; margin: 8px 8px 0 8px; }
.footer { background: #020915; border-top: 1px solid rgba(216,184,108,.2); }
.footer p, .right li a { color: #d9e6f5; }
.right li a:hover { color: #d8b86c; }
@media only screen and (max-width: 767px) {
  .logo img, .siteLogo img { max-width: 210px; }
  .logo { padding-top: 14px; padding-bottom: 12px; }
  .messageBox { min-height: 140px; }
}


/* v2.1 requested edits */
.siteLogo img { filter: drop-shadow(0 1px 8px rgba(216,184,108,.22)); }
.logo img, .siteLogo img { max-width: 250px; }
.caption h1 { line-height: 1.15; }
.bookStatus del { text-decoration: line-through !important; text-decoration-thickness: 2px; }
.contactStrip .contactHolder { background: #07182d; border-top: 1px solid rgba(216,184,108,.25); border-bottom: 1px solid rgba(216,184,108,.15); }
.contactForm input[type="text"], .contactForm textarea { background: #10243d !important; color: #f3f7fb !important; border: 1px solid rgba(216,184,108,.42) !important; }
.contactForm textarea { min-height: 220px; }
.contactForm input[type="text"]::placeholder, .contactForm textarea::placeholder { color: #94a8bd; }
.contactForm #submit { color: #f3f7fb !important; border: 1px solid rgba(216,184,108,.65) !important; background: transparent !important; }
.contactForm #submit:hover { color: #061426 !important; background: #d8b86c !important; border-color: #d8b86c !important; }
#success h2, #error h2 { position: relative; top: 15px; color: #d8b86c; }
#error h2 { color: #f29b9b; }
.contactEmail { text-transform: none; }


/* v2.2 minor alignment edits */
.bookCoverWrap { padding-top: 55px; }
@media only screen and (max-width: 767px) { .bookCoverWrap { padding-top: 10px; } }


/* v2.3 portal preview button and readability tweaks */
.innerProfile .doubleBtn.profileBtn a {
  color: #fff7da !important;
  border-color: rgba(216,184,108,.95) !important;
  background: rgba(216,184,108,.16) !important;
  font-weight: bold;
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}
.innerProfile .doubleBtn.profileBtn a:hover {
  color: #061426 !important;
  background: #d8b86c !important;
  border-color: #d8b86c !important;
  text-shadow: none;
}
.innerProfile .doubleBtn.profileBtn .choose {
  color: #fff2c6 !important;
  opacity: 1;
}
.authorNotes {
  min-height: 430px;
  display: flex;
  flex-direction: column;
}
.portalBox {
  margin-top: 24px;
}
.portalBox a, .authorNotes .facebookBox a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 260px;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.portalBox a {
  min-height: 82px;
  padding: 16px 20px;
  background: #d8b86c;
  color: #061426;
  border: 1px solid #fff2c6;
  border-radius: 12px;
  font-family: 'Fantasy Magist', Georgia, 'Times New Roman', serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 20px;
  box-shadow: 0 12px 24px rgba(0,0,0,.22), inset 0 0 0 1px rgba(6,20,38,.18);
  position: relative;
  overflow: hidden;
}
.portalBox a:before, .portalBox a:after {
  content: "";
  position: absolute;
  left: 50%;
  width: 42%;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(6,20,38,0), rgba(6,20,38,.58) 28%, rgba(255,242,198,.95) 50%, rgba(6,20,38,.58) 72%, rgba(6,20,38,0));
  pointer-events: none;
}
.portalBox a:before { top: 9px; }
.portalBox a:after { bottom: 9px; }
.portalBox a:hover {
  background: #fff2c6;
  color: #061426;
}
.portalNote {
  margin: 10px 0 0 0;
  max-width: 260px;
  color: #d9e6f5 !important;
  font-size: 13px;
  line-height: 21px;
}
.portalNote strong {
  color: #fff2c6;
  font-weight: bold;
}
.authorNotes .facebookBox {
  margin-top: auto;
}
.authorNotes .facebookBox a {
  min-height: 41px;
  border-radius: 12px;
}
@media only screen and (max-width: 959px) {
  .authorNotes { min-height: 0; }
  .authorNotes .facebookBox { margin-top: 24px; }
}


/* v3.0 SEO page extensions — retains the established visual system */
.pageHero{background:#0b1c38 url('../images/parallaxBg/parallax.jpg') center/cover no-repeat;color:#fff;padding:155px 0 70px;text-align:center;position:relative}.pageHero:before{content:"";position:absolute;inset:0;background:rgba(5,18,39,.72)}.pageHero .container{position:relative}.pageHero h1{color:#fff;font-size:42px;line-height:1.15;margin-bottom:14px;text-transform:uppercase}.pageHero p{font-size:17px;max-width:760px;margin:0 auto;color:#eef3fb}.contentPage{padding:70px 0}.contentPage h2{color:#10264a;margin:28px 0 15px}.contentPage h3{color:#273d61;margin:24px 0 10px}.contentPage p,.contentPage li{font-size:15px;line-height:1.75}.seoBookCover{max-width:100%;height:auto;box-shadow:0 12px 28px rgba(0,0,0,.25)}.featurePanel{background:#eef2f7;padding:24px;margin:20px 0;border-left:4px solid #d9bd64}.featurePanel ul{margin:0}.featurePanel li{margin-bottom:8px}.seoCtas{margin:25px 0}.seoCtas .btn{display:inline-block;margin:0 10px 10px 0}.reviewCard{background:#0e2243;color:#fff;padding:26px;margin:25px 0}.reviewCard h3,.reviewCard a{color:#e4c96f}.faqItem{border-top:1px solid #d7dde7;padding:18px 0}.faqItem:first-child{border-top:0}.metaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.metaGrid div{background:#f3f5f8;padding:15px}.contactChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}.contactChoice{background:#eef2f7;padding:22px}.contactChoice h3{margin-top:0}.pageFooterSpace{margin-top:40px}@media(max-width:767px){.pageHero{padding:120px 15px 50px}.pageHero h1{font-size:30px}.metaGrid,.contactChoices{grid-template-columns:1fr}.seoCtas .btn{display:block;margin-right:0}}


/* =========================================================
   V4.0 — layout, book motion background and resource pages
   ========================================================= */
@media only screen and (min-width:768px){.authorAbout .container{display:flex;align-items:flex-start}.authorAbout .container>.column{float:none}.authorAbout .intro,.authorAbout .profile,.authorAbout .info{margin-top:0}}
picture{display:block}picture img{max-width:100%;height:auto}.postMedia picture,.postMedia picture img{width:100%}
@font-face{font-family:'Fantasy Magist';src:url('../fonts/fantasy-magist.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:'Fantasy Magist';src:url('../fonts/fantasy-magist-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
.bookPage .bookHero h1,.bookPage .contentPage h2,.bookPage .contentPage h3{font-family:'Fantasy Magist',Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.02em}.bookPage .bookHero h1{font-size:45px;line-height:1.08}.bookPage{background:#061426}.bookPage #wrapper{position:relative;z-index:1;background:transparent}.bookPage header,.bookPage .pageHero,.bookPage .footer{position:relative;z-index:4}.bookMotionBackdrop{position:fixed;z-index:0;inset:0;overflow:hidden;background:#07182d url('../media/book-background-poster.jpg') center center/cover no-repeat;pointer-events:none}.bookMotionVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.58) brightness(.60) contrast(.96);transform:scale(1.015)}.bookMotionShade{position:absolute;inset:0;background:rgba(2,9,21,.34)}.bookPage.motionPaused .bookMotionVideo{opacity:0}.bookMotionSection{position:relative;z-index:2;background:transparent!important;padding-top:58px;padding-bottom:72px}.bookContentSurface{position:relative;box-sizing:border-box;padding-top:34px;padding-bottom:42px;background:rgba(6,20,38,.84);border:1px solid rgba(216,184,108,.26);box-shadow:0 24px 70px rgba(0,0,0,.38);backdrop-filter:blur(2px)}.bookPage .contentPage h2{color:#fff1c2;font-size:27px;line-height:1.2;margin:26px 0 14px}.bookPage .contentPage h3{color:#f0cf7b;font-size:21px;line-height:1.25;margin:18px 0 10px}.bookPage .contentPage p,.bookPage .contentPage li{color:#e0e9f4}.bookPage .bookHook{color:#fff6d9}.bookPageCover{padding-top:22px}.bookPage .seoBookCover{width:100%;max-width:430px;display:block;margin:0 auto;border:1px solid rgba(216,184,108,.35);box-shadow:0 22px 54px rgba(0,0,0,.48)}.motionControlRow{text-align:right;min-height:34px}.motionToggle{border:1px solid rgba(216,184,108,.72);background:rgba(3,13,28,.82);color:#fff2c6;padding:8px 14px;margin:0 0 12px;font:inherit;font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.motionToggle:hover,.motionToggle:focus{background:#d8b86c;color:#061426;outline:none}.readerLovePanel{background:rgba(248,239,216,.95);border-left:5px solid #d8b86c;box-shadow:0 12px 30px rgba(0,0,0,.20)}.bookPage .readerLovePanel h3{color:#0a2340;margin-top:0}.bookPage .readerLovePanel li{color:#172c43}.bookAvailability{margin:26px 0 13px!important;text-align:center}.bookAvailability strong{color:#f4cf6a;font-weight:700}.bookPageCtas{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 0 30px;text-align:center}.bookPageCtas .btn{display:inline-block;margin:0}.bookPage .reviewCard{background:rgba(14,34,67,.94);border:1px solid rgba(216,184,108,.30)}.bookPage .reviewCard h3,.bookPage .reviewCard a{color:#e4c96f}.bookPage .faqItem{border-top-color:rgba(216,184,108,.25)}.bookPage .metaGrid div{background:rgba(15,38,66,.94);color:#e4edf7;border:1px solid rgba(216,184,108,.24);box-shadow:0 8px 18px rgba(0,0,0,.16)}.bookPage .metaGrid strong{color:#f0cf7b}
.v4UtilityPage .pageHero h1{font-size:39px}.resourceIntro{max-width:820px;margin:0 auto 30px;text-align:center}.resourceIntro p{font-size:16px;line-height:1.75}.resourceQuickGuide,.resourceSection,.comingSoonPanel{background:#10243d;border:1px solid rgba(216,184,108,.34);box-shadow:0 16px 38px rgba(0,0,0,.22);padding:28px;margin:24px 0}.v4UtilityPage .contentPage h2,.v4UtilityPage .contentPage h3{color:#f3f7fb}.v4UtilityPage .contentPage p,.v4UtilityPage .contentPage li{color:#cdd9e8}.resourceQuickGuide h2,.resourceSection h2,.comingSoonPanel h2{color:#f0cf7b!important;margin-top:0}.resourceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.resourceFact{padding:17px;background:#07182d;border-left:3px solid #d8b86c}.resourceFact strong{color:#fff2c6}.downloadGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.downloadItem{display:flex;flex-direction:column;justify-content:space-between;min-height:112px;padding:18px;background:#07182d;border:1px solid rgba(216,184,108,.20)}.downloadItem h3{margin:0 0 6px!important;color:#f3f7fb!important;font-family:Arial,Helvetica,sans-serif;font-size:15px!important}.downloadItem p{margin:0 0 12px;font-size:12px!important;line-height:1.55!important;color:#9fb2c8!important}.downloadItem a{align-self:flex-start;display:inline-block;border:1px solid rgba(216,184,108,.65);padding:7px 11px;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.06em}.downloadItem a:hover{background:#d8b86c;color:#061426}.previewCallout{margin-top:30px;padding:26px;background:#07182d;border-top:1px solid rgba(216,184,108,.35);text-align:center}.comingSoonKicker{color:#f0cf7b!important;text-transform:uppercase;letter-spacing:.10em;font-size:12px!important}.comingSoonDate{color:#fff2c6!important;font-size:18px!important;font-weight:bold}.teaserPoints{margin:25px 0;padding:20px 24px;background:#07182d;border-left:4px solid #d8b86c}
@media only screen and (max-width:959px){.bookPage .bookHero h1{font-size:38px}.bookContentSurface{width:auto;margin-left:20px;margin-right:20px}.resourceGrid{grid-template-columns:1fr 1fr}}@media only screen and (max-width:767px){.authorAbout .container{display:block}.bookPage .bookHero h1{font-size:31px}.bookMotionSection{padding-top:30px;padding-bottom:45px}.bookContentSurface{margin-left:10px;margin-right:10px;padding-top:24px;padding-bottom:30px}.bookPageCover{padding-top:0;margin-bottom:24px}.bookPage .seoBookCover{max-width:310px}.motionControlRow{text-align:center}.bookPageCtas{display:block}.bookPageCtas .btn{display:block;margin:8px 0}.bookPageCtas .btn a{display:block}.resourceGrid,.downloadGrid{grid-template-columns:1fr}.resourceQuickGuide,.resourceSection,.comingSoonPanel{padding:20px}}


/* =========================================================
   V4.1 — offline review refinements, live Resources/Coming Soon nav
   ========================================================= */
/* Reintroduce breathing room below the carousel while keeping all three About columns top-aligned. */
.homePage .authorAbout{padding-top:58px}
@media only screen and (max-width:767px){.homePage .authorAbout{padding-top:38px}}

/* Eight-item desktop navigation: preserve the existing split around the centred logo. */
@media only screen and (min-width:960px){.mainNav li a{padding-left:9px;padding-right:9px;font-size:11px}}
@media only screen and (min-width:768px) and (max-width:959px){.mainNav li a{padding-left:5px;padding-right:5px;font-size:10px;letter-spacing:-.01em}}

/* Readability fixes for standalone About and Contact pages. */
.aboutPage .contentPage h2{color:#f0cf7b!important}
.contactPage .contentPage> .container h2,.contactPage .contentPage .sixteen.columns>h2{color:#f0cf7b!important}
.contactPage .contactChoice{background:#eef2f7;border:1px solid rgba(216,184,108,.48);border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.16)}
.contactPage .contactChoice h3,.contactPage .contactChoice p{color:#273d61!important}
.contactPage .contactChoice h3{font-weight:bold}
.contactPage .contactForm input[type="text"],.contactPage .contactForm input[type="email"],.contactPage .contactForm textarea{background:#10243d!important;color:#f3f7fb!important;border:1px solid rgba(216,184,108,.42)!important;box-sizing:border-box}
.contactPage .contactForm input[type="text"]::placeholder,.contactPage .contactForm input[type="email"]::placeholder,.contactPage .contactForm textarea::placeholder{color:#94a8bd}
.contactPage .contactDirectEmail{margin:18px 0 8px!important;padding-top:2px;color:#c8d6e8!important;font-size:13px!important;line-height:1.5!important}
.contactPage .contactDirectEmail a{color:#f0cf7b;font-weight:bold;text-decoration:none}
.contactPage .contactDirectEmail a:hover{text-decoration:underline;color:#fff2c6}
.contactPage #submit{margin-top:10px}

/* Public utility pages. */
.resourcesPage .resourceIntro{margin-bottom:34px}

/* Coming Soon: Fantasy Magist headings plus a responsive ornamental gold frame. */
.comingSoonPage .pageHero h1,.comingSoonPage .contentPage h2,.comingSoonPage .contentPage h3{font-family:'Fantasy Magist',Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.025em}
.comingSoonPage .pageHero h1{font-size:45px;line-height:1.08}
.comingSoonPage .contentPage h2{font-size:31px}
.comingSoonPage .contentPage h3{font-size:23px}
.comingSoonPage .comingSoonPanel{position:relative;margin:30px 0;padding:52px 52px 48px;border:1px solid rgba(240,207,123,.95);outline:1px solid rgba(216,184,108,.38);outline-offset:-11px;background:rgba(16,36,61,.96);overflow:hidden}
.comingSoonPage .comingSoonPanel:before,.comingSoonPage .comingSoonPanel:after{content:"";position:absolute;left:50%;width:min(230px,34%);height:1px;background:linear-gradient(90deg,rgba(216,184,108,0),#d8b86c 28%,#fff2c6 50%,#d8b86c 72%,rgba(216,184,108,0));transform:translateX(-50%)}
.comingSoonPage .comingSoonPanel:before{top:13px}.comingSoonPage .comingSoonPanel:after{bottom:13px}
.comingSoonPage .ornamentTop,.comingSoonPage .ornamentBottom{position:absolute;left:50%;width:10px;height:10px;background:#d8b86c;border:1px solid #fff2c6;transform:translateX(-50%) rotate(45deg);z-index:2}
.comingSoonPage .ornamentTop{top:8px}.comingSoonPage .ornamentBottom{bottom:8px}
.comingSoonPage .ornateCorner{position:absolute;width:28px;height:28px;pointer-events:none}
.comingSoonPage .cornerTL{top:10px;left:10px;border-top:2px solid #d8b86c;border-left:2px solid #d8b86c}
.comingSoonPage .cornerTR{top:10px;right:10px;border-top:2px solid #d8b86c;border-right:2px solid #d8b86c}
.comingSoonPage .cornerBL{bottom:10px;left:10px;border-bottom:2px solid #d8b86c;border-left:2px solid #d8b86c}
.comingSoonPage .cornerBR{bottom:10px;right:10px;border-bottom:2px solid #d8b86c;border-right:2px solid #d8b86c}
.comingSoonPage .ornateCorner:after{content:"";position:absolute;width:5px;height:5px;background:#f0cf7b;transform:rotate(45deg)}
.comingSoonPage .cornerTL:after{top:5px;left:5px}.comingSoonPage .cornerTR:after{top:5px;right:5px}.comingSoonPage .cornerBL:after{bottom:5px;left:5px}.comingSoonPage .cornerBR:after{bottom:5px;right:5px}
@media only screen and (max-width:767px){.comingSoonPage .pageHero h1{font-size:34px}.comingSoonPage .contentPage h2{font-size:27px}.comingSoonPage .contentPage h3{font-size:21px}.comingSoonPage .comingSoonPanel{padding:42px 24px 38px;outline-offset:-8px}.comingSoonPage .ornateCorner{width:20px;height:20px}.comingSoonPage .cornerTL,.comingSoonPage .cornerTR{top:7px}.comingSoonPage .cornerBL,.comingSoonPage .cornerBR{bottom:7px}.comingSoonPage .cornerTL,.comingSoonPage .cornerBL{left:7px}.comingSoonPage .cornerTR,.comingSoonPage .cornerBR{right:7px}}

/* =========================================================
   V4.3 — cross-browser image and fixed-motion compatibility
   ========================================================= */
/* Explicit intrinsic sizing prevents Edge from resolving the cover height
   from an inherited/legacy layout rule while the image is constrained by width. */
.bookCoverWrap picture {
  display: block;
  width: 100%;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
.bookCoverWrap .bookCover {
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto !important;
  object-fit: contain;
  margin-left: auto;
  margin-right: auto;
}
.bookPage .seoBookCover {
  height: auto !important;
  object-fit: contain;
}
.postMedia img,
.postMedia picture img {
  height: auto !important;
  object-fit: cover;
}

/* Keep the motion layer independent of the template wrapper/flow.  Explicit
   edge coordinates are used instead of relying solely on the inset shorthand. */
.bookMotionBackdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background-color: #07182d;
  background-image: url('../media/book-background-poster.jpg');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.bookMotionVideo {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}
.bookMotionShade {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.bookPage #wrapper {
  position: relative;
  z-index: 1;
  background: transparent;
}
