@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400.3984c2dc.woff2) format('woff2')}@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500i.7815d83d.woff2) format('woff2')}@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500.6e4dd258.woff2) format('woff2')}@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600i.d21fef5f.woff2) format('woff2')}@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600.ab8fb94c.woff2) format('woff2')}@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cormorant-garamond-700.7e3dda60.woff2) format('woff2')}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/eb-garamond-400.7d6d909f.woff2) format('woff2')}@font-face{font-family:'EB Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/eb-garamond-500i.e0bbbff1.woff2) format('woff2')}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/eb-garamond-500.51cbcbf4.woff2) format('woff2')}@font-face{font-family:'EB Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/eb-garamond-600i.bacafb24.woff2) format('woff2')}@font-face{font-family:'EB Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/eb-garamond-600.6a3b9c96.woff2) format('woff2')}:root{--leather: #1c1d1f;--leather-2: #3d3e40;--leather-dark: #141517;--gold: #9e7a3b;--gold-bright: #c8a968;--parchment: #f4f2ed;--parchment-2: #ece8df;--parchment-edge: #dcd6c8;--ink: #1c1d1f;--ink-soft: #595957;--rubric: #7e6130;--bronze-text: #7e6130;--moss: #595957;--desk: #e9e6e0;--charcoal: #1c1d1f;--slate: #595957;--bronze: #9e7a3b;--champagne: #c8a968;--cream: #f4f2ed;--arch-grey: #c8c6c1;--turn: 650ms;--open: 820ms;--slide: 480ms;--ease: cubic-bezier(.22,.61,.36,1)}*{box-sizing: border-box}html,body{height: 100%;margin: 0}body{min-height: 100dvh;background: radial-gradient(ellipse at 50% 20%,#f1efe9 0%,var(--desk) 55%,#ddd9d2 100%);font-family: 'EB Garamond',serif;color: var(--ink);overflow: hidden}::selection{background: var(--gold);color: var(--leather-dark)}button{font-family: inherit}.grain::before{content: "";position: absolute;inset: 0;pointer-events: none;opacity: .28;mix-blend-mode: multiply;background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0.55  0 0 0 0 0.47  0 0 0 0 0.32  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ---------------- STAGE / BOOK ---------------- */
.stage {
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.book {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.page {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.page.side-l,
.page.side-r,
.page.single {
  flex: 1 1 0;
  min-width: 0;
}

.leaf-page {
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.08), transparent 30%), var(--parchment);
}

.page.side-l {
  box-shadow: inset -18px 0 26px -20px rgba(0, 0, 0, .55);
}

.page.side-r {
  box-shadow: inset 18px 0 26px -20px rgba(0, 0, 0, .55);
}

.page-inner {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: clamp(1.5rem, 3.4vh + 1vw, 3.4rem) clamp(1.4rem, 3vw, 3rem);
  display: flex;
  flex-direction: column;
  max-width: 640px;
  margin: 0 auto;
}

.rh {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 600;
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-soft);
  border-bottom: 1px solid var(--parchment-edge);
  padding-bottom: .55rem;
  margin-bottom: 1.1rem;
  display: flex;
  justify-content: space-between;
  flex: 0 0 auto;
}

/* ---- cover / back cover: WEALTH ARCHITECTURE landing ---- */
.page.cover,
.page.back {
  align-self: center;
  flex: 0 0 auto;
  width: min(500px, 52vw);
  height: min(760px, 92dvh);
  border-radius: 4px;
  background:
    radial-gradient(120% 70% at 50% 6%, #ffffff 0%, rgba(255,255,255,0) 58%),
    linear-gradient(180deg, #f7f5f0 0%, var(--cream) 46%, #efece6 100%);
  color: var(--charcoal);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 44px 84px -30px rgba(28,29,31,.30), 0 14px 32px rgba(28,29,31,.10);
}
.page.cover::before,
.page.back::before { opacity:.09; mix-blend-mode:multiply; }

.cover-arch { position:absolute; left:0; right:0; bottom:0; height:52%; pointer-events:none; z-index:0; overflow:hidden; }
.cover-arch svg { position:absolute; inset:0; width:100%; height:100%; }

.cover-inner {
  position:relative; z-index:1; width:100%; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  padding: clamp(1.9rem,5vh,3.8rem) clamp(1.6rem,5vw,3rem) clamp(1.3rem,3vh,2.2rem);
  gap: clamp(.55rem,1.55vh,1.05rem);
  overflow-y:auto; overflow-x:hidden; scrollbar-width:none;
}
.cover-inner::-webkit-scrollbar{ width:0; height:0; }

.cover-logo{ display:flex; flex-direction:column; align-items:center; gap:.45rem; }
.logo-w{ font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(2rem,4.8vh,2.9rem); line-height:1; color:var(--champagne); display:inline-flex; align-items:baseline; }
.logo-w .mono-a{ margin-left:-0.24em; }
.logo-word{ font-family:'Cormorant Garamond',serif; font-weight:600; letter-spacing:.26em; text-transform:uppercase; font-size:clamp(.6rem,1.4vw,.76rem); color:var(--charcoal); }
.logo-word .eu{ color:var(--champagne); }
.logo-rule{ width:1px; height:clamp(18px,3.2vh,32px); background:var(--champagne); opacity:.85; margin-top:.1rem; }

.cover-eyebrow{ font-family:'Cormorant Garamond',serif; letter-spacing:.24em; text-transform:uppercase; font-size:clamp(.58rem,1.3vw,.72rem); color:var(--slate); margin-top:clamp(.65rem,2.1vh,1.4rem); }
.cover-title{ font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.5rem, min(8.6vw,6.2vh), 2.8rem); line-height:1.08; letter-spacing:.02em; text-transform:uppercase; color:var(--charcoal); margin:.15rem 0 0; overflow-wrap:normal; word-break:normal; max-width:100%; }
.cover-subtitle{ font-family:'Cormorant Garamond',serif; font-weight:600; letter-spacing:.22em; text-transform:uppercase; font-size:clamp(.78rem,1.9vw,1rem); color:var(--slate); margin:.28rem 0 0; }
.cover-hr{ width:36px; height:2px; background:var(--gold); margin:.6rem 0; }
.cover-pills{ font-family:'Cormorant Garamond',serif; font-size:clamp(.92rem,2vw,1.1rem); color:var(--slate); }
.cover-pills b{ color:var(--bronze-text); font-weight:400; padding:0 .35rem; }
.cover-tagline{ font-family:'EB Garamond',serif; font-style:italic; font-size:clamp(.88rem,1.8vw,1rem); color:var(--slate); }

.cover-cta{
  margin-top:clamp(.6rem,2vh,1.25rem);
  display:inline-flex; align-items:center; gap:.6rem;
  background:var(--bronze-text); color:#fff; border:none; border-radius:2px; cursor:pointer;
  font-family:'Cormorant Garamond',serif; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  font-size:clamp(.66rem,1.4vw,.78rem);
  padding:clamp(.72rem,1.5vh,.98rem) clamp(1.4rem,3vw,2rem);
  box-shadow:0 12px 26px -12px rgba(158,122,59,.7);
  transition:background .2s,transform .2s,box-shadow .2s;
  animation:pulseGlow 3s ease-in-out infinite;
}
.cover-cta:hover{ background:#8a6a33; transform:translateY(-1px); }
.cover-cta span{ transition:transform .2s; }
.cover-cta:hover span{ transform:translateX(3px); }
@keyframes pulseGlow{ 0%,100%{ box-shadow:0 12px 26px -12px rgba(158,122,59,.5);} 50%{ box-shadow:0 14px 30px -8px rgba(158,122,59,.82);} }

.cover-badge-wrap{ display:flex; align-items:center; gap:.9rem; margin-top:clamp(.85rem,2.6vh,1.75rem); }
.badge-line{ width:clamp(26px,6vw,52px); height:1px; background:var(--gold); opacity:.5; }
.cover-badge{ width:46px; height:46px; border-radius:50%; border:1px solid var(--champagne); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-weight:600; letter-spacing:.05em; color:var(--bronze-text); font-size:1rem; }
.cover-by{ font-family:'Cormorant Garamond',serif; letter-spacing:.2em; text-transform:uppercase; font-size:clamp(.55rem,1.2vw,.66rem); color:var(--slate); margin-top:.6rem; }
.cover-author{ font-family:'Cormorant Garamond',serif; font-weight:700; font-size:clamp(1.1rem,2.6vw,1.4rem); color:var(--charcoal); }
.cover-author-sub{ font-size:clamp(.75rem,1.5vw,.86rem); color:var(--slate); }

/* back cover */
.back-inner{ position:relative; z-index:1; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:clamp(2rem,6vh,4rem) clamp(1.6rem,6vw,3.4rem); gap:1.1rem; text-align:center; }
.back-mark{ width:64px; height:64px; border-radius:50%; border:1px solid var(--champagne); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-weight:600; color:var(--bronze-text); font-size:1.3rem; letter-spacing:.05em; }
.back-word{ font-family:'Cormorant Garamond',serif; letter-spacing:.26em; text-transform:uppercase; font-size:.7rem; color:var(--slate); }
.back-word .eu{ color:var(--champagne); }
.back-text{ font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1rem,2.2vw,1.16rem); line-height:1.55; color:var(--leather-2); max-width:30ch; }
.back-inner .restart{ margin-top:.3rem; align-self:center; }

@media (max-width:899px){
  .page.cover,
  .page.back { width:100vw; height:100dvh; align-self:stretch; border-radius:0; }
}

/* ---------------- ABOUT ---------------- */
.monogram {
  width: 66px;
  height: 66px;
  border: 1.5px solid var(--gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--leather);
  margin: 0 0 1rem;
}

.about-name {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(1.6rem, 3.6vw, 2.2rem);
  line-height: 1.1;
  color: var(--leather);
  margin: 0 0 .2rem;
}

.about-role {
  font-style: italic;
  color: var(--ink-soft);
  margin: 0 0 1.3rem;
  font-size: 1.02rem;
}

.cred {
  list-style: none;
  margin: 0 0 1.2rem;
  padding: 0;
}

.cred li {
  font-size: .95rem;
  margin-bottom: .6rem;
  padding-left: 1rem;
  position: relative;
  color: var(--ink-soft);
  line-height: 1.5;
}

.cred li::before {
  content: "-";
  position: absolute;
  left: 0;
  color:var(--bronze-text);
}

.about-quote {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.12rem;
  line-height: 1.5;
  color: var(--leather-2);
  border-left: 2px solid var(--gold);
  padding-left: .9rem;
  margin-top: auto;
}

/* ---------------- CONTENTS ---------------- */
.page-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3.2vw, 2rem);
  line-height: 1.12;
  margin: 0 0 1rem;
  color: var(--leather);
  flex: 0 0 auto;
}

