/* Shared partnership and editorial pages */
.reference-grid:has(>article:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.reference-grid:has(>article:nth-child(2):last-child){grid-template-columns:1fr}}
.nav>.brand{display:flex;align-items:center;flex-shrink:0}.header-logo{display:block;width:240px;height:auto}
@media(max-width:650px){.header-logo{width:170px}}
@media(max-width:360px){.header-logo{width:140px}}
:root{--header-height:82px}
html{scroll-padding-top:var(--header-height)}
.nav{position:sticky;top:0}
@media(max-width:950px){:root{--header-height:70px}.nav nav{max-height:calc(100dvh - var(--header-height));overflow-y:auto}}
.language-switch{display:flex;align-items:center;gap:6px;order:3;margin-left:20px;flex-shrink:0;font-size:12px;font-weight:700}.language-switch a{padding:10px 5px;min-height:36px;display:grid;place-items:center}.language-switch a[aria-current]{color:#b4153b;text-decoration:underline;text-underline-offset:5px}.language-switch>span{color:var(--muted)}
@media(min-width:951px) and (max-width:1200px){.nav .nav-cta{display:none}.nav nav{margin-right:0}.language-switch{margin-left:16px}}
@media(max-width:950px){.language-switch{order:0;margin-left:auto;margin-right:18px}.nav .menu-button{margin-left:0}}
:root{--ease-out:cubic-bezier(.23,1,.32,1)}
[id]{scroll-margin-top:24px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:5px}.skip-link{position:fixed;top:8px;left:8px;padding:14px;background:white;color:var(--ink);z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}.section-space{padding:100px 7vw}.section-intro{max-width:760px;margin-bottom:48px}.section-intro h2,.closing-cta h2{font-size:clamp(38px,4.5vw,68px);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:24px 0}.section-intro>p:last-child{font-size:18px;line-height:1.65;color:var(--muted)}.dark .section-intro>p:last-child{color:#c3ccdc}.partner-pair,.technology-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.partner-card{border:1px solid var(--line);border-top:4px solid var(--pink);background:white;padding:36px;display:flex;flex-direction:column}.partner-card h3{font-size:46px;letter-spacing:-2px;margin:22px 0}.partner-card .card-lead{font-size:23px;font-weight:600;color:var(--ink);line-height:1.35;min-height:3em}.partner-card p{font-size:16px;line-height:1.65;color:var(--muted)}.partner-card .overline{font-size:10px;color:var(--ink)}.partner-card ul{padding-left:20px;line-height:1.9;font-size:15px;margin-bottom:32px}.card-link{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:auto;font-weight:700;font-size:15px}.card-link span{color:var(--pink)}.technology-heading{margin:60px 0 24px}.technology-heading>p:last-child{color:var(--muted)}.technology-card{border:1px solid var(--line);padding:28px;display:grid;grid-template-columns:1fr auto;gap:20px;background:#e8e9e8}.partner-name{font-size:30px;font-weight:700;letter-spacing:-1px;grid-column:1/-1}.partner-name small{font-size:12px;letter-spacing:0;display:block;margin-bottom:4px}.technology-card h3{font-size:18px;margin:0 0 12px}.technology-card p{font-size:15px;line-height:1.6;margin:0;color:#505c70}.technology-card>span:last-child{color:var(--pink);font-size:24px}.flow-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.flow-steps li{border-top:1px solid #718098;padding-top:24px}.flow-steps li>span{color:var(--pink);font-size:13px;font-weight:800}.flow-steps h3{font-size:23px;font-weight:600}.flow-steps p{font-size:16px;line-height:1.6;color:var(--muted)}.dark .flow-steps p{color:#c3ccdc}.implementation-band{border:1px solid #52617d;margin-top:48px;padding:28px;display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap}.implementation-band span{font-size:14px;color:#c3ccdc}.implementation-band a{font-size:14px;font-weight:700}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.reference-grid article{border-top:2px solid var(--pink);padding:25px 0}.reference-grid h3{font-size:28px}.reference-grid p{line-height:1.7;color:var(--muted)}.inline-link{display:inline-block;padding:14px 0;border-bottom:1px solid var(--pink);font-weight:600}.detail-hero{padding:48px 7vw 80px}.breadcrumb{font-size:13px;color:#c3ccdc;display:inline-block;margin-bottom:48px}.detail-hero>.overline{color:#ff7291}.detail-hero h1{font-size:clamp(44px,6vw,86px);font-weight:400;letter-spacing:-.05em;line-height:1.04;max-width:1000px;margin:28px 0}.detail-hero>p:last-of-type{max-width:760px;font-size:20px;line-height:1.65;color:#c3ccdc}.detail-hero .button{margin-top:22px}.topic-nav{padding:24px 7vw;display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:#e8e9e7}.topic-nav a{font-size:13px;padding:10px 14px;border:1px solid #c3c7cc;background:var(--paper)}.detail-content{padding:0 7vw}.detail-block{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;padding:72px 0;border-bottom:1px solid var(--line)}.detail-block h2{font-size:clamp(28px,3vw,42px);font-weight:500;line-height:1.15;letter-spacing:-.035em;margin-top:20px}.detail-block .overline{color:#a61e40;text-transform:uppercase}.detail-lead{font-size:19px;line-height:1.7;margin-top:0}.detail-block ul{padding-left:20px;font-size:16px;line-height:1.8}.detail-block li{margin-bottom:12px}.benefit{padding:22px 24px;border-left:3px solid var(--pink);background:white;line-height:1.7;font-size:15px;margin:28px 0 0}.benefit b{display:inline-block;margin-bottom:6px}.project-path{background:#e5e7e8}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:19px;font-weight:600;cursor:pointer;padding-right:20px}.faq details p{max-width:850px;font-size:17px;line-height:1.75;color:var(--muted)}.closing-cta>p{max-width:700px;line-height:1.7;color:#c3ccdc}.closing-cta .button{margin-top:20px}.further-links{display:flex;flex-wrap:wrap;gap:28px;border-top:1px solid #52617d;margin-top:40px;padding-top:28px;font-size:14px}.source-note{padding:24px 7vw;font-size:13px;line-height:1.8}.source-note a{text-decoration:underline;text-underline-offset:4px}.nav nav{gap:22px;margin-right:26px}.nav nav a[aria-current=page]{color:#b4153b}.button,.nav-cta{transition:transform 160ms var(--ease-out)}.button:active,.nav-cta:active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){.card-link:hover,.inline-link:hover,.further-links a:hover{color:#b4153b}.technology-card:hover{background:#e0e2e3}.topic-nav a:hover{border-color:var(--pink)}}
@media(max-width:1100px){.nav nav{gap:16px;font-size:12px}.nav-cta{font-size:11px;padding:14px}.flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.nav nav{margin:0;font-size:15px;gap:24px}.detail-block{gap:5vw}.section-space{padding-block:72px}.partner-card{padding:28px}}
@media(max-width:650px){.partner-pair,.technology-pair,.reference-grid,.detail-block{grid-template-columns:1fr}.partner-card .card-lead{min-height:0}.partner-card h3{font-size:38px}.section-space{padding:60px 6vw}.section-intro{margin-bottom:32px}.flow-steps{gap:24px 18px}.flow-steps h3{font-size:20px}.flow-steps p{font-size:14px}.detail-hero{padding:32px 6vw 56px}.detail-hero>p:last-of-type{font-size:18px}.detail-block{padding:42px 0;gap:12px}.detail-block h2{margin-bottom:14px}.detail-content{padding-inline:6vw}.topic-nav{padding:20px 6vw}.topic-nav a{font-size:12px}.closing-cta .button{line-height:1.5}.source-note{overflow-wrap:anywhere}.partner-card p{margin-block:10px}.partner-card ul{font-size:14px}.implementation-band{padding:22px}}
@media(prefers-reduced-motion:reduce){.button,.nav-cta{transition:none}.button:active,.nav-cta:active{transform:none}}
/* Consistent global navigation on the landing page and every partner page. */
.unified-nav #nav-links{gap:20px;margin-left:auto;margin-right:24px;font-size:13px}
.unified-nav #nav-links .mobile-booking{display:none}
.unified-nav #nav-links a[aria-current]{color:#b4153b;text-decoration:underline;text-underline-offset:6px}
.unified-nav .nav-cta{gap:14px;white-space:nowrap;font-size:12px}
.unified-nav .language-switch{order:0}
@media(max-width:1200px){
  :root{--header-height:70px}
  .unified-nav{height:70px}
  .unified-nav .nav-cta{display:none}
  .unified-nav .language-switch{margin-left:auto;margin-right:18px}
  .unified-nav .menu-button{display:block;margin-left:0;border:0;background:none;font-weight:800;min-height:44px;cursor:pointer}
  .unified-nav #nav-links{display:none;position:absolute;top:70px;left:0;right:0;margin:0;padding:24px 5vw;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:20px;font-size:15px;max-height:calc(100dvh - 70px);overflow-y:auto}
  .unified-nav #nav-links.open{display:flex}
  .unified-nav #nav-links .mobile-booking{display:block;color:#b4153b;border-top:1px solid var(--line);padding-top:20px}
}
.availability-status{font-size:.75rem;line-height:1.6;color:var(--muted);margin:0 0 1rem}.slot:disabled:not(.unavailable){opacity:.45;cursor:wait}

/* Transparent publishing illustrations, shared across both languages. */
.publishing-illustration{display:block;min-width:0}
.publishing-illustration img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.hero-stage.illustrated-stage{min-height:0;gap:24px;align-content:center}
.hero-illustration{width:100%;max-width:680px;margin-inline:auto}
.illustrated-stage .stage-note{font-size:12px;line-height:1.6}
.hub-illustration{margin:24px auto 20px;max-width:420px}
.hub-grid article{min-width:0}
.feature-illustration{width:100%;max-width:480px;margin:28px auto 0}
.detail-block:has(.feature-illustration){align-items:start}
@media(max-width:950px){
  .hero-stage.illustrated-stage{max-width:680px;margin-block:12px 24px}
  .hub-grid article{padding-block:32px 42px}
}
@media(max-width:650px){
  .hero-stage.illustrated-stage{gap:18px}
  .illustrated-stage .stage-note{font-size:11px}
  .feature-illustration{max-width:420px;margin-block:20px 12px}
  .hub-illustration{max-width:360px;margin-block:16px}
}
/* Review corrections: visible mobile navigation and compact publishing cards. */
.unified-nav{z-index:1002;overflow:visible}
.menu-backdrop{position:fixed;inset:70px 0 0;background:rgba(8,13,23,.5);z-index:1001}
.menu-backdrop[hidden]{display:none}
body.menu-is-open{overflow:hidden}
@media(max-width:1200px){
  .unified-nav #nav-links{position:fixed;top:70px;left:0;right:0;bottom:auto;z-index:1003;padding:16px 6vw 24px;gap:0;max-height:calc(100dvh - 70px);box-shadow:0 16px 24px rgba(8,13,23,.14);visibility:visible;opacity:1;transform:none}
  .unified-nav:has(.menu-button[aria-expanded="true"]) #nav-links{display:flex}
  .unified-nav #nav-links a{min-height:44px;display:flex;align-items:center}
  .unified-nav #nav-links .mobile-booking{display:flex;margin-top:8px;padding-top:16px;min-height:60px}
}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:start;gap:14px 22px;font-size:13px}
footer{grid-template-columns:1fr 1fr 1.5fr}
.hub-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.hub-grid article{min-height:0;padding:24px clamp(20px,3vw,42px) 30px}
.hub-grid .hub-illustration{max-width:210px;margin:12px auto}
.hub-grid .hub-illustration img{max-height:140px}
.hub-grid h3{font-size:25px;margin:16px 0 12px}
.hub-grid p{margin:0;line-height:1.6}
@media(max-width:950px){footer{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1;justify-content:flex-start}.hub-grid article{border-right:1px solid var(--line)}}
@media(max-width:600px){
  footer{grid-template-columns:1fr}
  .hub-grid{grid-template-columns:1fr}
  .hub-grid article{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px 18px;padding:24px 6vw;border-right:0}
  .hub-grid article>span{grid-column:1/-1}
  .hub-grid .hub-illustration{grid-column:1;grid-row:2/4;align-self:center;margin:0;width:80px}
  .hub-grid h3{grid-column:2;margin:0;font-size:22px}
  .hub-grid p{grid-column:2;font-size:13px}
}

/* Original brand artwork, rendered white for the dark footer. */
.footer-brand{display:block;align-self:start;width:240px;max-width:100%}
.footer-brand img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}
@media(max-width:650px){.footer-brand{width:210px}}

