@font-face{font-family:'Franklin';src:url('../assets/fonts/LibreFranklin.woff2') format('woff2');
  font-weight:100 900;font-display:swap}
@font-face{font-family:'EBG';src:url('../assets/fonts/EBGaramond-Regular.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'EBG';src:url('../assets/fonts/EBGaramond-Italic.woff2') format('woff2');
  font-weight:400;font-style:italic;font-display:swap}

:root{
  --ink:#171512; --mid:#5e584d; --soft:#736d61; --line:#e2ded6; --paper:#faf9f7;
  --gut:clamp(1.5rem,5vw,5.5rem);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:'Franklin',system-ui,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
  letter-spacing:.007em;word-spacing:.04em}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
em{font-style:italic}

.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);
  padding:.7rem 1.1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;
  font-weight:700;z-index:99}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:1px}
.pbtn:focus-visible,.vplay:focus-visible{outline-offset:4px}

/* ---- masthead ---- */
.top{padding:clamp(1.6rem,3.4vw,2.9rem) 0 0}
.top-row{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem}
.mark{font-weight:700;text-transform:uppercase;letter-spacing:.115em;color:var(--ink);
  font-size:clamp(1.02rem,2.05vw,1.4rem);white-space:nowrap}
.top nav{margin-top:clamp(1rem,2.1vw,1.45rem)}
nav ul{list-style:none;display:flex;gap:clamp(.72rem,1.9vw,1.95rem);flex-wrap:wrap;align-items:baseline}
nav a{font-size:clamp(.62rem,1.1vw,.7rem);text-transform:uppercase;letter-spacing:.155em;font-weight:500;color:var(--soft);
  padding-bottom:.26rem;border-bottom:1px solid transparent;transition:color .18s,border-color .18s}
nav a:hover{color:var(--ink)}
nav a[aria-current]{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}
.langs{display:flex;gap:.45rem;font-size:.615rem;text-transform:uppercase;letter-spacing:.16em;
  color:var(--soft);font-weight:500;align-items:baseline}
.langs a{transition:color .18s}
.langs a:hover{color:var(--ink)}
.langs a[aria-current]{color:var(--ink)}
.langs span{color:var(--line)}

/* ---- hero ---- */
/* Homepage: the name is the masthead below, so the header carries only the
   navigation and the language switcher, on one line. */
.top-home nav{margin-top:0}
.top-home .top-row{align-items:baseline}

.hero{padding:clamp(1.6rem,4.5vw,3.4rem) 0 clamp(3rem,7vw,6rem)}
/* Listen sits at the top of the row, level with the portrait, not dropped to
   its foot — the recording is the point of the page, not a footnote. */
.hero-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,34rem);
  gap:clamp(2rem,5vw,4.5rem);align-items:start;margin-top:clamp(1.5rem,3vw,2.6rem)}
.hero-row figure{width:100%;margin:0}
h1.name{font-weight:700;text-transform:uppercase;line-height:.9;letter-spacing:.02em;
  font-size:clamp(2.6rem,10.5vw,8.4rem)}
.fach{margin-top:clamp(1.1rem,2vw,1.7rem);font-size:.76rem;text-transform:uppercase;
  letter-spacing:.3em;color:var(--mid);font-weight:500}
.lead{font-family:'EBG',Georgia,serif;font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.42;
  margin-top:clamp(2rem,4vw,3.2rem);max-width:30ch;color:var(--ink)}
/* The portrait carries a lot of empty studio floor below the subject. Framing
   it to 4:5 and holding the crop near the top keeps her face inside the first
   view instead of pushing it past the fold. */
.hero-row figure img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;
  object-position:50% 14%;max-height:68vh}

/* ---- generic sections ---- */
.rule{height:1px;background:var(--line);border:0;margin:clamp(3rem,7vw,6rem) 0}
.label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--mid)}
h1.section{font-family:'EBG',Georgia,serif;font-weight:400;
  font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:1.1;letter-spacing:-.005em}
.page-head{padding:clamp(3rem,7vw,6rem) 0 clamp(2rem,4vw,3.4rem)}
.page-head .label{margin-bottom:1.1rem;display:block}

/* ---- prose ---- */
.prose{font-family:'EBG',Georgia,serif;font-size:clamp(1.06rem,1.45vw,1.24rem);line-height:1.62;
  max-width:34em;letter-spacing:0;word-spacing:0}