.toc-part {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--leather);
  font-size: .76rem;
  margin: .9rem 0 .35rem;
}

.toc-part:first-of-type {
  margin-top: 0;
}

.toc {
  list-style: none;
  margin: 0;
  padding: 0;
}

.toc li {
  margin-bottom: .28rem;
}

.toc .toc-link {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  width: 100%;
  background: none;
  border: none;
  padding: .15rem 0;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  font-size: .98rem;
  position: relative;
}

.toc .toc-link .fill-txt {
  flex: 0 1 auto;
}

.toc .toc-link .dots {
  flex: 1 1 auto;
  border-bottom: 1px dotted var(--ink-soft);
  transform: translateY(-3px);
  opacity: .5;
}

.toc .toc-link .n {
  color: var(--ink-soft);
  font-variant-numeric: oldstyle-nums;
  flex: 0 0 auto;
}

.toc .toc-link:hover .fill-txt,
.toc .toc-link.holding .fill-txt {
  color: var(--rubric);
}

.toc-note {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  color: var(--ink-soft);
  font-size: .85rem;
  margin-top: auto;
  line-height: 1.5;
}

/* ---------------- TOPIC PAGE ---------------- */
.topic .page-inner {
  padding-top: clamp(1.3rem, 3vh, 2.6rem);
}

