:root{--gold:#e9c476;--cream:#f5eee2;--navy:#050e16;--line:rgba(231,189,106,.66)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#070e13;color:var(--cream);font-family:Georgia,'Times New Roman',serif}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}.site-header{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:90px;padding:12px clamp(22px,3.5vw,65px);border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(1,7,12,.96),rgba(3,13,23,.88)),url('assets/sky.jpg') center/cover}.brand{display:flex;flex-direction:column;white-space:nowrap}.brand span{font-size:clamp(22px,2.2vw,36px);color:var(--gold);line-height:1.05}.brand em{font-size:clamp(13px,1.3vw,22px);margin-top:4px}nav{display:flex;gap:clamp(13px,2.1vw,38px);align-items:center}nav a{font-size:clamp(13px,1.23vw,20px);white-space:nowrap;padding:12px 0;border-bottom:4px solid transparent}nav a.active{color:var(--gold);border-color:var(--gold)}.menu-toggle{display:none;color:var(--gold);background:none;border:1px solid var(--line);font-size:25px;padding:4px 12px}.home-hero{min-height:650px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(2,10,17,.96) 0%,rgba(2,10,17,.78) 33%,rgba(2,10,17,.15) 68%),url('assets/stonehenge-sky.jpg') center 49%/cover no-repeat;border-bottom:1px solid var(--line)}.hero-copy{width:min(930px,95%);padding:70px 0 65px clamp(24px,3.7vw,75px);text-shadow:0 2px 8px #07111a}.hero-copy h1{font-size:clamp(44px,6.1vw,105px);font-weight:400;line-height:1.06;letter-spacing:1px;margin:0;white-space:nowrap}.hero-subtitle{font-style:italic;font-size:clamp(28px,3.5vw,58px);margin:7px 0 26px}.gold-rule{height:2px;background:var(--gold);width:min(580px,85%);margin-bottom:24px}.hero-lead{font-size:clamp(24px,2.3vw,38px);max-width:780px;line-height:1.18;margin:0 0 25px}.hero-description{font-size:clamp(17px,1.5vw,24px);max-width:720px;line-height:1.35;margin-bottom:36px}.outline-button{display:inline-block;border:2px solid var(--gold);padding:13px 30px;color:var(--gold);font-size:22px;background:rgba(2,8,13,.35)}.outline-button:hover{background:var(--gold);color:#061018}.quick-links{display:grid;grid-template-columns:repeat(6,1fr);background:linear-gradient(rgba(0,0,0,.83),rgba(0,0,0,.94)),url('assets/stonehenge-sky.jpg') center bottom/cover;padding:28px 30px 35px;border-bottom:1px solid var(--line)}.quick-link{text-align:center;padding:0 12px;min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--gold)}.quick-link:last-child{border:0}.quick-icon{color:var(--gold);font-size:42px;line-height:1.15}.quick-title{color:var(--gold);font-size:clamp(16px,1.4vw,23px);margin-top:8px}.quick-caption{font-size:clamp(12px,1.03vw,17px);font-style:italic;color:#e8d39c;margin-top:4px}.interior{min-height:calc(100vh - 180px);background:linear-gradient(90deg,rgba(2,9,16,.94),rgba(3,14,24,.83)),url('assets/sky.jpg') center/cover fixed;padding:70px clamp(24px,8vw,150px) 100px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:14px}.interior h1{font-size:clamp(42px,5vw,78px);font-weight:normal;margin:12px 0 18px}.interior h2{font-size:30px;color:var(--gold);font-weight:normal}.interior p{font-size:clamp(18px,1.6vw,23px);line-height:1.55;max-width:870px}.interior .intro{font-size:clamp(23px,2vw,30px);font-style:italic}.interior hr{border:0;border-top:1px solid var(--line);max-width:850px;margin:35px 0}.book-layout{display:grid;grid-template-columns:minmax(200px,350px) minmax(280px,700px);gap:clamp(25px,5vw,80px);align-items:start}.book-layout img{width:100%;box-shadow:0 20px 60px #000;border:1px solid var(--line)}.note{font-size:15px!important;color:#d3c4a9}.site-footer{padding:22px 5%;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;background:#05090d;color:#c8bda8;font-size:14px}.site-footer a{color:var(--gold)}@media(max-width:1100px){.site-header{flex-wrap:wrap}.brand{margin-right:auto}nav{width:100%;justify-content:center;gap:20px}.home-hero{min-height:600px}.quick-links{grid-template-columns:repeat(3,1fr);row-gap:22px}.quick-link:nth-child(3){border-right:0}}@media(max-width:700px){.site-header{min-height:76px}.menu-toggle{display:block}nav{display:none;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:11px}.brand span{font-size:22px}.brand em{font-size:13px}.home-hero{min-height:660px;background-position:60% center}.hero-copy{padding:45px 22px;background:linear-gradient(90deg,rgba(1,7,13,.7),transparent)}.hero-copy h1{font-size:clamp(32px,8vw,53px);white-space:normal}.hero-subtitle{font-size:29px}.hero-lead{font-size:26px}.hero-description{font-size:18px}.quick-links{grid-template-columns:repeat(2,1fr);padding:18px 8px}.quick-link{border-right:0;border-bottom:1px solid var(--line);min-height:130px}.quick-link:nth-child(odd){border-right:1px solid var(--line)}.quick-link:nth-last-child(-n+2){border-bottom:0}.book-layout{grid-template-columns:1fr}.book-layout img{max-width:300px}.interior{padding-top:45px}}

/* Faithful desktop homepage: reference image is never cropped or zoomed. */
.reference-home{position:relative;width:100%;line-height:0;background:#02090e}.reference-image{display:block;width:100%;height:auto}.hotspot{position:absolute;display:block;z-index:2;outline-offset:2px}.hotspot:focus-visible{outline:3px solid #f5d17e;background:#e9c47622}.logo-hotspot{left:2%;top:0;width:24%;height:9%}.nav-home{left:40.5%;top:1%;width:5%;height:8%}.nav-subject{left:46.5%;top:1%;width:8%;height:8%}.nav-research{left:55%;top:1%;width:7%;height:8%}.nav-codes{left:62.5%;top:1%;width:11%;height:8%}.nav-book{left:79%;top:1%;width:7%;height:8%}.nav-about{left:87%;top:1%;width:7%;height:8%}.explore-hotspot{left:3.6%;top:67%;width:17.5%;height:6.5%}.tile-subject{left:2%;top:81%;width:16%;height:18%}.tile-research{left:18%;top:81%;width:16%;height:18%}.tile-codes{left:34%;top:81%;width:20%;height:18%}.tile-book{left:70%;top:81%;width:14%;height:18%}.tile-about{left:84%;top:81%;width:16%;height:18%}.on-home>.site-header,.on-home>.site-footer{display:none}.mobile-home{display:none}.text-link{color:var(--gold);text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.on-home>.site-header{display:flex}.reference-home{display:none}.mobile-home{display:block}.mobile-hero{padding:65px 22px 85px;min-height:620px;background:linear-gradient(90deg,rgba(1,8,15,.94),rgba(2,10,18,.52)),url('assets/stonehenge-sky.jpg') center/cover}.mobile-hero h1{font-weight:normal;font-size:clamp(29px,7.3vw,54px);margin:0}.mobile-strap{font-style:italic;font-size:clamp(17px,4.2vw,29px);white-space:nowrap}.mobile-hero hr{border:0;border-top:2px solid var(--gold);margin:30px 0}.mobile-hero p{font-size:20px;line-height:1.4}.mobile-hero .mobile-lead{font-size:27px}.mobile-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#070c10}.mobile-tiles a{min-height:125px;padding:30px 12px;text-align:center;border:1px solid #99783f;display:flex;flex-direction:column;justify-content:center;gap:8px}.mobile-tiles strong{font-size:19px;color:var(--gold);font-weight:normal}.mobile-tiles em{font-size:13px;color:#ead4a0}}

/* Desktop reference artwork is shown uncropped, unzoomed, and entirely within the viewport. */
@media(min-width:761px){
body.on-home{overflow:hidden;background:#02070b}
.reference-home{height:100dvh;width:min(100vw,177.586dvh);margin:0 auto;aspect-ratio:1648/928;position:relative;overflow:hidden}
.reference-image{width:100%;height:100%;object-fit:fill}
.home-top{position:absolute;top:0;left:0;right:0;height:9.8%;display:flex;align-items:center;justify-content:space-between;gap:1.5%;padding:0 3.3%;background:linear-gradient(90deg,rgba(0,7,12,.98),rgba(0,8,14,.92));border-bottom:1px solid var(--line);line-height:1.1}
.home-brand{display:flex;flex-direction:column;white-space:nowrap;flex-shrink:0}
.home-brand span{color:var(--gold);font-size:clamp(13px,2.08vw,36px)}
.home-brand em{color:var(--cream);font-size:clamp(10px,1.34vw,24px);margin-top:3px}
.home-nav{display:flex;width:auto;gap:clamp(12px,2.5vw,48px);align-items:center}
.home-nav a{font-size:clamp(11px,1.38vw,24px);padding:7px 0;border-bottom:3px solid transparent}
.home-nav a.active{color:var(--gold);border-bottom-color:var(--gold)}
.home-bottom{position:absolute;bottom:0;left:0;right:0;height:20.2%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:2% 2.5%;background:linear-gradient(rgba(3,8,9,.91),rgba(2,7,9,.97));border-top:1px solid var(--line);line-height:1.2}
.home-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-right:1px solid var(--gold);gap:.3em;min-width:0}
.home-tile:last-child{border-right:0}
.tile-icon{color:var(--gold);font-size:clamp(20px,3vw,48px)}
.home-tile strong{color:var(--gold);font-weight:normal;font-size:clamp(14px,1.48vw,25px)}
.home-tile em{color:#f3dba1;font-size:clamp(10px,1.1vw,19px)}
.explore-hotspot{left:3.6%;top:67%;width:17.5%;height:6.5%}
}
@media(max-width:760px){.home-top,.home-bottom{display:none}.mobile-strap{white-space:nowrap;font-size:clamp(14px,3.6vw,27px)}}

/* Full-viewport slideshow: images are not zoomed or cropped. */
.reference-home .hero-slides{position:absolute;inset:0;overflow:hidden}
.reference-home .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:0;transition:opacity 1.15s ease;display:block;pointer-events:none}
.reference-home .hero-slide.is-active{opacity:1}
.slide-controls{position:absolute;z-index:6;right:3.5%;bottom:22%;display:flex;align-items:center;gap:8px;line-height:1;background:rgba(2,8,14,.72);border:1px solid rgba(233,196,118,.6);border-radius:30px;padding:5px 8px;color:#f6dfb0}
.slide-controls button{background:none;border:0;color:#f2ce83;cursor:pointer;font-size:22px;min-width:29px;min-height:28px}
.slide-controls button:hover,.slide-controls button:focus-visible{background:rgba(233,196,118,.18);border-radius:20px}
.slide-status{font:14px Georgia,serif;min-width:36px;text-align:center}
@media(max-width:760px){.reference-home .hero-slides,.slide-controls{display:none}}
@media(prefers-reduced-motion:reduce){.reference-home .hero-slide{transition:none}}

/* Version 4 refinements */
.interior{background:linear-gradient(90deg,rgba(2,9,16,.94),rgba(3,14,24,.82)),url('assets/reference-homepage.png') center center / cover fixed}
.book-layout{grid-template-columns:minmax(180px,290px) minmax(0,1fr);gap:clamp(24px,3.5vw,60px);max-width:1500px}
.book-layout p{max-width:none}.book-layout .intro{max-width:none}
.news-placeholder{min-height:220px}
@media(min-width:761px){
.reference-home .hero-slides{background:radial-gradient(ellipse at 60% 30%,#152b40,#030b15 70%)}
.reference-home .hero-slide:not(.reference-image){object-fit:contain;transform:scale(.8);transform-origin:center center}
.home-nav{gap:clamp(9px,1.7vw,30px)}
.home-nav a{font-size:clamp(10px,1.12vw,20px)}
}
@media(max-width:760px){.book-layout{grid-template-columns:1fr}}

/* V5: lock header layout and interior backdrop between pages. */
@media (min-width:761px){
.site-header,.home-top{height:90px;min-height:90px;padding:0 3.3%;display:grid;grid-template-columns:minmax(260px,33%) minmax(0,1fr);align-items:center;column-gap:20px}
.site-header nav,.home-top .home-nav{display:flex!important;justify-content:flex-end;align-items:center;gap:clamp(10px,1.65vw,28px);width:100%;flex-wrap:nowrap;white-space:nowrap}
.site-header .brand,.home-brand{margin:0;white-space:nowrap}
.site-header nav a,.home-nav a{font-size:clamp(10px,1.12vw,20px);padding:7px 0;border-bottom:3px solid transparent}
.site-header nav a.active,.home-nav a.active{color:var(--gold);border-bottom-color:var(--gold)}
.home-top{height:90px}
.interior{background:linear-gradient(90deg,rgba(2,9,16,.94),rgba(3,14,24,.82));}
body:not(.on-home){background:#050e16 url('assets/reference-homepage.png') center center / cover fixed no-repeat}
}
.tile-icon{display:flex;align-items:center;justify-content:center;height:clamp(27px,3.5vw,56px);width:clamp(27px,3.5vw,56px)}
.tile-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px rgba(231,189,106,.18))}
@media(min-width:761px){.home-bottom{padding-top:1.3%;padding-bottom:1.3%}}

/* V6: one persistent header with identical layout across all routes. */
@media(min-width:761px){
  body.on-home{overflow:hidden}
  body.on-home>.site-header{display:grid;position:fixed;top:0;left:0;right:0;z-index:30;height:90px;min-height:90px;box-sizing:border-box}
  body:not(.on-home)>.site-header{position:relative;z-index:30}
  .site-header{grid-template-columns:minmax(260px,33%) minmax(0,1fr);padding:0 3.3%;column-gap:20px}
  .site-header .brand span{font-size:clamp(13px,2.08vw,36px)}
  .site-header .brand em{font-size:clamp(10px,1.34vw,24px)}
  .site-header nav{display:flex!important;justify-content:flex-end;gap:clamp(10px,1.65vw,28px);flex-wrap:nowrap;white-space:nowrap}
  .site-header nav a{font-size:clamp(10px,1.12vw,20px)}
  .reference-home{height:100dvh}
}
/* A viewport-anchored backdrop prevents position changes between content pages. */
body:not(.on-home){background:#050e16}
body:not(.on-home)::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,9,16,.94),rgba(3,14,24,.82)),url('assets/reference-homepage.png') center center / cover no-repeat;pointer-events:none}
.interior{background:transparent!important}
@media(max-width:760px){body:not(.on-home)::before{background-position:center center}.site-header nav{display:none!important}.site-header nav.open{display:flex!important}}

/* V7: eliminate route-dependent geometry and background reflow. */
html{scroll-behavior:auto;overflow-y:scroll;scrollbar-gutter:stable}
body{overflow-x:hidden}
body.on-home{overflow-x:hidden;overflow-y:visible}
.site-header{position:fixed!important;top:0;left:0;right:0;z-index:100;height:90px;min-height:90px;box-sizing:border-box}
#app{position:relative;z-index:1}
body:not(.on-home) #app{padding-top:90px}
body:not(.on-home)::before{z-index:0;background-position:center center;background-size:cover}
body:not(.on-home) .interior{min-height:calc(100dvh - 90px);background:transparent!important}
body:not(.on-home) .site-footer{position:relative;z-index:2}
@media(min-width:761px){
  .reference-home{width:min(100%,177.586dvh);height:100dvh;margin-inline:auto}
  .site-header{display:grid!important;grid-template-columns:minmax(260px,33%) minmax(0,1fr)}
  .site-header nav{display:flex!important}
}
@media(max-width:760px){
  .site-header{height:76px;min-height:76px;display:flex!important;flex-wrap:wrap}
  body:not(.on-home) #app,body.on-home #app{padding-top:76px}
  .site-header nav{position:absolute;top:76px;left:0;right:0;background:#06111c;padding:8px 22px;box-shadow:0 12px 22px #0008}
  .site-header nav.open{display:flex!important}
}

/* V8: Subject prose matches the wider Book-page reading column. */
body.on-subject .interior p{max-width:1150px}
body.on-subject .interior hr{max-width:1150px}
@media(max-width:760px){body.on-subject .interior p,body.on-subject .interior hr{max-width:100%}}

/* V9: Display the featured image carousel on iPhones and other small screens. */
@media(max-width:760px){
  .mobile-carousel{display:block;position:relative;width:100%;height:clamp(230px,65vw,440px);background:#030b15;overflow:hidden;border-bottom:1px solid var(--line)}
  .mobile-carousel .hero-slides{position:absolute;inset:0;display:block!important;background:#030b15}
  .mobile-carousel .hero-slide{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1.15s ease;pointer-events:none}
  .mobile-carousel .hero-slide.is-active{opacity:1}
  .mobile-carousel .slide-controls{display:flex!important;position:absolute;right:12px;bottom:12px;z-index:6}
  .mobile-carousel .slide-controls button{min-width:38px;min-height:38px;touch-action:manipulation}
}
@media(prefers-reduced-motion:reduce){.mobile-carousel .hero-slide{transition:none}}

/* News and Updates features */
.news-features{display:grid;gap:32px;max-width:1120px}.news-feature{display:grid;grid-template-columns:minmax(240px,42%) 1fr;overflow:hidden;border:1px solid var(--line);background:rgba(3,12,20,.8);box-shadow:0 12px 35px rgba(0,0,0,.22)}.news-feature-image,.news-feature-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:260px;background:#08131d}.news-feature-image img{width:100%;height:100%;min-height:260px;object-fit:cover;display:block}.news-play{position:absolute;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:rgba(4,12,20,.85);border:2px solid var(--gold);color:var(--gold);font-size:26px;padding-left:4px}.news-feature-image:hover .news-play{background:var(--gold);color:#08131d}.news-feature-art{flex-direction:column;gap:18px;text-align:center;padding:35px;background:radial-gradient(circle at center,#1c3040,#07111a 75%)}.news-feature-art span{font-size:clamp(26px,3vw,42px);line-height:1.2;letter-spacing:.08em;color:var(--gold)}.news-feature-art small{font-size:19px;font-style:italic;color:var(--cream)}.news-feature-copy{padding:clamp(25px,3vw,42px)}.news-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:13px}.interior .news-feature h2{margin:12px 0;font-size:clamp(25px,2.5vw,36px)}.interior .news-feature p{font-size:clamp(17px,1.4vw,20px);margin:12px 0 25px}.news-action{font-size:17px;padding:12px 19px}@media(max-width:760px){.news-feature{grid-template-columns:1fr}.news-feature-image,.news-feature-art,.news-feature-image img{min-height:210px}.news-feature-image img{max-height:320px}}