.prose p+p{margin-top:1.25em}
.bio-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:clamp(2rem,6vw,5.5rem);align-items:start}
/* Only the portrait in the aside travels with the reader; a figure set in the
   text column is anchored to the paragraph it belongs to. */
.bio-grid>figure{position:sticky;top:2.5rem}
.prose figure{margin:clamp(2rem,4vw,3rem) 0;max-width:20rem}
.prose figure img{width:100%;height:auto;display:block}

/* ---- audio ---- */
.player{list-style:none;margin-top:1.1rem;max-width:46rem}
.hero-listen .player li:first-child{border-top:1px solid var(--line)}
/* The seek bar takes its own row beneath the title rather than a column beside
   it. The player sits in the narrow hero column, where a bar on the same row
   leaves too little for the title and the role, and the bar then closes the
   item in place of a bottom rule. */
.player li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  column-gap:clamp(.9rem,2vw,1.6rem);row-gap:.95rem;align-items:center;
  padding:1.15rem 0 0}
.ttime{grid-column:3;grid-row:1}
.tbar{grid-column:1/4;grid-row:2}
.pbtn{width:2.75rem;height:2.75rem;border:1px solid var(--ink);border-radius:50%;
  background:none;cursor:pointer;display:grid;place-items:center;flex:none;
  transition:background .18s,border-color .18s}
.pbtn:hover{background:var(--ink)}
.pbtn:hover .tri{border-left-color:var(--paper);background:var(--paper)}
.pbtn .tri{width:0;height:0;border-left:.58rem solid var(--ink);
  border-top:.38rem solid transparent;border-bottom:.38rem solid transparent;
  margin-left:.18rem;transition:border-color .18s}
.pbtn[aria-pressed="true"] .tri{width:.52rem;height:.7rem;border:0;background:var(--ink);
  margin-left:0;box-shadow:inset .18rem 0 0 var(--paper)}
.pbtn[aria-pressed="true"]{background:none}
.tmeta{display:flex;flex-direction:column;gap:.12rem;min-width:0}
.tt{font-family:'EBG',Georgia,serif;font-size:clamp(1.12rem,1.9vw,1.4rem);line-height:1.25}
.ts{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--soft);font-weight:600}
.tbar{height:1px;background:var(--line);position:relative}
.tbar i{position:absolute;inset:0 auto 0 0;width:0;background:var(--ink);display:block}
.ttime{font-size:.72rem;color:var(--soft);font-variant-numeric:tabular-nums;font-weight:600}

/* ---- video ---- */
.vids{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));
  gap:clamp(1.2rem,2.6vw,2rem);margin-top:1.2rem}
.vid{margin:0}
.vplay{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;
  position:relative;line-height:0}
.vplay img{width:100%;aspect-ratio:16/9;object-fit:cover}
.vtri{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:3.4rem;height:3.4rem;border-radius:50%;background:rgba(23,21,18,.62);
  transition:background .18s}
.vtri::after{content:'';position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);
  border-left:.8rem solid #fff;border-top:.52rem solid transparent;
  border-bottom:.52rem solid transparent}
.vplay:hover .vtri{background:rgba(23,21,18,.85)}
.vid iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.vnote{margin-top:1rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;
  color:var(--soft);font-weight:600}

/* ---- repertoire ---- */
.roles{list-style:none;display:grid;gap:.15rem;margin-top:.6rem}
.roles li{display:grid;grid-template-columns:minmax(9rem,15rem) 1fr auto;gap:1.2rem;
  align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--line)}
.roles .r{font-family:'EBG',Georgia,serif;font-size:clamp(1.25rem,2.4vw,1.75rem);line-height:1.15}
.roles .w{font-family:'EBG',Georgia,serif;font-style:italic;
  font-size:clamp(1.05rem,1.8vw,1.3rem);color:var(--ink)}
.roles .c{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--soft);font-weight:600}

.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;margin-top:.4rem;min-width:34rem}
th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;
  color:var(--soft);padding:0 1.2rem .75rem 0;border-bottom:1px solid var(--line)}
td{padding:.72rem 1.2rem .72rem 0;border-bottom:1px solid var(--line);vertical-align:baseline;
  font-size:.9rem}