.t-kicker {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .72rem;
  color: var(--rubric);
  margin: 0 0 .4rem;
  flex: 0 0 auto;
}

.t-title {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(1.4rem, 2.2vw + .7rem, 2.1rem);
  line-height: 1.12;
  color: var(--leather);
  margin: 0 0 .7rem;
  flex: 0 0 auto;
}

.t-problem {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-size: clamp(1.02rem, 1.4vw + .5rem, 1.22rem);
  line-height: 1.35;
  color: var(--leather-2);
  margin: 0 0 .8rem;
  flex: 0 0 auto;
}

.t-uncover {
  font-size: clamp(.92rem, .9vw + .5rem, 1rem);
  line-height: 1.55;
  color: var(--ink);
  margin: 0 0 1rem;
  flex: 0 1 auto;
}

.t-hint {
  position: relative;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: clamp(.98rem, 1vw + .5rem, 1.08rem);
  line-height: 1.45;
  color: var(--leather-2);
  border-left: 2px solid var(--gold);
  padding-left: .85rem;
  margin: 0 0 1.1rem;
  flex: 0 0 auto;
}

.window {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .2rem 1rem;
  width: 100%;
  text-align: left;
  cursor: pointer;
  background: linear-gradient(120deg, rgba(158, 122, 59, .10), rgba(158, 122, 59, .04));
  border: 1px solid var(--parchment-edge);
  border-radius: 3px;
  padding: .85rem 1rem;
  margin: 0 0 1rem;
  color: var(--ink);
  transition: border-color .25s, box-shadow .25s, transform .25s, background .25s;
  overflow: hidden;
  flex: 0 0 auto;
}

.window:hover,
.window.holding {
  border-color: var(--gold);
  box-shadow: 0 8px 22px -14px rgba(0, 0, 0, .5);
  transform: translateY(-1px);
  background: linear-gradient(120deg, rgba(158, 122, 59, .16), rgba(158, 122, 59, .06));
}

.window:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.win-main {
  grid-column: 1;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--leather);
}

.win-sub {
  grid-column: 1;
  grid-row: 2;
  font-size: .78rem;
  color: var(--ink-soft);
  letter-spacing: .02em;
}

.win-arrow {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-size: 1.5rem;
  color:var(--bronze-text);
  transition: transform .25s;
}

.window:hover .win-arrow,
.window.holding .win-arrow {
  transform: translateX(4px);
}

.win-hint {
  grid-column: 1 / -1;
  grid-row: 3;
  font-size: .68rem;
  font-style: italic;
  color: var(--ink-soft);
  opacity: 0;
  max-height: 0;
  transition: opacity .25s, max-height .25s;
}

.window:hover .win-hint,
.window.holding .win-hint {
  opacity: .75;
  max-height: 1.4em;
  margin-top: .25rem;
}

.hold-fill {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 0%;
  background: var(--gold-bright);
  box-shadow: 0 0 6px var(--gold-bright);
  pointer-events: none;
  z-index: 2;
}

.t-refs {
  margin-top: auto;
  padding-top: .85rem;
  border-top: 1px solid var(--parchment-edge);
  flex: 0 0 auto;
}

.refs-label {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .66rem;
  color: var(--rubric);
  margin-bottom: .4rem;
}

.ref-empty {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: .82rem;
  color: var(--ink-soft);
  opacity: .75;
}

/* ---------------- CONTACT PAGES ---------------- */
.contact-name {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--leather);
  margin: 0 0 .1rem;
}

.contact-role {
  font-style: italic;
  color: var(--ink-soft);
  margin: 0 0 1.3rem;
}

.contact-line {
  font-size: .98rem;
  line-height: 1.7;
  color: var(--ink);
}

.contact-line .lbl {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .64rem;
  color: var(--rubric);
  margin-top: .9rem;
}

.sites {
  list-style: none;
  margin: .4rem 0 0;
  padding: 0;
}

.sites li {
  margin-bottom: .7rem;
}

.site-link {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  gap: .5rem;
  cursor: pointer;
  color: var(--leather);
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.1rem;
  border-bottom: 1px dotted var(--gold);
  padding-bottom: 2px;
}

.site-link .site-sub {
  font-family: 'EB Garamond', serif;
  font-weight: 400;
  font-style: italic;
  font-size: .82rem;
  color: var(--ink-soft);
}

.site-link:hover,
.site-link.holding {
  color: var(--rubric);
}

