/* A lively editorial frame for the four story posters. */
:root{--paper:#fafaf5;--paper-deep:#eff1e9;--ink:#142e36;--muted:#4f6168;--gold:#d53b20;--line:#d8dfdf;--blue:#d7edf5;--accent:#d53b20;--yellow:#f6ca54}
body::after{display:none}
.site-header{height:100px;border-bottom:1px solid var(--ink)}
.brand{font-family:var(--sans);font-size:22px;font-weight:700;letter-spacing:-.6px}
.brand-symbol{color:var(--accent)}
.brand small{font-size:8px;letter-spacing:1.8px;font-weight:600}
.primary-nav{gap:26px;font-size:13px;font-weight:600}
.primary-nav .nav-reading{background:var(--ink);color:white;border-color:var(--ink);border-radius:4px;padding:13px 16px}
.primary-nav .nav-reading:hover{background:var(--accent);border-color:var(--accent)}
.home-page .section-space{padding-block:92px}
.home-page h1,.home-page h2,.home-page .place-item h3,.home-page .poster-item h3{font-family:var(--sans);font-weight:700;font-style:normal}
.home-page h1{font-size:clamp(74px,7.5vw,110px);line-height:.97;letter-spacing:-5px;margin-top:27px}
.home-page h1 em,.home-page h2 em{font-style:normal;color:var(--accent)}
.home-page h2{font-size:clamp(42px,4.5vw,64px);line-height:1.04;letter-spacing:-2.5px}
.hero{padding-top:65px;padding-bottom:70px;min-height:710px;grid-template-columns:1.1fr 1fr;gap:65px}
.hero .eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;white-space:normal}
.small-line{height:3px;background:var(--accent);width:28px}
.volume-label{display:inline-block;margin-top:21px;margin-left:0;padding:7px 10px;border:1px solid var(--ink);border-radius:3px;font-size:10px;font-weight:700;letter-spacing:2px}
.hero-tagline{font-family:var(--sans);font-style:normal;font-size:25px;font-weight:600;line-height:1.2;margin-top:25px;letter-spacing:-.5px}
.hero-description{max-width:415px;font-size:16px;line-height:1.65;margin-top:17px}
.hero-actions{gap:25px;margin-top:27px}
.button{font-size:13px;font-weight:600;min-height:50px;border-radius:4px;padding:16px 21px;gap:23px}
.button-dark{background:var(--accent);color:white}
.button-dark:hover{background:#b62e17}
.quiet-link{font-size:13px;font-weight:600;border-bottom-color:var(--ink)}
.hero-signature{font-size:11px;margin-top:26px}
.hero-signature strong{font-weight:700}
.signature-line{background:var(--accent);height:2px}
.book-stage{height:485px}
.stage-page{position:absolute;width:min(70%,330px);height:auto;max-width:none;pointer-events:none;z-index:-2;background:#fffefb;opacity:.57;filter:blur(.55px);box-shadow:0 9px 23px -15px #142e3645;mask-image:linear-gradient(to bottom,transparent,#000 11%,#000 73%,transparent 99%)}
.stage-page-left{right:35%;top:-8px;transform:rotate(-12deg)}
.stage-page-right{left:31%;top:12px;transform:rotate(11deg)}
.book{width:min(71%,300px);transform:perspective(1000px) rotateY(-9deg) rotate(-5deg);box-shadow:15px 22px 24px -8px #142e3647}
.memory-seal{background:var(--accent);color:white;border:0;outline:0;border-radius:3px;right:-16px;top:15px;width:104px;height:104px;box-shadow:0 6px 0 #142e3618;transform:rotate(9deg)}
.memory-seal span{font-weight:700;font-size:10px}
.memory-seal i{font-family:var(--sans);font-size:12px;font-style:normal}
.memory-seal strong{font-family:var(--sans);font-size:37px;font-weight:700}
.book-flower{display:none}
.hero-figure figcaption{font-size:10px;line-height:1.5;margin-top:23px}
.memory-strip{background:var(--accent);border:0;color:white;min-height:63px;gap:35px;font-family:var(--sans);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.memory-strip i{color:var(--yellow);font-size:26px}
.section-label{font-size:10px;letter-spacing:1.5px;font-weight:700;margin-bottom:34px}
.section-label>span{background:var(--ink);color:var(--paper);border:0;border-radius:3px;width:29px;height:29px;font-size:10px}
.section-heading>p{font-size:15px;line-height:1.65}
.stories{position:relative;overflow:hidden;background:#f0f4f4;border-bottom:1px solid var(--line)}
.stories-heading{margin-bottom:67px;align-items:end}
.stories-heading>div{max-width:335px;font-size:15px;line-height:1.7;color:var(--muted);padding-bottom:5px}
.stories-heading>div strong{color:var(--ink);font-weight:700}
.wall-hint{margin-top:19px!important;font-size:12px;font-weight:700;color:var(--ink)}
.wall-hint span{color:var(--accent);font-size:19px;margin-left:7px}
.poster-wall{display:grid;grid-template-columns:1fr 1.25fr;gap:100px 105px;align-items:start;padding:22px 25px 25px}
.poster-item{min-width:0;position:relative;--tilt:0deg}
.poster-interprete{grid-column:1;grid-row:1;--tilt:-3deg}
.poster-pesci{grid-column:2;grid-row:1;width:80%;justify-self:end;margin-top:145px;--tilt:2.5deg}
.poster-scarpon{grid-column:2;grid-row:2;width:85%;margin:-45px 0 0 auto;--tilt:-2.3deg}
.poster-fenice{grid-column:1;grid-row:2;width:94%;margin:28px 0 0 30px;--tilt:2deg}
.poster-link{display:block;position:relative;padding:7px;background:white;transform:rotate(var(--tilt));transform-origin:50% 50%;box-shadow:0 18px 27px -13px #142e3652,0 2px 7px #142e3620;transition:transform .25s ease,box-shadow .25s ease;isolation:isolate}
.poster-link::before{position:absolute;content:'';width:60px;height:19px;background:#fffdf0b3;box-shadow:0 1px 2px #0000000a;top:-9px;left:43%;transform:rotate(-7deg);z-index:2;pointer-events:none}
.poster-link::after{position:absolute;content:'';right:0;bottom:0;width:20px;height:20px;background:linear-gradient(135deg,transparent 45%,#d7ddde 48%,#fff 70%);pointer-events:none;z-index:2}
.poster-link img{width:100%;height:auto}
.poster-item:focus-within{z-index:4}
.poster-link:focus-visible{outline:3px solid var(--accent);outline-offset:8px;transform:rotate(0deg)}
.poster-zoom{position:absolute;right:16px;bottom:17px;background:#fafaf5f2;color:var(--ink);font-size:10px;font-weight:700;padding:8px 10px;border-radius:3px;box-shadow:0 2px 6px #0002;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.poster-link:focus-visible .poster-zoom{opacity:1;transform:none}
.poster-item figcaption{padding:28px 5px 0}
.story-topic{display:block;font-size:9px;font-weight:700;letter-spacing:1.4px;color:var(--accent);line-height:1.5}
.home-page .poster-item h3{font-size:24px;line-height:1.14;letter-spacing:-.5px;margin-top:9px}
.poster-item figcaption>p{font-size:14px;line-height:1.6;color:var(--muted);margin-top:10px;max-width:405px}
.stories-reading-link{display:inline-flex;align-items:center;gap:27px;padding:14px 0 10px;margin:35px 0 0 25px;border-bottom:2px solid var(--accent);font-size:14px;font-weight:700}
.stories-reading-link>span{font-size:22px;color:var(--accent)}
.stories-reading-link:hover{color:var(--accent)}
.home-page .intro-grid{gap:90px}
.home-page .prose p{font-size:15px;line-height:1.8}
.home-page .prose .lead{font-family:var(--serif);font-size:26px;line-height:1.35;letter-spacing:-.4px}
.intro-quote{border:0;background:#e9f0e9;padding:42px 12%;margin-top:55px;border-radius:5px}
.intro-quote p{font-size:30px}
.quote-mark{color:var(--accent);left:25px}
.intro-quote cite{font-size:9px;font-weight:700;letter-spacing:1.5px}
.home-page .places{padding-top:0}
.place-grid{margin-top:0;gap:0 70px}
.place-item{border-top:1px solid var(--line);border-bottom:0;padding:28px 0}
.place-number{font-family:var(--sans);color:var(--accent);font-weight:700}
.home-page .place-item h3{font-size:23px;line-height:1.2}
.place-item p{font-size:14px;line-height:1.7}
.reading{background:#142e3d}
.reading .section-label>span{background:var(--yellow);color:var(--ink)}
.home-page .reading h2 em{color:var(--yellow)}
.reading .section-heading>p{font-size:15px;color:#d0dfe4}
.reading-tabs{font-size:14px;gap:32px;margin-top:40px}
.reading-tabs>button[aria-selected=true]::after{background:var(--yellow);height:3px}
.reading-tabs>button{padding-block:5px 17px}
.excerpt-paper{background:#fffefa;border:0;border-radius:5px;box-shadow:none}
.paper-top{font-size:9px}
.excerpt-body{min-height:345px}
.excerpt-body h3{font-family:var(--serif);font-size:34px}
.reader-open{font-size:12px;min-height:42px}
.excerpt-controls button{width:40px;height:40px}
.reading-credit{font-size:10px}
.author-grid{gap:90px}
.author-photo{padding:9px 9px 0;background:white;border:0;box-shadow:0 13px 20px -10px #142e3640;transform:rotate(-2deg)}
.author-photo figcaption{font-size:10px;padding:15px 8px}
.author-signature{font-family:var(--sans);font-style:normal;font-weight:700;font-size:22px;letter-spacing:-.4px}
.find-book{background:var(--yellow);border:0}
.find-book .eyebrow{font-weight:700}
.home-page .find-book h2{font-size:clamp(43px,4.6vw,65px)}
.home-page .find-book h2 em{color:var(--ink)}
.find-book p:not(.eyebrow):not(.amazon-note){color:#34474a;font-size:15px}
.find-book .button-dark{background:var(--ink)}
.find-book .button-dark:hover{background:var(--accent)}
.find-book .amazon-note{color:#35474b;font-size:10px}
.share-button{font-size:13px;border-color:var(--ink)}
.find-ornament{border:0;border-radius:4px;background:var(--ink);color:white;aspect-ratio:1/1;transform:rotate(5deg);padding:25px;max-width:305px}
.find-ornament::before{display:none}
.ornament-star{color:var(--yellow)}
.find-ornament>span:last-child{font-family:var(--sans);font-size:30px;font-style:normal;font-weight:700;letter-spacing:-.8px}
.site-footer{min-height:125px;font-size:11px;gap:30px}
.footer-title{font-family:var(--sans);font-weight:700;letter-spacing:-.4px;font-size:23px}
.footer-title>span{font-size:8px}
.privacy-open,.privacy-link{font-size:11px}
.back-top{border-radius:4px;border-color:var(--ink)}
.poster-dialog{width:min(1120px,96vw);max-width:96vw;max-height:94dvh;border-radius:5px;background:#10232c;color:white;overflow:auto;padding:0}
.poster-toolbar{position:sticky;top:0;z-index:3;background:#10232cf5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;border-bottom:1px solid #ffffff2b}
.home-page .poster-toolbar h2{font-family:var(--sans);font-size:18px;letter-spacing:-.2px;line-height:1.3;max-width:85%}
.poster-toolbar .dialog-close{color:white;min-height:36px;gap:12px;font-size:12px;flex-shrink:0}
.poster-toolbar .dialog-close:hover{color:var(--yellow)}
.poster-view{padding:20px 24px 0}
.poster-view img{width:auto;max-width:100%;max-height:calc(94dvh - 222px);height:auto;object-fit:contain;margin:auto}
.poster-view figcaption{font-size:13px;line-height:1.55;color:#d5e2e5;max-width:780px;margin:16px auto 0;text-align:center}
.poster-controls{display:flex;align-items:center;justify-content:center;gap:25px;padding:17px 24px 20px}
.poster-controls button{width:44px;height:44px;border:1px solid #ffffff70;border-radius:50%;font-size:22px}
.poster-controls button:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.poster-controls span{min-width:45px;text-align:center;font-size:12px;font-weight:700;letter-spacing:1px}
@media(hover:hover){.poster-link:hover{transform:rotate(0deg) translateY(-5px);box-shadow:0 22px 30px -12px #142e3660,0 3px 7px #142e3620}.poster-link:hover .poster-zoom{opacity:1;transform:none}}
@media(max-width:1100px){
  .site-header{width:calc(100% - 64px)}
  .section-shell{width:calc(100% - 80px)}
  .hero{gap:35px;min-height:660px}
  .home-page h1{font-size:clamp(70px,8vw,94px);letter-spacing:-4px}
  .book-stage{height:430px}
  .memory-seal{width:85px;height:85px;right:-5px;top:10px}
  .memory-seal strong{font-size:31px}
  .poster-wall{gap:90px 70px;padding-inline:14px}
  .poster-pesci{margin-top:120px}
  .home-page .poster-item h3{font-size:22px}
  .author-grid,.home-page .intro-grid{gap:55px}
  .primary-nav{gap:20px;font-size:12px}
}
@media(max-width:800px){
  .site-header{height:88px;position:relative}
  .brand{font-size:21px}
  .menu-toggle{display:flex;min-height:44px;align-items:center}
  .primary-nav{background:var(--paper);border-color:var(--line);top:87px;font-size:15px;padding:22px 25px;z-index:20;box-shadow:0 18px 25px #142e3617}
  .primary-nav .nav-reading{margin:4px 0 0;padding:15px 18px}
  .hero{gap:25px;padding-top:48px;min-height:620px}
  .home-page h1{font-size:67px;letter-spacing:-3.5px}
  .hero-tagline{font-size:22px}
  .hero-description{font-size:14px}
  .hero-actions{gap:20px;flex-wrap:wrap}
  .hero .eyebrow{font-size:8px;letter-spacing:1px}
  .book-stage{height:365px}
  .memory-seal{width:73px;height:73px;right:-10px}
  .memory-seal span{font-size:8px}
  .memory-seal strong{font-size:28px}
  .memory-strip{gap:20px;font-size:11px;padding-inline:20px;flex-wrap:wrap;justify-content:center}
  .memory-strip i{font-size:21px}
  .memory-strip span:last-child{display:none}
  .memory-strip span:nth-of-type(2){display:inline}
  .memory-strip i:last-of-type{display:none}
  .stories-heading{align-items:start;gap:25px}
  .stories-heading>div{font-size:14px;max-width:260px}
  .wall-hint{font-size:11px}
  .poster-wall{gap:80px 48px;padding-inline:10px}
  .poster-pesci{margin-top:85px}
  .poster-scarpon{width:95%;margin-top:-25px}
  .poster-fenice{width:100%;margin-left:8px}
  .home-page .poster-item h3{font-size:20px}
  .poster-item figcaption>p{font-size:13px}
  .story-topic{font-size:8px;letter-spacing:1px}
  .find-grid{gap:45px;grid-template-columns:1.5fr 1fr}
  .find-ornament>span:last-child{font-size:23px}
  .site-footer{flex-wrap:wrap;gap:24px}
  .poster-view img{max-height:calc(94dvh - 240px)}
}
@media(max-width:700px){
  .section-shell{width:calc(100% - 44px)}
  .site-header{width:calc(100% - 40px);height:83px;gap:14px}
  .brand{font-size:19px;gap:9px;letter-spacing:-.4px}
  .brand-symbol{width:29px;height:29px}
  .brand small{font-size:6px;letter-spacing:1.2px}
  .primary-nav{top:82px;left:-1px;right:-1px}
  .home-page .section-space{padding-block:61px}
  .hero{display:flex;flex-direction:column;gap:35px;padding-top:35px;padding-bottom:45px;min-height:0}
  .hero-copy{padding-inline:0}
  .hero .eyebrow{font-size:9px;letter-spacing:1px;gap:10px}
  .home-page h1{font-size:clamp(63px,15.7vw,92px);line-height:.98;letter-spacing:-3.6px;margin-top:25px}
  .volume-label{margin-top:20px;font-size:9px;padding:6px 9px}
  .hero-tagline{font-size:24px;line-height:1.18;margin-top:23px}
  .hero-description{font-size:15px;max-width:420px;line-height:1.65}
  .hero-actions{gap:23px;flex-direction:row;margin-top:25px}
  .button{font-size:12px;padding:16px 19px;gap:22px}
  .quiet-link{font-size:12px}
  .hero-signature{margin-top:23px;font-size:10px}
  .hero-figure{max-width:360px;width:100%;align-self:center;padding:0 14px;margin-top:12px}
  .book-stage{height:405px}
  .book{width:73%;max-width:260px}
  .stage-page{width:74%;max-width:260px;opacity:.5}
  .stage-page-left{right:24%;top:2px;transform:rotate(-10deg)}
  .stage-page-right{left:22%;top:12px;transform:rotate(10deg)}
  .memory-seal{right:-5px;top:12px;width:85px;height:85px}
  .memory-seal span{font-size:9px}
  .memory-seal strong{font-size:32px}
  .hero-figure figcaption{font-size:9px;margin-top:24px}
  .memory-strip{gap:13px;min-height:62px;font-size:9px;letter-spacing:.8px;padding:15px 14px}
  .memory-strip i{font-size:19px}
  .home-page h2{font-size:43px;letter-spacing:-1.8px;line-height:1.06}
  .section-label{font-size:8px;letter-spacing:1.2px;gap:12px;margin-bottom:28px}
  .section-label>span{width:26px;height:26px;font-size:9px}
  .stories-heading{display:block;margin-bottom:42px}
  .stories-heading>div{font-size:14px;max-width:360px;margin-top:24px}
  .wall-hint{margin-top:14px!important;font-size:11px}
  .poster-wall{display:flex;flex-direction:column;gap:53px;padding:5px 9px 15px}
  .poster-item{width:92%;max-width:470px;margin:0;align-self:start}
  .poster-interprete{--tilt:-1.7deg}
  .poster-pesci{width:92%;max-width:470px;align-self:center;--tilt:1.5deg}
  .poster-scarpon{align-self:end;--tilt:-1.5deg}
  .poster-fenice{align-self:start;--tilt:1.7deg}
  .poster-link{padding:5px}
  .poster-link::before{width:46px;height:15px;top:-7px}
  .poster-item figcaption{padding:23px 3px 0}
  .home-page .poster-item h3{font-size:22px;line-height:1.15}
  .story-topic{font-size:9px;letter-spacing:1.1px}
  .poster-item figcaption>p{font-size:14px;line-height:1.55;max-width:360px}
  .stories-reading-link{font-size:13px;line-height:1.5;gap:18px;margin:30px 9px 0;padding-top:9px}
  .home-page .intro-grid{display:block}
  .home-page .intro-grid h2{font-size:43px}
  .intro-prose{margin-top:28px}
  .home-page .prose p{font-size:15px;line-height:1.75}
  .home-page .prose .lead{font-size:25px}
  .intro-quote{padding:32px 24px;margin-top:35px}
  .intro-quote p{font-size:26px;line-height:1.3}
  .intro-quote cite{font-size:8px}
  .home-page .places{padding-top:0}
  .section-heading{display:block;margin-bottom:28px}
  .section-heading>p{font-size:14px;line-height:1.7;margin-top:20px}
  .place-grid{display:block}
  .place-item{gap:16px;padding-block:25px}
  .home-page .place-item h3{font-size:23px}
  .place-item p{font-size:14px}
  .reading .section-heading>p{font-size:14px}
  .reading-tabs{gap:23px;font-size:12px;margin-top:29px}
  .excerpt-paper{padding:21px 19px 16px}
  .paper-top{font-size:7px;letter-spacing:.7px}
  .excerpt-body{min-height:0;margin-block:25px}
  .excerpt-body h3{font-size:29px}
  .excerpt-text{font-size:19px;line-height:1.65}
  .paper-bottom{gap:8px}
  .reader-open{font-size:10px;line-height:1.4}
  .excerpt-controls{gap:8px}
  .excerpt-controls button{width:36px;height:36px}
  .reading-credit{font-size:9px}
  .author-grid{display:flex;flex-direction:column-reverse;gap:37px}
  .author-photo{width:94%;max-width:390px;padding:8px 8px 0;align-self:center}
  .author-copy h2{font-size:49px}
  .author-photo figcaption{font-size:9px;padding:13px 6px}
  .author-signature{font-size:21px}
  .find-grid{display:block}
  .home-page .find-book h2{font-size:46px;letter-spacing:-1.8px}
  .find-book .eyebrow{font-size:9px;letter-spacing:1px}
  .find-actions{gap:18px;align-items:flex-start}
  .find-actions .button{font-size:12px;gap:25px}
  .find-book .amazon-note{font-size:9px}
  .find-ornament{display:none}
  .site-footer{padding-block:32px;gap:22px 17px}
  .footer-title{font-size:22px;flex-basis:calc(100% - 60px)}
  .copyright,.privacy-link,.privacy-open{font-size:9px}
  .poster-dialog{width:96vw;max-width:96vw;max-height:95dvh}
  .poster-toolbar{padding:13px 15px;gap:12px}
  .home-page .poster-toolbar h2{font-size:15px;max-width:76%;line-height:1.25;letter-spacing:-.1px}
  .poster-toolbar .dialog-close{font-size:10px;gap:6px}
  .poster-view{padding:15px 12px 0}
  .poster-view img{max-height:calc(95dvh - 240px)}
  .poster-view figcaption{font-size:12px;line-height:1.45;margin-top:13px}
  .poster-controls{padding:14px 16px 17px}
  .policy-header .brand{font-size:17px}
  .policy-header .brand small{font-size:5px}
  .policy-return{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.poster-link,.poster-zoom{transition:none}.poster-link:hover{transform:rotate(var(--tilt))}}
