/* Physical Passport. Materials come from the C4 theme and supplied cover. */
.c4-book{--book-leather:#3b0e10;--book-edge:color-mix(in srgb,var(--line) 65%,var(--surface-raised));--book-light:color-mix(in srgb,var(--surface-raised) 28%,transparent);--book-shade:color-mix(in srgb,var(--navy) 28%,transparent);--book-rotation:-8deg;margin:0;min-width:0;align-self:center;position:relative;color:var(--text);text-align:center}
.c4-book-stage{height:405px;position:relative;display:grid;place-items:center;perspective:1500px;touch-action:pan-y;user-select:none;cursor:grab;isolation:isolate}
.c4-book.is-dragging .c4-book-stage{cursor:grabbing}
.c4-book-ground{position:absolute;bottom:10px;width:60%;height:24px;border-radius:50%;background:var(--book-shade);filter:blur(13px);transform:scaleY(.5);pointer-events:none}
.c4-book-volume{width:250px;aspect-ratio:1060/1484;position:relative;transform-style:preserve-3d;transform:translateX(0) rotateY(var(--book-rotation));transition:transform 520ms cubic-bezier(.2,.8,.2,1)}
.c4-book.is-open .c4-book-volume{transform:translateX(46%) rotateY(var(--book-rotation))}
.c4-book.is-dragging .c4-book-volume{transition:none}
.c4-book-back{position:absolute;inset:-2px;background:var(--book-leather);border-radius:6px 15px 15px 6px;transform:translateZ(-14px);box-shadow:var(--sl);border:1px solid var(--book-light)}
.c4-book-spine{position:absolute;left:-8px;top:0;width:16px;height:100%;background:linear-gradient(90deg,var(--navy),var(--book-leather),var(--navy));transform:rotateY(-90deg);border-radius:5px;transform-origin:right center;display:grid;place-items:center;color:var(--muted)}
.c4-book-spine span{writing-mode:vertical-rl;font-size:7px;letter-spacing:.16em;white-space:nowrap;opacity:.8}
.c4-book-edge{position:absolute;background:repeating-linear-gradient(90deg,var(--book-edge) 0px,var(--surface-raised) 1px,var(--book-edge) 2px);pointer-events:none}
.c4-book-edge-side{right:-6px;top:4px;width:14px;height:calc(100% - 8px);transform:rotateY(90deg);transform-origin:left center;border-radius:0 5px 5px 0}
.c4-book-edge-top,.c4-book-edge-bottom{left:5px;width:calc(100% - 10px);height:14px;transform:rotateX(90deg);transform-origin:center top;background:repeating-linear-gradient(0deg,var(--book-edge) 0px,var(--surface-raised) 1px,var(--book-edge) 2px)}
.c4-book-edge-top{top:0}.c4-book-edge-bottom{bottom:-14px}
.c4-book-cover{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:7px 15px 15px 7px;background:linear-gradient(135deg,#56181a 0%,#3f1012 42%,#07212b 100%);color:var(--muted);transform-style:flat;transform-origin:0 50%;transform:translateZ(2px) rotateY(0);transition:transform 620ms cubic-bezier(.2,.8,.2,1);box-shadow:var(--sc);cursor:grab;appearance:none;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.c4-book-cover picture,.c4-book-cover img{display:block;width:100%;height:100%;border-radius:inherit;pointer-events:none}
.c4-book-cover img{object-fit:cover;position:relative}
.c4-book-cover::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--book-shade),transparent 7%,var(--book-light) 9%,transparent 12%,transparent 92%,var(--book-shade));pointer-events:none;backface-visibility:hidden}
.c4-book-cover-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;padding:20px;font-size:44px;color:var(--muted);border:1px solid var(--line);border-radius:inherit;backface-visibility:hidden}
.c4-book-cover-fallback>span{font-size:8px;letter-spacing:.14em}.c4-book-cover-fallback strong{font-size:20px;text-transform:uppercase;letter-spacing:.12em}
.c4-book.is-open .c4-book-cover{transform:translateZ(2px) rotateY(-178deg);pointer-events:none}
.c4-book-inside-left{position:absolute;inset:0;background:var(--surface-raised);border:1px solid var(--line);border-radius:14px 4px 4px 14px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;transform:translateX(-100%) translateZ(-1px);transform-origin:left center;visibility:hidden;box-shadow:inset -12px 0 18px -16px var(--text);pointer-events:none}
.c4-book.is-open .c4-book-inside-left{visibility:visible}
.c4-book-inside-left img{width:53px;height:auto}.c4-book-inside-left>span{font-size:7px;letter-spacing:.14em;color:var(--muted)}.c4-book-inside-left strong{font:600 22px/1.35 Manrope,sans-serif;color:var(--text)}.c4-book-inside-left small{font-size:10px;color:var(--muted)}
.c4-book-paper,.c4-book-turnleaf{position:absolute;inset:3px 4px 3px 3px;background:var(--surface-raised);color:var(--text);border-radius:3px 12px 12px 3px;border:1px solid var(--line);padding:18px 18px 13px 22px;display:flex;flex-direction:column;text-align:left;transform:translateZ(1px);box-shadow:inset 12px 0 18px -16px var(--text);font-size:12px;line-height:1.55;overflow:hidden}
.c4-book-paper[hidden],.c4-book-turnleaf[hidden],.c4-book-pages-controls[hidden]{display:none!important}
.c4-book-turnleaf{transform-origin:0 50%;pointer-events:none;z-index:3;transform-style:preserve-3d;padding:0;border:0;background:none;box-shadow:none;overflow:visible}
.c4-book-page-head{display:flex;align-items:center;gap:9px;font-size:8px;font-weight:600;letter-spacing:.05em;border-bottom:1px solid var(--line);padding-bottom:12px;flex-shrink:0}
.c4-book-page-head img{width:28px;height:auto}.c4-book-page-head>span{flex:1;overflow-wrap:anywhere}
.c4-book-page-body{padding-top:16px;flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior:contain;user-select:text}
.c4-book-page-body h3{font:600 21px/1.25 Manrope,sans-serif;margin:0 0 14px;letter-spacing:-.035em;overflow-wrap:anywhere}
.c4-book-page-body h4{font-size:11px;margin:14px 0 5px}.c4-book-page-body p{font-size:11px;margin:0 0 12px;line-height:1.6;color:var(--muted)}
.c4-book-page-body dl{margin:13px 0 8px}.c4-book-page-body dl>div{margin-bottom:10px}.c4-book-page-body dt{font-size:8px;color:var(--muted);margin-bottom:3px}.c4-book-page-body dd{margin:0;font-size:11px;overflow-wrap:anywhere}
.c4-book-tag{display:block;font-size:8px;color:var(--brand);margin-bottom:10px}.c4-book-count{display:flex;gap:12px;align-items:center;margin:12px 0}.c4-book-count>strong{font:500 28px/1 Manrope,sans-serif}.c4-book-count>span{font-size:10px;color:var(--muted)}
.c4-book-page-body ul{padding-left:15px;margin:12px 0;font-size:10px}.c4-book-page-body li{margin:0 0 8px;overflow-wrap:anywhere}
.c4-book-page-link{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;min-height:44px;font-weight:600;color:var(--brand);border-top:1px solid var(--line);margin-top:8px}
.c4-book-page-foot{display:flex;justify-content:space-between;gap:8px;font-size:7px;color:var(--muted);padding-top:10px;border-top:1px solid var(--line);margin-top:8px;flex-shrink:0}
.c4-book-caption{position:relative;display:flex;align-items:center;flex-direction:column;gap:10px;margin-top:9px;min-height:137px;width:100%;isolation:isolate}
.c4-book-hint{font-size:11px!important;line-height:1.5!important;margin:0 0 3px!important;color:var(--muted);max-width:none!important}