.closing-q {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.14rem;
  line-height: 1.5;
  color: var(--leather-2);
  border-left: 2px solid var(--gold);
  padding-left: .9rem;
  margin: 1rem 0 1.4rem;
}

.restart {
  position: relative;
  align-self: flex-start;
  margin-top: auto;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-style: italic;
  color: var(--moss);
  cursor: pointer;
  background: none;
  border: none;
  font-size: 1rem;
  padding: .2rem 0;
  border-bottom: 1px solid transparent;
}

.restart:hover,
.restart.holding {
  border-bottom-color: var(--moss);
}

/* ---------------- TRANSITION LAYERS (mirrors book-3's proven flip mechanics) ---------------- */ .fx{position: absolute;inset: 0;z-index: 40;pointer-events: none}.fx .under{position: absolute;inset: 0;z-index: 1;display: flex}.fx .under .page{flex: 1 1 0}.flip-stage{position: absolute;inset: 0;z-index: 2;-webkit-perspective: 2600px;perspective: 2600px}.leaf{position: absolute;top: 0;height: 100%;width: 50%;-webkit-transform-style: preserve-3d;transform-style: preserve-3d;-webkit-transform: rotateY(0deg);transform: rotateY(0deg);transition: -webkit-transform var(--turn) cubic-bezier(.25,.1,.25,1),transform var(--turn) cubic-bezier(.25,.1,.25,1);will-change: transform}.leaf .face{position: absolute;inset: 0;-webkit-backface-visibility: hidden;backface-visibility: hidden;-webkit-transform: translateZ(0);transform: translateZ(0);overflow: hidden;background: var(--parchment);box-shadow: 0 14px 34px -10px rgba(0,0,0,.5)}.leaf .face.back{-webkit-transform: rotateY(180deg);transform: rotateY(180deg)}.leaf .face::before{content: "";position: absolute;inset: 0;pointer-events: none;opacity: .22;mix-blend-mode: multiply;z-index: 0;background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0.55  0 0 0 0 0.47  0 0 0 0 0.32  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.leaf .shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity calc(var(--turn) * 0.6) ease;
  mix-blend-mode: multiply;
}

.leaf.right {
  left: 50%;
  transform-origin: left center;
}

.leaf.left {
  left: 0;
  transform-origin: right center;
}

.leaf.right .shade {
  background: linear-gradient(90deg, rgba(0, 0, 0, .38), rgba(0, 0, 0, 0) 60%);
}

.leaf.left .shade {
  background: linear-gradient(270deg, rgba(0, 0, 0, .38), rgba(0, 0, 0, 0) 60%);
}

.leaf.right.go {
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
}

.leaf.left.go {
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.leaf.go .shade {
  opacity: .5;
}

/* the page (and its inner content) placed inside a leaf face must fill the
   face exactly, since outside a leaf it normally sizes itself via flex */
.leaf .face>.page {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}

/* full-screen slide layer (narrow) */
.slide-layer {
  position: absolute;
  inset: 0;
  z-index: 40;
}

/* open / close layers */
.open-interior {
  position: absolute;
  inset: 0;
  z-index: 39;
  background: var(--parchment);
}

@media (prefers-reduced-motion: reduce) {
  .leaf,
  .cover-layer,
  .open-interior,
  .slide-layer,
  .overlay {
    transition: none !important;
  }
}

/* ---------------- CORNER NAV ---------------- */
.nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  z-index: 60;
  background: rgba(20, 16, 12, .35);
  border: 1px solid rgba(200, 169, 104, .35);
  border-radius: 50%;
  cursor: pointer;
  opacity: .55;
  transition: opacity .2s, background .2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav:hover {
  opacity: 1;
  background: rgba(20, 16, 12, .6);
}

.nav svg {
  width: 22px;
  height: 22px;
}

.nav.prev {
  left: 14px;
}

.nav.next {
  right: 14px;
}

@media (max-width:560px) {
  .nav {
    width: 38px;
    height: 38px;
  }
  .nav.prev {
    left: 8px;
  }
  .nav.next {
    right: 8px;
  }
}

/* ---------------- CONTACT BUTTON + PANEL ---------------- */
.contact-btn {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 70;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: linear-gradient(155deg, var(--leather-2), var(--leather-dark));
  color: var(--gold-bright);
  border: 1px solid var(--gold);
  border-radius: 40px;
  padding: .6rem 1.05rem;
  cursor: pointer;
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .76rem;
  box-shadow: 0 10px 26px -10px rgba(0, 0, 0, .7);
  transition: transform .2s, box-shadow .2s;
}

.contact-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .8);
}

.contact-btn svg {
  width: 16px;
  height: 16px;
}

@media (max-width:560px) {
  .contact-btn {
    right: 12px;
    bottom: 12px;
    padding: .55rem .8rem;
  }
  .contact-btn .cb-label {
    display: none;
  }
}

.panel-scrim {
  position: fixed;
  inset: 0;
  z-index: 71;
  background: rgba(10, 8, 6, .55);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}

.panel-scrim.open {
  opacity: 1;
  pointer-events: auto;
}

.panel {
  position: fixed;
  right: 18px;
  bottom: 74px;
  z-index: 72;
  max-height: calc(100dvh - 96px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  width: min(340px, calc(100vw - 36px));
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.08), transparent 30%), var(--parchment);
  border: 1px solid var(--gold);
  border-radius: 6px;
  padding: 1.3rem 1.4rem 1.4rem;
  box-shadow: 0 30px 60px -18px rgba(0, 0, 0, .75);
  transform: translateY(14px) scale(.98);
  opacity: 0;
  pointer-events: none;
  transition: transform .3s var(--ease), opacity .3s;
  transform-origin: bottom right;
}

