:root{--ink:#262b3b;--wine:#792d38;--paper:#f8f5ee;--muted:#615e59;--rule:#d5cdbd;--serif:Baskerville,"Baskerville Old Face","Palatino Linotype",Georgia,serif;--sans:"Segoe UI",Arial,sans-serif;--gold:#a18656}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--serif)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(40px,4.4vw,72px);line-height:1.06;letter-spacing:-.045em}h2 i{color:var(--wine)}.wrap{width:min(88.5%,1430px);margin-inline:auto}.eyebrow,.places-heading{font:650 10px/1.5 var(--sans);letter-spacing:.21em;text-transform:uppercase;color:var(--wine)}.button,.nav-buy{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--wine);color:#fffaf2;border:1px solid var(--wine);font:600 13px/1.3 var(--sans);padding:16px 24px;border-radius:3px;transition:background .2s,transform .2s}.button:hover,.nav-buy:hover{background:#62212b;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border-color:#a69e8e}.button.secondary:hover{background:#eee8db}.text-link{display:inline-flex;align-items:center;gap:20px;color:var(--wine);font:600 14px var(--sans);border-bottom:1px solid #a7837e;padding-bottom:6px}.skip{position:fixed;left:1rem;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid #846824;outline-offset:4px}
.mast{position:relative;z-index:5;border-bottom:1px solid var(--rule);background:#faf8f2}.mast-inner{min-height:81px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:10px;font:400 clamp(23px,2.4vw,35px)/1.15 var(--serif);letter-spacing:-.055em;white-space:nowrap}.feather{width:32px;height:38px;color:var(--wine)}#primary-nav{display:flex;align-items:center;gap:clamp(16px,2.25vw,40px);font:500 13px var(--sans)}#primary-nav>a:not(.nav-buy){position:relative;padding:12px 0}#primary-nav>a:not(.nav-buy):is([aria-current],:hover){color:var(--wine)}#primary-nav>a:not(.nav-buy)[aria-current]:after{content:"";position:absolute;left:0;right:0;bottom:4px;background:var(--wine);height:1px}.nav-buy{padding:13px 20px;margin-left:8px}.menu-toggle{display:none}
.hero{isolation:isolate;position:relative;overflow:hidden;background:#f5f0e6}.hero-inner{position:relative;pointer-events:none;min-height:clamp(530px,43vw,695px);display:flex;align-items:center;padding:52px 0 62px}.hero-copy{pointer-events:auto;width:49%;animation:arrive .65s both}.hero h1{font-size:clamp(77px,7.95vw,142px);line-height:.92;letter-spacing:-.055em;margin:28px 0 19px}.hero h1 em{color:var(--wine);font-weight:400}.inspiration{display:flex;align-items:center;gap:10px;font:italic 21px/1.2 var(--serif);color:#715543}.inspiration span{color:var(--gold);font:16px var(--serif)}.hero-copy>p{max-width:420px;font-size:clamp(17px,1.35vw,23px);line-height:1.55;margin:20px 0 25px;color:#55524e}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-art{position:absolute;inset:0 0 0 46%;background:radial-gradient(ellipse at 40% 34%,#eee4cf 0,#d3c1a2 67%,#b9a385 100%);overflow:hidden;z-index:-1}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f5f0e6,transparent 20%);z-index:3;pointer-events:none}.hero-art:after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply;opacity:.12;background-image:url("assets/paper-grain.png")}.art-haze{position:absolute;inset:-12%;background:linear-gradient(136deg,transparent 12%,#fff6 24%,transparent 36%,#765f401b 64%,#f4e9d29c 78%,#5b492e1a);filter:blur(7px)}.book-object{position:absolute;width:min(45%,325px);top:49.5%;left:46%;transform:translate(-50%,-50%) rotate(7deg);box-shadow:3px 3px 2px #2a241ce0,9px 12px 12px #302a1c5e,20px 29px 32px #30271c5c;border-radius:2px 3px 3px 2px;z-index:2}.book-object:before{content:"";position:absolute;inset:3px 0 -4px 4px;background:repeating-linear-gradient(#d1c1a8 0 1px,#e7dfcf 1px 2px);border:1px solid #7c705e;border-radius:2px;transform:skewX(-2deg);z-index:-1}.book-object:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#241b1670,transparent 1%,#fff4 2%,#2e251932 3%,transparent 5%);border-radius:2px}.book-object img{border-radius:2px;width:100%;aspect-ratio:1731/2570}.print{position:absolute;padding:7px 7px 16px;background:#efe8d8;box-shadow:2px 4px 8px #342b2454}.print img{width:100%;height:100%;object-fit:cover;filter:sepia(.16) contrast(.94)}.print-ballet{width:33%;height:44%;right:-5%;top:1%;transform:rotate(17deg)}.print-flight{width:44%;height:34%;right:-2%;bottom:-4%;transform:rotate(-13deg)}.letter-paper{position:absolute;width:55%;height:58%;bottom:-12%;left:2%;transform:rotate(-17deg);background:repeating-linear-gradient(0deg,transparent 0 23px,#a1896233 23px 24px),#e1d4b9;box-shadow:0 1px 7px #4c3d2838;border:1px solid #b4a385;padding:24px;color:#705f4a;font:italic 25px/1.45 "Segoe Script",cursive}.letter-paper p{font-size:20px}.postmark{position:absolute;left:5%;top:10%;width:85px;height:85px;display:grid;align-content:center;text-align:center;border:3px double #88785b;border-radius:50%;transform:rotate(-18deg);opacity:.55;color:#6d604c}.postmark span{font:8px var(--sans);letter-spacing:.1em}.postmark strong{font:italic 24px var(--serif);border-block:1px solid #88785b;margin:4px}
.places{border-block:1px solid var(--rule);background:#eee8db}.places-inner{min-height:65px;display:flex;align-items:center;justify-content:space-between;gap:15px}.places-inner>span:not(.places-heading){font:italic clamp(17px,1.55vw,26px) var(--serif);color:#514a40}.places-heading{border-right:1px solid #b6a68a;padding-right:4%;color:#72634c}.places-inner b{font-size:12px;color:#a38a61;font-weight:400}.story-block{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;align-items:center;padding-block:80px}.story-block h2{margin:18px 0 0;max-width:530px}.story-block p,.author-layout p{font-size:20px;color:var(--muted);line-height:1.6;margin-bottom:20px}.author-strip{background:#ebe6dc}.author-layout{display:grid;grid-template-columns:30% 1fr;gap:10%;align-items:center;padding:60px 5%}.author-layout img{width:min(100%,365px);height:auto;justify-self:center}.author-layout h2{margin:19px 0}.closing{text-align:center;background:var(--ink);color:var(--paper);padding:70px 0}.closing .eyebrow,.closing i{color:#e0bd9b}.closing h2{margin:16px 0 30px}footer{border-top:1px solid var(--rule);padding:48px 0 20px}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.foot-grid>div:not(:first-child){display:grid;align-content:start;gap:7px;font:14px/1.5 var(--sans)}footer a:hover{text-decoration:underline}.foot-bottom{margin-top:34px;padding-top:15px;border-top:1px solid var(--rule);display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font:12px/1.7 var(--sans)}.foot-bottom>span{margin-right:auto}
@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.book-object{width:min(45%,385px)}}
@media(max-width:900px){.mast-inner{min-height:70px}.menu-toggle{display:block;border:1px solid var(--rule);background:transparent;border-radius:2px;padding:8px 13px;font:14px var(--sans);color:var(--ink)}#primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:14px 6% 20px;border-bottom:1px solid var(--rule);box-shadow:0 10px 18px #0001}#primary-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}#primary-nav .nav-buy{margin:10px 0 0}.hero h1{font-size:clamp(60px,8.3vw,80px)}.hero-copy>p{font-size:17px}.hero-actions .button{padding:13px}.places-heading{display:none}.hero-inner{min-height:480px}.book-object{width:53%}.story-block{padding-block:54px}}
@media(max-width:640px){.wrap{width:88%}.hero{display:flex;flex-direction:column}.hero-inner{order:0;padding:39px 0 34px;min-height:0}.hero-copy{width:100%}.hero h1{font-size:clamp(67px,13.9vw,87px);margin:19px 0 14px}.hero-copy>p{margin:15px 0 20px}.hero-art{position:relative;order:1;inset:auto;width:100%;height:clamp(320px,86vw,435px)}.book-object{width:auto;height:80%;left:48%}.book-object img{width:auto;height:100%}.hero-art:before{background:linear-gradient(#f5f0e6,transparent 12%)}.places-inner{min-height:54px;gap:7px}.places-inner>span:not(.places-heading){font-size:clamp(12px,3.2vw,18px)}.places-inner b{font-size:8px}.story-block,.author-layout{grid-template-columns:1fr;gap:26px}.author-layout{padding:36px 0}.author-layout img{width:min(100%,310px)}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}.foot-bottom{gap:12px}.foot-bottom>span{flex-basis:100%}.postmark{top:9%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.brand .fa-feather-alt{font-size:.82em;color:var(--wine);margin-right:2px}.menu-toggle .fa-icon{margin-left:5px}.button .fa-icon{font-size:13px}.places-inner .fa-star{font-size:8px}.postmark .fa-star{font-size:6px}.inspiration .fa-star{font-size:12px}
.home-journey{padding:65px 0;background:#282e3a;color:#f9f5ec}.home-journey .eyebrow{color:#e2c69b}.home-journey h2 i{color:#e6c6a0}.home-journey h2,.home-opening h2,.home-gallery h2,.reader-guide h2{margin:14px 0 0}.home-map{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;gap:28px}.home-map article{border-top:1px solid #8e877b;padding-top:18px}.home-map .fa-icon{color:#ddc398;font-size:15px}.home-map h3{font-size:clamp(25px,2.2vw,40px);margin:6px 0}.home-map h3 a:hover{text-decoration:underline;text-underline-offset:5px}.home-map p{font-size:18px;color:#e3ded4;line-height:1.5}.home-opening{padding:65px 0;background:#ede4d4}.opening-grid,.reader-guide{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.opening-grid p:not(.eyebrow){font-size:21px;margin-bottom:14px}.home-gallery,.reader-guide{padding-block:72px}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.archive-row{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:25px;margin-top:35px}.archive-row img{width:100%;height:clamp(180px,19vw,320px);object-fit:cover;transition:filter .35s}.archive-row figure:hover img{filter:contrast(1.08)}.archive-row figcaption{padding:8px 0;font:italic 18px var(--serif)}.reader-guide{align-items:start}.reader-guide .text-link{margin-top:24px}.reader-guide details{border-bottom:1px solid var(--rule)}.reader-guide summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:15px 0;font-size:22px;line-height:1.25;list-style:none}.reader-guide summary::-webkit-details-marker{display:none}.reader-guide summary i{font-size:12px;color:var(--wine);transition:transform .2s}.reader-guide details[open] summary i{transform:rotate(45deg)}.reader-guide details p{padding:0 20px 18px 0;color:var(--muted)}.back-top .fa-icon{transform:rotate(-90deg);font-size:9px}.back-top{margin-left:auto}
@media(max-width:760px){.home-map,.archive-row{grid-template-columns:repeat(2,1fr)}.archive-row figure:last-child{grid-column:1/-1}.archive-row figure:last-child img{height:auto;max-height:220px}.opening-grid,.reader-guide{grid-template-columns:1fr;gap:26px}.home-gallery,.reader-guide,.home-journey,.home-opening{padding-block:45px}.gallery-heading{align-items:start;flex-direction:column}.archive-row{gap:16px}.home-map{gap:20px}.back-top{margin-left:0}}
@media(max-width:400px){.home-map{grid-template-columns:1fr}.home-map h3{display:inline;margin-left:8px}.home-map p{margin-top:8px}.archive-row{grid-template-columns:1fr}.archive-row img{height:190px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}section[id]{scroll-margin-top:24px}.image-dialog[open]{animation:arrive .26s ease-out}.book-object{animation:book-settle 1s ease-out both}.home-map article,.archive-row figure{scroll-margin-top:18px}@keyframes book-settle{from{opacity:.1;transform:translate(-49%,-47%) rotate(9deg)}to{opacity:1;transform:translate(-50%,-50%) rotate(7deg)}}}

/* Decorative layers stay within their sections and behind the reading surface. */
.home-journey, .home-opening, .author-strip, .closing {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.home-journey::before, .home-opening::before, .author-strip::before, .closing::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.home-journey::before {
  width: clamp(170px, 25vw, 370px);
  aspect-ratio: 1;
  top: -28%;
  right: 2%;
  border: 4px double #d9c89b52;
  border-radius: 50%;
  background: repeating-radial-gradient(circle, transparent 0 21%, #dbca9f25 21.3% 21.8%, transparent 22.1% 27%);
}
.home-opening::before {
  right: -4%;
  bottom: -90px;
  width: 270px;
  height: 155px;
  rotate: -17deg;
  background: repeating-linear-gradient(0deg, transparent 0 17px, #776b552f 17px 18px), url("assets/paper-grain.png");
  opacity: .19;
  border: 1px solid #75674e;
}
.author-strip::before {
  right: -45px;
  bottom: -65px;
  width: 180px;
  height: 160px;
  rotate: 13deg;
  border: 8px solid #fffaf0;
  border-bottom-width: 22px;
  background: url("assets/ballet.webp") center / cover;
  opacity: .18;
}
.closing::before {
  left: -3%;
  bottom: -12px;
  width: min(35vw, 430px);
  height: 55%;
  rotate: -12deg;
  background: url("assets/flight.webp") center / cover;
  mask-image: linear-gradient(to right, black, transparent);
  opacity: .2;
}
@media (prefers-reduced-motion: no-preference) {
  .home-journey::before, .home-opening::before, .author-strip::before, .closing::before {
    animation: archive-drift 16s ease-in-out infinite alternate;
  }
  .home-opening::before, .closing::before { animation-direction: alternate-reverse; }
  @keyframes archive-drift {
    from { transform: translate(-12px, 12px) rotate(-3deg); }
    to { transform: translate(16px, -12px) rotate(3deg); }
  }
}

.scroll-story {
  display: inline-flex;
  gap: .65rem;
  align-items: center;
  padding: 12px 0;
  margin-top: 8px;
  font: 600 12px var(--sans);
  color: var(--wine);
}
.scroll-story .fa-icon { transform: rotate(90deg); }
.scroll-story:hover { text-decoration: underline; }
.reading-progress {
  position: fixed;
  inset: 0 0 auto;
  height: 3px;
  pointer-events: none;
  z-index: 12;
  background: var(--wine);
  transform: scaleX(0);
  transform-origin: left;
}

.author-strip { background: #173639; color: #fff6e7; }
.author-strip .eyebrow { color: #dfc296; }
.author-strip .author-layout p { color: #dce2d9; }
.author-strip .text-link { color: #ead1a7; border-color: #bfa57a; }
.author-strip .author-layout img { box-shadow: 12px 12px 0 #ad956847; border: 1px solid #a38e66; }