.c4-book-control{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;transition:transform .2s}
.c4-book-control>span[aria-hidden]{font-size:17px}.c4-book-control.btn{padding:11px 18px;font-size:13px}
.c4-book-status{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.c4-book :is(button,a):focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.c4-book-control:hover{transform:translateY(-2px)}.c4-book-page-link:hover{text-decoration:underline;text-underline-offset:3px}}
.c4-book-control:active{transform:translateY(1px)}
@media(max-width:1100px) and (min-width:701px){.split:has(>.c4-book){grid-template-columns:1fr;gap:36px}.c4-book{width:100%}}
@media(max-width:700px){.c4-book{width:100%;max-width:520px;margin-inline:auto}.c4-book-stage{height:405px}.c4-book-volume{width:250px;max-width:calc(100vw - 76px)}.c4-book.is-open .c4-book-volume{transform:rotateY(var(--book-rotation))}.c4-book.is-open .c4-book-cover{opacity:0}.c4-book.is-open .c4-book-inside-left{display:none}.c4-book-caption{margin-top:7px}.c4-book-control{font-size:10px;padding-inline:11px}.c4-book-paper,.c4-book-turnleaf{padding:20px}.c4-book-page-body h3{font-size:23px}.c4-book-page-body :is(p,dd){font-size:12px}.c4-book-page-body li{font-size:11px}.c4-book-page-head{font-size:9px}}
@media(prefers-reduced-motion:reduce){.c4-book-volume,.c4-book-cover,.c4-book-control{transition:none!important}.c4-book-turnleaf{display:none!important}.c4-book-volume,.c4-book.is-open .c4-book-volume{transform:translateX(0)!important}.c4-book.is-open .c4-book-cover{visibility:hidden}.c4-book.is-open .c4-book-inside-left{display:none}}
@supports not (transform-style:preserve-3d){.c4-book-volume,.c4-book.is-open .c4-book-volume{transform:none}.c4-book-spine,.c4-book-edge,.c4-book-inside-left,.c4-book-turnleaf{display:none}.c4-book.is-open .c4-book-cover{display:none}.c4-book-paper{transform:none}}