.panel.open {
  transform: translateY(0) scale(1);
  opacity: 1;
  pointer-events: auto;
}

.panel h3 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--leather);
  margin: 0 0 .1rem;
}

.panel .p-role {
  font-style: italic;
  color: var(--ink-soft);
  font-size: .9rem;
  margin: 0 0 1rem;
}

.panel .p-row {
  font-size: .92rem;
  line-height: 1.55;
  color: var(--ink);
  margin: 0 0 .55rem;
}

.panel .p-lbl {
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .62rem;
  color: var(--rubric);
}

.panel .p-sites {
  list-style: none;
  margin: .7rem 0 0;
  padding: .7rem 0 0;
  border-top: 1px solid var(--parchment-edge);
}

.panel .p-sites li {
  margin-bottom: .55rem;
}

.panel-close {
  position: absolute;
  top: .6rem;
  right: .7rem;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ink-soft);
  font-size: 1.3rem;
  line-height: 1;
  padding: .1rem .3rem;
}

.panel-close:hover {
  color: var(--leather);
}

@media (max-width:560px) {
  .panel {
    right: 12px;
    bottom: 66px;
  }
}

/* ---------------- ARTICLE OVERLAY ---------------- */
.overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(12, 9, 6, .72);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.reader {
  position: relative;
  width: min(760px, 100%);
  max-height: 100dvh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.08), transparent 22%), var(--parchment);
  padding: clamp(1.6rem, 4vw, 3.4rem) clamp(1.3rem, 4vw, 3.6rem) 5rem;
  transform: translateY(24px);
  transition: transform .35s var(--ease);
  box-shadow: 0 0 60px rgba(0, 0, 0, .5);
}

.overlay.open .reader {
  transform: translateY(0);
}

.reader-bar {
  position: sticky;
  top: 0;
  z-index: 3;
  margin: -1rem -1rem 1.2rem;
  padding: .8rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(var(--parchment), rgba(250, 248, 240, .75));
  backdrop-filter: blur(2px);
  border-bottom: 1px solid var(--parchment-edge);
}

.reader-back {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--moss);
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-style: italic;
  font-size: 1rem;
  padding: .2rem .1rem;
}

.reader-back:hover {
  text-decoration: underline;
}

.reader-kicker {
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .68rem;
  color: var(--rubric);
}

.reader h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: clamp(1.7rem, 4vw, 2.5rem);
  line-height: 1.12;
  color: var(--leather);
  margin: 0 0 1.3rem;
}

.fa-h {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--leather-2);
  margin: 1.7rem 0 .5rem;
}

.fa-p {
  font-size: 1.02rem;
  line-height: 1.68;
  color: var(--ink);
  margin: 0 0 1rem;
}

.fa-q {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.16rem;
  line-height: 1.5;
  color: var(--leather-2);
  border-left: 2px solid var(--gold);
  padding-left: 1rem;
  margin: 1.3rem 0;
}

.fa-ul {
  margin: 0 0 1.1rem;
  padding-left: 1.2rem;
}

.fa-ul li {
  margin-bottom: .5rem;
  line-height: 1.55;
}

.reader-cta {
  margin-top: 2rem;
}

.reader-cta button {
  background: linear-gradient(155deg, var(--leather-2), var(--leather-dark));
  color: var(--gold-bright);
  border: 1px solid var(--gold);
  border-radius: 3px;
  padding: .7rem 1.2rem;
  cursor: pointer;
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .78rem;
}

.reader-cta button:hover {
  box-shadow: 0 0 14px rgba(200, 169, 104, .4);
}

.focus-ring:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

/* =====================================================================
   ADDITIVE STYLES (v8): cross-links, related, sources, metadata, print
   ===================================================================== */
.reader-bar-right{ display:flex; align-items:center; gap:.9rem; }
.reader-print{
  background:none; border:1px solid var(--parchment-edge); cursor:pointer;
  color:var(--ink-soft); font-family:'Cormorant Garamond', serif; font-weight:600;
  font-size:.82rem; letter-spacing:.04em; padding:.28rem .6rem; border-radius:2px;
  transition:inherit;
}
.reader-print:hover{ border-color:var(--gold); color:var(--ink); }
.reader-meta{ font-size:.8rem; color:var(--ink-soft); font-style:italic; margin:.2rem 0 1.2rem; }
.reader-sources{ margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--parchment-edge); }
.reader-sources ol{ margin:.4rem 0 0; padding-left:1.2rem; font-size:.9rem; color:var(--ink-soft); line-height:1.6; }
.reader-citation{ margin-top:1.6rem; padding-top:1rem; border-top:1px solid var(--parchment-edge); }
.reader-cite-text{ font-size:.86rem; color:var(--ink-soft); font-style:italic; margin:.3rem 0 0; }
.reader-note{ font-size:.82rem; color:var(--ink-soft); line-height:1.55; margin:1.2rem 0 0; }
.reader-related{ margin-top:1.8rem; padding-top:1.2rem; border-top:1px solid var(--parchment-edge); }
.reader-related-list{ display:flex; flex-direction:column; gap:.5rem; margin-top:.5rem; }
.related-link{
  width:100%; text-align:left; background:transparent; border:none; cursor:pointer;
  font-family:'Cormorant Garamond', serif; font-weight:600; font-size:1rem; color:var(--leather);
  padding:.35rem 0; border-bottom:1px solid var(--parchment-edge); transition:inherit;
}
.related-link:hover{ color:var(--bronze-text); }
.reader-service-link{ margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--parchment-edge); }
.reader-service-button{
  width:100%; border:1px solid var(--gold); background:transparent; color:var(--ink);
  padding:1rem 1.1rem; text-align:left; cursor:pointer; font:inherit; transition:inherit;
}
.reader-service-button:hover{ border-color:var(--gold-bright); }
.reader-service-main{ display:block; font-family:'Cormorant Garamond', serif; font-weight:700; }
.reader-service-sub{ display:block; margin-top:.25rem; font-size:.84rem; color:var(--ink-soft); }
.print-head{ display:none; }
@media (max-width:380px){ .reader-bar-right .reader-kicker{ display:none; } }