.time small.time-end{display:block;margin:4px 0 0;font-size:11px;line-height:1.4;white-space:nowrap}

/* Official partner artwork; retain original colours and proportions. */
.partner-logo{display:block;max-width:100%;height:auto;object-fit:contain}
.partner-card h3.partner-logo-heading{display:flex;align-items:center;height:75px;margin:12px 0}
.logo-ebcont{width:210px}
.logo-sitefusion{width:300px}
.partner-name.partner-logo-name{display:flex;align-items:center;min-height:64px;min-width:0}
.logo-fonto{width:220px}
.logo-marklogic{width:320px}

/* Three publisher stories, with a download-page link for each. */
.references .reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.references .reference-grid article{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.references .reference-grid .inline-link{margin-top:auto}
@media(max-width:650px){.references .reference-grid{grid-template-columns:1fr}}

/* Calendar downloads remain visible within each presentation on all screen sizes. */
.talk .calendar-link{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:8px 0;border-bottom:1px solid #ff7291;color:#fff;font-size:13px;font-weight:600;line-height:1.4}
.talk .calendar-link:hover{color:#ff7291}
.talk .calendar-link span{color:#ff7291}
.talk{align-items:start;column-gap:24px;transition:none}
.talk:hover{background:transparent;padding:27px 0}
.talk .date b,.talk .time,.talk .talk-content h3{line-height:28px}
.talk .date b{font-size:20px}
.talk .time{font-size:24px;font-variant-numeric:tabular-nums;white-space:nowrap}
.talk .talk-content{min-width:0}
.talk .talk-content h3{margin:0 0 10px;font-size:18px}
.talk .talk-content>.tag{display:block;width:fit-content;margin-top:12px}
.talk .talk-subtitle{font-size:16px;line-height:1.5;color:#cad0dd;margin:8px 0 14px}
.talk-teaser{max-width:72ch;margin-top:20px}
.talk .talk-teaser p{font-size:15px;line-height:1.7;color:#cad0dd;margin:0 0 14px}
.talk .talk-teaser p:last-child{margin-bottom:0}
.talk-details{margin:0 0 12px}
.talk-details summary{display:flex;flex-direction:column;align-items:flex-start;gap:12px;cursor:pointer;list-style:none}
.talk-details summary::-webkit-details-marker{display:none}
.talk .talk-details summary h3{margin:0}
.talk-details summary:hover h3{color:#ff7291}
.talk-details summary:focus-visible{outline:2px solid #ff7291;outline-offset:5px}
.talk-more{display:inline-flex;align-items:center;gap:10px;color:#ff9bb1;font-size:13px;font-weight:600;line-height:24px}
.talk-less-label{display:none}
.talk-details[open] .talk-more-label{display:none}
.talk-details[open] .talk-less-label{display:inline}
.talk-toggle{flex:none;color:inherit;font-size:20px;line-height:1}
.talk-toggle::before{content:'+'}
.talk-details[open] .talk-toggle::before{content:'−'}
.talk-details[open]{margin-bottom:18px}
@media(max-width:600px){.talk{grid-template-columns:65px 1fr;row-gap:18px}.talk .talk-content{grid-column:1/-1}.talk .talk-content h3{font-size:20px;line-height:1.4}.talk .talk-subtitle{font-size:15px}}
