/* Universal Website — glass stack layout. Values in :root come from the "styles" tab. */
:root{
  --ink:#06070c;
  --text:#ece9f4; --muted:#a29fb7; --sat:70%;
  --glass:.6; --pw-max:860px; --radius:22px; --fs:16px;
  --f-display:Georgia, serif; --f-body:system-ui, sans-serif; --f-mono:ui-monospace, monospace;
  --faint:rgba(236,233,244,.09);
  --glass-rgb:16,17,28; --ts:58%; --tl:38%;
  --pw:min(var(--pw-max), calc(100vw - 240px));
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden}
body{background:var(--ink);color:var(--text);font-family:var(--f-body);font-size:var(--fs);line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%;display:block}
a{color:hsl(var(--h,265),var(--sat),80%);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:#fff}
:focus-visible{outline:2px solid hsl(var(--h,265),var(--sat),75%);outline-offset:3px;border-radius:4px}

/* the background reaches past the screen edges, so phone toolbars and the status bar sit on colour, not black */
#field{position:fixed;left:0;top:-12vh;width:100%;height:calc(100lvh + 24vh);display:block}
.grain{position:fixed;left:0;right:0;top:-12vh;height:calc(100lvh + 24vh);pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* stage and pages */
.stage{position:fixed;inset:0;perspective:2200px;perspective-origin:50% 45%}
.stack{position:absolute;left:50%;top:max(32px, env(safe-area-inset-top,0px));bottom:calc(var(--fh,44px) + 4px);width:var(--pw);margin-left:calc(var(--pw) / -2);transform-style:preserve-3d;will-change:transform}
.page{position:absolute;inset:0;border-radius:var(--radius);
  background:
    linear-gradient(135deg, hsla(var(--h),var(--sat),70%,.10), transparent 38%),
    linear-gradient(to bottom, rgba(255,255,255,.035), transparent 30%),
    rgba(var(--glass-rgb),var(--glass));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 0 0 1px hsla(var(--h),var(--sat),70%,.06) inset, 0 30px 80px -30px rgba(0,0,0,.7), 0 0 60px -20px hsla(var(--h),var(--sat),60%,.25);
  overflow:hidden;will-change:transform,opacity;backface-visibility:hidden;visibility:hidden;container-type:inline-size}
.page.is-front{visibility:visible}
.page::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,hsla(var(--h),var(--gs,90%),80%,.55),transparent);pointer-events:none;z-index:1}
.scroll{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;
  padding-block:56px 72px;padding-left:max(28px, env(safe-area-inset-left,0px));padding-right:max(28px, env(safe-area-inset-right,0px));
  scrollbar-width:thin;scrollbar-color:hsla(var(--h),calc(var(--gs,85%) * .47),70%,.3) transparent}
