:root{--blue:#4f82bd;--blue-dark:#244b78;--orange:#e45a1b;--gold:#e8a53a;--teal:#247e83;--cream:#fffaf2;--ink:#3f4d5b}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream)}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}
.site-header{background:var(--blue);color:#fff;box-shadow:0 5px 18px rgba(25,62,100,.2)}
.nav-wrap{width:min(1180px,calc(100% - 40px));min-height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:baseline;gap:10px;font-family:Georgia,serif;font-size:2rem;font-weight:700}.brand small{font:700 .7rem Arial;text-transform:uppercase;letter-spacing:.22em;color:#ffe0a8}
nav{display:flex;gap:8px;flex-wrap:wrap}nav a{padding:11px 14px;border-radius:9px;font-weight:700;font-size:.9rem}nav a:hover{background:rgba(255,255,255,.15)}nav a.active{background:var(--orange)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(232,165,58,.18),transparent 28%),radial-gradient(circle at 90% 20%,rgba(79,130,189,.15),transparent 29%),linear-gradient(135deg,#fffaf2,#f7efe3)}
.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(79,130,189,.1) 1.2px,transparent 1.2px);background-size:24px 24px;opacity:.55}
.hero-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 44px));min-height:650px;margin:auto;padding:56px 0 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,1.1fr);gap:52px;align-items:center}
.hero-copy{max-width:540px}.eyebrow{display:inline-block;margin:0 0 17px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--teal);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;box-shadow:0 6px 18px rgba(36,75,120,.08)}
h1{margin:0 0 24px;font-family:Georgia,serif;font-size:clamp(4rem,6.4vw,6rem);line-height:.94;letter-spacing:-.04em;color:var(--blue-dark)}h1 span{display:block;color:var(--orange);font-size:.55em;font-style:italic;line-height:1;margin-bottom:7px}
.intro{margin:0;max-width:510px;font-size:1.08rem;line-height:1.72}.intro em{font-family:Georgia,serif;font-weight:700;color:var(--blue-dark)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 17px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:10px;font-weight:800}.primary{background:var(--orange);color:#fff;box-shadow:0 10px 22px rgba(228,90,27,.24)}.secondary{background:#fff;color:var(--blue-dark);border:1px solid rgba(36,75,120,.28)}.tagline{margin:0;color:var(--teal);font:italic 700 1.15rem Georgia,serif}
.hero-media{position:relative;min-height:540px;display:grid;grid-template-columns:38% 62%;align-items:end;gap:18px}.portrait-card{height:540px;border:9px solid rgba(255,255,255,.92);border-radius:30px;overflow:hidden;box-shadow:0 22px 52px rgba(36,75,120,.18);background:#fff;grid-column:2}.portrait-card img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.book-card{position:relative;grid-column:1;grid-row:1;align-self:end;background:#fff8ec;border:2px solid rgba(232,165,58,.38);padding:10px;border-radius:18px;box-shadow:0 22px 46px rgba(18,37,56,.22);transform:rotate(-1deg);margin-bottom:18px}.book-card img{width:100%;height:auto;border-radius:9px}.book-card span{position:absolute;left:12px;top:15%;z-index:2;background:var(--orange);color:#fff;border-radius:999px;padding:7px 11px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.desk-decor{position:absolute;left:0;bottom:0;width:112px;z-index:3;filter:drop-shadow(0 14px 20px rgba(36,75,120,.15))}.spark{position:absolute;z-index:1;font-family:Georgia,serif}.s1{left:43%;top:14%;color:var(--gold);font-size:2rem}.s2{right:4%;top:21%;color:var(--teal);font-size:2.4rem}.s3{right:4%;bottom:10%;color:rgba(228,90,27,.3);font-size:4rem}
.coming{background:linear-gradient(120deg,var(--blue-dark),var(--blue));color:#fff}.coming-inner{width:min(1180px,calc(100% - 40px));min-height:210px;margin:auto;display:grid;grid-template-columns:145px 1fr auto;gap:34px;align-items:center;padding:28px 0}.coming-badge{width:128px;height:128px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--gold);color:var(--blue-dark);border:7px solid rgba(255,255,255,.35);font:800 1.3rem/1.05 Georgia,serif;transform:rotate(-6deg)}.coming-kicker{margin:0 0 7px;color:#ffdb9a;text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:.76rem}.coming h2{margin:0 0 8px;color:#fff;font:700 clamp(2.2rem,4vw,3.4rem)/1 Georgia,serif}.coming p{margin:0;line-height:1.55;max-width:700px;color:rgba(255,255,255,.84)}.light{background:#fff;color:var(--blue-dark)}footer{background:#1f426a;color:#fff;display:flex;justify-content:space-between;gap:20px;padding:24px max(20px,calc((100% - 1180px)/2));font-size:.9rem}
@media(max-width:950px){.hero-inner{grid-template-columns:1fr;padding-top:42px}.hero-copy{max-width:680px;margin:auto;text-align:center}.intro{margin:auto}.actions{justify-content:center}.hero-media{width:min(720px,100%);margin:auto}.coming-inner{grid-template-columns:120px 1fr}.coming-inner .button{grid-column:2;justify-self:start}}
@media(max-width:650px){.nav-wrap{padding:14px 0;flex-wrap:wrap;justify-content:center}.brand{width:100%;justify-content:center}nav{justify-content:center}.hero-inner{width:min(100% - 28px,1180px);padding-bottom:90px}.hero-copy{text-align:left}.actions{justify-content:flex-start}.hero-media{min-height:430px;grid-template-columns:39% 61%;gap:8px}.portrait-card{height:420px;border-width:7px}.book-card{padding:6px;margin-bottom:10px}.book-card span{font-size:.55rem;padding:5px 7px}.desk-decor{display:none}.coming-inner{grid-template-columns:1fr;text-align:center;padding:36px 0}.coming-badge{margin:auto}.coming-inner .button{grid-column:1;justify-self:center}footer{flex-direction:column;text-align:center}}

/* Locked single-screen homepage */
.home-page{min-height:100vh;overflow:hidden}
.home-page .site-header{height:72px}
.home-page .nav-wrap{min-height:72px}
.home-main{height:calc(100vh - 108px)}
.home-hero{position:relative;height:100%;min-height:0;overflow:hidden;background:radial-gradient(circle at 10% 18%,rgba(232,165,58,.18),transparent 27%),radial-gradient(circle at 91% 17%,rgba(79,130,189,.16),transparent 28%),linear-gradient(135deg,#fffaf2,#f7efe3)}
.home-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(79,130,189,.1) 1.1px,transparent 1.1px);background-size:24px 24px;opacity:.5}
.home-grid{position:relative;z-index:2;width:min(1180px,calc(100% - 44px));height:calc(100% - 112px);margin:auto;display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(210px,.62fr) minmax(300px,.88fr);gap:30px;align-items:center;padding:24px 0 16px}
.home-copy{max-width:530px}.home-copy .eyebrow{margin-bottom:11px}.home-copy h1{font-size:clamp(3.5rem,5.3vw,5.5rem);margin-bottom:15px}.home-copy .intro{font-size:clamp(.94rem,1.2vw,1.05rem);line-height:1.58}.home-copy .actions{margin:19px 0 12px}.home-copy .tagline{font-size:1.08rem}
.book-feature{position:relative;align-self:center;background:#fff8ec;border:2px solid rgba(232,165,58,.42);padding:9px;border-radius:18px;box-shadow:0 18px 38px rgba(18,37,56,.2);transform:rotate(-1deg);max-height:470px}
.book-feature img{width:100%;max-height:450px;object-fit:contain;border-radius:8px}.available-pill{position:absolute;z-index:3;left:-8px;top:34px;background:var(--orange);color:#fff;border-radius:999px;padding:7px 11px;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;box-shadow:0 8px 16px rgba(228,90,27,.22)}
.portrait-feature{height:min(520px,calc(100vh - 245px));min-height:360px;border:8px solid rgba(255,255,255,.94);border-radius:28px;overflow:hidden;box-shadow:0 20px 46px rgba(36,75,120,.18);background:#fff}.portrait-feature img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.coming-ribbon{position:absolute;z-index:4;left:50%;bottom:14px;transform:translateX(-50%);width:min(1030px,calc(100% - 210px));min-height:82px;padding:12px 18px 12px 14px;border-radius:18px;background:linear-gradient(110deg,var(--blue-dark),var(--blue));color:#fff;display:grid;grid-template-columns:105px 1fr auto;align-items:center;gap:17px;box-shadow:0 15px 32px rgba(36,75,120,.22)}
.coming-mark{width:92px;height:58px;border-radius:15px;background:var(--gold);color:var(--blue-dark);display:grid;place-items:center;text-align:center;font:800 .92rem/1.05 Georgia,serif;transform:rotate(-3deg)}.coming-text{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline}.coming-text span{color:#ffdfaa;text-transform:uppercase;letter-spacing:.13em;font-size:.63rem;font-weight:800}.coming-text strong{font:700 1.65rem/1 Georgia,serif}.coming-text p{grid-column:1/-1;margin:5px 0 0;color:rgba(255,255,255,.83);font-size:.84rem}.coming-ribbon>a{background:#fff;color:var(--blue-dark);font-weight:800;padding:10px 15px;border-radius:9px;white-space:nowrap}
.home-page .desk-decor{width:96px;bottom:0}.home-page .s1{left:42%;top:9%}.home-page .s2{right:3%;top:16%}.home-page .s3{right:2%;bottom:12%}
.home-footer{height:36px;padding:0 max(20px,calc((100% - 1180px)/2));align-items:center;font-size:.78rem}
@media(max-width:1050px){.home-page{overflow:auto}.home-main{height:auto}.home-hero{min-height:calc(100vh - 108px)}.home-grid{height:auto;min-height:610px;grid-template-columns:1fr .65fr .9fr;padding-bottom:125px}.coming-ribbon{width:min(900px,calc(100% - 80px))}}
@media(max-width:820px){.home-page{overflow:auto}.home-page .site-header{height:auto}.home-main{height:auto}.home-grid{grid-template-columns:1fr 1fr;min-height:0;padding:38px 0 132px}.home-copy{grid-column:1/-1;max-width:680px;text-align:center;margin:auto}.home-copy .intro{margin:auto}.home-copy .actions{justify-content:center}.book-feature{max-width:250px;justify-self:end}.portrait-feature{height:420px;min-height:0}.coming-ribbon{grid-template-columns:92px 1fr;width:calc(100% - 36px)}.coming-ribbon>a{display:none}.desk-decor{display:none}}
@media(max-width:560px){.home-grid{display:block;padding-bottom:150px}.home-copy{text-align:left}.home-copy .actions{justify-content:flex-start}.book-feature{width:42%;margin:30px 0 0 4%;display:inline-block;vertical-align:bottom}.portrait-feature{width:50%;height:350px;display:inline-block;vertical-align:bottom;margin-left:2%}.coming-ribbon{grid-template-columns:78px 1fr;gap:10px;padding:10px}.coming-mark{width:72px;height:56px;font-size:.82rem}.coming-text{display:block}.coming-text strong{display:block;font-size:1.3rem}.coming-text p{font-size:.72rem}.home-footer{height:auto;padding:12px 20px}}
/* Final compact coming-soon treatment */
.coming-ribbon{grid-template-columns:105px minmax(0,1fr) auto;min-height:76px}
.coming-text{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.coming-text span{display:block}.coming-text strong{display:block;white-space:nowrap}

/* Refined locked desktop home layout: book and portrait close, full desk decor visible */
@media (min-width: 1060px){
  .home-grid{
    width:min(1210px,calc(100% - 54px));
    height:calc(100% - 102px);
    grid-template-columns:minmax(400px,1.12fr) minmax(210px,.58fr) minmax(330px,.92fr);
    gap:14px;
    padding:16px 0 10px;
  }
  .home-copy{
    max-width:520px;
    padding-left:28px;
    padding-bottom:26px;
  }
  .home-copy .eyebrow{margin-bottom:9px}
  .home-copy h1{font-size:clamp(3.25rem,4.8vw,5rem);margin-bottom:13px}
  .home-copy .intro{font-size:clamp(.9rem,1vw,1rem);line-height:1.5;max-width:500px}
  .home-copy .actions{margin:16px 0 10px}
  .home-copy .tagline{font-size:1rem}

  .book-feature{
    z-index:3;
    width:100%;
    max-width:260px;
    justify-self:end;
    margin-right:-28px;
    transform:rotate(-1deg) translateY(7px);
    max-height:430px;
  }
  .book-feature img{max-height:410px}

  .portrait-feature{
    z-index:2;
    height:min(500px,calc(100vh - 228px));
    min-height:350px;
    margin-left:0;
  }

  .desk-decor{
    display:block;
    left:0;
    bottom:0;
    width:185px !important;
    height:auto;
    object-fit:contain;
    object-position:left bottom;
  }

  .coming-ribbon{
    bottom:10px;
    width:min(900px,calc(100% - 350px));
    min-height:72px;
    left:57%;
  }
}

@media (min-width: 1060px) and (max-height: 820px){
  .home-grid{height:calc(100% - 92px);padding-top:10px}
  .home-copy{padding-bottom:18px}
  .home-copy h1{font-size:clamp(3rem,4.4vw,4.45rem)}
  .home-copy .intro{font-size:.91rem;line-height:1.43}
  .home-copy .actions{margin:13px 0 8px}
  .portrait-feature{height:calc(100vh - 242px);min-height:330px}
  .book-feature{max-width:230px;max-height:390px}
  .book-feature img{max-height:370px}
  .desk-decor{width:165px !important}
  .coming-ribbon{min-height:66px;bottom:8px}
  .coming-text strong{font-size:1.48rem}
}

/* Corrected home composition: blended desk artwork and overlapping book/portrait */
@media (min-width: 1060px){
  .home-grid{
    grid-template-columns:minmax(410px,1.14fr) minmax(205px,.54fr) minmax(350px,.94fr);
    gap:0;
  }
  .book-feature{
    max-width:272px;
    justify-self:end;
    margin-right:-72px;
    transform:rotate(-1deg) translateY(8px);
    z-index:5;
  }
  .book-feature img{max-height:430px}
  .portrait-feature{
    z-index:3;
    margin-left:0;
  }
  .desk-decor{
    left:0;
    bottom:0;
    width:235px !important;
    opacity:.98;
    z-index:2;
    pointer-events:none;
    filter:drop-shadow(0 12px 18px rgba(36,75,120,.10));
  }
  .coming-ribbon{
    z-index:6;
  }
}
@media (min-width: 1060px) and (max-height: 820px){
  .book-feature{max-width:242px;margin-right:-64px}
  .book-feature img{max-height:390px}
  .desk-decor{width:210px !important}
}

/* Balanced hero revision: stronger book presence, smaller portrait, larger narrative */
@media (min-width: 1060px){
  .home-grid{
    grid-template-columns:minmax(430px,1.18fr) minmax(245px,.66fr) minmax(315px,.82fr);
    gap:0;
  }
  .home-copy{
    max-width:555px;
    padding-left:28px;
    padding-bottom:18px;
  }
  .home-copy .intro{
    max-width:545px;
    font-size:clamp(1.08rem,1.22vw,1.2rem);
    line-height:1.55;
  }
  .home-copy .actions{margin:18px 0 11px}
  .home-copy .tagline{font-size:1.1rem}

  .book-feature{
    width:100%;
    max-width:300px;
    margin-right:-64px;
    transform:rotate(-.45deg) translateY(6px);
    box-shadow:0 16px 32px rgba(18,37,56,.17);
  }
  .book-feature img{max-height:470px}

  .portrait-feature{
    width:100%;
    max-width:390px;
    height:min(445px,calc(100vh - 250px));
    min-height:330px;
    justify-self:start;
    border-width:7px;
  }
}
@media (min-width: 1060px) and (max-height: 820px){
  .home-copy .intro{font-size:1.04rem;line-height:1.5}
  .book-feature{max-width:275px;margin-right:-58px}
  .book-feature img{max-height:425px}
  .portrait-feature{height:410px;min-height:310px;max-width:365px}
}

/* Verified hero correction: protect narrative, preserve preferred close book/portrait composition */
@media (min-width: 1060px){
  .home-grid{
    position:relative;
    z-index:4;
    width:min(1240px,calc(100% - 72px));
    grid-template-columns:minmax(470px,1.24fr) minmax(260px,.67fr) minmax(330px,.84fr);
    column-gap:34px;
  }
  .home-copy{
    max-width:590px;
    padding-left:54px;
    padding-right:10px;
  }
  .home-copy .intro{
    max-width:570px;
    font-size:1.16rem;
    line-height:1.58;
  }
  .book-feature{
    max-width:292px;
    justify-self:end;
    margin-right:-78px;
    transform:rotate(-.35deg) translateY(8px);
    z-index:6;
  }
  .portrait-feature{
    max-width:370px;
    height:min(430px,calc(100vh - 260px));
    min-height:320px;
    z-index:5;
  }
  .desk-decor{
    z-index:1 !important;
    left:0;
    bottom:0;
    width:205px !important;
    opacity:.96;
    pointer-events:none;
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 64%,transparent 100%);
    mask-image:linear-gradient(to right,#000 0%,#000 64%,transparent 100%);
  }
  .home-page .s1,.home-page .s2,.home-page .s3{z-index:2}
}
@media (min-width:1060px) and (max-height:820px){
  .home-grid{grid-template-columns:minmax(455px,1.22fr) minmax(235px,.64fr) minmax(315px,.82fr);column-gap:28px}
  .home-copy{padding-left:50px}
  .home-copy .intro{font-size:1.05rem;line-height:1.5}
  .book-feature{max-width:260px;margin-right:-70px}
  .portrait-feature{max-width:350px;height:395px}
  .desk-decor{width:185px !important}
}

/* Locked refinement: anchor the book at the lower-left of Jamie's portrait */
@media (min-width: 1060px){
  .home-grid{
    grid-template-columns:minmax(470px,1.24fr) minmax(260px,.67fr) minmax(330px,.84fr);
    column-gap:34px;
  }
  .book-feature{
    align-self:center;
    max-width:292px;
    margin-right:-78px;
    transform:rotate(-.35deg) translateY(72px);
    z-index:6;
  }
  .portrait-feature{
    align-self:center;
    z-index:5;
  }
}
@media (min-width:1060px) and (max-height:820px){
  .book-feature{
    max-width:260px;
    margin-right:-70px;
    transform:rotate(-.35deg) translateY(54px);
  }
}

/* Home refinement: clean, undistorted next-book ribbon */
.coming-ribbon{
  min-height:78px;
  padding:13px 18px;
  grid-template-columns:108px minmax(0,1fr) auto;
  gap:20px;
}
.coming-mark{
  width:96px;
  height:54px;
  border-radius:12px;
  transform:none;
  font:700 .9rem/1.1 Georgia,serif;
  letter-spacing:0;
  box-shadow:none;
}
.coming-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:4px;
  min-width:0;
}
.coming-text span{
  display:block;
  color:#ffdfaa;
  font-size:.68rem;
  line-height:1.2;
  letter-spacing:.12em;
  white-space:normal;
}
.coming-text strong{
  display:block;
  margin:0;
  font:700 1.72rem/1.08 Georgia,serif;
  letter-spacing:0;
  white-space:normal;
}
.coming-ribbon>a{
  align-self:center;
  min-width:118px;
  text-align:center;
}
@media(max-width:820px){
  .coming-ribbon{grid-template-columns:88px minmax(0,1fr);gap:14px}
  .coming-mark{width:82px;height:52px;font-size:.82rem}
  .coming-text strong{font-size:1.45rem}
}
@media(max-width:560px){
  .coming-ribbon{grid-template-columns:74px minmax(0,1fr);gap:10px}
  .coming-mark{width:70px;height:50px;font-size:.74rem}
  .coming-text span{font-size:.58rem;letter-spacing:.09em}
  .coming-text strong{font-size:1.22rem}
}


/* Corrected production ribbon: open-book icon shown in the approved preview */
.coming-mark{
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--gold);
  color:var(--blue-dark);
}
.coming-book-icon{
  width:54px;
  height:40px;
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:820px){
  .coming-book-icon{width:46px;height:34px}
}
@media(max-width:560px){
  .coming-book-icon{width:40px;height:30px}
}
