/* Author hero, tour photo reports and the events archive invitation. */
.author-hero{position:relative;isolation:isolate;overflow:hidden;padding:146px 0 88px;background:radial-gradient(ellipse at 4% 22%,rgba(51,128,130,.22),transparent 55%),linear-gradient(125deg,#0d404f,#082430 78%);border-bottom:1px solid var(--line)}
.author-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(240,228,193,.025) 50%,transparent 50.1%);background-size:160px 100%;pointer-events:none}
.author-hero--secondary{padding-top:88px}
.author-hero__grid{display:grid;grid-template-columns:1.04fr 1fr;gap:76px;align-items:center}
.author-hero__eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:0 0 23px;line-height:1.6}
.author-hero__eyebrow>span{width:25px;height:1px;background:var(--gold);flex-shrink:0}
#top .author-hero__title{font-size:clamp(66px,7.7vw,112px);font-weight:600;line-height:1.02;letter-spacing:1px;text-transform:uppercase;color:var(--cream);max-width:7.5ch;margin:0 0 25px;text-wrap:balance}
.author-hero__lead{font-size:19px;line-height:1.6;max-width:440px;color:var(--cream);margin:0 0 16px}
.author-hero__description{font-size:14px;line-height:1.85;color:#b5c7c8;max-width:470px;margin:0}
.author-hero__actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:28px 0 32px}
.author-hero__actions .btn{gap:25px;padding:15px 24px}
.author-hero__actions .btn>span{font:22px var(--font-body);line-height:1}
.author-hero__about{font-family:var(--font-display);font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--cream);padding-block:12px;border-bottom:1px solid rgba(240,228,193,.4);transition:color .2s,border-color .2s}
.author-hero__about:hover{color:var(--gold);border-color:var(--gold)}
.author-hero__stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(240,228,193,.22);padding-top:24px;gap:16px}
.author-hero__stats b{display:block;font-family:var(--font-display);font-size:32px;font-weight:500;line-height:1.1;color:var(--gold)}
.author-hero__stats span{display:block;font-size:10px;letter-spacing:1.2px;line-height:1.6;text-transform:uppercase;color:#b5c7c8;margin-top:8px}
.author-hero__note{font-size:11px;line-height:1.8;color:#9db4b8;margin:20px 0 0;max-width:450px}
.author-hero__visual{position:relative;padding:0 18px 18px 0;min-width:0}
.author-hero__visual::before{content:"";position:absolute;inset:25px 0 0 25px;border:1px solid rgba(221,179,104,.45);border-radius:2px;z-index:-1}
.author-hero__photo{position:relative;overflow:hidden;border-radius:2px 76px 2px 2px;background:var(--deep);box-shadow:0 32px 80px -40px rgba(0,0,0,.55)}
#top .author-hero__photo>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:65% center}
.author-hero__photo::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(8,36,48,.92));pointer-events:none}
.author-hero__photo-label{position:absolute;z-index:1;left:28px;right:24px;bottom:28px;display:flex;align-items:center;gap:16px}
.author-hero__photo-label>span{font-family:var(--font-display);font-size:38px;line-height:1;color:var(--gold);padding-right:16px;border-right:1px solid rgba(221,179,104,.55)}
.author-hero__photo-label>p{font-family:var(--font-display);font-size:12px;line-height:1.65;letter-spacing:1.5px;text-transform:uppercase;color:var(--cream);max-width:200px;margin:0}
.author-hero__corner{position:absolute;right:-6px;bottom:-13px;font:36px var(--font-body);font-weight:200;color:var(--gold)}
.author-hero--text .author-hero__grid{grid-template-columns:1fr}
.author-hero--text .author-hero__content{max-width:700px}
.author-hero--text .author-hero__title{max-width:none}
.book--locked .locked__num{display:block}
.tour-gallery{margin-top:40px;min-width:0}
.tour-gallery__heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
#top .tour-gallery__heading h3{font-size:18px;line-height:1.3;text-transform:uppercase;letter-spacing:1.8px;color:var(--cream)}
.tour-gallery__controls{display:flex;align-items:center;gap:8px}
.tour-gallery__count{font-family:var(--font-display);font-size:14px;letter-spacing:2px;font-variant-numeric:tabular-nums;color:var(--muted);margin-right:14px;white-space:nowrap}
.tour-gallery__count [data-gallery-current]{color:var(--gold)}
.tour-gallery__controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(240,228,193,.3);border-radius:50%;background:transparent;color:var(--cream);cursor:pointer;transition:color .2s,background .2s,border-color .2s}
.tour-gallery__controls button:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:var(--deep)}
.tour-gallery__controls button:disabled{opacity:.3;cursor:default}
.tour-gallery__controls svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tour-gallery__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:var(--radius-sm);scrollbar-width:thin;scrollbar-color:var(--teal) transparent;scroll-padding:0}
.tour-gallery__slide{position:relative;flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always;border-radius:var(--radius-sm);overflow:hidden;background:rgba(8,36,48,.2)}
#top .tour-gallery__slide img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.tour-gallery__slide figcaption{position:absolute;inset:auto 0 0;padding:54px 28px 24px;font-size:14px;line-height:1.6;color:#fff;background:linear-gradient(transparent,rgba(8,36,48,.85));pointer-events:none}
.tr--light .tour-gallery__heading h3{color:var(--dark)}
.tr--light .tour-gallery__count{color:#47626a}
.tr--light .tour-gallery__count [data-gallery-current]{color:var(--dark)}
.tr--light .tour-gallery__controls button{color:var(--dark);border-color:rgba(13,64,79,.3)}
.tour-archive-cta{padding:32px 0 88px;background:var(--deep)}
.tour-archive-cta__card{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid rgba(221,179,104,.3);border-radius:var(--radius);background:linear-gradient(135deg,#104555,#082d39)}
.tour-archive-cta__content{padding:56px 48px;align-self:center}
.tour-archive-cta__eyebrow{font-family:var(--font-display);font-size:12px;line-height:1.6;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin:0 0 20px}
#top .tour-archive-cta h2{font-size:clamp(32px,3.6vw,48px);line-height:1.12;text-transform:uppercase;color:var(--cream);max-width:420px}
#top .tour-archive-cta__text{font-size:14px;line-height:1.9;color:#b5c7c8;max-width:430px;margin:22px 0 28px}
.tour-archive-cta .btn{gap:20px;white-space:normal;text-align:center}
.tour-archive-cta__photo{position:relative;min-width:0;min-height:360px}
#top .tour-archive-cta__photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.tour-archive-cta__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,45,57,.35),transparent 40%)}
.tour-archive-cta__card--text{grid-template-columns:1fr}
.tour-archive-cta__card--text .tour-archive-cta__content{max-width:800px}
@media(min-width:1600px){.author-hero{padding-top:166px;padding-bottom:108px}}
@media(max-width:1050px){.author-hero__grid{gap:44px}.author-hero__eyebrow{font-size:11px;letter-spacing:1.3px}.author-hero__actions{gap:20px}.tour-archive-cta__content{padding:40px 32px}}
@media(max-width:760px){
 .author-hero{padding:110px 0 64px}.author-hero--secondary{padding-top:64px}.author-hero__grid{grid-template-columns:1fr;gap:42px}#top .author-hero__title{font-size:clamp(40px,13vw,84px);max-width:100%;letter-spacing:0;margin-bottom:22px;white-space:nowrap;text-wrap:nowrap}.author-hero__eyebrow{font-size:10px;margin-bottom:22px;gap:10px}.author-hero__lead{font-size:18px;max-width:480px}.author-hero__description{font-size:14px}.author-hero__actions{margin:26px 0 30px;gap:22px}.author-hero__actions .btn{padding:14px 20px;gap:20px}.author-hero__stats{padding-top:22px;gap:12px}.author-hero__stats b{font-size:30px}.author-hero__stats span{font-size:9px;letter-spacing:.8px}.author-hero__note{font-size:10px}.author-hero__visual{max-width:520px;width:100%;justify-self:center;padding:0 14px 14px 0}#top .author-hero__photo>img{aspect-ratio:1/1;object-position:center}.author-hero__photo{border-top-right-radius:52px}.author-hero__photo-label{left:22px;bottom:22px}.author-hero__photo-label>span{font-size:32px}.author-hero__photo-label>p{font-size:10px;max-width:180px}.author-hero__corner{right:-5px;bottom:-12px;font-size:30px}
 .tour-gallery{margin-top:30px}.tour-gallery__heading{gap:12px}#top .tour-gallery__heading h3{font-size:15px;letter-spacing:1px}.tour-gallery__count{font-size:12px;letter-spacing:1px;margin-right:4px}.tour-gallery__controls{gap:6px}.tour-gallery__controls button{width:40px;height:40px}.tour-gallery__slide figcaption{font-size:12px;padding:30px 16px 14px}
 .tour-archive-cta{padding:16px 0 64px}.tour-archive-cta__card{grid-template-columns:1fr}.tour-archive-cta__content{padding:34px 24px 38px}.tour-archive-cta__eyebrow{font-size:10px;margin-bottom:18px}#top .tour-archive-cta h2{font-size:34px}#top .tour-archive-cta__text{margin:18px 0 24px}.tour-archive-cta__photo{min-height:0;aspect-ratio:16/9}.tour-archive-cta__photo::after{background:linear-gradient(180deg,rgba(8,45,57,.25),transparent 40%)}
}
@media(prefers-reduced-motion:reduce){.tour-gallery__track{scroll-behavior:auto}}
@media(max-width:760px){
 .author-hero__grid{row-gap:0}.author-hero__content{display:contents}
 .author-hero__eyebrow{order:1}.author-hero__title{order:2}.author-hero__lead{order:3}
 .author-hero__actions{order:4;margin:12px 0 32px}.author-hero__visual{order:5;margin-bottom:32px}
 .author-hero__description{order:6;margin-bottom:26px}.author-hero__stats{order:7}.author-hero__note{order:8}
 .author-hero__stats b{font-size:clamp(23px,6.4vw,30px);white-space:nowrap}
 .author-hero__stats span{letter-spacing:.5px}
}
@media(max-width:360px){
 .books__grid{grid-template-columns:minmax(0,1fr)}
 .book{min-width:0;grid-template-columns:96px minmax(0,1fr);column-gap:12px;padding:14px}
 .book__body{min-width:0}.book__title{overflow-wrap:anywhere}
 .book--locked{padding:0}.locked{padding:24px 14px}.locked__title{font-size:26px;letter-spacing:2px}
}
