/* Research spotlights extend the established light academic atlas. */
.python-feature{background:#edf3ed}.python-feature-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.python-feature h2{font-size:58px;margin:22px 0 24px}.python-feature p{font-size:19px;line-height:1.85;max-width:560px;margin-bottom:29px;color:#425d60}.spotlight-caption{font-size:11px;color:#5d736a;margin-top:20px}.computation-plate{background:#fafbf6;border:1px solid #b9cec0;padding:29px 32px;box-shadow:10px 10px 0 #dfe8dc;position:relative}.computation-heading{font:10px/1.5 var(--sans);letter-spacing:.12em;color:#44665b;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #cbd9ca;padding-bottom:20px}.computation-heading>span:last-child{font:30px/1 var(--serif);color:#a26645}.computation-step{display:flex;gap:23px;align-items:flex-start;margin:24px 0;position:relative}.computation-number{font:13px/1.5 var(--sans);color:#a16444;margin-top:3px;width:22px;flex:none}.computation-step:after{content:'';position:absolute;left:9px;top:30px;bottom:-18px;width:1px;background:#c5d5c5}.computation-step:nth-last-child(2):after{display:none}.computation-step small{display:block;font:9px/1.5 var(--sans);letter-spacing:.12em;color:#657d70;margin-bottom:4px}.computation-step strong{display:block;font:29px/1.3 var(--serif);color:#234940;letter-spacing:-.02em}.computation-step p{font-size:12px;line-height:1.7;margin:6px 0 0;color:#576f67}.computation-foot{display:flex;justify-content:space-between;font:8px/1.7 var(--sans);letter-spacing:.08em;border-top:1px solid #cbd9ca;padding-top:18px;margin-top:26px;color:#516f60}.computation-foot span{color:#a16444}.python-hero .breadcrumb{margin-bottom:28px}.python-hero h1{font-size:clamp(44px,4.8vw,67px)}.python-hero .lead{font-size:19px}.python-hero-meta{display:flex;align-items:center;gap:19px;border-top:1px solid #c5d6c7;padding-top:20px;margin-top:28px;max-width:410px}.python-hero-meta strong{font:48px/1 var(--serif);color:#236763}.python-hero-meta span{font-size:12px;line-height:1.75;color:#526b62}.python-reading-guide{border-block:1px solid #c5d4ca;display:flex;gap:45px;align-items:center;padding:24px 0;margin-top:50px}.python-reading-guide .eyebrow{font-size:10px;flex-shrink:0}.python-reading-guide p{font:24px/1.5 var(--serif);color:#355c50}.python-studies{background:#fafbf7}.python-study{display:grid;grid-template-columns:75px minmax(0,1fr);gap:30px;border-top:1px solid #bacfc3;padding:38px 0 43px}.python-study-index>span{font:39px/1.3 var(--serif);color:#749484}.python-study-index small{display:block;font-size:12px;color:#576f62;margin-top:10px}.python-study-content .eyebrow{font-size:10px;letter-spacing:.08em}.python-study h3{font-size:31px;line-height:1.35;margin:15px 0 15px;max-width:1010px}.python-authors{font-size:12px;line-height:1.8;color:#5b746a;max-width:970px}.study-explanation{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:30px 0 24px}.study-explanation>div+div{border-left:2px solid #c3d2bd;padding-left:26px}.study-explanation h4{font:11px/1.7 var(--sans);text-transform:uppercase;letter-spacing:.08em;color:#497266;margin-bottom:12px}.study-explanation p{font:19px/1.85 var(--serif);color:#2c4949;max-width:650px}.python-study-source{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.python-study-source a{font-size:13px}.python-study-source>span{font-size:10px;color:#63776d;overflow-wrap:anywhere}.python-next{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:center}.python-next h2{font-size:42px;margin:22px 0}.python-next p{font-size:18px;color:#526960;line-height:1.85}.python-next-links{display:flex;flex-direction:column;gap:17px}.python-next-links a{justify-content:space-between;font-size:15px}.research-python-link{padding:23px 28px;margin:0 0 35px;border:1px solid #b4cabb;background:#f1f5ed;display:flex;align-items:center;justify-content:space-between;gap:30px}.research-python-link p{font:24px/1.4 var(--serif);color:#355e50}.research-python-link .eyebrow{font-size:10px;margin-bottom:7px}.research-python-link a{font-size:14px;white-space:nowrap}.ranking-section{background:#f2f5ee}.ranking-section h2{font-size:43px;margin:20px 0}.ranking-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:start}.ranking-intro>p{font-size:18px;line-height:1.85;color:#49645a}.ranking-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #bdd0bd;background:#fbfcf7}.ranking-stat{padding:28px 20px;border-right:1px solid #ccd9c7;text-align:center}.ranking-stat:last-child{border:0}.ranking-stat strong{display:block;font:52px/1.1 var(--serif);color:#2b6354}.ranking-stat span{display:block;font-size:11px;line-height:1.7;margin-top:12px;color:#536e61}.ranking-details{font-size:12px;line-height:1.9;color:#586e63;margin-top:17px}.ranking-details p{margin-top:8px}.ranking-details a{color:#236763;text-decoration:underline;text-underline-offset:3px}.ranking-badges{display:flex;gap:17px;flex-wrap:wrap;margin-top:23px}.ranking-badges span{font-size:11px;padding:9px 12px;border:1px solid #bacdb8;background:#fafcf4;color:#4b6857}.profile-links{display:flex;gap:17px;flex-wrap:wrap;margin-top:22px}.profile-links a{font-size:14px}
@media(max-width:1100px){.python-feature-grid{gap:40px}.python-feature h2{font-size:49px}.computation-plate{padding:24px}.computation-step strong{font-size:26px}.ranking-layout{gap:35px}.ranking-stat{padding:25px 14px}.ranking-stat strong{font-size:45px}.python-hero h1{font-size:48px}}
@media(max-width:760px){.python-feature-grid,.ranking-layout,.python-next{grid-template-columns:1fr;gap:35px}.python-feature h2{font-size:43px;margin:18px 0 21px}.python-feature p{font-size:18px}.computation-plate{padding:22px;box-shadow:6px 6px 0 #dfe8dc}.computation-heading{font-size:8px;padding-bottom:15px}.computation-step{gap:17px;margin:20px 0}.computation-step strong{font-size:25px}.computation-step p{font-size:11px}.computation-foot{font-size:7px;letter-spacing:0}.spotlight-caption{font-size:10px}.python-hero h1{font-size:42px}.python-hero .lead{font-size:18px}.python-hero-meta{margin-top:25px}.python-reading-guide{display:block;margin-top:30px}.python-reading-guide p{font-size:23px;margin-top:12px}.python-study{grid-template-columns:30px minmax(0,1fr);gap:15px;padding:29px 0 32px}.python-study-index>span{font-size:25px}.python-study-index small{font-size:10px}.python-study-content .eyebrow{font-size:9px}.python-study h3{font-size:26px;line-height:1.4;margin:12px 0}.python-authors{font-size:11px}.study-explanation{grid-template-columns:1fr;gap:24px;margin-top:23px}.study-explanation>div+div{padding-left:17px}.study-explanation p{font-size:19px;line-height:1.8}.study-explanation h4{font-size:10px;margin-bottom:9px}.python-study-source{gap:12px 20px}.python-study-source a{font-size:12px}.python-study-source>span{font-size:9px;display:block;width:100%}.python-next h2,.ranking-section h2{font-size:35px}.python-next p,.ranking-intro>p{font-size:18px}.python-next-links a{font-size:14px}.research-python-link{display:block;padding:22px;margin-bottom:28px}.research-python-link p{font-size:23px}.research-python-link a{font-size:13px;margin-top:14px;white-space:normal}.ranking-stat{padding:22px 9px}.ranking-stat strong{font-size:37px}.ranking-stat span{font-size:10px}.ranking-details{font-size:11px}.ranking-badges{gap:10px}.ranking-badges span{font-size:10px}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.python-inline-link{margin-top:22px!important}.python-inline-link a{font:15px/1.7 var(--sans)}
.book-purchase-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}.book-info .amazon-link{font-size:12px;padding:7px 0;gap:8px}.book-purchase-links .arrow{width:16px}.book-info .book-purchase-links .button{margin:0}
.book-finder{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px;border-bottom:1px solid #c7d8cc;padding-bottom:26px}.book-finder>div{width:min(580px,75%)}.book-finder input{width:100%;padding:10px 16px}.book-finder p{font-size:13px;color:#536d60;margin-bottom:13px}.book-card[hidden]{display:none}.book-finder .input-label{margin-bottom:10px;display:block}@media(max-width:760px){.book-finder{display:block}.book-finder>div{width:100%}.book-finder p{margin:12px 0 0;font-size:12px}}
.python-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:28px;border:1px solid #c7d7c8}.python-paths a{padding:23px 24px;border-right:1px solid #c7d7c8;background:#f5f8f0;transition:background .2s}.python-paths a:last-child{border-right:0}.python-paths a:hover{background:#eaf1e6}.python-paths span{display:block;font:9px/1.7 var(--sans);letter-spacing:.08em;color:#786944}.python-paths strong{display:block;font:25px/1.3 var(--serif);color:#325c4b;margin:13px 0}.python-paths small{font:11px/1.8 var(--sans);color:#526e60}@media(max-width:760px){.python-paths{grid-template-columns:1fr}.python-paths a{border-right:0;border-bottom:1px solid #c7d7c8;padding:22px}.python-paths a:last-child{border-bottom:0}.python-paths strong{font-size:25px}}
.recognition-preview{display:block;margin-top:28px;max-width:450px;border-top:1px solid #bfd0c4;padding-top:19px}.recognition-preview>span{font:9px/1.8 var(--sans);letter-spacing:.1em;color:#7f694a}.recognition-preview strong{display:block;font:23px/1.5 var(--serif);color:#37644e;margin:4px 0}.recognition-preview small{display:block;font:10px/1.8 var(--sans);color:#536d61}.recognition-preview:hover strong{text-decoration:underline;text-underline-offset:4px}
.book-cover-window{position:relative;overflow:hidden;aspect-ratio:17/25;width:135px;max-width:100%;box-shadow:4px 8px 17px #24413726}.book-stage .book-cover-window img.cover{position:absolute;right:0;top:0;width:auto;max-width:none;height:100%;object-fit:fill;box-shadow:none;transform:none}@media(max-width:760px){.book-cover-window{width:90px}}
