:root { color-scheme:light; font-family:Arial,Helvetica,sans-serif; color:#173451; background:#eef3f7; }
* { box-sizing:border-box; }
body { margin:0; min-height:100svh; display:grid; place-items:center; padding:24px; background:radial-gradient(ellipse at top,#f9fbfd 0,#eef3f7 72%); }
main { width:min(100%,736px); }
/* Card-only preview embedded in contact.html; full card pages stay unchanged. */
body.card-preview-page { min-height:0; display:block; padding:0; background:transparent; overflow:hidden; }
body.card-preview-page > .business-card-preview-canvas { display:block; width:100%; height:auto; }
body.card-preview-page #adly-azur-contact .azur-business-card { display:block; width:100%; box-shadow:none; }
a { -webkit-tap-highlight-color:transparent; }
#adly-azur-contact .language-controls { align-items:center; }
#adly-azur-contact .language-link { min-height:44px; padding:11px 13px; border-radius:7px; color:#52677a; font-size:14px; line-height:1.3; text-decoration:none; }
#adly-azur-contact .language-link[aria-current="page"] { background:#dfebf5; color:#173451; font-weight:600; }
#adly-azur-contact .language-link:focus-visible { outline:2px solid #246a9a; outline-offset:3px; }
@media (max-width:500px) { body { padding:0; } }
#adly-azur-contact { width:100%; }
    #adly-azur-contact .preview-stage { min-height:460px; padding:24px 18px 30px; display:flex; flex-direction:column; align-items:center; justify-content:center; box-sizing:border-box; }
    #adly-azur-contact .language-controls { width:min(100%,460px); display:flex; gap:4px; margin-bottom:16px; }
    #adly-azur-contact .contact-actions { margin-top:18px; display:flex; justify-content:center; width:min(100%,460px); }
    #adly-azur-contact .save-contact { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:12px 18px; border-radius:8px; background:light-dark(#246a9a,#a7d3f0); color:light-dark(#ffffff,#102b47); font-family:Arial,Helvetica,sans-serif; font-size:14px; font-weight:600; line-height:1.2; text-decoration:none; }
    #adly-azur-contact .save-contact svg { width:18px; height:18px; flex-shrink:0; }
    #adly-azur-contact .save-contact:focus-visible { outline:3px solid light-dark(#173451,#d1eafd); outline-offset:3px; }
    #adly-azur-contact .azur-business-card { --azur-accent:#246a9a; --azur-paper:light-dark(#fcfdff,#f4f7fb); --azur-ink:light-dark(#173451,#102b47); --azur-muted:light-dark(#52677a,#41576e); --azur-line:light-dark(#bdcfdf,#aebfd2); box-sizing:border-box; container-type:inline-size; position:relative; isolation:isolate; flex:0 0 auto; width:min(100%,460px); aspect-ratio:85/50; overflow:hidden; border-radius:3px; background:var(--azur-paper); color:var(--azur-ink); box-shadow:0 15px 36px light-dark(#15263726,#00000050),0 1px 3px light-dark(#10243914,#00000030); font-family:Arial,Helvetica,sans-serif; }
    #adly-azur-contact .azur-business-card * { box-sizing:border-box; }
    #adly-azur-contact .azur-business-card h2, #adly-azur-contact .azur-business-card p { margin:0; }
    #adly-azur-contact .azur-business-card .card-content { position:relative; z-index:2; height:100%; padding:4.6cqw 5.4cqw 4.2cqw; display:grid; grid-template-rows:auto 1fr auto; gap:1.5cqw; }
    #adly-azur-contact .azur-business-card .institution { display:flex; align-items:center; gap:2.5cqw; }
    #adly-azur-contact .azur-business-card .monogram { width:6.3cqw; height:6.3cqw; min-width:25px; min-height:25px; border:1px solid var(--azur-accent); display:grid; place-items:center; transform:rotate(-45deg); color:var(--azur-accent); border-radius:2px; }
    #adly-azur-contact .azur-business-card .monogram span { transform:rotate(45deg); font-family:Georgia,serif; font-size:clamp(12px,2.7cqw,17px); }
    #adly-azur-contact .azur-business-card .institution-name { font-size:clamp(11px,2.7cqw,15px); line-height:1.2; font-weight:600; }
    #adly-azur-contact .azur-business-card .faculty { font-size:clamp(11px,2.3cqw,12px); line-height:1.2; margin-top:.5cqw; color:var(--azur-muted); }
    #adly-azur-contact .azur-business-card .laboratory { font-size:clamp(11px,2.2cqw,12px); line-height:1.2; margin-top:.5cqw; color:var(--azur-accent); }
    #adly-azur-contact .azur-business-card .identity { align-self:center; min-width:0; }
    #adly-azur-contact .azur-business-card .name { font-size:clamp(23px,6cqw,34px); font-weight:600; letter-spacing:-.025em; line-height:1.05; margin:0 0 1.1cqw; }
    #adly-azur-contact .azur-business-card .roles { display:grid; gap:1px; }
    #adly-azur-contact .azur-business-card .role { font-size:clamp(11px,2.8cqw,14px); line-height:1.25; }
    #adly-azur-contact .azur-business-card .secondary-role { color:var(--azur-muted); }
    #adly-azur-contact .azur-business-card .contact-block { border-top:2px solid var(--azur-accent); padding-top:1.7cqw; display:grid; gap:.7cqw; }
    #adly-azur-contact .azur-business-card .contact-row { display:flex; align-items:center; flex-wrap:wrap; gap:3px 4cqw; }
    #adly-azur-contact .azur-business-card .contact-line { display:flex; align-items:center; gap:1.3cqw; min-width:0; color:var(--azur-ink); font-size:clamp(11px,2.65cqw,13px); line-height:1.25; text-decoration:none; }
    #adly-azur-contact .azur-business-card .contact-line:focus-visible, #adly-azur-contact .azur-business-card .editorial-link:focus-visible { outline:2px solid var(--azur-accent); outline-offset:3px; }
    #adly-azur-contact .azur-business-card .editorial-link, #adly-azur-contact .azur-business-card .contact-line.website-link { color:var(--azur-accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; }
    #adly-azur-contact .azur-business-card .contact-line span { min-width:0; overflow-wrap:anywhere; }
    #adly-azur-contact .azur-business-card .contact-line svg { width:12px; height:12px; flex:0 0 12px; color:var(--azur-accent); }
    #adly-azur-contact .azur-business-card .postal-address { align-items:flex-start; font-style:normal; font-size:clamp(11px,2.65cqw,13px); }
    #adly-azur-contact .azur-business-card .postal-address svg { margin-top:1px; }
    #adly-azur-contact .azur-business-card .facets { position:absolute; z-index:0; inset:0 0 0 auto; width:32%; pointer-events:none; }
    #adly-azur-contact .azur-business-card .facet { position:absolute; width:100%; height:36%; clip-path:polygon(50% 0,100% 100%,0 100%); background:var(--azur-accent); opacity:.1; }
    #adly-azur-contact .azur-business-card .facet-a { top:-13%; right:-36%; transform:rotate(180deg); opacity:.7; }
    #adly-azur-contact .azur-business-card .facet-b { top:12%; right:-33%; opacity:.15; }
    #adly-azur-contact .azur-business-card .facet-c { top:25%; right:-4%; opacity:.08; transform:rotate(180deg); }
    #adly-azur-contact .azur-business-card .facet-d { bottom:0; right:-31%; opacity:.18; transform:rotate(180deg); }
    #adly-azur-contact .azur-business-card .facet-e { bottom:-15%; right:10%; opacity:.12; }
    #adly-azur-contact .azur-business-card::after { content:""; position:absolute; z-index:1; inset:0 auto 0 0; width:4px; background:var(--azur-accent); }
    @container (max-width:360px) {
      #adly-azur-contact .azur-business-card .card-content { padding:10px; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); grid-template-rows:1fr auto; column-gap:9px; row-gap:4px; }
      #adly-azur-contact .azur-business-card .monogram { display:none; }
      #adly-azur-contact .azur-business-card .institution { grid-column:2; grid-row:1; align-self:start; min-width:0; }
      #adly-azur-contact .azur-business-card .institution-copy { min-width:0; }
      #adly-azur-contact .azur-business-card .institution-name, #adly-azur-contact .azur-business-card .faculty, #adly-azur-contact .azur-business-card .laboratory { font-size:11px; line-height:1.2; }
      #adly-azur-contact .azur-business-card .faculty, #adly-azur-contact .azur-business-card .laboratory { margin-top:2px; }
      #adly-azur-contact .azur-business-card .identity { grid-column:1; grid-row:1; align-self:start; }
      #adly-azur-contact .azur-business-card .name { margin-bottom:3px; }
      #adly-azur-contact .azur-business-card .role { line-height:1.18; }
      #adly-azur-contact .azur-business-card .contact-block { grid-column:1 / -1; grid-row:2; padding-top:4px; gap:2px; }
      #adly-azur-contact .azur-business-card .contact-row { gap:2px 10px; }
      #adly-azur-contact .azur-business-card .contact-line { gap:4px; font-size:11px; line-height:1.2; }
      #adly-azur-contact .azur-business-card .facets { opacity:.65; }
    }
    @media (max-width:500px) {
      #adly-azur-contact .preview-stage { min-height:360px; padding:18px 8px 24px; }
    }