td.yr{color:var(--soft);white-space:nowrap;font-variant-numeric:tabular-nums;width:6.5rem}
td.ro{font-weight:600;width:14rem}
td.wk{font-family:'EBG',Georgia,serif;font-style:italic;font-size:1.05rem}
td.cp{color:var(--mid);width:9rem}
.wp{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--soft);
  font-family:'Franklin',sans-serif;font-style:normal}
.names{font-family:'EBG',Georgia,serif;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.7;
  max-width:44em;margin-top:.7rem}

/* ---- media / tiled galleries ---- */
/* Justified rows. Each figure carries its own aspect ratio as --ar and grows
   in proportion to it from a zero basis, so every frame on a line ends at the
   same height and nothing is cropped: a line of two reads large, a line of
   four reads small. min-width is what decides where a row wraps — once it
   binds, the items that drop to the next line justify themselves the same
   way, so the layout re-flows at narrow widths without a breakpoint per row. */
.tiles{display:flex;flex-direction:column;gap:clamp(.7rem,1.7vw,1.35rem)}
.tile-row{display:flex;flex-wrap:wrap;gap:clamp(.7rem,1.7vw,1.35rem)}
.tile-row figure{margin:0;flex:var(--ar,1) 1 0;min-width:min(100%,11rem)}
.tile-row img{width:100%;height:auto;display:block}
/* The studio section runs several galleries, one per photographer, each
   closed by its own credit line. */
.media-section .credit+.tiles{margin-top:clamp(2.6rem,6vw,4.8rem)}
figcaption{margin-top:.7rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--soft);font-weight:600}
.recs{list-style:none;margin-top:.6rem}
.recs li{display:flex;justify-content:space-between;gap:2rem;align-items:baseline;
  padding:1rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.recs .t{font-family:'EBG',Georgia,serif;font-size:clamp(1.1rem,1.9vw,1.4rem)}
.recs .s{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--soft);font-weight:600}

/* ---- links / contact ---- */
.link{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;
  font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:.22rem;margin-top:1.6rem}
.link:hover{color:var(--mid);border-color:var(--mid)}
.teaser{margin-top:1rem;font-family:'EBG',Georgia,serif;
  font-size:clamp(1.15rem,2.1vw,1.6rem);line-height:1.65;max-width:44em}
.teaser span:not(:last-child)::after{content:'·';color:var(--soft);padding:0 .55rem}
.teaser b{font-weight:400}
.teaser i{font-style:italic;color:var(--mid)}
.dl{list-style:none;margin-top:1rem}
.dl li{border-bottom:1px solid var(--line)}
.dl a{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;padding:1.05rem 0}
.dl .dt{font-family:'EBG',Georgia,serif;font-size:clamp(1.12rem,1.9vw,1.35rem)}
.dl .dk{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--soft);font-weight:600}
.dl a:hover .dt{color:var(--mid)}
.contact-list{list-style:none;margin-top:2rem}
.contact-list li{padding:1.1rem 0;border-bottom:1px solid var(--line)}
/* The section already ends in a rule; a trailing row border left a dead band. */
.contact-list li:last-child,.dl li:last-child,.recs li:last-child,.roles li:last-child{border-bottom:0}
.contact-list a,.contact-list span{font-family:'EBG',Georgia,serif;
  font-size:clamp(1.25rem,2.6vw,1.85rem);line-height:1.3;word-break:break-word}
.contact-list a:hover{color:var(--mid)}
.meta{margin-top:2.4rem;color:var(--mid);font-size:.86rem}
.legal dl{max-width:34em}
.legal dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;
  color:var(--soft);margin-top:2.2rem}
.legal dd{margin-top:.6rem;font-family:'EBG',Georgia,serif;font-size:1.08rem;line-height:1.6}

/* ---- footer ---- */
footer{margin-top:clamp(4rem,10vw,9rem);padding:clamp(2rem,4vw,3rem) 0 clamp(2.4rem,5vw,4rem);
  border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;gap:1.5rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;
  color:var(--soft);font-weight:500}
footer>:first-child{justify-self:start}
footer .social-links{justify-self:center}
footer .policy-link{justify-self:end}
footer a:hover{color:var(--ink)}
@media(max-width:700px){
  footer{grid-template-columns:1fr;justify-items:center;text-align:center;gap:1.7rem}
  footer>:first-child,footer .social-links,footer .policy-link{justify-self:center}
}