@media print {
  body * { visibility:hidden !important; }
  #overlay, #overlay * { visibility:visible !important; }
  #overlay{ position:static !important; display:block !important; background:#fff !important; overflow:visible !important; }
  .reader{
    position:static !important; width:100% !important; max-width:none !important;
    height:auto !important; max-height:none !important; overflow:visible !important;
    box-shadow:none !important; background:#fff !important; transform:none !important;
  }
  .reader-bar, .reader-service-link, .reader-related, .reader-cta,
  .contact-btn, #panel, .panel-scrim, #navPrev, #navNext { display:none !important; }
  .print-head{ display:block !important; font-weight:700; margin-bottom:.6rem; }
  a{ color:inherit !important; text-decoration:none !important; }
  h1,h2,h3,blockquote{ break-after:avoid; }
  p,li{ orphans:3; widows:3; }
}

/* =====================================================================
   RESPONSIVE / ADAPTIVE LAYER: legible on phones (portrait & landscape),
   tablets, laptops, and tall / short / wide / small screens.
   ===================================================================== */

/* Safety net: never clip. Overlong pages scroll within the leaf instead of
   being cut off by the book's overflow:hidden. */ .page-inner{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(158,122,59,.45) transparent}.page-inner::-webkit-scrollbar{width:6px}.page-inner::-webkit-scrollbar-thumb{background:rgba(158,122,59,.45);border-radius:3px}.page-inner::-webkit-scrollbar-track{background:transparent}@media (max-height: 760px){.page-inner{padding-top:clamp(1.1rem,2.4vh,2rem);padding-bottom:clamp(1.1rem,2.4vh,2rem)}.rh{margin-bottom:.85rem}.cred li{margin-bottom:.5rem}.t-uncover{margin-bottom:.85rem}.t-hint{margin-bottom:.9rem}.window{margin-bottom:.85rem}}@media (max-height: 560px){.rh{margin-bottom:.6rem;padding-bottom:.4rem}.monogram{width:46px;height:46px;font-size:1.05rem;margin-bottom:.5rem}.about-name,.page-title,.contact-name{font-size:clamp(1.2rem,5vh,1.7rem);margin-bottom:.4rem}.about-role,.contact-role{margin-bottom:.7rem;font-size:.95rem}.t-title{font-size:clamp(1.15rem,5vh,1.7rem);margin-bottom:.5rem}.t-problem{font-size:1rem;margin-bottom:.55rem}.t-uncover,.cred li,.contact-line{font-size:.9rem;line-height:1.45}.cred li{margin-bottom:.4rem}.about-quote,.t-hint,.closing-q{font-size:.98rem;line-height:1.4}.window{padding:.6rem .8rem;margin-bottom:.7rem}.win-main{font-size:1rem}.toc li{margin-bottom:.15rem}.toc .toc-link{font-size:.92rem}.toc-part{margin:.6rem 0 .25rem}}@media (max-height: 620px){.page.cover,.page.back{height:100dvh}.cover-eyebrow{margin-bottom:.6rem}.cover-title{font-size:clamp(1.3rem,6.4vh,2.2rem);margin-bottom:.4rem}.cover-sub{margin-bottom:1rem;font-size:.95rem}.cover-cta{margin-top:1.1rem}.cover-frame{padding:1rem}.back-text{font-size:.95rem}}@media (max-width: 900px) and (max-height: 500px) and (orientation: landscape){.page-inner{max-width:720px;padding-left:clamp(1.4rem,5vw,3rem);padding-right:clamp(1.4rem,5vw,3rem)}}@media (min-width: 1700px){.page-inner{max-width:700px}}@media (max-width: 380px){.page-inner{padding-left:1.15rem;padding-right:1.15rem}.cover-frame{padding:1rem}}.cover-cta2{margin-top:.1rem;display:inline-flex;align-items:center;background:transparent;color:var(--bronze-text);border:1px solid var(--gold);border-radius:2px;cursor:pointer;font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:clamp(.58rem,1.25vw,.7rem);padding:clamp(.5rem,1.1vh,.7rem) clamp(1.05rem,2.2vw,1.5rem);transition:background .2s,color .2s}.cover-cta2:hover{background:var(--bronze-text);color:#fff}.cover-doors{display:flex;gap:.5rem;width:100%;max-width:420px;margin-top:.2rem}.door{flex:1 1 0;display:flex;flex-direction:column;gap:.15rem;align-items:center;text-align:center;background:rgba(158,122,59,.05);border:1px solid var(--parchment-edge);border-radius:3px;padding:.55rem .35rem;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.door:hover{border-color:var(--gold);background:rgba(158,122,59,.1);transform:translateY(-1px)}.door b{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(.8rem,1.7vw,.95rem);color:var(--bronze-text);letter-spacing:.02em}.door span{font-size:clamp(.56rem,1.15vw,.66rem);color:var(--slate);line-height:1.25}.reader-invite{margin-top:2rem;padding:1.4rem 1.5rem 1.5rem;border:1px solid var(--gold);border-radius:4px;background:linear-gradient(120deg,rgba(158,122,59,.07),rgba(158,122,59,.02))}.ri-h{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.22rem;line-height:1.25;color:var(--leather);margin:0 0 .55rem}.ri-p{font-size:1rem;line-height:1.6;color:var(--ink);margin:0 0 1rem}.ri-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--bronze-text);color:#fff;border:none;border-radius:2px;cursor:pointer;font-family:'Cormorant Garamond',serif;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;padding:.75rem 1.3rem;transition:background .2s}.ri-btn:hover{background:#8a6a33}.ri-secondary{display:block;margin-top:.9rem;background:none;border:none;cursor:pointer;color:var(--moss);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.95rem;padding:.2rem 0}.ri-secondary:hover{text-decoration:underline}.p-link,.c-link{color:var(--bronze-text);text-decoration:none;border-bottom:1px dotted var(--gold)}.p-link:hover,.c-link:hover{color:var(--rubric)}.panel-cta{display:inline-flex;align-items:center;margin:.2rem 0 .9rem;background:var(--bronze-text);color:#fff;border:none;border-radius:2px;cursor:pointer;font-family:'Cormorant Garamond',serif;letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;padding:.6rem 1rem}.panel-cta:hover{background:#8a6a33}.menu-btn{position:fixed;left:14px;top:14px;z-index:70;display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(155deg,var(--leather-2),var(--leather-dark));color:var(--gold-bright);border:1px solid var(--gold);border-radius:40px;padding:.55rem .95rem;cursor:pointer;font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;box-shadow:0 10px 24px -12px rgba(28,29,31,.6);transition:transform .2s}.menu-btn svg{width:16px;height:16px}.menu-btn:hover{transform:translateY(-1px)}@media (max-width:560px){.menu-btn{left:12px;top:12px;padding:.5rem .7rem}.menu-btn .mb-label{display:none}}.menu-scrim{position:fixed;inset:0;z-index:71;background:rgba(20,18,14,.4);opacity:0;pointer-events:none;transition:opacity .3s}.menu-scrim.open{opacity:1;pointer-events:auto}.menu-panel{position:fixed;left:0;top:0;height:100%;width:min(300px,82vw);z-index:72;background:linear-gradient(120deg,rgba(255,255,255,.06),transparent 30%),var(--parchment);border-right:1px solid var(--gold);box-shadow:24px 0 60px -20px rgba(0,0,0,.5);transform:translateX(-104%);transition:transform .32s var(--ease);padding:3.2rem 1.6rem 2rem;display:flex;flex-direction:column;gap:.15rem;overflow-y:auto}.menu-panel.open{transform:translateX(0)}.menu-close{position:absolute;top:.6rem;right:.8rem;background:none;border:none;font-size:1.5rem;line-height:1;color:var(--ink-soft);cursor:pointer}.menu-brand{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.02rem;color:var(--leather);margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--parchment-edge)}.menu-link{text-align:left;background:none;border:none;cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:var(--ink);padding:.6rem .2rem;transition:color .2s}.menu-link:hover{color:var(--bronze-text)}.menu-link.js-situation{color:var(--bronze-text);font-weight:600}.sit-overlay{z-index:90}.door-overlay{z-index:88}.sit-card{position:relative;width:min(620px,100%);max-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 22%),var(--parchment);padding:clamp(1.4rem,4vw,3rem) clamp(1.3rem,4vw,3rem) 3rem;transform:translateY(24px);transition:transform .35s var(--ease);box-shadow:0 0 60px rgba(0,0,0,.5)}.sit-overlay.open .sit-card,.door-overlay.open .sit-card{transform:translateY(0)}.sit-topic{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--rubric);font-size:.9rem;margin:.4rem 0 .2rem}.sit-title{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(1.5rem,4vw,2.1rem);color:var(--leather);margin:.2rem 0 .6rem}.sit-lead{font-size:1rem;line-height:1.6;color:var(--ink);margin:0 0 1.2rem}.sit-field{display:block;margin-bottom:1rem}.sit-field span{display:block;font-family:'Cormorant Garamond',serif;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;color:var(--rubric);margin-bottom:.35rem}.sit-field input,.sit-field textarea{width:100%;font-family:'EB Garamond',serif;font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--parchment-edge);border-radius:3px;padding:.6rem .7rem}.sit-field input:focus,.sit-field textarea:focus{outline:none;border-color:var(--gold)}.sit-send{background:linear-gradient(155deg,var(--leather-2),var(--leather-dark));color:var(--gold-bright);border:1px solid var(--gold);border-radius:3px;padding:.8rem 1.4rem;cursor:pointer;font-family:'Cormorant Garamond',serif;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}.sit-send:hover{box-shadow:0 0 14px rgba(200,169,104,.4)}.sit-note{font-size:.82rem;color:var(--ink-soft);line-height:1.5;margin:1rem 0 0}.door-desc{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--leather-2);font-size:1.05rem;margin:0 0 1.1rem}.door-list{display:flex;flex-direction:column;gap:.2rem}.door-item{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--parchment-edge);cursor:pointer;padding:.6rem .1rem;font-family:'Cormorant Garamond',serif}.door-item:hover .di-t{color:var(--bronze-text)}.di-t{font-weight:600;font-size:1.05rem;color:var(--leather);transition:color .2s}.di-m{font-size:.8rem;color:var(--ink-soft);flex:0 0 auto}.leaf-page > .page-inner{padding-top:3.4rem}@media (max-width:560px){.leaf-page > .page-inner{padding-left:3rem;padding-right:3rem}}.page-situation{align-self:flex-start;margin-top:1.3rem;background:none;border:none;border-bottom:1px solid var(--gold);cursor:pointer;color:var(--bronze-text);font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1rem;letter-spacing:.02em;padding:.2rem 0 .3rem;transition:color .2s,border-color .2s}.page-situation:hover{color:var(--rubric);border-color:var(--rubric)}.cover-clarifier{font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:.01em;font-size:clamp(1.02rem,2.2vw,1.24rem);color:var(--ink-soft);line-height:1.35;max-width:34ch}.cover-note{font-size:clamp(.66rem,1.3vw,.78rem);color:var(--slate);line-height:1.4;margin-top:.55rem;max-width:46ch}.sit-privacy{font-size:.86rem;line-height:1.5;color:var(--ink-soft);margin:.1rem 0 .9rem}.sit-privacy-link{background:none;border:none;padding:0;cursor:pointer;color:var(--bronze-text);border-bottom:1px dotted var(--gold);font:inherit}.sit-privacy-link:hover{color:var(--rubric)}.sit-agree{display:flex;align-items:flex-start;gap:.55rem;margin:0 0 1.2rem;cursor:pointer;font-size:.92rem;line-height:1.4;color:var(--ink)}.sit-agree input{margin-top:.15rem;width:16px;height:16px;accent-color:var(--gold);flex:0 0 auto}.sit-agree-err{color:#a3402f}.sit-agree-err input{outline:2px solid #a3402f;outline-offset:1px}.priv-overlay{z-index:95}.priv-body h3{font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--leather-2);font-size:1.1rem;margin:1.3rem 0 .4rem}.priv-body p{font-size:.95rem;line-height:1.6;color:var(--ink);margin:0 0 .7rem}.priv-body ul{margin:0 0 .8rem;padding-left:1.2rem}.priv-body li{font-size:.93rem;line-height:1.5;margin-bottom:.35rem}.priv-body .muted{font-size:.85rem;color:var(--ink-soft)}@supports (width:1cqi){.page.cover{container-type:inline-size}.cover-title{font-size:clamp(1.5rem,8.4cqi,2.8rem)}}.reader h1{overflow-wrap:break-word}.sit-status{font-size:.92rem;line-height:1.45;margin:.7rem 0 0;min-height:1.2em}.sit-status.ok{color:#3a6b3a;font-weight:600}.sit-status.err{color:#a3402f}.sit-send[disabled]{opacity:.6;cursor:default}#overlay .page-inner{height:auto;max-width:none;padding:0;margin:0;overflow:visible}#overlay .page-inner .rh{display:none}#overlay .page-inner .page-situation{margin-top:1.3rem}.toc-subpart{font-family:'Cormorant Garamond',Georgia,serif;font-size:.95rem;font-weight:600;letter-spacing:.02em;color:#6b4e2e;margin:.7rem 0 .15rem .8rem;opacity:.92}.wa-help{margin-top:1.2rem;padding-top:.9rem;border-top:1px solid rgba(107,78,46,.22);font-family:'Cormorant Garamond',Georgia,serif}.wa-help>summary{cursor:pointer;color:#6b4e2e;font-size:.95rem;font-weight:600;list-style:none;letter-spacing:.01em}.wa-help>summary::-webkit-details-marker{display:none}.wa-help>summary::before{content:"?";display:inline-block;width:1.15em;height:1.15em;line-height:1.15em;text-align:center;border:1px solid currentColor;border-radius:50%;font-size:.78em;margin-right:.45em;vertical-align:.05em}.wa-help .wa-help-body{font-size:.9rem;line-height:1.55;color:#3a2c1c;margin-top:.55rem}.wa-help .wa-help-body a{color:#6b4e2e}@media (max-width:899px){.overlay{align-items:flex-start}.reader{padding-top:calc(env(safe-area-inset-top,0px) + .5rem) !important}.reader-bar{position:static !important;top:auto !important;margin-top:0 !important;flex-wrap:wrap !important;row-gap:.5rem !important;height:auto !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}.reader-bar-right{flex-wrap:wrap !important}}.wa-logo-img{display:block;margin:0 auto;height:auto;width:min(58vw,clamp(150px,23vh,300px))}.back-inner .wa-logo-img{width:min(54vw,clamp(140px,21vh,280px))}#waMenuFont .reader-print{padding:.25rem .55rem}.wa-inline{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.wa-rate{display:none;align-items:center;gap:.25rem}.wa-rate-val{font-family:'Cormorant Garamond',serif;font-size:.9rem;min-width:2.6em;text-align:center}.wa-play,.wa-fdn,.wa-fup,.wa-rate .reader-print{white-space:nowrap}#waFontFloat{position:fixed;top:1rem;right:1rem;z-index:9998;display:flex;gap:.3rem}.wa-ff{font-family:'Cormorant Garamond',Georgia,serif;font-size:.9rem;font-weight:600;line-height:1;background:#f4efe4;color:#6b4e2e;border:1px solid rgba(107,78,46,.35);border-radius:999px;padding:.42rem .62rem;box-shadow:0 2px 12px rgba(40,26,10,.14);cursor:pointer;opacity:.92}.wa-ff:hover{opacity:1}.wa-ff:focus-visible{outline:2px solid #6b4e2e;outline-offset:2px}@media (max-width:899px){.page.cover,.page.back{height: var(--wa-vh,100dvh) !important}.reader{max-height: var(--wa-vh,100dvh) !important}}@media print{#waFontFloat{display:none}}
