@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&display=swap');
@import url('src/styles.css');

.hero{height:607px;min-height:607px;max-height:607px;grid-template-rows:minmax(0,607px)}.hero>*{min-height:0;max-height:607px}.hero-photo{position:relative;height:607px;min-height:0;max-height:607px;background-image:none;overflow:hidden}.hero-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-width:none;max-height:607px;object-fit:cover;object-position:center 48%}
.paths{background-image:url('Assets/decorative/reading-path-lines.png')}
.tiles .desk{background-image:url('Assets/images/from-jodys-desk-card-full.png')}
.skip-link{position:fixed;top:-60px;left:20px;z-index:100;background:#242522;color:#fff;padding:12px 18px;border-radius:0 0 8px 8px}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.menu{width:42px;height:42px;padding:9px;cursor:pointer}.menu span{display:block;height:2px;background:#242522;margin:5px 0;transition:.2s}.menu.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu.open span:nth-child(2){opacity:0}.menu.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.retailers .retailer-name{display:block;font-size:18px!important;font-weight:700;line-height:1.15;text-decoration:none;text-transform:none}.retailers .retailer-more{font-size:10px}.interests img{width:30px;height:30px;object-fit:contain}.newsletter input:focus,.newsletter button:focus,a:focus-visible,button:focus-visible{outline:2px solid #d8b18a;outline-offset:3px}.form-message{margin:0 0 5px!important;padding:7px 10px;border-radius:6px;font-size:11px!important}.form-message.success{background:#ffffff20}.form-message.error{background:#7d3b36;color:#fff}.social a{font-weight:700;font-size:14px}
.tiles .image-card{display:block;height:213px;min-width:0;border-radius:12px;overflow:hidden;background:transparent;text-decoration:none}.tiles .image-card img{display:block;width:100%;height:100%;object-fit:fill}.tiles .image-card:focus-visible{outline:3px solid #956443;outline-offset:4px}
.tiles .hd-card{position:relative;height:213px;border-radius:12px;overflow:hidden;background-color:#ebe5dc;background-repeat:no-repeat;background-position:right center;background-size:55% auto;isolation:isolate}.tiles .hd-card::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ebe5dc 0%,#ebe5dc 48%,rgba(235,229,220,.93) 57%,rgba(235,229,220,0) 76%)}.tiles .hd-card>div{padding:25px 24px;min-width:66%}.tiles .hd-card h3{margin:0 0 14px;font-size:21px;line-height:1.08}.tiles .hd-card p{font-size:11px;line-height:1.55;margin:0}.tiles .hd-card a{margin-top:23px;text-decoration:underline;text-underline-offset:2px}.tiles .educators-card{background-image:url('Assets/images/educators-card-hd.png');background-position:right 69%;background-size:53% auto}.tiles .desk-card{background-image:url('Assets/images/from-jodys-desk-hd.png');background-position:right 57%;background-size:59% auto}.tiles .events-card{background-image:url('Assets/images/upcoming-events-hd.png');background-position:right 48%;background-size:48% auto}
.path-icon{display:block;width:72px;height:72px;margin-bottom:5px;fill:none;stroke:#343632;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.dark-card .path-icon{stroke:#c7aa77}.path:hover .path-icon{transform:translateY(-3px);transition:transform .25s ease}.path:hover{box-shadow:0 12px 28px rgba(40,38,32,.12);transition:box-shadow .25s ease}
@media(max-width:700px){.hero-copy{background-image:linear-gradient(90deg,#f7f4edf5,#f7f4edb8),url('Assets/images/jody-hero-upscaled-hd.png');background-position:center 48%}.tiles .image-card{height:auto}.tiles .image-card img{height:auto;object-fit:contain}.tiles .hd-card{height:220px;background-size:57% auto}.tiles .hd-card::before{background:linear-gradient(90deg,#ebe5dc 0%,#ebe5dc 44%,rgba(235,229,220,.9) 58%,transparent 82%)}.tiles .hd-card>div{padding:24px 20px}}

.tiles .hd-card h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px;font-weight:600;line-height:1.02;letter-spacing:.01em}.tiles .hd-card p{font-family:'DM Sans',Arial,sans-serif;font-size:11.5px;font-weight:400;line-height:1.6;letter-spacing:.005em}.tiles .hd-card a{font-family:'DM Sans',Arial,sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.015em;text-underline-offset:3px}
.newsletter input::placeholder{color:rgba(255,255,255,.72);opacity:1}.newsletter input::-ms-input-placeholder{color:rgba(255,255,255,.72)}.newsletter input{caret-color:#fff}.newsletter .plane{background:transparent;mix-blend-mode:normal}
.about-photo{object-fit:cover;object-position:center 46%}
.featured{height:460px;min-height:460px;overflow:hidden}.book-wrap{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}.book-wrap img{display:block;width:auto!important;height:400px!important;max-width:100%;max-height:400px;object-fit:contain;aspect-ratio:681/1043;filter:drop-shadow(0 12px 12px rgba(0,0,0,.2))}
@media(max-width:1050px){.hero{height:auto;min-height:600px;max-height:none;grid-template-rows:none}.hero>*{max-height:none}.hero-photo{height:auto;max-height:none}.hero-photo img{position:static;max-height:none}}

footer#contact{position:relative;min-height:280px;padding:52px clamp(42px,9vw,150px) 38px;display:grid;grid-template-columns:minmax(250px,1.7fr) repeat(3,minmax(115px,1fr)) minmax(220px,1.25fr);gap:clamp(34px,5vw,82px);align-items:start;background:#f3eee6;border-top:1px solid rgba(74,76,68,.18);color:#292b27}footer#contact::before{content:'';position:absolute;top:0;left:clamp(42px,9vw,150px);right:clamp(42px,9vw,150px);height:1px;background:linear-gradient(90deg,transparent,#8e988b 20%,#8e988b 80%,transparent)}footer#contact>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px;font-family:'DM Sans',Arial,sans-serif;font-size:12px;line-height:1.4}footer#contact>div>b{margin-bottom:5px;font-size:10px;font-weight:600;letter-spacing:.12em;color:#596056}footer#contact a{position:relative;transition:color .2s ease,transform .2s ease}footer#contact>div:not(.foot-brand)>a:hover{color:#8c6044;transform:translateX(3px)}footer#contact .foot-brand>span{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:600;line-height:1;letter-spacing:.015em}footer#contact .foot-brand>small:first-of-type{font-size:10px;letter-spacing:.04em;color:#5f625c}footer#contact .foot-brand>small:last-child{margin-top:8px;font-size:9.5px;color:#777971}footer#contact .social{display:flex;flex-direction:row;gap:10px;margin:15px 0 10px}footer#contact .social a{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(62,66,59,.35);border-radius:50%;font-size:13px;line-height:1;background:rgba(255,255,255,.28);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}footer#contact .social a:hover{background:#687467;border-color:#687467;color:#fff;transform:translateY(-2px)}footer#contact p{margin:0;color:#595d56;line-height:1.65}footer#contact .legal{width:100%;display:flex;flex-direction:row;gap:22px;margin-top:25px;padding-top:14px;border-top:1px solid rgba(74,76,68,.23);font-size:10px;white-space:nowrap}
@media(max-width:1050px){footer#contact{grid-template-columns:1.5fr repeat(2,1fr);padding:46px 7%;gap:42px 55px}footer#contact::before{left:7%;right:7%}footer#contact>div:nth-child(4),footer#contact>div:nth-child(5){margin-top:4px}}
@media(max-width:700px){footer#contact{grid-template-columns:1fr 1fr;min-height:auto;padding:42px 24px 32px;gap:38px 28px}footer#contact::before{left:24px;right:24px}footer#contact .foot-brand{grid-column:1/-1;padding-bottom:24px;border-bottom:1px solid rgba(74,76,68,.16)}footer#contact>div:last-child{grid-column:1/-1;padding-top:8px}footer#contact .legal{max-width:300px}footer#contact .foot-brand>span{font-size:28px}}
@media(max-width:700px){.featured{height:auto;min-height:0;overflow:visible}.book-wrap{height:auto}.book-wrap img{height:350px!important;max-height:350px}}

/* Complete responsive system */
html,body{max-width:100%;overflow-x:hidden}section,header,footer{min-width:0}.site-header,.hero,.featured,.paths,.about,.tiles,.newsletter,footer#contact{width:100%}
@media(max-width:1350px) and (min-width:1101px){.site-header{padding-inline:28px;gap:20px}.brand{width:235px;font-size:24px}nav{gap:20px}nav a{font-size:10px}.header-cta{padding-inline:16px}.hero-copy{padding-left:90px}.hero h1{font-size:clamp(46px,4.2vw,56px)}.featured{padding-inline:7%;grid-template-columns:30% 43% 27%}.retailers{padding-left:35px}.paths{padding-inline:7%}.about-copy{padding-inline:38px}.interests{padding-left:38px}.tiles{padding-inline:5%}.newsletter{padding-left:16%;padding-right:12%;gap:42px}}
@media(max-width:1100px){.site-header{padding-inline:28px}.site-header nav{top:92px;z-index:30;box-shadow:0 15px 30px rgba(35,36,32,.1)}.site-header nav a{width:100%;justify-content:center}.site-header nav a.active::after{bottom:2px;width:38px;left:50%;right:auto;transform:translateX(-50%)}.hero{height:auto;min-height:580px;grid-template-columns:1fr}.hero-copy{min-height:580px;padding:82px 8% 58px 11%;background:linear-gradient(90deg,rgba(247,244,237,.97) 0%,rgba(247,244,237,.86) 54%,rgba(247,244,237,.38) 100%),url('Assets/images/jody-hero-upscaled-hd.png') center 45%/cover no-repeat}.hero-copy>div:last-child{max-width:620px}.hero-photo{display:none}.hero h1{font-size:clamp(44px,6.2vw,58px)}.featured{height:460px;min-height:460px;padding:32px 6%;grid-template-columns:minmax(230px,34%) 1fr;gap:36px}.book-wrap img{height:370px!important;max-height:370px}.book-copy h2{font-size:clamp(31px,4vw,38px)}.retailers{display:none}.paths{padding:38px 6% 44px}.path-grid{gap:20px}.path{height:285px}.about{grid-template-columns:minmax(250px,34%) 1fr;padding:35px 6%;gap:0}.about-photo{height:290px}.about-copy{padding:20px 38px}.interests{grid-column:1/-1;border-left:0;border-top:1px solid #c4c0b8;margin-top:24px;padding:25px 0 0;grid-template-columns:repeat(4,1fr);gap:22px}.tiles{padding:8px 6% 34px;gap:18px}.tiles .hd-card>div{padding:22px 18px}.newsletter{padding:42px 8%;grid-template-columns:1fr minmax(330px,420px);gap:44px}.vase{width:190px;opacity:.3}.plane{display:none}}
@media(max-width:900px){.path-grid{grid-template-columns:1fr}.path{height:250px}.paths{background-size:190px}.tiles{grid-template-columns:1fr;gap:18px}.tiles .hd-card{height:225px;background-size:48% auto}.tiles .educators-card{background-size:45% auto}.tiles .desk-card{background-size:51% auto}.tiles .events-card{background-size:43% auto}.tiles .hd-card>div{padding:28px 30px}.newsletter{grid-template-columns:1fr;gap:24px;padding:44px 10%}.newsletter>div,.newsletter form{max-width:620px;width:100%;margin-inline:auto}.newsletter h2{font-size:38px}.newsletter p br{display:none}}
@media(max-width:760px){.site-header{height:76px;padding-inline:20px}.site-header nav{top:76px}.brand{width:auto;font-size:21px}.brand small{font-size:6px}.header-cta{display:none}.hero{min-height:560px}.hero-copy{min-height:560px;padding:78px 28px 48px 60px;background:linear-gradient(90deg,rgba(247,244,237,.97),rgba(247,244,237,.7)),url('Assets/images/jody-hero-upscaled-hd.png') center 46%/cover no-repeat}.hero-rule{left:30px;top:125px}.bird{left:20px;top:70px;width:38px}.hero h1{font-size:clamp(38px,8vw,48px);line-height:1.04}.hero-copy p{font-size:14px}.featured{height:auto;min-height:0;overflow:visible;grid-template-columns:1fr;padding:42px 28px;gap:28px;text-align:left}.book-wrap{height:auto}.book-wrap img{height:340px!important;max-height:340px}.book-copy{max-width:590px;margin-inline:auto}.book-copy h2{font-size:34px}.meta{flex-wrap:wrap;gap:12px 20px}.actions{flex-wrap:wrap;gap:18px 25px}.paths{padding:35px 24px 40px}.paths>h2{font-size:30px}.path{height:245px}.about{grid-template-columns:1fr;padding:38px 24px}.about-photo{height:auto;max-height:390px;aspect-ratio:4/3}.about-copy{padding:32px 0 20px}.about-copy p br{display:none}.interests{grid-template-columns:1fr 1fr;margin-top:10px}.tiles{padding:0 24px 34px}.tiles .hd-card{height:220px;background-size:56% auto}.tiles .hd-card::before{background:linear-gradient(90deg,#ebe5dc 0%,#ebe5dc 43%,rgba(235,229,220,.92) 58%,transparent 84%)}.tiles .hd-card>div{padding:25px 22px;min-width:68%}.newsletter{padding:45px 24px}.newsletter form{max-width:none}footer#contact{grid-template-columns:1fr 1fr;padding:42px 24px 32px;gap:36px 28px}}
@media(max-width:520px){.site-header{padding-inline:16px}.brand{font-size:19px}.menu{margin-left:auto}.hero{min-height:530px}.hero-copy{min-height:530px;padding:72px 20px 42px 48px}.hero-rule{left:24px;top:116px}.bird{left:14px;top:64px;width:34px}.hero h1{font-size:clamp(34px,10vw,42px)}.hero-copy p{font-size:13px}.pill{padding-inline:21px;font-size:10px}.featured{padding:36px 20px}.book-wrap img{height:310px!important;max-height:310px}.book-copy h2{font-size:30px}.book-copy>p{font-size:12px}.meta{display:grid;grid-template-columns:1fr 1fr}.paths{padding-inline:18px}.paths>h2{font-size:27px}.path{height:235px}.about{padding:32px 18px}.about-photo{max-height:330px}.about-copy h2{font-size:29px}.interests{grid-template-columns:1fr}.tiles{padding-inline:16px}.tiles .hd-card{height:260px;background-position:right bottom;background-size:auto 54%}.tiles .hd-card::before{background:linear-gradient(180deg,#ebe5dc 0%,#ebe5dc 50%,rgba(235,229,220,.92) 64%,transparent 88%)}.tiles .hd-card>div{padding:22px 20px;min-width:100%}.tiles .hd-card h3{font-size:22px}.newsletter{padding:40px 18px}.newsletter h2{font-size:34px}.newsletter input,.newsletter button{min-height:44px}footer#contact{grid-template-columns:1fr;padding:38px 20px 30px;gap:30px}footer#contact .foot-brand,footer#contact>div:last-child{grid-column:auto}footer#contact>div{padding-bottom:20px;border-bottom:1px solid rgba(74,76,68,.14)}footer#contact>div:last-child{border-bottom:0}footer#contact .legal{white-space:normal;flex-wrap:wrap}}
@media(max-width:380px){.brand small{display:none}.hero h1{font-size:33px}.hero-copy{padding-left:42px}.featured{padding-inline:16px}.book-wrap img{height:285px!important;max-height:285px}.book-copy h2{font-size:28px}.meta{grid-template-columns:1fr}.actions{align-items:flex-start;flex-direction:column}.paths,.about,.newsletter{padding-inline:16px}.tiles{padding-inline:12px}.tiles .hd-card{height:270px}.newsletter h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:760px){.paths{overflow:hidden}.path-grid{width:100%;gap:20px}.path{width:100%;height:auto;min-height:285px;padding:26px 18px 24px;overflow:hidden;border-radius:14px;justify-content:center}.path-icon{flex:0 0 auto;width:64px;height:64px;margin:0 0 12px}.path h3{margin:6px 0 12px;font-size:24px;line-height:1.05}.path p{margin:0;font-size:12px;line-height:1.55}.path a{margin-top:18px;flex:0 0 auto}}
@media(max-width:380px){.path{min-height:275px;padding:24px 14px 22px}.path-icon{width:58px;height:58px}.path h3{font-size:22px}.path a{margin-top:15px}}

/* Deployment-safe featured book sizing. The cover can never define the desktop row height. */
@media(min-width:761px){
  .featured{
    height:460px!important;
    min-height:460px!important;
    max-height:460px!important;
    grid-template-rows:minmax(0,460px)!important;
    overflow:hidden!important;
  }
  .featured>*{min-height:0;max-height:460px}
  .book-wrap{
    position:relative;
    height:460px!important;
    min-height:0!important;
    max-height:460px!important;
    overflow:hidden;
  }
  .book-wrap img{
    position:absolute;
    inset:50% auto auto 50%;
    width:auto!important;
    height:400px!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:400px!important;
    object-fit:contain;
    transform:translate(-50%,-50%);
  }
}

@media(max-width:760px){
  .featured{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    grid-template-rows:none!important;
    overflow:visible!important;
  }
  .featured>*{max-height:none}
  .book-wrap{
    position:relative;
    width:100%;
    height:clamp(285px,92vw,350px)!important;
    max-height:350px!important;
    overflow:hidden;
  }
  .book-wrap img{
    position:absolute;
    inset:50% auto auto 50%;
    width:auto!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain;
    transform:translate(-50%,-50%);
  }
}

/* Center the single-column footer on small phones. */
@media(max-width:520px){
  footer#contact{text-align:center}
  footer#contact>div,
  footer#contact .foot-brand{
    width:100%;
    align-items:center;
  }
  footer#contact .social,
  footer#contact .legal{
    justify-content:center;
    margin-left:auto;
    margin-right:auto;
  }
  footer#contact p{max-width:300px;text-align:center}
  footer#contact>div:not(.foot-brand)>a:hover{transform:translateY(-1px)}
}

/* Official book trailer */
.book-trailer{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(480px,1.28fr);
  align-items:center;
  gap:clamp(36px,6vw,92px);
  padding:clamp(58px,7vw,92px) clamp(28px,11vw,176px);
  background:#242522;
  color:#f5f1e9;
}
.trailer-copy{max-width:470px}
.trailer-copy .eyebrow{color:#d6ad83}
.trailer-copy h2{margin:12px 0 22px;font-size:clamp(38px,4.2vw,58px);line-height:1.02}
.trailer-copy p{margin:0;color:#e5ded3;font-size:15px;line-height:1.75}
.trailer-copy em{color:#e7c5a2;font-family:'Libre Caslon Display',Georgia,serif;font-size:1.08em}
.trailer-player{position:relative;width:100%;overflow:hidden;border-radius:14px;background:#10110f;box-shadow:0 24px 55px rgba(0,0,0,.34)}
.trailer-player video{display:block;width:100%;height:auto;max-height:min(68vh,620px);aspect-ratio:16/9;object-fit:contain;background:#10110f}
@media(max-width:900px){
  .book-trailer{grid-template-columns:1fr;padding:56px 8%;gap:30px}
  .trailer-copy{max-width:680px}
}
@media(max-width:520px){
  .book-trailer{padding:44px 18px 48px;gap:24px}
  .trailer-copy h2{font-size:36px;margin-bottom:16px}
  .trailer-copy p{font-size:14px;line-height:1.65}
  .trailer-player{border-radius:10px}
}