.inner{max-width:660px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.inner > *{margin:0;min-width:0}

/* type */
h1,h2,h3{font-weight:400;text-wrap:balance;margin:0}
h1{color:var(--title,var(--text));font-family:var(--f-display);font-size:clamp(36px,6vw,64px);line-height:1.04;letter-spacing:-.01em;margin-bottom:6px}
h2{font-family:var(--f-display);font-size:clamp(24px,3.4vw,30px);line-height:1.15}
h3{font-family:var(--f-body);font-weight:600;font-size:1.12em;line-height:1.3}
p{margin:0;max-width:64ch;color:color-mix(in srgb, var(--text) 86%, var(--muted))}
.lead{font-size:1.2em;line-height:1.55;color:var(--text);max-width:58ch}
.small{font-size:.82em;color:var(--muted)}
strong{color:var(--text);font-weight:600}
hr{border:0;height:1px;background:var(--faint);width:100%;margin:10px 0}
.space{height:28px}.space-s{height:0}.space-l{height:80px}
.inner > h2,.t > h2{margin-top:34px}
.inner > h3,.t > h3{margin-top:10px}
.inner > h1 + h2,.inner > h2 + h3,.t > h2:first-child,.t > h3:first-child{margin-top:0}
.t{display:flex;flex-direction:column;gap:22px}
.t-centered{align-items:center;text-align:center}
.t-centered p{max-width:52ch}
.t-wide p{max-width:none}
.t-large p{font-family:var(--f-display);font-size:clamp(22px,3.2vw,30px);line-height:1.3;color:var(--text);max-width:none}

.quote{margin:8px 0;padding:6px 0 6px 22px;border-left:2px solid hsl(var(--h),var(--sat),65%)}
.quote blockquote{margin:0}
.quote blockquote p{font-family:var(--f-display);font-size:clamp(20px,2.6vw,26px);line-height:1.35;color:var(--text)}
.quote figcaption,.author{margin-top:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.note{padding:16px 20px;border-radius:14px;background:hsla(var(--h),var(--sat),60%,.08);border:1px solid hsla(var(--h),var(--sat),70%,.18);display:flex;flex-direction:column;gap:10px}
.bullets{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px;max-width:64ch}
.bullets li::marker{color:hsl(var(--h),var(--sat),70%)}
.btn-row{display:flex}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:600;color:#0b0b12;
  background:hsl(var(--h),var(--sat),78%);transition:transform .4s cubic-bezier(.2,1.4,.4,1), background .2s}
.btn:hover{color:#0b0b12;background:hsl(var(--h),var(--sat),86%);transform:translateY(-2px)}
.t-centered .btn-row{justify-content:center}
.uw-form{position:relative;display:flex;flex-direction:column;gap:14px;max-width:640px}
.f-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.f-field{display:flex;flex-direction:column;gap:6px;font-size:.88em;color:var(--muted)}
.f-field em{font-style:normal;opacity:.75}
.f-field input,.f-field textarea{font:inherit;font-size:max(16px,1em);color:var(--text);width:100%;padding:12px 14px;border-radius:12px;
  border:1px solid hsla(var(--h),var(--sat),75%,.2);background:rgba(255,255,255,.05);transition:border-color .2s, background .2s, box-shadow .2s}
.f-field textarea{resize:vertical;min-height:120px;line-height:1.5}
.f-field input:focus,.f-field textarea:focus{outline:none;border-color:hsla(var(--h),var(--sat),78%,.7);background:rgba(255,255,255,.08);box-shadow:0 0 0 3px hsla(var(--h),var(--sat),70%,.18)}
.uw-form.was-checked :invalid{border-color:#ff8a9a}
.f-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.f-foot .btn{border:0;cursor:pointer;font:inherit;font-weight:600}
.f-foot .btn:disabled{opacity:.6;cursor:progress;transform:none}
.f-note{margin:0;font-size:.82em;color:var(--muted);max-width:42ch}
.f-status{margin:0;min-height:1.4em;font-size:.95em}
.f-status[data-kind="ok"]{color:hsl(var(--h),var(--sat),84%);font-size:1.1em;padding:18px 20px;border-radius:14px;background:hsla(var(--h),var(--sat),60%,.12);border:1px solid hsla(var(--h),var(--sat),70%,.25)}
.f-status[data-kind="err"]{color:#ffb3bd}
.uw-form.is-sent > :not(.f-status){display:none}
.f-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* media */
figure{margin:0}
figcaption{font-size:.85em;color:var(--muted);margin-top:8px}
.credit{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em}
.img img{width:100%;height:auto;border-radius:14px;background:rgba(255,255,255,.04)}
.img-full{width:100cqw;margin-inline:calc(50% - 50cqw)!important;max-width:none}
.img-full img{border-radius:0}
.img-full figcaption{padding-inline:28px}
.gallery{display:grid;gap:10px}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-row{grid-auto-flow:column;grid-auto-columns:min(70%,340px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.gallery-row .tile{scroll-snap-align:start}
.tile img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:10px;background:rgba(255,255,255,.04);transition:transform .5s cubic-bezier(.2,.9,.3,1.3)}
.tile:hover img{transform:translateY(-3px) scale(1.015)}
.tile figcaption{font-size:.8em}
.video-frame{all:unset;cursor:pointer;display:grid;place-items:center;width:100%;aspect-ratio:16/9;border-radius:14px;background:
  center/cover no-repeat, linear-gradient(160deg, hsla(var(--h),calc(var(--gs,85%) * .6),30%,.6), rgba(0,0,0,.6));border:1px solid var(--faint);overflow:hidden}
.video-frame:focus-visible{outline:2px solid hsl(var(--h),var(--sat),75%)}
.video iframe,.video video{width:100%;aspect-ratio:16/9;border:0;border-radius:14px;background:#000;display:block}
.video-wide{width:min(100cqw - 32px, 1000px);margin-inline:calc(50% - min(50cqw - 16px, 500px))!important;max-width:none}
.play{width:68px;height:68px;border-radius:50%;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);transition:transform .4s cubic-bezier(.2,1.4,.4,1)}
.play::before{content:"";border-left:17px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.video-frame:hover .play{transform:scale(1.08)}
.embed{min-width:0}
/* subpages: sections of the main page's sheet, with one menu that sticks to the top.
   Stuck, a copy of the menu floats at the top of the sheet and the text dissolves into
   the sheet's own glass as it nears it: no band, no line, no darker strip. On phones
   the copy joins the tab bar, which is real frosted glass. */
@property --fade-at{syntax:'<length>';inherits:false;initial-value:0px}
@property --fade-len{syntax:'<length>';inherits:false;initial-value:0px}
.subnav{position:sticky;top:-56px;z-index:3;margin:26px 0 4px!important;padding-top:12px}
.page.is-stuck .subnav:not(.subnav-float){visibility:hidden}
.page.has-subnav .scroll{
  -webkit-mask-image:linear-gradient(to bottom, transparent var(--fade-at), #000 calc(var(--fade-at) + var(--fade-len)));
  mask-image:linear-gradient(to bottom, transparent var(--fade-at), #000 calc(var(--fade-at) + var(--fade-len)));
  transition:--fade-at .35s ease,--fade-len .35s ease}
.page.is-stuck .scroll{--fade-at:var(--float-h,64px);--fade-len:64px}
.subnav-float{position:absolute;z-index:4;top:0;left:0;right:0;margin:0!important;padding:12px max(28px, calc((100% - 660px) / 2)) 0;
  pointer-events:none;opacity:0;transform:translateY(-6px);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.subnav-float .subnav-in{pointer-events:auto}
.page.is-stuck .subnav-float{opacity:1;transform:none}
.subbar{display:none}
.subnav-in{position:relative;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:5px;border-radius:16px;
  background:linear-gradient(to bottom, rgba(255,255,255,.075), rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14), inset 0 -1px 0 rgba(0,0,0,.25), 0 10px 30px -18px rgba(0,0,0,.7);
  transition:box-shadow .35s}
.subnav-in::-webkit-scrollbar{display:none}
.subnav.is-stuck .subnav-in{box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(0,0,0,.25), 0 14px 34px -16px rgba(0,0,0,.75)}
.subnav-a{flex:0 0 auto;padding:9px 14px;border-radius:11px;border:1px solid transparent;font:600 14px/1.2 var(--f-body);white-space:nowrap;text-decoration:none;
  color:color-mix(in srgb, var(--text) 70%, var(--muted));transition:color .3s,background .3s,border-color .3s,box-shadow .3s}
.subnav-a:hover{color:var(--text);background:rgba(255,255,255,.06)}
.subnav-a.is-top{position:relative;margin-right:9px;font-family:var(--f-display);font-weight:400;font-size:15px}
.subnav-a.is-top::after{content:"";position:absolute;right:-7px;top:9px;bottom:9px;width:1px;background:rgba(255,255,255,.14)}
/* the active item: a darker glass lens in the page's colour, not a bright fill */
.subnav-a.is-active{color:var(--text);
  background:linear-gradient(to bottom, hsla(var(--h),var(--sat),52%,.34), hsla(var(--h),var(--sat),30%,.30));
  border-color:hsla(var(--h),var(--sat),72%,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(0,0,0,.3), 0 4px 14px -6px hsla(var(--h),var(--sat),40%,.6)}
.subnav-a.is-top.is-active{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.subnav-a:focus-visible{outline:2px solid hsl(var(--h),var(--sat),75%);outline-offset:1px}
.profile-tron .subnav-a.is-active{background:color-mix(in srgb, var(--neon) 22%, transparent);border-color:color-mix(in srgb, var(--neon) 45%, transparent);color:var(--neon)}
.sub{display:flex;flex-direction:column;gap:22px;padding-top:34px;border-top:1px solid var(--faint)}
.subnav + .sub{border-top:0;padding-top:12px}
.sub > *{margin:0;min-width:0}
.sub-title{font-family:var(--f-display);font-weight:400;font-size:clamp(30px,4.4vw,44px);line-height:1.08;letter-spacing:-.005em;text-wrap:balance;margin:0}
.sub > h2:not(.sub-title){margin-top:34px}
.sub > h3{margin-top:10px}
.sub > .sub-title + h2,.sub > h2 + h3{margin-top:0}
/* wide content on a computer: preview fading out to the right + sheet above the book */
.embed.is-wide{position:relative;overflow:hidden;border-radius:14px;isolation:isolate;max-height:340px}
/* the preview sits under frosted glass: you see that there is a table, not its words */
.embed.is-wide > :not(.wide-cover){filter:blur(6px) saturate(.9);opacity:.55;pointer-events:none;user-select:none;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.embed.is-wide *{scrollbar-width:none}
.embed.is-wide *::-webkit-scrollbar{display:none}
.wide-cover{all:unset;position:absolute;inset:0;cursor:zoom-in;display:flex;align-items:center;justify-content:center;border-radius:14px;
  background:linear-gradient(135deg, hsla(var(--h),var(--sat),70%,.10), transparent 55%),rgba(var(--glass-rgb),.22);
  box-shadow:0 0 0 1px rgba(255,255,255,.09) inset, 0 1px 0 rgba(255,255,255,.07) inset;transition:background .3s}
.wide-cover:hover{background:linear-gradient(135deg, hsla(var(--h),var(--sat),70%,.14), transparent 55%),rgba(var(--glass-rgb),.16)}
.wide-cover:focus-visible{outline:2px solid hsl(var(--h),var(--sat),75%);outline-offset:4px}
.wide-pill{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;font:600 14px/1 var(--f-body);color:#0b0b12;
  background:hsl(var(--h),var(--sat),78%);box-shadow:0 10px 30px -10px rgba(0,0,0,.7),0 0 0 6px hsla(var(--h),var(--sat),70%,.14);transition:transform .35s cubic-bezier(.2,1.4,.4,1),box-shadow .3s}
.wide-cover:hover .wide-pill{transform:scale(1.05);box-shadow:0 12px 34px -10px rgba(0,0,0,.75),0 0 0 9px hsla(var(--h),var(--sat),70%,.18)}
.sheet-ov{cursor:auto;display:flex;align-items:center;justify-content:center;padding:32px}
.sheet{position:relative;width:min(1200px,100%);max-height:100%;overflow:auto;overscroll-behavior:contain;border-radius:var(--radius);outline:none;
  padding:56px 44px 44px;color:var(--text);isolation:isolate;scrollbar-width:thin;
  background-color:rgba(var(--glass-rgb),.9);border:1px solid rgba(255,255,255,.14);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:0 40px 120px -30px rgba(0,0,0,.85),0 0 80px -20px hsla(var(--h),var(--sat),60%,.3)}
.sheet-glass{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg, hsla(var(--h),var(--sat),70%,.12), transparent 40%)}
.sheet.is-anim{overflow:hidden}
.sheet.is-anim *{scrollbar-width:none}
.sheet.is-anim *::-webkit-scrollbar{display:none}
.sheet-x{all:unset;position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;cursor:pointer;color:var(--muted);transition:color .2s,background .2s}
.sheet-x:hover{color:var(--text);background:rgba(255,255,255,.08)}
.sheet-x:focus-visible{outline:2px solid hsl(var(--h),var(--sat),75%)}
.map-frame{width:100%;aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid var(--faint);background:linear-gradient(160deg, hsla(var(--h),calc(var(--gs,85%) * .6),30%,.6), rgba(0,0,0,.6))}
.map iframe{width:100%;height:100%;border:0;display:block}
.map-consent{all:unset;box-sizing:border-box;cursor:pointer;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;
  background:radial-gradient(circle at 50% 42%, hsla(var(--h),var(--sat),60%,.18), transparent 60%),
  repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 44px),repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 44px)}
.map-consent:focus-visible{outline:2px solid hsl(var(--h),var(--sat),75%);outline-offset:-2px;border-radius:14px}
.map-pin{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:hsl(var(--h),var(--sat),72%);box-shadow:0 0 0 6px hsla(var(--h),var(--sat),70%,.18)}
.map-place{font-family:var(--f-display);font-size:1.25em;color:var(--text)}
.map-note{font-size:.78em;line-height:1.5;color:var(--muted);max-width:44ch}
.map-consent:hover .btn{filter:brightness(1.08)}
.map-dark iframe{filter:invert(.92) hue-rotate(180deg) saturate(.75) brightness(.95) contrast(.9)}
.map figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;margin-top:10px}
.map-links{display:flex;gap:18px;flex-wrap:wrap}
.map-links a{color:hsl(var(--h),var(--sat),80%);text-decoration:none}
.map-links a:hover{text-decoration:underline}
@media (max-width:760px){.map-frame{aspect-ratio:4/5}}
.embed-full{width:100cqw;margin-inline:calc(50% - 50cqw)!important;max-width:none}

/* photo zoom */
.gallery .tile:not(:has(a)){cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:50;cursor:zoom-out}
.lb-back{position:absolute;inset:-12vh 0;background:rgba(6,7,12,.72);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1)}
.lb-frame{position:fixed;overflow:hidden;box-shadow:0 30px 90px -20px rgba(0,0,0,.8);will-change:left,top,width,height}
.lb-frame img{width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.lb-cap{position:fixed;left:0;right:0;margin:0 auto;max-width:min(92vw,700px);text-align:center;color:rgba(236,233,244,.85);font-size:.92em;padding:0 16px;animation:lb-cap .5s .25s both}
@keyframes lb-cap{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* lists of items */
.cards{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 18px;padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--faint);overflow:hidden}
.cards-cards .card{grid-template-columns:1fr}
.card .num{font-family:var(--f-mono);font-size:13px;color:hsl(var(--h),var(--sat),75%);padding-top:3px}
.card-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.card h3{margin:0;font-size:1.05em}
.card p{font-size:.95em}
.card-img{grid-column:1/-1;height:auto;width:calc(100% + 40px);max-width:none;margin:-18px -20px 8px;aspect-ratio:16/9;object-fit:cover}
.card .more{position:absolute;inset:0;font-size:0}
.card:has(.more):hover{border-color:hsla(var(--h),var(--sat),70%,.35)}

/* questions and answers */
.faq{display:flex;flex-direction:column;border-top:1px solid var(--faint)}
.faq-item{border-bottom:1px solid var(--faint)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 4px;font-weight:600;font-size:1.05em;line-height:1.35;transition:color .2s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:hsl(var(--h),var(--sat),82%)}
.faq-item summary i{flex:0 0 26px;height:26px;border-radius:50%;border:1px solid hsla(var(--h),var(--sat),70%,.45);position:relative;transition:transform .45s cubic-bezier(.2,1.4,.4,1), background .2s}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;margin:-.75px 0 0 -5px;background:hsl(var(--h),var(--sat),80%);border-radius:1px}
.faq-item summary i::after{transform:rotate(90deg);transition:transform .45s cubic-bezier(.2,1.4,.4,1)}
.faq-item[open] summary i{background:hsla(var(--h),var(--sat),60%,.18);transform:rotate(180deg)}
.faq-item[open] summary i::after{transform:rotate(0deg)}
.faq-a{padding:0 4px 20px;display:flex;flex-direction:column;gap:12px;animation:faq-in .45s cubic-bezier(.2,.9,.3,1)}
@keyframes faq-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.card picture{display:block;grid-column:1/-1}
/* footer: one quiet line. Desktop: on the ground under the stack. Phone: at the very end of each page. */
.site-foot,.page-foot{font-size:12px;line-height:1.5;color:rgba(236,233,244,.62)}
.site-foot p,.page-foot p{margin:0;max-width:none;font-size:inherit;color:inherit}
.site-foot a,.page-foot a{color:inherit;text-decoration:none}
.site-foot a:hover,.page-foot a:hover{color:#fff}
.site-foot{position:fixed;left:0;right:0;bottom:0;z-index:4;text-align:center;text-shadow:0 1px 10px rgba(0,0,0,.55);
  padding:10px max(16px, env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}
.page-foot{display:none}

/* bookmarks */
.marks{position:fixed;top:96px;left:calc(50% + var(--pw) / 2 - 2px);display:flex;flex-direction:column;gap:8px;z-index:5}
.mark{display:block;text-decoration:none;font:600 15px/1.25 var(--f-body);letter-spacing:.01em;color:#fff;text-align:left;text-shadow:0 1px 3px rgba(0,0,0,.35);
  padding:15px 24px 15px 18px;min-width:160px;max-width:220px;border-radius:0 12px 12px 0;
  background:linear-gradient(90deg, hsla(var(--h),var(--ts),var(--tl),.94), hsla(var(--h),calc(var(--ts) * .9),calc(var(--tl) - 8%),.9));
  border-left:4px solid hsl(var(--h),var(--ts),calc(var(--tl) - 18%));
  transform:translateX(-8px);opacity:.9;
  transition:transform .55s cubic-bezier(.2,1.4,.4,1), opacity .3s, background .3s, box-shadow .3s;box-shadow:6px 8px 24px -10px rgba(0,0,0,.6)}
.mark:hover{transform:translateX(0);opacity:1;color:#fff;background:linear-gradient(90deg, hsla(var(--h),calc(var(--ts) * 1.07),calc(var(--tl) + 5%),.96), hsla(var(--h),calc(var(--ts) * .97),calc(var(--tl) - 4%),.92))}
.mark[aria-current="page"]{transform:translateX(6px);opacity:1;background:linear-gradient(90deg, hsla(var(--h),calc(var(--ts) * 1.18),calc(var(--tl) + 10%),.98), hsla(var(--h),calc(var(--ts) * 1.07),calc(var(--tl) + 2%),.95));
  box-shadow:6px 8px 24px -10px rgba(0,0,0,.6), 0 0 28px -6px hsla(var(--h),var(--gs,85%),60%,.65)}
.tabs-left .marks{left:auto;right:calc(50% + var(--pw) / 2 - 2px);align-items:flex-end}
.tabs-left .mark{border-left:0;border-right:4px solid hsl(var(--h),var(--ts),calc(var(--tl) - 18%));border-radius:10px 0 0 10px;text-align:right;transform:translateX(10px)}
.tabs-left .mark:hover{transform:translateX(0)}
.tabs-left .mark[aria-current="page"]{transform:translateX(-4px)}

/* ---------- themed profiles ---------- */
.profile-tron .page{border-color:color-mix(in srgb, var(--neon) 45%, transparent);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--neon) 18%, transparent) inset, 0 0 40px -12px color-mix(in srgb, var(--neon) 55%, transparent), 0 30px 80px -30px rgba(0,0,0,.8)}
.profile-tron .page::before{background:linear-gradient(90deg,transparent,var(--neon),transparent)}
.profile-tron h1{color:var(--neon);text-shadow:0 0 18px color-mix(in srgb, var(--neon) 55%, transparent)}
.profile-tron h1{font-size:clamp(28px,4.6vw,48px);letter-spacing:.04em;text-transform:uppercase}
.profile-tron .mark{color:var(--neon);text-shadow:0 0 10px color-mix(in srgb, var(--neon) 60%, transparent);
  background:rgba(var(--glass-rgb),.88);border-left-color:var(--neon);box-shadow:0 0 0 1px color-mix(in srgb, var(--neon) 30%, transparent) inset}
.profile-tron .mark:hover{background:rgba(var(--glass-rgb),.96);box-shadow:0 0 18px -4px color-mix(in srgb, var(--neon) 60%, transparent), 0 0 0 1px color-mix(in srgb, var(--neon) 50%, transparent) inset}
.profile-tron .mark[aria-current="page"]{color:#020608;text-shadow:none;background:var(--neon);
  box-shadow:0 0 26px -2px color-mix(in srgb, var(--neon) 75%, transparent)}
.profile-tron .mark[aria-current="page"]{background:var(--neon2);box-shadow:0 0 26px -2px color-mix(in srgb, var(--neon2) 75%, transparent)}
.profile-tron .btn{background:var(--neon2);color:#120700;box-shadow:0 0 22px -6px var(--neon2)}
.profile-tron a:not(.btn):not(.mark){color:var(--neon)}

/* Phones: the whole document scrolls (not an inner box), so the browser shows the page
   and its background under its translucent status bar and toolbar, edge to edge. */
@media (max-width:760px){
  :root{--pw:calc(100vw - 16px)}
  html,body{height:auto;overflow-x:hidden;overflow-x:clip;overflow-y:visible}
  body{min-height:100lvh}
  .stage{position:relative;inset:auto;min-height:100lvh;perspective-origin:50% 45vh}
  .stack{position:relative;left:auto;top:auto;bottom:auto;margin:calc(var(--mh,52px) + 4px) auto calc(env(safe-area-inset-bottom,0px) + 84px);transform-origin:50% 45vh}
  .page{inset:0 0 auto 0;max-height:100lvh;overflow:clip}
  .subnav{top:calc(var(--mh,52px) - 7px);padding-top:8px}
  .page.has-subnav .scroll{-webkit-mask-image:none;mask-image:none}
  .subnav-float{display:none}
  /* phones: the menu joins the frosted tab bar */
  .subbar{display:block;position:fixed;z-index:4;left:0;right:0;top:calc(var(--mh,52px) - 7px);padding:6px max(10px, env(safe-area-inset-right,0px)) 22px max(10px, env(safe-area-inset-left,0px));
    background:linear-gradient(to bottom, rgba(8,8,14,.5), rgba(8,8,14,.34) 55%, rgba(8,8,14,0));
    -webkit-backdrop-filter:blur(16px) saturate(1.25);backdrop-filter:blur(16px) saturate(1.25);
    opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s .35s}
  body.has-subbar .subbar{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
  body.has-subbar .marks{background:rgba(8,8,14,.5)!important}
  .subnav-a{padding:9px 12px}
  .page.is-front{position:relative;max-height:none}
  .scroll{position:static;overflow:visible}
  .marks,.tabs-left .marks{background:linear-gradient(to bottom, rgba(8,8,14,.55), rgba(8,8,14,.28) 75%, rgba(8,8,14,0));
    -webkit-backdrop-filter:blur(16px) saturate(1.25);backdrop-filter:blur(16px) saturate(1.25);padding-bottom:6px!important}
  .site-foot{display:none}
  .page-foot{display:block;margin-top:72px!important;font-size:11px;text-align:center;color:rgba(236,233,244,.5)}
  .page{border-radius:min(var(--radius),18px)}
  .scroll{padding-block:32px 48px;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px))}
  .img-full figcaption{padding-inline:20px}
  .marks,.tabs-left .marks{top:0;left:0;right:0;bottom:auto;flex-direction:row;flex-wrap:wrap;gap:6px 5px;align-items:flex-end;
    padding:calc(8px + env(safe-area-inset-top,0px)) max(10px, env(safe-area-inset-right,0px)) 0 max(10px, env(safe-area-inset-left,0px))}
  .mark,.tabs-left .mark{min-width:0;max-width:none;flex:1 1 auto;text-align:center;font-size:14px;border:0;border-bottom:3px solid hsl(var(--h),var(--ts),calc(var(--tl) - 18%));border-radius:10px 10px 0 0;
    transform:translateY(-3px);padding:11px 14px 10px;opacity:.9}
  .mark:hover,.tabs-left .mark:hover{transform:translateY(-3px)}
  .mark[aria-current="page"],.tabs-left .mark[aria-current="page"]{transform:translateY(0);opacity:1}
  .profile-tron .mark{border-bottom-color:var(--neon)}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lead{font-size:1.1em}
}
@media (prefers-reduced-motion:reduce){.lb-cap{animation:none}.mark,.tile img,.btn,.play,.faq-item summary i,.faq-item summary i::after{transition:none}.faq-a{animation:none}}