@media (max-width:820px){
  .hero{padding-top:2rem}
  .hero-row{grid-template-columns:1fr;gap:2.1rem}
  /* When the row stacks, the portrait leads and the recordings follow it.
     Only the visual order moves: the figure holds nothing focusable, so the
     keyboard path through the page is unchanged. */
  .hero-row figure{order:-1}
  .bio-grid{grid-template-columns:1fr}
  .bio-grid>figure{position:static;margin-bottom:2.5rem;max-width:22rem}
  .roles li{grid-template-columns:1fr;gap:.2rem;padding:1rem 0}
  td.ro,td.cp{width:auto}
  table{font-size:.82rem;min-width:32rem}
  td.yr{width:4.5rem}
  td.wk{font-size:.95rem}
}
@media print{nav,.langs,footer{display:none}body{background:#fff}}


/* ---- social media: native inline SVG, no third-party assets ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.social-links{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.social-icon{height:2.6rem;width:2.6rem;border:1px solid var(--line);display:inline-flex;
  align-items:center;justify-content:center;color:var(--ink);transition:border-color .18s,background .18s}
.social-icon:hover,.social-icon:focus-visible{border-color:var(--ink);background:#f0eee9}
.social-button{display:inline-flex;align-items:center;gap:.75rem;border:1px solid var(--line);
  min-height:3.2rem;padding:.65rem 1.05rem;font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;transition:border-color .18s,background .18s}
.social-button:hover,.social-button:focus-visible{border-color:var(--ink);background:#f0eee9}

/* ---- expanded media gallery ---- */
.media-section .label{display:block}
.media-external{font-family:'EBG',Georgia,serif;font-size:1.12rem;line-height:1.4;
  margin-top:1.45rem;color:var(--mid)}
.media-external a{color:var(--ink);border-bottom:1px solid var(--mid)}
.media-external a:hover{border-bottom-color:var(--ink)}
.media-social .social-links{margin-top:1.25rem}
.gallery-link{display:block;cursor:zoom-in;line-height:0}
.gallery-link img{transition:opacity .18s}
.gallery-link:hover img{opacity:.86}
.gallery-modal{border:0;background:#171512;color:#faf9f7;
  width:min(95vw,1100px);max-width:none;max-height:96vh;
  margin:auto;padding:clamp(1rem,2.3vw,1.8rem)}
.gallery-modal::backdrop{background:rgba(12,12,12,.91)}
.gallery-modal-controls{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;margin-bottom:.85rem}
.gallery-count{font-size:.7rem;letter-spacing:.15em}
.gallery-actions{display:flex;gap:.45rem}
.gallery-actions button{font-family:inherit;color:inherit;border:1px solid #736d61;
  background:none;width:2.65rem;height:2.65rem;cursor:pointer;font-size:1.2rem}
.gallery-actions button:hover{background:#393630}
.gallery-modal figure{display:flex;flex-direction:column;align-items:center}
.gallery-modal figure img{max-height:calc(96vh - 9.5rem);max-width:100%;width:auto;height:auto;object-fit:contain}
.gallery-modal figcaption{color:#e2ded6;align-self:center;text-align:center}
.gallery-modal :focus-visible{outline:2px solid #faf9f7}
@media(max-width:620px){
  .gallery-modal{width:100vw;max-height:100dvh;padding:.75rem}
  .gallery-modal figure img{max-height:calc(100dvh - 8.5rem)}
}


/* Review-build additions: restrained video previews and Operabase link */
.operabase-button{white-space:nowrap}
.vid .video-placeholder{display:flex;width:100%;aspect-ratio:16/9;align-items:center;
  justify-content:space-between;align-items:flex-start;flex-direction:column;background:#24221f;color:#eeeae1;gap:.5rem;
  padding:clamp(1rem,2.5vw,1.5rem);
  transition:background .2s ease}
.video-placeholder-index{font-family:'EBG',Georgia,serif;font-size:clamp(2.4rem,4vw,3.4rem);
  line-height:1;opacity:.42;font-variant-numeric:lining-nums}
.video-placeholder-label{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600}
.vid .vplay:hover .video-placeholder{background:#34312c}
.vid figcaption a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--mid)}
.vid figcaption a:hover{text-decoration-color:var(--ink)}
@media(prefers-reduced-motion:reduce){.vid .video-placeholder{transition:none}}

/* Keyboard-operable, accessible seek control; thin rule retained visually */
.tbar{height:.8rem;background:transparent;cursor:pointer;position:relative}
.tbar::before{content:'';position:absolute;left:0;right:0;top:calc(50% - .5px);height:1px;background:var(--line)}
.tbar i{top:calc(50% - 1px);bottom:auto;height:2px;z-index:1}
.tbar:focus-visible{outline:2px solid var(--ink);outline-offset:3px}


/* October 2026 refinement — content-first interactions; no automatic movement */
.collab-intro{font-family:'EBG',Georgia,serif;font-size:clamp(1.08rem,1.5vw,1.25rem);
  line-height:1.55;max-width:35em;margin-top:1rem;color:var(--mid)}
.collab-heading{font-family:'Franklin',system-ui,sans-serif;font-size:.7rem;
  text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--mid);
  margin-top:clamp(1.9rem,3vw,2.7rem)}
.collab-followup{margin-top:clamp(1.2rem,2.2vw,2rem)}
.collab-followup .collab-heading{margin-top:0}

/* A short, quiet reveal when opening the photograph viewer */
.gallery-modal[open]{animation:gallery-enter .22s cubic-bezier(.2,.7,.3,1) both}
.gallery-modal[open]::backdrop{animation:gallery-backdrop-enter .22s ease both}
@keyframes gallery-enter{from{opacity:0;transform:translateY(6px) scale(.992)}to{opacity:1;transform:none}}
@keyframes gallery-backdrop-enter{from{background:rgba(12,12,12,.55)}to{background:rgba(12,12,12,.91)}}

/* The video play control is slightly more responsive on hover and keyboard focus */
.vid .vtri{transition:background .2s ease,transform .22s ease}
.vid .vplay:is(:hover,:focus-visible) .vtri{transform:translate(-50%,-50%) scale(1.065);
  background:rgba(23,21,18,.89)}
.vid .vplay:focus-visible .video-placeholder{background:#34312c}

/* Underline reveals, confined to editorial links rather than general navigation */
.link,.media-external a,.vid figcaption a{
  background-image:linear-gradient(currentColor,currentColor);
  background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;
  transition:background-size .23s ease,color .18s ease,border-color .18s ease}
.link{border-bottom-color:var(--line)}
.link:hover{border-bottom-color:var(--line)}
.link:is(:hover,:focus-visible),.media-external a:is(:hover,:focus-visible),
.vid figcaption a:is(:hover,:focus-visible){background-size:100% 1px}
@media(prefers-reduced-motion:reduce){
  .gallery-modal[open],.gallery-modal[open]::backdrop{animation:none}
  .vid .vtri,.link,.media-external a,.vid figcaption a{transition:none}
}

/* Keep separators with their preceding names when collaboration lists wrap */
.names .name-unit{display:inline-block;white-space:nowrap;margin-right:.18em}
.names .name-unit:not(:last-child)::after{content:" ·";color:var(--soft)}

/* Compact legal, privacy and accessibility information */
.policy{max-width:47rem;font-family:'EBG',Georgia,serif;font-size:clamp(1.06rem,1.45vw,1.2rem);line-height:1.62}
.policy h3{font-family:'Frank',sans-serif;font-size:.73rem;line-height:1.35;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--mid);margin:2.15rem 0 .7rem}
/* Section titles on the combined Legal page */
.policy-title{font-family:'EBG',Georgia,serif;font-weight:400;letter-spacing:-.01em;
  font-size:clamp(1.42rem,2.5vw,1.95rem);line-height:1.15;margin:0 0 1.3rem}
.legal .policy-title{margin-bottom:1.8rem}
#imprint,#privacy,#accessibility,#impressum,#datenschutz,#barrierefreiheit{scroll-margin-top:2.5rem}
/* Photograph credit: quieter than a caption, so it does not read as a name */
.credit{margin-top:.75rem;font-size:.575rem;text-transform:uppercase;letter-spacing:.15em;
  color:var(--soft);font-weight:500}
.policy p+p{margin-top:1.1rem}
.policy a{border-bottom:1px solid var(--mid);text-underline-offset:3px}
/* Art. 21(4) GDPR wants the right to object set apart from the rest. */
.right-object{margin-top:1.3rem;padding:1.1rem 1.3rem;border-left:2px solid var(--ink);
  background:#f2f0ec;font-size:.95em}
.policy-footer-links{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;line-height:1.7}
.legal-caveat{color:var(--mid);font-size:.91em}
.legal a,.vnote a{border-bottom:1px solid var(--mid);text-underline-offset:3px}