.c4-book-control .icon,.c4-book-page-link .icon{width:15px;height:15px;flex-shrink:0}.c4-book-left-arrow{transform:rotate(180deg)}

/* The personal Passport stays inside its profile card and opens to one readable page. */
.profile-passport-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:28px;align-items:center}
.profile-passport-details,.profile-passport-object{min-width:0}
.profile-passport-details>.row{flex-wrap:wrap;gap:16px}
.profile-passport-details>.row>div:not(.avatar){min-width:0;flex:1}
.profile-passport-details h2,.profile-passport-details p,.profile-passport-details dd{overflow-wrap:anywhere}
.profile-passport-details .profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.profile-passport-object{padding-inline-start:24px;border-inline-start:1px solid var(--line)}
.profile-summary .profile-passport-avatar{overflow:hidden;flex-shrink:0}
.profile-passport-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.c4-book-personalized{width:100%;max-width:420px;margin-inline:auto}
.c4-book-personalized .c4-book-stage{height:382px}
.c4-book-personalized .c4-book-volume{width:250px;max-width:calc(100% - 20px)}
.c4-book-personalized.is-open .c4-book-volume{transform:rotateY(var(--book-rotation))}
.c4-book-personalized .c4-book-cover{transition:transform 620ms cubic-bezier(.2,.8,.2,1),opacity 120ms linear}
.c4-book-personalized.is-open .c4-book-cover{opacity:0;transition-delay:0ms,200ms}
.c4-book-personalized.is-open .c4-book-inside-left{display:none}
.c4-book-personalized .c4-book-caption{margin-top:12px}
.c4-book-personalized .c4-book-page-body{padding-top:12px}
.c4-book-identity-head{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center}
.c4-book-portrait{display:grid;place-items:center;width:72px;height:90px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r1);background:var(--tint);color:var(--brand);font-size:24px;font-weight:700}
.c4-book-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.c4-book-identification .c4-book-tag{margin-bottom:6px}
.c4-book-identification h3{font-size:18px;line-height:1.3;margin:0}
.c4-book-identification dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 0}
.c4-book-identification dl>div{margin:0;min-width:0}
.c4-book-identification dd{font-size:12px;line-height:1.45}
.passport-photo-editor{display:flex;align-items:flex-start;gap:16px;margin-block:24px}
.passport-photo-preview{display:grid;place-items:center;width:64px;height:80px;flex-shrink:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--tint);color:var(--brand);font-weight:700;font-size:20px}
.passport-photo-preview img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.passport-photo-editor>.field{flex:1;min-width:0;margin:0}
.passport-photo-editor input[type=file]{width:100%;max-width:100%;height:auto;min-height:44px;padding:6px;font-size:12px}
.passport-photo-editor input[type=file]::file-selector-button{min-height:44px;padding:8px 12px;margin-inline-end:8px;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}
.passport-photo-editor .fine{font-size:11px;line-height:1.6;margin:8px 0 0}
.passport-photo-editor .checkbox-label{font-size:12px;margin-top:12px}
.passport-photo-error{font-size:12px;color:var(--me);margin:0 0 16px}
.passport-photo-error[hidden],#profile-photo-status[hidden]{display:none}
@media(max-width:1100px){.profile-passport-layout{grid-template-columns:1fr;gap:24px}.profile-passport-object{padding-inline-start:0;padding-block-start:24px;border-inline-start:0;border-block-start:1px solid var(--line)}}
@media(max-width:700px){.profile-passport-details>.row{gap:12px}.profile-passport-details>.row>.badge{margin-inline-start:0!important}.profile-passport-details .profile-fields{gap:20px 14px}.c4-book-personalized .c4-book-stage{height:370px}.c4-book-personalized .c4-book-paper,.c4-book-personalized .c4-book-turnleaf{padding:16px}.c4-book-identity-head{grid-template-columns:60px minmax(0,1fr);gap:10px}.c4-book-portrait{width:60px;height:75px}.c4-book-identification h3{font-size:18px}.passport-photo-editor{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.c4-book-personalized.is-open .c4-book-volume{transform:none!important}}
/* The seal page: the verification code beside the seal's facts */
.c4-book-seal-row{display:flex;gap:12px;align-items:flex-start;margin:2px 0 4px}
.c4-book-seal-row dl{margin:0;flex:1;min-width:0}
.c4-book-seal-row dd{white-space:nowrap;font-size:10.5px;letter-spacing:-.01em}
.c4-book-qr{flex:0 0 96px;width:96px;height:96px;padding:5px;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:8px}
.c4-book-qr svg{display:block;width:100%;height:100%;shape-rendering:crispEdges}
.c4-book-seal .c4-book-page-link{margin-top:4px}
@media(max-width:700px){.c4-book-qr{flex-basis:104px;width:104px;height:104px}}

/* ------------------------------------------------------------------------------------------------
   The reading experience (founder's reference, 26 October): one toolbar, a two-page spread on desktop
   with the branded inside cover, page stacks for thickness, a leaf that turns around the spine with
   two faces and a travelling shade, full-screen reading, one page at a time on a phone.
   ------------------------------------------------------------------------------------------------ */
.c4-book-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;width:100%}
.c4-book-toolbar-divider{display:inline-block;width:1px;height:28px;background:var(--line);margin-inline:6px}
.c4-book-toolbar-divider[hidden],.c4-book-pages-controls[hidden],.c4-book-fullscreen[hidden],.c4-book-stack[hidden],.c4-book-paper-left[hidden]{display:none!important}
.c4-book-pages-controls{display:inline-flex;align-items:center;gap:8px}
.c4-book-pagination{min-width:44px;text-align:center;font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.c4-book-toggle{min-width:170px}
.c4-book-reset.btn{min-height:44px;padding:11px 18px;font-size:13px}
.c4-book-fullscreen{position:absolute;top:0;right:0;z-index:6;min-height:40px;padding:9px 16px;font-size:13px;gap:8px}
.c4-book-fullscreen>span[aria-hidden]{font-size:15px;line-height:1}
.c4-book-stage{overflow:visible}
/* The leaf: two faces around the spine. */
.c4-book-leaf-face{position:absolute;inset:0;border-radius:3px 12px 12px 3px;border:1px solid var(--line);background:var(--surface-raised);color:var(--text);padding:18px 18px 13px 22px;display:flex;flex-direction:column;text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 12px 0 18px -16px var(--text)}
.c4-book-leaf-back{transform:rotateY(180deg);border-radius:12px 3px 3px 12px;box-shadow:inset -12px 0 18px -16px var(--text)}
.c4-book-leaf-shade{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgb(8 46 71 / .55),rgb(8 46 71 / .12) 40%,transparent 70%)}
.c4-book-leaf-back .c4-book-leaf-shade{background:linear-gradient(270deg,rgb(8 46 71 / .55),rgb(8 46 71 / .12) 40%,transparent 70%)}
.c4-book.is-open .c4-book-paper{box-shadow:inset 18px 0 26px -18px rgb(8 46 71 / .5),1px 1px 0 var(--book-edge)}
/* The spread: the inside cover or the previous page on the left, the current page on the right. */
.c4-book-paper-left{transform:translateX(calc(-100% - 1px)) translateZ(1px);border-radius:12px 3px 3px 12px;box-shadow:inset -18px 0 26px -18px rgb(8 46 71 / .5);padding:18px 22px 13px 18px}
.c4-book-stack{position:absolute;inset:3px 4px 3px 3px;border-radius:3px 12px 12px 3px;background:var(--surface-raised);transform:translateZ(0);box-shadow:1.5px 1.5px 0 var(--book-edge),3px 3px 0 var(--surface-raised),4.5px 4.5px 0 var(--book-edge),6px 6px 0 var(--surface-raised),7px 7px 0 var(--book-edge)}
.c4-book-stack-left{transform:translateX(calc(-100% - 1px)) translateZ(0);border-radius:12px 3px 3px 12px;box-shadow:-1.5px 1.5px 0 var(--book-edge),-3px 3px 0 var(--surface-raised),-4.5px 4.5px 0 var(--book-edge),-6px 6px 0 var(--surface-raised),-7px 7px 0 var(--book-edge)}
.c4-book-page-end{display:grid;place-items:center;height:100%;opacity:.35}
.c4-book-page-end img{width:40%;height:auto}
/* The branded inside cover: the approved cover art on the inside of the leather. */
.c4-book.is-spread .c4-book-inside-left{border-radius:14px 4px 4px 14px;border:0;background:linear-gradient(135deg,#56181a 0%,#3f1012 42%,#07212b 100%);box-shadow:inset -22px 0 30px -22px rgb(0 0 0 / .6),inset 0 0 0 1px rgb(255 255 255 / .06)}
.c4-book.is-spread .c4-book-inside-left::before{content:"";position:absolute;inset:10px;border-radius:10px 3px 3px 10px;border:1px solid rgb(214 170 90 / .45);background:url(/assets/passport-cover/gold-embossed-800.webp) center/cover no-repeat;filter:saturate(.9) brightness(.95);opacity:.98}
.c4-book.is-spread .c4-book-inside-left>*{display:none}
.c4-book.is-spread .c4-book-inside-left.is-covered{visibility:hidden}
@media(min-width:701px){
  .c4-book.is-open{--page-w:clamp(240px,min(27vw,(100vh - 330px) / 1.4),340px)}
  .c4-book.is-open .c4-book-stage{height:calc(var(--page-w) * 1.4 + 70px)}
  .c4-book-stage{transition:height 520ms cubic-bezier(.2,.8,.2,1)}
  .c4-book-volume{transition:transform 520ms cubic-bezier(.2,.8,.2,1),width 520ms cubic-bezier(.2,.8,.2,1)}
  .c4-book.is-open .c4-book-volume,.c4-book-personalized.is-open .c4-book-volume{width:var(--page-w);max-width:none;transform:translateX(50%) rotateY(var(--book-rotation))}
  .c4-book-personalized.is-open .c4-book-cover{opacity:1}
  .c4-book-personalized.is-open .c4-book-inside-left{display:flex}
  .c4-book-personalized{max-width:none}
  .c4-book.is-open .c4-book-paper,.c4-book.is-open .c4-book-leaf-face{--book-fs:clamp(12px,calc(var(--page-w) * .04),15px);font-size:var(--book-fs);padding:calc(var(--page-w) * .07) calc(var(--page-w) * .07) calc(var(--page-w) * .05) calc(var(--page-w) * .085)}
  .c4-book.is-open .c4-book-paper-left{padding:calc(var(--page-w) * .07) calc(var(--page-w) * .085) calc(var(--page-w) * .05) calc(var(--page-w) * .07)}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-head{font-size:.72em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-head img{width:2.4em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-body :is(p,dd){font-size:1em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-body h3{font-size:1.7em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-body h4{font-size:1em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-body dt{font-size:.74em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-body li{font-size:.95em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-link{font-size:.9em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-foot{font-size:.68em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-tag{font-size:.74em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-count>strong{font-size:2.3em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-identification h3{font-size:1.5em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-identification dd{font-size:1em}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-portrait{width:calc(var(--book-fs) * 5.2);height:calc(var(--book-fs) * 6.5);font-size:calc(var(--book-fs) * 1.6)}
  .c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-identity-head{grid-template-columns:calc(var(--book-fs) * 5.2) minmax(0,1fr)}
}
/* Full-screen reading: the whole viewport, the toolbar beneath, Escape leaves. */
html.c4-book-fullscreen-open{overflow:hidden}
.c4-book.is-fullscreen{position:fixed;inset:0;z-index:1200;margin:0;max-width:none;width:auto;display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:color-mix(in srgb,var(--surface) 92%,var(--navy));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.c4-book.is-fullscreen .c4-book-stage{height:100%;min-height:0}
.c4-book.is-fullscreen .c4-book-caption{min-height:0;margin-top:8px}
@media(min-width:701px){.c4-book.is-fullscreen{--page-w:clamp(260px,min(36vw,(100vh - 200px) / 1.4),460px)}.c4-book.is-fullscreen .c4-book-stage{height:100%}}
@media(max-width:700px){.c4-book-toolbar{gap:6px}.c4-book-toolbar-divider{display:none!important}.c4-book-toggle{order:-1;flex-basis:100%;max-width:300px}.c4-book-control.btn{padding:10px 14px;font-size:12px}.c4-book-fullscreen{top:4px;right:4px;padding:8px 12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.c4-book-stage,.c4-book-volume{transition:none!important}.c4-book-turnleaf{display:none!important}}
@supports not (transform-style:preserve-3d){.c4-book-paper-left,.c4-book-stack,.c4-book-inside-left{display:none!important}.c4-book.is-open .c4-book-volume{transform:none!important}}

/* ------------------------------------------------------------------------------------------------
   The bound object (founder's reference, second look): leather all around, a stitched spine, cream paper.
   ------------------------------------------------------------------------------------------------ */
.c4-book{--book-paper:#FAFAF5;--book-paper-deep:#ECECE6;--book-gold:#d4a95a;--book-leather-2:#0b2a30;--book-shadow:70 76 82}
.c4-book.is-spread .c4-book-back{left:calc(-100% - 16px);right:-16px;top:-14px;bottom:-14px;inset-inline:auto;width:auto;border-radius:20px 22px 22px 20px;border:1px solid rgb(255 255 255 / .08);
  background:
    radial-gradient(120% 90% at 20% 10%,rgb(255 255 255 / .06),transparent 55%),
    repeating-radial-gradient(circle at 30% 40%,rgb(255 255 255 / .018) 0 1px,transparent 1px 3px),
    linear-gradient(135deg,#17393f 0%,#0f2d32 45%,#081f27 100%);
  box-shadow:0 30px 60px -26px rgb(8 46 71 / .6),0 8px 18px -10px rgb(8 46 71 / .5)}
.c4-book.is-spread .c4-book-back::after{content:"";position:absolute;inset:7px;border-radius:15px 17px 17px 15px;border:1.5px dashed rgb(212 169 90 / .55);pointer-events:none}
.c4-book.is-spread .c4-book-back::before{content:"";position:absolute;top:10px;bottom:10px;left:calc(50% - 1px);width:2px;border-left:2px dotted rgb(212 169 90 / .5);pointer-events:none}
.c4-book.is-spread .c4-book-spine,.c4-book.is-spread .c4-book-edge{display:none}
/* The inside cover: the approved cover art on the leather, pressed in, a gold thread around it. */
.c4-book.is-spread .c4-book-inside-left{background:linear-gradient(135deg,#17393f 0%,#0f2d32 45%,#081f27 100%);box-shadow:inset -26px 0 34px -24px rgb(0 0 0 / .65)}
.c4-book.is-spread .c4-book-inside-left::before{inset:14px 12px 14px 16px;border-radius:12px 4px 4px 12px;border:1px solid rgb(212 169 90 / .4);box-shadow:inset 0 0 0 1px rgb(0 0 0 / .35),inset 0 8px 24px rgb(0 0 0 / .35);filter:saturate(.85) brightness(.92) contrast(1.02)}
/* Cream paper with a faint grain; stacked edges at the fore-edge. */
.c4-book.is-open .c4-book-paper,.c4-book.is-open .c4-book-leaf-face,.c4-book.is-open .c4-book-stack{background:
    repeating-linear-gradient(0deg,rgb(0 0 0 / .010) 0 1px,transparent 1px 3px),
    repeating-linear-gradient(90deg,rgb(0 0 0 / .006) 0 1px,transparent 1px 4px),
    radial-gradient(140% 100% at 100% 0%,rgb(255 255 255 / .6),transparent 60%),
    var(--book-paper)}
.c4-book.is-open .c4-book-paper{border-color:rgb(var(--book-shadow) / .14);box-shadow:inset 20px 0 28px -20px rgb(var(--book-shadow) / .32),1px 1px 0 var(--book-paper-deep)}
.c4-book.is-open .c4-book-paper-left{border-color:rgb(var(--book-shadow) / .14);box-shadow:inset -20px 0 28px -20px rgb(var(--book-shadow) / .32),-1px 1px 0 var(--book-paper-deep)}
.c4-book.is-open .c4-book-stack{box-shadow:1.5px 1.5px 0 var(--book-paper-deep),3px 3px 0 var(--book-paper),4.5px 4.5px 0 var(--book-paper-deep),6px 6px 0 var(--book-paper),7.5px 7.5px 0 var(--book-paper-deep),9px 9px 0 var(--book-paper)}
.c4-book.is-open .c4-book-stack-left{box-shadow:-1.5px 1.5px 0 var(--book-paper-deep),-3px 3px 0 var(--book-paper),-4.5px 4.5px 0 var(--book-paper-deep),-6px 6px 0 var(--book-paper),-7.5px 7.5px 0 var(--book-paper-deep),-9px 9px 0 var(--book-paper)}
.c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) :is(.c4-book-page-head,.c4-book-page-foot){border-color:rgb(8 46 71 / .14)}
.c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face){color:#13293a}
.c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) :is(p,dt,.c4-book-page-foot,.c4-book-page-head){color:#4a5d6e}
.c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) :is(dd,h3,h4,li,strong){color:#13293a}
.c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-tag{color:#931808}
.c4-book.is-open .c4-book-ground{width:78%;bottom:-2px;opacity:.7}
@media(min-width:701px){.c4-book.is-open .c4-book-stage{padding-inline:18px}}

/* The page finish (founder, 26 October): ivory, crisp navy text, neutral-grey edges; the leaf's faces alike. */
.c4-book .c4-book-leaf-face{border-color:rgb(var(--book-shadow,70 76 82) / .14);box-shadow:inset 12px 0 18px -16px rgb(var(--book-shadow,70 76 82) / .35)}
.c4-book .c4-book-leaf-back{box-shadow:inset -12px 0 18px -16px rgb(var(--book-shadow,70 76 82) / .35)}
.c4-book.is-open .c4-book-ground{background:rgb(var(--book-shadow) / .22)}
.c4-book.is-open .c4-book-back{box-shadow:0 26px 54px -26px rgb(var(--book-shadow) / .45),0 8px 18px -10px rgb(var(--book-shadow) / .35)}
.c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) :is(h3,h4,dd,li,strong,.c4-book-count>strong){color:#0c293e}
.c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) :is(p,dt,.c4-book-page-foot,.c4-book-page-head,.c4-book-count>span){color:#54657a}
.c4-book.is-open :is(.c4-book-paper,.c4-book-leaf-face) .c4-book-page-link{color:#931808}
@media(max-width:700px){.c4-book.is-open .c4-book-paper{background:var(--book-paper);color:#0c293e;border-color:rgb(70 76 82 / .14);box-shadow:inset 12px 0 18px -16px rgb(70 76 82 / .35)}.c4-book.is-open .c4-book-paper :is(h3,h4,dd,li,strong){color:#0c293e}.c4-book.is-open .c4-book-paper :is(p,dt,.c4-book-page-foot,.c4-book-page-head){color:#54657a}}

/* Full screen on a phone: the whole viewport, one page, the toolbar beneath, nothing of the page behind. */
.c4-book.is-fullscreen{height:100vh;height:100dvh;overflow:auto;-webkit-overflow-scrolling:touch}
@media(max-width:700px){
  .c4-book.is-fullscreen{grid-template-rows:auto minmax(0,1fr) auto;padding:max(10px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom))}
  .c4-book.is-fullscreen .c4-book-stage{height:auto;min-height:min(72vh,560px);max-width:100%}
  .c4-book.is-fullscreen .c4-book-volume{width:min(300px,calc(100vw - 56px))}
  .c4-book.is-fullscreen .c4-book-caption{min-height:0;margin-top:6px}
  .c4-book.is-fullscreen .c4-book-fullscreen{position:static;justify-self:end;margin:0 0 4px auto}
  .c4-book.is-fullscreen .c4-book-toolbar{gap:6px}
}

/* The demo workspace's My Passport: while the book is open the spread takes the whole card. */
.profile-passport-layout:has(.c4-book.is-open){grid-template-columns:1fr}
.profile-passport-object:has(.c4-book.is-open){padding-inline-start:0;border-inline-start:0;padding-block-start:0;border-block-start:0}
.c4-book-personalized.is-open{max-width:none;width:100%}
/* Identity & verification (30 October 2026): the main identity page, the personal details above and the machine-readable
   zone at its foot, above the page footer, on a clean white ground with room around it, black monospaced characters
   sized together to the page's width (never stretched, no effects), in the open desktop book and the single phone page. */
.c4-book-identity-page{display:flex;flex-direction:column;min-height:100%;container-type:inline-size}
.c4-book-identity-page .c4-book-identity-role{margin:4px 0 0;font-size:11px;color:var(--brand);font-weight:600}
.c4-book-identity-page dl{gap:8px 12px;margin:14px 0 4px}
.c4-book-identity-page dd{line-height:1.4;overflow-wrap:anywhere}
.c4-book-mrz{display:grid;gap:.4em;margin:auto 0 0;padding:1em 1.1em;background:#fff;color:#000;border:1px solid #d9dde3;border-radius:4px;box-shadow:none;text-shadow:none;filter:none;font-family:"OCR-B","OCRB","OCR B",ui-monospace,"SFMono-Regular",Menlo,Consolas,"Courier New",monospace;font-size:max(7px,calc(100cqi / 31));font-weight:400;font-style:normal;line-height:1.2;letter-spacing:0;word-spacing:0;font-variant-ligatures:none;font-feature-settings:"liga" 0,"calt" 0;white-space:pre;transform:none}
.c4-book-identity-page>.c4-book-page-link{margin-bottom:16px}
.c4-book-mrz span{display:block;overflow:hidden}
/* The journey's chapters: one entry a line, its date, place and status under it. */
.c4-book-journey ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.c4-book-journey li{display:grid;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.c4-book-journey li:last-child{border-bottom:0}
.c4-book-journey strong{font-size:13px;line-height:1.35;font-weight:600}
.c4-book-journey li>span{font-size:11px;line-height:1.4;color:var(--muted)}
/* A narrow identity page (the phone's single page): a smaller portrait and tighter rows, so the zone stays in view. */
@container (max-width: 360px){
  .c4-book-identity-page .c4-book-identity-head{grid-template-columns:48px minmax(0,1fr);gap:10px}
  .c4-book-identity-page .c4-book-portrait{width:48px;height:60px;font-size:17px}
  .c4-book-identity-page h3{font-size:16px}
  .c4-book-identity-page dl{gap:2px 10px;margin:10px 0 2px}
  .c4-book-identity-page dl>div{margin-bottom:4px}
  .c4-book-identity-page dd{font-size:10px}
  .c4-book-identity-page>.c4-book-page-link{margin-bottom:10px;padding-block:8px}
  .c4-book-mrz{padding:.8em .8em}
}
/* The pinned slot (31 October 2026): the zone sits between the page's scrolling body and its footer, always in view,
   sized to the page's own width. */
.c4-book-page-pin{flex-shrink:0;container-type:inline-size;padding-top:8px}
.c4-book-page-pin .c4-book-mrz{margin:0;font-size:max(6.5px,calc(100cqi / 30))}
.c4-book-identity-page{min-height:0}
/* The identity page fits whole above its zone (31 October 2026): a smaller portrait, tighter rows, two lines at most
   for a long institution, so nothing is cut at any page size. */
.c4-book-identity-page .c4-book-identity-head{grid-template-columns:52px minmax(0,1fr);gap:10px}
.c4-book-identity-page .c4-book-portrait{width:52px;height:65px;font-size:18px}
.c4-book-identity-page .c4-book-tag{margin-bottom:2px}
.c4-book-identity-page h3{font-size:16px;margin:0}
.c4-book-identity-page .c4-book-identity-role{margin-top:1px;font-size:10px}
.c4-book-identity-page dl{gap:0 12px;margin:9px 0 0}
.c4-book-identity-page dl>div{margin-bottom:5px}
.c4-book-identity-page dt{margin-bottom:1px}
.c4-book-identity-page dd{font-size:10.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.c4-book-identity-page>.c4-book-page-link{margin:2px 0 0;padding-block:6px}
@container (max-width: 250px){
  .c4-book-identity-page .c4-book-identity-head{grid-template-columns:40px minmax(0,1fr);gap:8px}
  .c4-book-identity-page .c4-book-portrait{width:40px;height:50px;font-size:15px}
  .c4-book-identity-page h3{font-size:14px}
  .c4-book-identity-page dl{margin-top:6px}
  .c4-book-identity-page dl>div{margin-bottom:3px}
  .c4-book-identity-page dt{font-size:7px}
  .c4-book-identity-page dd{font-size:9px;line-height:1.25}
  .c4-book-identity-page>.c4-book-page-link{display:none}
}
.c4-book-identity-page dl{margin-top:7px}
.c4-book-identity-page dl>div{margin-bottom:3px}
.c4-book-page-pin{padding-top:6px}
/* The smallest pages (a tablet's closed-size book): issue, validity, institution and discipline give way, so the
   identity reads whole above its zone; the full book and the larger pages keep them. */
@container (max-width: 215px){ .c4-book-identity-page .c4-book-id-extra{display:none} }
/* Identity & verification as the founder drew it (31 October 2026): the red line, the name, eight fields in two columns,
   then the zone on clean high-contrast ground with room around it, no border or effect, above the footer. */
.c4-book-identity-page{display:block;min-height:0;container-type:inline-size}
.c4-book-identity-tag{display:block;color:var(--brand);font-size:clamp(8px,4.2cqi,11px);font-weight:500;margin:2px 0 6px}
.c4-book-identity-page h3{font-size:clamp(15px,10cqi,26px);line-height:1.15;margin:0 0 clamp(6px,4cqi,14px)}
.c4-book-identity-page dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3px,2.4cqi,9px) 14px;margin:0}
.c4-book-identity-page dl>div{margin:0;min-width:0}
.c4-book-identity-page dt{font-size:clamp(7px,3.6cqi,10px);color:var(--muted);margin:0 0 1px}
.c4-book-identity-page dd{margin:0;font-size:clamp(9px,5cqi,14px);line-height:1.25;color:var(--text);overflow-wrap:anywhere}
.c4-book-page-pin{padding-top:clamp(6px,3cqi,14px)}
.c4-book-page-pin .c4-book-mrz{border:0;border-radius:2px;background:#fff;color:#000;padding:.7em .45em;box-shadow:none}
.c4-book-identity-page h3{margin-bottom:clamp(3px,2.6cqi,14px)}
.c4-book-identity-page dl{row-gap:clamp(1px,1.8cqi,9px)}
.c4-book-identity-tag{margin-bottom:clamp(2px,1.6cqi,6px)}
.c4-book-page-pin{padding-top:clamp(4px,2.4cqi,14px)}
/* The holder's photograph beside the name (31 October 2026), a passport's portrait proportion, sized to the page. */
.c4-book-identity-top{display:grid;grid-template-columns:clamp(40px,22cqi,78px) minmax(0,1fr);gap:clamp(8px,4cqi,14px);align-items:center;margin-bottom:clamp(4px,2.6cqi,12px)}
.c4-book-identity-photo{display:grid;place-items:center;aspect-ratio:4/5;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--tint);color:var(--brand);font-weight:600;font-size:clamp(13px,7cqi,22px)}
.c4-book-identity-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.c4-book-identity-top h3{margin:0}
.c4-book-identity-top .c4-book-identity-role{margin:2px 0 0;font-size:clamp(8px,4.2cqi,11px);font-weight:600;color:var(--brand)}
.c4-book-identity-page .c4-book-identity-tag{margin-bottom:2px}
.c4-book-identity-top{grid-template-columns:clamp(34px,17cqi,78px) minmax(0,1fr);margin-bottom:clamp(2px,1.8cqi,12px)}
.c4-book-identity-page dl{row-gap:clamp(0px,1.3cqi,9px)}
.c4-book-identity-page dt{margin-bottom:0}
/* A page's running title stays on one line, so a narrow page keeps its height for its content. */
.c4-book-page-head>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
